Lesson 3 - Working with WRF-Hydro inputs and outputs

Overview

We will briefly discuss working with some of the WRF-Hydro input and output (IO) files. The IO files for WRF-Hydro generally are standard netCDF4 files, and there are many way to work with these data. In this lesson we will simply cover a few Python libraries and commands that we will need for later lessons in this tutorial. This is by no means a comprehensive guide to working with netCDF files.

More information on working with netCDF files can be found on the Unidata website at https://www.unidata.ucar.edu/software/netcdf/.

Software and conventions

The easiest way to run these lessons is via the wrfhydro/training Docker container, which has all software dependencies and data pre-installed.

For a complete description of the software environment used for this training please see Getting started.

You may either execute commands by running each cell of this notebook. Alternatively, you may open a terminal in Jupyter Lab by selecting New -> Terminal in your Home tab of Jupyter Lab and input the commands manually if you prefer. You can also use your own terminal by logging into the container with the command docker exec -it wrf-hydro-training bash

All paths used in this lesson assume that the lesson materials are located under your home directory in a folder named wrf-hydro-training. If your materials are located in another directory, you will not be able to run the commands in this notebook inside Jupyter and will need to type them manually in your terminal session.

Introduction to our Python environment and libraries

We will be using Python 3 (3.6) for all exercises in this tutorial. There are also a number of tools developed in R that have similar capabilities, but we have chosen python here for its ease of use and strong netCDF4 and geospatial processing support.

Libraries

We will be using the Miniconda distribution of Python 3 with the Python libraries listed below and their dependencies. Miniconda is a stripped down version of Anaconda, a Python distribution for scientific computing. You can obtain Miniconda from the Continuum Analytics website at https://conda.io/miniconda.html.

There are many resources for learning more about miniconda, conda, and Python. Answers to just about any question can be found with a little searching on either Google or Stackoverflow.com

Below are the libraries we will be using. These libraries have been installed for you if you are running this tutorial in the wrfhydro/training Docker container. Otherwise, you will need to install miniconda and the required python libraries if running on your own system.

NOTE: The libraries listed below are only the required Python libraries. These Python libraries also require a number of system libraries that you may or may not need to install on your own system. Notably, you WILL need the NETCDF4 system library

Required Python libraries:

xarray: xarray is an open-source project for working with self-describing Common Data Model scientific datasets, primarily in netCDF4 format. It eases many of the pain-points in loading, manipulating, and plotting multidimensional arrays. xarray is well documented and you can learn more by reading their documentation at https://xarray.pydata.org/en/stable/ or https://github.com/pydata/xarray.

netCDF4: Library for read and writing netCDF files. This is a required dependency for xarray if you will be using. xarray with netCDF4 datasets.

xarray datasets

Below is a brief list of the Python commands we will be running, virtually all of the commands we will be using are from the xarray package, indicated by a xr. prefix preceding the command.

xr.open_dataset('path-to-netcdf-file'): Open a single netCDF file in xarray. Note: This command only opens the netCDF file and reads header information, it does not load any of the data payload into memory This is a handy feature of netCDF4 and xarray that allows for viewing basic information about very large netCDF files without loading into memory.

xr.open_mfdataset(list-of-netcdf-files or 'path-to-netcdf-directory',concat_dim='time'): Similar to xr.open_dataset, xr.open_mfdataset opens multiple netCDF files as a single dataset, concatenating them along the specified dimension. For timeseries, this dimension would be named something like 'time'. Note: xr.open_mfdataset is not able to concatenate along multiple dimensions and files must be manually concatenated if this is the case. This problem arises frequently with WRF-Hydro outputs because there are two time dimensions if the model is run in forecast mode or if the model is restarted multiple times.

After we have opened the datasets there are a few more methods we will use on these datasets.

my_dataset = xr.open_dataset('path-to-netcdf-file')

my_dataset.info(): Print information about the netCDF file, similar to ncdump command line utility.

my_dataset.load(): Load the netCDF4 data payload into memory

my_dataset.myvariable: Access a variable named myvariable from the dataset.

my_dataset.myvariable.plot(): Plot the variable my variable. Xarray will attempt to guess the axes, and in the case of spatial or timeseries data with only 1 dimension it typically does a good job. However, you may need to specify this manually if not.

There is MUCH more you can do with xarray, but that covers the basic commands we will use in this training.

In the next section we will go over a couple of basic examples of plotting some of the outputs from our ~/wrf-hydro-training/output/lesson2/run_gridded_default simulation that we completed at the end of Lesson 3.

Examples

2-d Spatial with no temporal component

GEOGRID

We will start with plotting a couple of variables from our geogrid file, geo_em_d01.nc.

In [1]:
%%bash
ls ~/wrf-hydro-training/output/lesson2/run_gridded_default/DOMAIN
Fulldom_hires.nc
GEOGRID_LDASOUT_Spatial_Metadata.nc
GWBASINS.nc
GWBUCKPARM.nc
geo_em.d01.nc
hydro2dtbl.nc
soil_properties.nc
wrfinput_d01.nc

Load the libraries

In [2]:
# Import our libraries
%matplotlib inline
import xarray as xr

Open the geogrid dataset

In [3]:
# Load a dataset
geogrid = xr.open_dataset('~/wrf-hydro-training/output/lesson2/run_gridded_default/DOMAIN/geo_em.d01.nc')

Print some info about the file

In [4]:
geogrid.info()
xarray.Dataset {
dimensions:
	Time = 1 ;
	land_cat = 28 ;
	month = 12 ;
	soil_cat = 16 ;
	south_north = 11 ;
	south_north_stag = 12 ;
	west_east = 13 ;
	west_east_stag = 14 ;

variables:
	|S19 Times(Time) ;
	float32 XLAT_M(Time, south_north, west_east) ;
		XLAT_M:FieldType = 104 ;
		XLAT_M:MemoryOrder = XY  ;
		XLAT_M:units = degrees latitude ;
		XLAT_M:description = Latitude on mass grid ;
		XLAT_M:stagger = M ;
		XLAT_M:sr_x = 1 ;
		XLAT_M:sr_y = 1 ;
	float32 XLONG_M(Time, south_north, west_east) ;
		XLONG_M:FieldType = 104 ;
		XLONG_M:MemoryOrder = XY  ;
		XLONG_M:units = degrees longitude ;
		XLONG_M:description = Longitude on mass grid ;
		XLONG_M:stagger = M ;
		XLONG_M:sr_x = 1 ;
		XLONG_M:sr_y = 1 ;
	float32 XLAT_V(Time, south_north_stag, west_east) ;
		XLAT_V:FieldType = 104 ;
		XLAT_V:MemoryOrder = XY  ;
		XLAT_V:units = degrees latitude ;
		XLAT_V:description = Latitude on V grid ;
		XLAT_V:stagger = V ;
		XLAT_V:sr_x = 1 ;
		XLAT_V:sr_y = 1 ;
	float32 XLONG_V(Time, south_north_stag, west_east) ;
		XLONG_V:FieldType = 104 ;
		XLONG_V:MemoryOrder = XY  ;
		XLONG_V:units = degrees longitude ;
		XLONG_V:description = Longitude on V grid ;
		XLONG_V:stagger = V ;
		XLONG_V:sr_x = 1 ;
		XLONG_V:sr_y = 1 ;
	float32 XLAT_U(Time, south_north, west_east_stag) ;
		XLAT_U:FieldType = 104 ;
		XLAT_U:MemoryOrder = XY  ;
		XLAT_U:units = degrees latitude ;
		XLAT_U:description = Latitude on U grid ;
		XLAT_U:stagger = U ;
		XLAT_U:sr_x = 1 ;
		XLAT_U:sr_y = 1 ;
	float32 XLONG_U(Time, south_north, west_east_stag) ;
		XLONG_U:FieldType = 104 ;
		XLONG_U:MemoryOrder = XY  ;
		XLONG_U:units = degrees longitude ;
		XLONG_U:description = Longitude on U grid ;
		XLONG_U:stagger = U ;
		XLONG_U:sr_x = 1 ;
		XLONG_U:sr_y = 1 ;
	float32 CLAT(Time, south_north, west_east) ;
		CLAT:FieldType = 104 ;
		CLAT:MemoryOrder = XY  ;
		CLAT:units = degrees latitude ;
		CLAT:description = Computational latitude on mass grid ;
		CLAT:stagger = M ;
		CLAT:sr_x = 1 ;
		CLAT:sr_y = 1 ;
	float32 CLONG(Time, south_north, west_east) ;
		CLONG:FieldType = 104 ;
		CLONG:MemoryOrder = XY  ;
		CLONG:units = degrees longitude ;
		CLONG:description = Computational longitude on mass grid ;
		CLONG:stagger = M ;
		CLONG:sr_x = 1 ;
		CLONG:sr_y = 1 ;
	float32 MAPFAC_M(Time, south_north, west_east) ;
		MAPFAC_M:FieldType = 104 ;
		MAPFAC_M:MemoryOrder = XY  ;
		MAPFAC_M:units = none ;
		MAPFAC_M:description = Mapfactor on mass grid ;
		MAPFAC_M:stagger = M ;
		MAPFAC_M:sr_x = 1 ;
		MAPFAC_M:sr_y = 1 ;
	float32 MAPFAC_V(Time, south_north_stag, west_east) ;
		MAPFAC_V:FieldType = 104 ;
		MAPFAC_V:MemoryOrder = XY  ;
		MAPFAC_V:units = none ;
		MAPFAC_V:description = Mapfactor on V grid ;
		MAPFAC_V:stagger = V ;
		MAPFAC_V:sr_x = 1 ;
		MAPFAC_V:sr_y = 1 ;
	float32 MAPFAC_U(Time, south_north, west_east_stag) ;
		MAPFAC_U:FieldType = 104 ;
		MAPFAC_U:MemoryOrder = XY  ;
		MAPFAC_U:units = none ;
		MAPFAC_U:description = Mapfactor on U grid ;
		MAPFAC_U:stagger = U ;
		MAPFAC_U:sr_x = 1 ;
		MAPFAC_U:sr_y = 1 ;
	float32 MAPFAC_MX(Time, south_north, west_east) ;
		MAPFAC_MX:FieldType = 104 ;
		MAPFAC_MX:MemoryOrder = XY  ;
		MAPFAC_MX:units = none ;
		MAPFAC_MX:description = Mapfactor (x-dir) on mass grid ;
		MAPFAC_MX:stagger = M ;
		MAPFAC_MX:sr_x = 1 ;
		MAPFAC_MX:sr_y = 1 ;
	float32 MAPFAC_VX(Time, south_north_stag, west_east) ;
		MAPFAC_VX:FieldType = 104 ;
		MAPFAC_VX:MemoryOrder = XY  ;
		MAPFAC_VX:units = none ;
		MAPFAC_VX:description = Mapfactor (x-dir) on V grid ;
		MAPFAC_VX:stagger = V ;
		MAPFAC_VX:sr_x = 1 ;
		MAPFAC_VX:sr_y = 1 ;
	float32 MAPFAC_UX(Time, south_north, west_east_stag) ;
		MAPFAC_UX:FieldType = 104 ;
		MAPFAC_UX:MemoryOrder = XY  ;
		MAPFAC_UX:units = none ;
		MAPFAC_UX:description = Mapfactor (x-dir) on U grid ;
		MAPFAC_UX:stagger = U ;
		MAPFAC_UX:sr_x = 1 ;
		MAPFAC_UX:sr_y = 1 ;
	float32 MAPFAC_MY(Time, south_north, west_east) ;
		MAPFAC_MY:FieldType = 104 ;
		MAPFAC_MY:MemoryOrder = XY  ;
		MAPFAC_MY:units = none ;
		MAPFAC_MY:description = Mapfactor (y-dir) on mass grid ;
		MAPFAC_MY:stagger = M ;
		MAPFAC_MY:sr_x = 1 ;
		MAPFAC_MY:sr_y = 1 ;
	float32 MAPFAC_VY(Time, south_north_stag, west_east) ;
		MAPFAC_VY:FieldType = 104 ;
		MAPFAC_VY:MemoryOrder = XY  ;
		MAPFAC_VY:units = none ;
		MAPFAC_VY:description = Mapfactor (y-dir) on V grid ;
		MAPFAC_VY:stagger = V ;
		MAPFAC_VY:sr_x = 1 ;
		MAPFAC_VY:sr_y = 1 ;
	float32 MAPFAC_UY(Time, south_north, west_east_stag) ;
		MAPFAC_UY:FieldType = 104 ;
		MAPFAC_UY:MemoryOrder = XY  ;
		MAPFAC_UY:units = none ;
		MAPFAC_UY:description = Mapfactor (y-dir) on U grid ;
		MAPFAC_UY:stagger = U ;
		MAPFAC_UY:sr_x = 1 ;
		MAPFAC_UY:sr_y = 1 ;
	float32 E(Time, south_north, west_east) ;
		E:FieldType = 104 ;
		E:MemoryOrder = XY  ;
		E:units = - ;
		E:description = Coriolis E parameter ;
		E:stagger = M ;
		E:sr_x = 1 ;
		E:sr_y = 1 ;
	float32 F(Time, south_north, west_east) ;
		F:FieldType = 104 ;
		F:MemoryOrder = XY  ;
		F:units = - ;
		F:description = Coriolis F parameter ;
		F:stagger = M ;
		F:sr_x = 1 ;
		F:sr_y = 1 ;
	float32 SINALPHA(Time, south_north, west_east) ;
		SINALPHA:FieldType = 104 ;
		SINALPHA:MemoryOrder = XY  ;
		SINALPHA:units = none ;
		SINALPHA:description = Sine of rotation angle ;
		SINALPHA:stagger = M ;
		SINALPHA:sr_x = 1 ;
		SINALPHA:sr_y = 1 ;
	float32 COSALPHA(Time, south_north, west_east) ;
		COSALPHA:FieldType = 104 ;
		COSALPHA:MemoryOrder = XY  ;
		COSALPHA:units = none ;
		COSALPHA:description = Cosine of rotation angle ;
		COSALPHA:stagger = M ;
		COSALPHA:sr_x = 1 ;
		COSALPHA:sr_y = 1 ;
	float32 LANDMASK(Time, south_north, west_east) ;
		LANDMASK:FieldType = 104 ;
		LANDMASK:MemoryOrder = XY  ;
		LANDMASK:units = none ;
		LANDMASK:description = Landmask : 1=land, 0=water ;
		LANDMASK:stagger = M ;
		LANDMASK:sr_x = 1 ;
		LANDMASK:sr_y = 1 ;
	float32 XLAT_C(Time, south_north_stag, west_east_stag) ;
		XLAT_C:FieldType = 104 ;
		XLAT_C:MemoryOrder = XY  ;
		XLAT_C:units = degrees latitude ;
		XLAT_C:description = Latitude at grid cell corners ;
		XLAT_C:stagger = CORNER ;
		XLAT_C:sr_x = 1 ;
		XLAT_C:sr_y = 1 ;
	float32 XLONG_C(Time, south_north_stag, west_east_stag) ;
		XLONG_C:FieldType = 104 ;
		XLONG_C:MemoryOrder = XY  ;
		XLONG_C:units = degrees longitude ;
		XLONG_C:description = Longitude at grid cell corners ;
		XLONG_C:stagger = CORNER ;
		XLONG_C:sr_x = 1 ;
		XLONG_C:sr_y = 1 ;
	float32 SINALPHA_U(Time, south_north, west_east_stag) ;
		SINALPHA_U:FieldType = 104 ;
		SINALPHA_U:MemoryOrder = XY  ;
		SINALPHA_U:units = none ;
		SINALPHA_U:description = Sine of rotation angle on U grid ;
		SINALPHA_U:stagger = U ;
		SINALPHA_U:sr_x = 1 ;
		SINALPHA_U:sr_y = 1 ;
	float32 COSALPHA_U(Time, south_north, west_east_stag) ;
		COSALPHA_U:FieldType = 104 ;
		COSALPHA_U:MemoryOrder = XY  ;
		COSALPHA_U:units = none ;
		COSALPHA_U:description = Cosine of rotation angle on U grid ;
		COSALPHA_U:stagger = U ;
		COSALPHA_U:sr_x = 1 ;
		COSALPHA_U:sr_y = 1 ;
	float32 SINALPHA_V(Time, south_north_stag, west_east) ;
		SINALPHA_V:FieldType = 104 ;
		SINALPHA_V:MemoryOrder = XY  ;
		SINALPHA_V:units = none ;
		SINALPHA_V:description = Sine of rotation angle on V grid ;
		SINALPHA_V:stagger = V ;
		SINALPHA_V:sr_x = 1 ;
		SINALPHA_V:sr_y = 1 ;
	float32 COSALPHA_V(Time, south_north_stag, west_east) ;
		COSALPHA_V:FieldType = 104 ;
		COSALPHA_V:MemoryOrder = XY  ;
		COSALPHA_V:units = none ;
		COSALPHA_V:description = Cosine of rotation angle on V grid ;
		COSALPHA_V:stagger = V ;
		COSALPHA_V:sr_x = 1 ;
		COSALPHA_V:sr_y = 1 ;
	float32 LANDUSEF(Time, land_cat, south_north, west_east) ;
		LANDUSEF:FieldType = 104 ;
		LANDUSEF:MemoryOrder = XYZ ;
		LANDUSEF:units = category ;
		LANDUSEF:description = 24-category USGS landuse ;
		LANDUSEF:stagger = M ;
		LANDUSEF:sr_x = 1 ;
		LANDUSEF:sr_y = 1 ;
	float32 LU_INDEX(Time, south_north, west_east) ;
		LU_INDEX:FieldType = 104 ;
		LU_INDEX:MemoryOrder = XY  ;
		LU_INDEX:units = category ;
		LU_INDEX:description = Dominant category ;
		LU_INDEX:stagger = M ;
		LU_INDEX:sr_x = 1 ;
		LU_INDEX:sr_y = 1 ;
	float32 HGT_M(Time, south_north, west_east) ;
		HGT_M:FieldType = 104 ;
		HGT_M:MemoryOrder = XY  ;
		HGT_M:units = meters MSL ;
		HGT_M:description = GMTED2010 30-arc-second topography height ;
		HGT_M:stagger = M ;
		HGT_M:sr_x = 1 ;
		HGT_M:sr_y = 1 ;
	float32 SOILTEMP(Time, south_north, west_east) ;
		SOILTEMP:FieldType = 104 ;
		SOILTEMP:MemoryOrder = XY  ;
		SOILTEMP:units = Kelvin ;
		SOILTEMP:description = Annual mean deep soil temperature ;
		SOILTEMP:stagger = M ;
		SOILTEMP:sr_x = 1 ;
		SOILTEMP:sr_y = 1 ;
	float32 SOILCTOP(Time, soil_cat, south_north, west_east) ;
		SOILCTOP:FieldType = 104 ;
		SOILCTOP:MemoryOrder = XYZ ;
		SOILCTOP:units = category ;
		SOILCTOP:description = 16-category top-layer soil type ;
		SOILCTOP:stagger = M ;
		SOILCTOP:sr_x = 1 ;
		SOILCTOP:sr_y = 1 ;
	float32 SCT_DOM(Time, south_north, west_east) ;
		SCT_DOM:FieldType = 104 ;
		SCT_DOM:MemoryOrder = XY  ;
		SCT_DOM:units = category ;
		SCT_DOM:description = Dominant category ;
		SCT_DOM:stagger = M ;
		SCT_DOM:sr_x = 1 ;
		SCT_DOM:sr_y = 1 ;
	float32 SOILCBOT(Time, soil_cat, south_north, west_east) ;
		SOILCBOT:FieldType = 104 ;
		SOILCBOT:MemoryOrder = XYZ ;
		SOILCBOT:units = category ;
		SOILCBOT:description = 16-category bottom-layer soil type ;
		SOILCBOT:stagger = M ;
		SOILCBOT:sr_x = 1 ;
		SOILCBOT:sr_y = 1 ;
	float32 SCB_DOM(Time, south_north, west_east) ;
		SCB_DOM:FieldType = 104 ;
		SCB_DOM:MemoryOrder = XY  ;
		SCB_DOM:units = category ;
		SCB_DOM:description = Dominant category ;
		SCB_DOM:stagger = M ;
		SCB_DOM:sr_x = 1 ;
		SCB_DOM:sr_y = 1 ;
	float32 GREENFRAC(Time, month, south_north, west_east) ;
		GREENFRAC:FieldType = 104 ;
		GREENFRAC:MemoryOrder = XYZ ;
		GREENFRAC:units = fraction ;
		GREENFRAC:description = MODIS FPAR ;
		GREENFRAC:stagger = M ;
		GREENFRAC:sr_x = 1 ;
		GREENFRAC:sr_y = 1 ;
	float32 LAI12M(Time, month, south_north, west_east) ;
		LAI12M:FieldType = 104 ;
		LAI12M:MemoryOrder = XYZ ;
		LAI12M:units = m^2/m^2 ;
		LAI12M:description = MODIS LAI ;
		LAI12M:stagger = M ;
		LAI12M:sr_x = 1 ;
		LAI12M:sr_y = 1 ;

// global attributes:
	:TITLE = OUTPUT FROM GEOGRID V4.1 ;
	:SIMULATION_START_DATE = 0000-00-00_00:00:00 ;
	:WEST-EAST_GRID_DIMENSION = 14 ;
	:SOUTH-NORTH_GRID_DIMENSION = 12 ;
	:BOTTOM-TOP_GRID_DIMENSION = 0 ;
	:WEST-EAST_PATCH_START_UNSTAG = 1 ;
	:WEST-EAST_PATCH_END_UNSTAG = 13 ;
	:WEST-EAST_PATCH_START_STAG = 1 ;
	:WEST-EAST_PATCH_END_STAG = 14 ;
	:SOUTH-NORTH_PATCH_START_UNSTAG = 1 ;
	:SOUTH-NORTH_PATCH_END_UNSTAG = 11 ;
	:SOUTH-NORTH_PATCH_START_STAG = 1 ;
	:SOUTH-NORTH_PATCH_END_STAG = 12 ;
	:GRIDTYPE = C ;
	:DX = 1000.0 ;
	:DY = 1000.0 ;
	:DYN_OPT = 2 ;
	:CEN_LAT = 10.219032287597656 ;
	:CEN_LON = -84.2899169921875 ;
	:TRUELAT1 = 10.0 ;
	:TRUELAT2 = 0.0 ;
	:MOAD_CEN_LAT = 10.219032287597656 ;
	:STAND_LON = -90.0 ;
	:POLE_LAT = 90.0 ;
	:POLE_LON = 0.0 ;
	:corner_lats = [10.174606 10.264488 10.263519 10.173599 10.174606 10.264488 10.263519
 10.173599 10.170097 10.26899  10.267998 10.169136 10.170097 10.26899
 10.267998 10.169136] ;
	:corner_lons = [-84.34509  -84.34433  -84.23468  -84.23547  -84.34967  -84.34888
 -84.2301   -84.23093  -84.34515  -84.3443   -84.23465  -84.235535
 -84.34973  -84.34885  -84.23007  -84.23096 ] ;
	:MAP_PROJ = 1 ;
	:MMINLU = USGS ;
	:NUM_LAND_CAT = 28 ;
	:ISWATER = 16 ;
	:ISLAKE = 28 ;
	:ISICE = 24 ;
	:ISURBAN = 1 ;
	:ISOILWATER = 14 ;
	:grid_id = 1 ;
	:parent_id = 1 ;
	:i_parent_start = 1 ;
	:j_parent_start = 1 ;
	:i_parent_end = 14 ;
	:j_parent_end = 12 ;
	:parent_grid_ratio = 1 ;
	:sr_x = 1 ;
	:sr_y = 1 ;
	:FLAG_MF_XY = 1 ;
	:FLAG_LAI12M = 1 ;
}

Plot the HGT_M variable, the topographic height in meters for each grid cell

In [5]:
geogrid.HGT_M.plot()
Out[5]:
<matplotlib.collections.QuadMesh at 0x7effa5961278>

Plot the LU_INDEX variable, the dominant land-use class index for each grid cell. Note that because of the data source and the small size of the domain, there is only one land-use class in this domain.

In [6]:
geogrid.LU_INDEX.plot(cmap="tab20")
Out[6]:
<matplotlib.collections.QuadMesh at 0x7effa5415eb8>

Plot the SCT_DOM variable, the dominant soil type for each grid cell

In [7]:
geogrid.SCT_DOM.plot(cmap="tab20")
Out[7]:
<matplotlib.collections.QuadMesh at 0x7effa5347668>

So how do you know what these values mean? You can check the parameter tables that come with the code to check lookup values. For example, the MPTABLE.TBL file lists the land cover categories.

In [8]:
cat ~/wrf-hydro-training/output/lesson2/run_gridded_default/MPTABLE.TBL
&noahmp_usgs_veg_categories
 VEG_DATASET_DESCRIPTION = "USGS"
 NVEG = 27
/
&noahmp_usgs_parameters
 ! NVEG = 27
 !  1: Urban and Built-Up Land
 !  2: Dryland Cropland and Pasture
 !  3: Irrigated Cropland and Pasture
 !  4: Mixed Dryland/Irrigated Cropland and Pasture
 !  5: Cropland/Grassland Mosaic
 !  6: Cropland/Woodland Mosaic
 !  7: Grassland
 !  8: Shrubland
 !  9: Mixed Shrubland/Grassland
 ! 10: Savanna
 ! 11: Deciduous Broadleaf Forest
 ! 12: Deciduous Needleleaf Forest
 ! 13: Evergreen Broadleaf Forest
 ! 14: Evergreen Needleleaf Forest
 ! 15: Mixed Forest
 ! 16: Water Bodies
 ! 17: Herbaceous Wetland
 ! 18: Wooded Wetland
 ! 19: Barren or Sparsely Vegetated
 ! 20: Herbaceous Tundra
 ! 21: Wooded Tundra
 ! 22: Mixed Tundra
 ! 23: Bare Ground Tundra
 ! 24: Snow or Ice
 ! 25: Playa
 ! 26: Lava
 ! 27: White Sand

 ISURBAN   = 1
 ISWATER   = 16
 ISBARREN  = 19
 ISICE     = 24
 EBLFOREST = 13

 !---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 !          1      2      3      4      5      6      7      8      9      10     11     12     13     14     15     16     17     18     19     20     21     22     23     24     25     26    27
 !---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 CH2OP =   0.1,   0.1,   0.1,   0.1,   0.1,   0.1,   0.1,   0.1,   0.1,   0.1,   0.1,   0.1,   0.1,   0.1,   0.1,   0.1,   0.1,   0.1,   0.1,   0.1,   0.1,   0.1,   0.1,   0.1,   0.1,   0.1,   0.1,
 DLEAF =  0.04,  0.04,  0.04,  0.04,  0.04,  0.04,  0.04,  0.04,  0.04,  0.04,  0.04,  0.04,  0.04,  0.04,  0.04,  0.04,  0.04,  0.04,  0.04,  0.04,  0.04,  0.04,  0.04,  0.04,  0.04,  0.04,  0.04,
 Z0MVT =  1.00,  0.15,  0.15,  0.15,  0.14,  0.50,  0.12,  0.06,  0.09,  0.50,  0.80,  0.85,  1.10,  1.09,  0.80,  0.00,  0.12,  0.50,  0.00,  0.10,  0.30,  0.20,  0.03,  0.00,  0.01,  0.00,  0.00,
 HVT   =  15.0,  2.00,  2.00,  2.00,  1.50,  8.00,  1.00,  1.10,  1.10,  10.0,  16.0,  18.0,  20.0,  20.0,  16.0,  0.00,  0.50,  10.0,  0.00,  0.50,  4.00,  2.00,  0.50,  0.00,  0.10,  0.00,  0.00,
 HVB   =  1.00,  0.10,  0.10,  0.10,  0.10,  0.15,  0.05,  0.10,  0.10,  0.10,  11.5,  7.00,  8.00,  8.50,  10.0,  0.00,  0.05,  0.10,  0.00,  0.10,  0.10,  0.10,  0.10,  0.00,  0.10,  0.00,  0.00,
 DEN   =  0.01,  25.0,  25.0,  25.0,  25.0,  25.0,  100.,  10.0,  10.0,  0.02,  0.10,  0.28,  0.02,  0.28,  0.10,  0.01,  10.0,  0.10,  0.01,  1.00,  1.00,  1.00,  1.00,  0.00,  0.01,  0.01,  0.01,
 RC    =  1.00,  0.08,  0.08,  0.08,  0.08,  0.08,  0.03,  0.12,  0.12,  3.00,  1.40,  1.20,  3.60,  1.20,  1.40,  0.01,  0.10,  1.40,  0.01,  0.30,  0.30,  0.30,  0.30,  0.00,  0.01,  0.01,  0.01,
 MFSNO =  2.50,  2.50,  2.50,  2.50,  2.50,  2.50,  2.50,  2.50,  2.50,  2.50,  2.50,  2.50,  2.50,  2.50,  2.50,  2.50,  2.50,  2.50,  2.50,  2.50,  2.50,  2.50,  2.50,  2.50,  2.50,  2.50,  2.50,

 ! Row 1:  Vis
 ! Row 2:  Near IR
 RHOL_VIS=0.00,  0.11,  0.11,  0.11,  0.11,  0.11,  0.11,  0.07,  0.10,  0.10,  0.10,  0.07,  0.10,  0.07,  0.10,  0.00,  0.11,  0.10,  0.00,  0.10,  0.10,  0.10,  0.10,  0.00,  0.10,  0.00,  0.00,
 RHOL_NIR=0.00,  0.58,  0.58,  0.58,  0.58,  0.58,  0.58,  0.35,  0.45,  0.45,  0.45,  0.35,  0.45,  0.35,  0.45,  0.00,  0.58,  0.45,  0.00,  0.45,  0.45,  0.45,  0.45,  0.00,  0.45,  0.00,  0.00,

 ! Row 1:  Vis
 ! Row 2:  Near IR
 RHOS_VIS=0.00,  0.36,  0.36,  0.36,  0.36,  0.36,  0.36,  0.16,  0.16,  0.16,  0.16,  0.16,  0.16,  0.16,  0.16,  0.00,  0.36,  0.16,  0.00,  0.16,  0.16,  0.16,  0.16,  0.00,  0.16,  0.00,  0.00,
 RHOS_NIR=0.00,  0.58,  0.58,  0.58,  0.58,  0.58,  0.58,  0.39,  0.39,  0.39,  0.39,  0.39,  0.39,  0.39,  0.39,  0.00,  0.58,  0.39,  0.00,  0.39,  0.39,  0.39,  0.39,  0.00,  0.39,  0.00,  0.00,

 ! Row 1:  Vis
 ! Row 2:  Near IR
 TAUL_VIS=0.00,  0.07,  0.07,  0.07,  0.07,  0.07,  0.07,  0.05,  0.05,  0.05,  0.05,  0.05,  0.05,  0.05,  0.05,  0.00,  0.07,  0.05,  0.00,  0.05,  0.05,  0.05,  0.05,  0.00,  0.05,  0.00,  0.00,
 TAUL_NIR=0.00,  0.25,  0.25,  0.25,  0.25,  0.25,  0.25,  0.10,  0.10,  0.25,  0.25,  0.10,  0.25,  0.10,  0.25,  0.00,  0.25,  0.25,  0.00,  0.25,  0.25,  0.25,  0.25,  0.00,  0.25,  0.00,  0.00,

 ! Row 1:  Vis
 ! Row 2:  Near IR
 TAUS_VIS=0.00, 0.220, 0.220, 0.220, 0.220, 0.220, 0.220, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.000, 0.220, 0.001, 0.000, 0.220, 0.001, 0.001, 0.001, 0.000, 0.001, 0.000, 0.000,
 TAUS_NIR=0.00, 0.380, 0.380, 0.380, 0.380, 0.380, 0.380, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.000, 0.380, 0.001, 0.000, 0.380, 0.001, 0.001, 0.001, 0.000, 0.001, 0.000, 0.000,

 XL    = 0.000, -0.30, -0.30, -0.30, -0.30, -0.30, -0.30, 0.010, 0.250, 0.010, 0.250, 0.010, 0.010, 0.010, 0.250, 0.000, -0.30, 0.250, 0.000, -0.30, 0.250, 0.250, 0.250, 0.000, 0.250, 0.000, 0.000,
 CWPVT =  0.18,  0.18,  0.18,  0.18,  0.18,  0.18,  0.18,  0.18,  0.18,  0.18,  0.18,  0.18,  0.18,  0.18,  0.18,  0.18,  0.18,  0.18,  0.18,  0.18,  0.18,  0.18,  0.18,  0.18,  0.18,  0.18,  0.18,
 C3PSN =   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,
 KC25  =  30.0,  30.0,  30.0,  30.0,  30.0,  30.0,  30.0,  30.0,  30.0,  30.0,  30.0,  30.0,  30.0,  30.0,  30.0,  30.0,  30.0,  30.0,  30.0,  30.0,  30.0,  30.0,  30.0,  30.0,  30.0,  30.0,  30.0,
 AKC   =   2.1,   2.1,   2.1,   2.1,   2.1,   2.1,   2.1,   2.1,   2.1,   2.1,   2.1,   2.1,   2.1,   2.1,   2.1,   2.1,   2.1,   2.1,   2.1,   2.1,   2.1,   2.1,   2.1,   2.1,   2.1,   2.1,   2.1,
 KO25  =  3.E4,  3.E4,  3.E4,  3.E4,  3.E4,  3.E4,  3.E4,  3.E4,  3.E4,  3.E4,  3.E4,  3.E4,  3.E4,  3.E4,  3.E4,  3.E4,  3.E4,  3.E4,  3.E4,  3.E4,  3.E4,  3.E4,  3.E4,  3.E4,  3.E4,  3.E4,  3.E4,
 AKO   =   1.2,   1.2,   1.2,   1.2,   1.2,   1.2,   1.2,   1.2,   1.2,   1.2,   1.2,   1.2,   1.2,   1.2,   1.2,   1.2,   1.2,   1.2,   1.2,   1.2,   1.2,   1.2,   1.2,   1.2,   1.2,   1.2,   1.2,
 AVCMX =   2.4,   2.4,   2.4,   2.4,   2.4,   2.4,   2.4,   2.4,   2.4,   2.4,   2.4,   2.4,   2.4,   2.4,   2.4,   2.4,   2.4,   2.4,   2.4,   2.4,   2.4,   2.4,   2.4,   2.4,   2.4,   2.4,   2.4,
 AQE   =   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,   1.0,

 LTOVRC=   0.0,   1.2,   1.2,   1.2,   1.2,  1.30,  0.50,  0.65,  0.70,  0.65,  0.55,   0.2,  0.55,   0.5,   0.5,   0.0,   1.4,   1.4,   0.0,   1.2,   1.3,   1.4,   1.0,   0.0,   1.0,   0.0,   0.0,
 DILEFC=  0.00,  0.50,  0.50,  0.50,  0.35,  0.20,  0.20,  0.20,  0.50,  0.50,  0.60,  1.80,  0.50,  1.20,  0.80,  0.00,  0.40,  0.40,  0.00,  0.40,  0.30,  0.40,  0.30,  0.00,  0.30,  0.00,  0.00,
 DILEFW=  0.00,  0.20,  0.20,  0.20,  0.20,  0.20,  0.10,  0.20,  0.20,  0.50,  0.20,  0.20,  4.00,  0.20,  0.20,  0.00,  0.20,  0.20,  0.00,  0.20,  0.20,  0.20,  0.20,  0.00,  0.20,  0.00,  0.00,
 RMF25 =  0.00,  1.00,  1.40,  1.45,  1.45,  1.45,  1.80,  0.26,  0.26,  0.80,  3.00,  4.00,  0.65,  3.00,  3.00,  0.00,  3.20,  3.20,  0.00,  3.20,  3.00,  3.00,  3.00,  0.00,  3.00,  0.00,  0.00,
 SLA   =    60,    80,    80,    80,    80,    80,    60,    60,    60,    50,    80,    80,    80,    80,    80,     0,    80,    80,     0,    80,    80,    80,    80,     0,    80,     0,     0,
 FRAGR =  0.00,  0.20,  0.20,  0.20,  0.20,  0.20,  0.20,  0.20,  0.20,  0.20,  0.20,  0.10,  0.20,  0.10,  0.10,  0.00,  0.10,  0.10,  0.10,  0.10,  0.10,  0.10,  0.10,  0.00,  0.10,  0.00,  0.00,
 TMIN  =     0,   273,   273,   273,   273,   273,   273,   273,   273,   273,   273,   268,   273,   265,   268,     0,   268,   268,     0,   268,   268,   268,   268,     0,   268,     0,     0,
 VCMX25=  0.00,  80.0,  80.0,  80.0,  60.0,  70.0,  40.0,  40.0,  40.0,  40.0,  60.0,  60.0,  60.0,  50.0,  55.0,  0.00,  50.0,  50.0,  0.00,  50.0,  50.0,  50.0,  50.0,  0.00,  50.0,  0.00,  0.00,
 TDLEF =   278,   278,   278,   278,   278,   278,   278,   278,   278,   278,   278,   268,   278,   278,   268,     0,   268,   268,     0,   268,   268,   268,   268,     0,   268,     0,     0,
 BP    = 1.E15,  2.E3,  2.E3,  2.E3,  2.E3,  2.E3,  2.E3,  2.E3,  2.E3,  2.E3,  2.E3,  2.E3,  2.E3,  2.E3,  2.E3, 1.E15,  2.E3,  2.E3,  2.E3,  2.E3,  2.E3,  2.E3,  2.E3, 1.E15,  2.E3, 1.E15, 1.E15,
 MP    =    9.,    9.,    9.,    9.,    9.,    9.,    9.,    9.,    9.,    9.,    9.,    6.,    9.,    6.,    9.,    9.,    9.,    9.,    9.,    9.,    9.,    9.,    9.,    9.,    9.,    9.,    9.,
 QE25  =    0.,  0.06,  0.06,  0.06,  0.06,  0.06,  0.06,  0.06,  0.06,  0.06,  0.06,  0.06,  0.06,  0.06,  0.06,  0.00,  0.06,  0.06,  0.06,  0.06,  0.06,  0.06,  0.06,  0.00,  0.06,  0.00,  0.00,
 RMS25 =  0.00,  0.10,  0.10,  0.10,  0.10,  0.10,  0.10,  0.10,  0.10,  0.32,  0.10,  0.64,  0.30,  0.90,  0.80,  0.00,  0.10,  0.10,  0.00,  0.10,  0.10,  0.10,  0.00,  0.00,  0.00,  0.00,  0.00,
 RMR25 =  0.00,  0.00,  0.00,  0.00,  0.00,  0.00,  1.20,  0.00,  0.00,  0.01,  0.01,  0.05,  0.05,  0.36,  0.03,  0.00,  0.00,  0.00,  0.00,  2.11,  2.11,  2.11,  0.00,  0.00,  0.00,  0.00,  0.00,
 ARM   =   2.0,   2.0,   2.0,   2.0,   2.0,   2.0,   2.0,   2.0,   2.0,   2.0,   2.0,   2.0,   2.0,   2.0,   2.0,   2.0,   2.0,   2.0,   2.0,   2.0,   2.0,   2.0,   2.0,   2.0,   2.0,   2.0,   2.0,
 FOLNMX=  0.00,   1.5,   1.5,   1.5,   1.5,   1.5,   1.5,   1.5,   1.5,   1.5,   1.5,   1.5,   1.5,   1.5,   1.5,  0.00,   1.5,   1.5,   1.5,   1.5,   1.5,   1.5,   1.5,  0.00,   1.5,  0.00,  0.00,
 WDPOOL=  0.00,  0.00,  0.00,  0.00,  0.00,  0.00,  0.00,  1.00,  1.00,  1.00,  1.00,  1.00,  1.00,  1.00,  1.00,  0.00,  0.00,  1.00,  0.00,  0.00,  1.00,  1.00,  0.00,  0.00,  0.00,  0.00,  0.00,
 WRRAT =  0.00,  0.00,  0.00,  0.00,  0.00,  0.00,  0.00,  3.00,  3.00,  3.00,  30.0,  30.0,  30.0,  30.0,  30.0,  0.00,  0.00,  30.0,  0.00,  0.00,  3.00,  3.00,  0.00,  0.00,  0.00,  0.00,  0.00,
 MRP   =  0.00,  0.23,  0.23,  0.23,  0.23,  0.23,  0.17,  0.19,  0.19,  0.40,  0.40,  0.37,  0.23,  0.37,  0.30,  0.00,  0.17,  0.40,  0.00,  0.17,  0.23,  0.20,  0.00,  0.00,  0.20,  0.00,  0.00,
 NROOT =     1,     3,     3,     3,     3,     3,     3,     3,     3,     3,     4,     4,     4,     4,     4,     0,     2,     2,     1,     3,     3,     3,     2,     1,     1,     0,     0,
 RGL   = 999.0, 100.0, 100.0, 100.0, 100.0,  65.0, 100.0, 100.0, 100.0,  65.0,  30.0,  30.0,  30.0,  30.0,  30.0,  30.0, 100.0,  30.0, 999.0, 100.0, 100.0, 100.0, 100.0, 999.0, 100.0, 999.0, 999.0,
 RS    = 200.0,  40.0,  40.0,  40.0,  40.0,  70.0,  40.0, 300.0, 170.0,  70.0, 100.0, 150.0, 150.0, 125.0, 125.0, 100.0,  40.0, 100.0, 999.0, 150.0, 150.0, 150.0, 200.0, 999.0,  40.0, 999.0, 999.0,
 HS    = 999.0, 36.25, 36.25, 36.25, 36.25, 44.14, 36.35, 42.00, 39.18, 54.53, 54.53, 47.35, 41.69, 47.35, 51.93, 51.75, 60.00, 51.93, 999.0, 42.00, 42.00, 42.00, 42.00, 999.0, 36.25, 999.0, 999.0,
 TOPT  = 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0, 298.0,
 RSMAX = 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000., 5000.,

! Monthly values, one row for each month:
 SAI_JAN = 0.0,   0.3,   0.3,   0.3,   0.3,   0.3,   0.3,   0.2,   0.2,   0.3,   0.4,   0.3,   0.5,   0.4,   0.4,   0.0,   0.2,   0.3,   0.0,   0.1,   0.2,   0.1,   0.0,   0.0,   0.0,   0.0,   0.0,
 SAI_FEB = 0.0,   0.3,   0.3,   0.3,   0.3,   0.3,   0.3,   0.2,   0.2,   0.3,   0.4,   0.3,   0.5,   0.4,   0.4,   0.0,   0.2,   0.3,   0.0,   0.1,   0.2,   0.1,   0.0,   0.0,   0.0,   0.0,   0.0,
 SAI_MAR = 0.0,   0.3,   0.3,   0.3,   0.3,   0.3,   0.3,   0.2,   0.2,   0.3,   0.4,   0.3,   0.5,   0.4,   0.4,   0.0,   0.2,   0.3,   0.0,   0.1,   0.2,   0.1,   0.0,   0.0,   0.0,   0.0,   0.0,
 SAI_APR = 0.0,   0.3,   0.3,   0.3,   0.3,   0.3,   0.3,   0.2,   0.2,   0.3,   0.4,   0.4,   0.5,   0.3,   0.4,   0.0,   0.2,   0.3,   0.0,   0.1,   0.2,   0.1,   0.0,   0.0,   0.0,   0.0,   0.0,
 SAI_MAY = 0.0,   0.2,   0.2,   0.2,   0.3,   0.3,   0.3,   0.2,   0.2,   0.3,   0.4,   0.4,   0.5,   0.4,   0.4,   0.0,   0.3,   0.3,   0.0,   0.1,   0.2,   0.1,   0.0,   0.0,   0.0,   0.0,   0.0,
 SAI_JUN = 0.0,   0.3,   0.3,   0.3,   0.4,   0.4,   0.4,   0.2,   0.3,   0.4,   0.4,   0.7,   0.5,   0.5,   0.4,   0.0,   0.4,   0.4,   0.0,   0.2,   0.2,   0.2,   0.0,   0.0,   0.0,   0.0,   0.0,
 SAI_JUL = 0.0,   0.4,   0.4,   0.4,   0.6,   0.6,   0.8,   0.4,   0.6,   0.8,   0.9,   1.3,   0.5,   0.5,   0.7,   0.0,   0.6,   0.6,   0.0,   0.4,   0.4,   0.4,   0.0,   0.0,   0.0,   0.0,   0.0,
 SAI_AUG = 0.0,   0.5,   0.5,   0.5,   0.9,   0.9,   1.3,   0.6,   0.9,   1.2,   1.2,   1.2,   0.5,   0.6,   0.8,   0.0,   0.9,   0.9,   0.0,   0.6,   0.6,   0.6,   0.0,   0.0,   0.0,   0.0,   0.0,
 SAI_SEP = 0.0,   0.4,   0.4,   0.4,   0.7,   1.0,   1.1,   0.8,   1.0,   1.3,   1.6,   1.0,   0.5,   0.6,   1.0,   0.0,   0.7,   1.0,   0.0,   0.7,   0.8,   0.7,   0.0,   0.0,   0.0,   0.0,   0.0,
 SAI_OCT = 0.0,   0.3,   0.3,   0.3,   0.3,   0.8,   0.4,   0.7,   0.6,   0.7,   1.4,   0.8,   0.5,   0.7,   1.0,   0.0,   0.3,   0.8,   0.0,   0.5,   0.7,   0.5,   0.0,   0.0,   0.0,   0.0,   0.0,
 SAI_NOV = 0.0,   0.3,   0.3,   0.3,   0.3,   0.4,   0.4,   0.3,   0.3,   0.4,   0.6,   0.6,   0.5,   0.6,   0.5,   0.0,   0.3,   0.4,   0.0,   0.3,   0.3,   0.3,   0.0,   0.0,   0.0,   0.0,   0.0,
 SAI_DEC = 0.0,   0.3,   0.3,   0.3,   0.3,   0.3,   0.4,   0.2,   0.3,   0.4,   0.4,   0.5,   0.5,   0.5,   0.4,   0.0,   0.3,   0.4,   0.0,   0.2,   0.2,   0.2,   0.0,   0.0,   0.0,   0.0,   0.0,

 LAI_JAN = 0.0,   0.0,   0.0,   0.0,   0.2,   0.0,   0.4,   0.0,   0.2,   0.3,   0.0,   0.0,   4.5,   4.0,   2.0,   0.0,   0.2,   0.2,   0.0,   0.2,   1.0,   0.6,   0.0,   0.0,   0.0,   0.0,   0.0,
 LAI_FEB = 0.0,   0.0,   0.0,   0.0,   0.3,   0.0,   0.5,   0.0,   0.3,   0.3,   0.0,   0.0,   4.5,   4.0,   2.0,   0.0,   0.3,   0.3,   0.0,   0.3,   1.0,   0.6,   0.0,   0.0,   0.0,   0.0,   0.0,
 LAI_MAR = 0.0,   0.0,   0.0,   0.0,   0.3,   0.2,   0.6,   0.2,   0.4,   0.5,   0.3,   0.0,   4.5,   4.0,   2.2,   0.0,   0.3,   0.3,   0.0,   0.3,   1.1,   0.7,   0.0,   0.0,   0.0,   0.0,   0.0,
 LAI_APR = 0.0,   0.0,   0.0,   0.0,   0.4,   0.6,   0.7,   0.6,   0.7,   0.8,   1.2,   0.6,   4.5,   4.0,   2.6,   0.0,   0.4,   0.6,   0.0,   0.4,   1.3,   0.8,   0.0,   0.0,   0.0,   0.0,   0.0,
 LAI_MAY = 0.0,   1.0,   1.0,   1.0,   1.1,   2.0,   1.2,   1.5,   1.4,   1.8,   3.0,   1.2,   4.5,   4.0,   3.5,   0.0,   1.1,   2.0,   0.0,   0.6,   1.7,   1.2,   0.0,   0.0,   0.0,   0.0,   0.0,
 LAI_JUN = 0.0,   2.0,   2.0,   2.0,   2.5,   3.3,   3.0,   2.3,   2.6,   3.6,   4.7,   2.0,   4.5,   4.0,   4.3,   0.0,   2.5,   3.3,   0.0,   1.5,   2.1,   1.8,   0.0,   0.0,   0.0,   0.0,   0.0,
 LAI_JUL = 0.0,   3.0,   3.0,   3.0,   3.2,   3.7,   3.5,   2.3,   2.9,   3.8,   4.5,   2.6,   4.5,   4.0,   4.3,   0.0,   3.2,   3.7,   0.0,   1.7,   2.1,   1.8,   0.0,   0.0,   0.0,   0.0,   0.0,
 LAI_AUG = 0.0,   3.0,   3.0,   3.0,   2.2,   3.2,   1.5,   1.7,   1.6,   2.1,   3.4,   1.7,   4.5,   4.0,   3.7,   0.0,   2.2,   3.2,   0.0,   0.8,   1.8,   1.3,   0.0,   0.0,   0.0,   0.0,   0.0,
 LAI_SEP = 0.0,   1.5,   1.5,   1.5,   1.1,   1.3,   0.7,   0.6,   0.7,   0.9,   1.2,   1.0,   4.5,   4.0,   2.6,   0.0,   1.1,   1.3,   0.0,   0.4,   1.3,   0.8,   0.0,   0.0,   0.0,   0.0,   0.0,
 LAI_OCT = 0.0,   0.0,   0.0,   0.0,   0.3,   0.2,   0.6,   0.2,   0.4,   0.5,   0.3,   0.5,   4.5,   4.0,   2.2,   0.0,   0.3,   0.3,   0.0,   0.3,   1.1,   0.7,   0.0,   0.0,   0.0,   0.0,   0.0,
 LAI_NOV = 0.0,   0.0,   0.0,   0.0,   0.3,   0.0,   0.5,   0.0,   0.3,   0.3,   0.0,   0.2,   4.5,   4.0,   2.0,   0.0,   0.3,   0.3,   0.0,   0.2,   1.0,   0.6,   0.0,   0.0,   0.0,   0.0,   0.0,
 LAI_DEC = 0.0,   0.0,   0.0,   0.0,   0.2,   0.0,   0.4,   0.0,   0.2,   0.3,   0.0,   0.0,   4.5,   4.0,   2.0,   0.0,   0.2,   0.2,   0.0,   0.2,   1.0,   0.6,   0.0,   0.0,   0.0,   0.0,   0.0,

 SLAREA=0.0228,0.0200,0.0200,0.0295,0.0223,0.0277,0.0060,0.0227,0.0188,0.0236,0.0258,0.0200,0.0200,0.0090,0.0223,0.0422,0.0390,  0.02,  0.02,  0.02,  0.02,  0.02,  0.02,  0.02,  0.02,  0.02,  0.02,

! Five types, one row for each type (BVOC currently not active).
 EPS1   = 41.87,  0.00,  0.00,  2.52,  0.04, 17.11,  0.02, 21.62,  0.11, 22.80, 46.86,  0.00,  0.00,  0.46, 30.98,  2.31,  1.63,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
 EPS2   =  0.98,  0.00,  0.00,  0.16,  0.09,  0.28,  0.05,  0.92,  0.22,  0.59,  0.38,  0.00,  0.00,  3.34,  0.96,  1.47,  1.07,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
 EPS3   =  1.82,  0.00,  0.00,  0.23,  0.05,  0.81,  0.03,  1.73,  1.26,  1.37,  1.84,  0.00,  0.00,  1.85,  1.84,  1.70,  1.21,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
 EPS4   =   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
 EPS5   =   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,   0.0,
/

&noahmp_modis_veg_categories
 VEG_DATASET_DESCRIPTION = "modified igbp modis noah"
 NVEG = 20
/

&noahmp_modis_parameters
! 1          'Evergreen Needleleaf Forest'                       -> USGS 14
! 2,         'Evergreen Broadleaf Forest'                        -> USGS 13
! 3,         'Deciduous Needleleaf Forest'                       -> USGS 12
! 4,         'Deciduous Broadleaf Forest'                        -> USGS 11
! 5,         'Mixed Forests'                                     -> USGS 15
! 6,         'Closed Shrublands'                                 -> USGS  8 "shrubland"
! 7,         'Open Shrublands'                                   -> USGS  9 "shrubland/grassland"
! 8,         'Woody Savannas'                                    -> USGS  8 "shrubland"
! 9,         'Savannas'                                          -> USGS 10
! 10,        'Grasslands'                                        -> USGS  7
! 11         'Permanent wetlands'                                -> avg of USGS 17 and 18 (herb. wooded wetland)
! 12,        'Croplands'                                         -> USGS  2 "dryland cropland"
! 13,        'Urban and Built-Up'                                -> USGS  1
! 14         'cropland/natural vegetation mosaic'                -> USGS  5 "cropland/grassland"
! 15,        'Snow and Ice'                                      -> USGS 24
! 16,        'Barren or Sparsely Vegetated'                      -> USGS 19
! 17,        'Water'                                             -> USGS 16
! 18,        'Wooded Tundra'                                     -> USGS 21
! 19,        'Mixed Tundra'                                      -> USGS 22
! 20,        'Barren Tundra'                                     -> USGS 23

 ISURBAN   = 13
 ISWATER   = 17
 ISBARREN  = 16
 ISICE     = 15
 EBLFOREST =  2

 !---------------------------------------------------------------------------------------------------------------------------------------------------------------------
 !          1       2       3       4       5       6       7       8       9      10      11      12      13      14      15      16      17      18      19      20
 !---------------------------------------------------------------------------------------------------------------------------------------------------------------------
 CH2OP =   0.1,    0.1,    0.1,    0.1,    0.1,    0.1,    0.1,    0.1,    0.1,    0.1,    0.1,    0.1,    0.1,    0.1,    0.1,    0.1,    0.1,    0.1,    0.1,    0.1,
 DLEAF =  0.04,   0.04,   0.04,   0.04,   0.04,   0.04,   0.04,   0.04,   0.04,   0.04,   0.04,   0.04,   0.04,   0.04,   0.04,   0.04,   0.04,   0.04,   0.04,   0.04,
 Z0MVT =  1.09,   1.10,   0.85,   0.80,   0.80,   0.20,   0.06,   0.60,   0.50,   0.12,   0.30,   0.15,   1.00,   0.14,   0.00,   0.00,   0.00,   0.30,   0.20,   0.03,
 HVT   =  20.0,   20.0,   18.0,   16.0,   16.0,   1.10,   1.10,   13.0,   10.0,   1.00,   5.00,   2.00,   15.0,   1.50,   0.00,   0.00,   0.00,   4.00,   2.00,   0.50,
 HVB   =  8.50,   8.00,   7.00,   11.5,   10.0,   0.10,   0.10,   0.10,   0.10,   0.05,   0.10,   0.10,   1.00,   0.10,   0.00,   0.00,   0.00,   0.30,   0.20,   0.10,
 DEN   =  0.28,   0.02,   0.28,   0.10,   0.10,   10.0,   10.0,   10.0,   0.02,   100.,   5.05,   25.0,   0.01,   25.0,   0.00,   0.01,   0.01,   1.00,   1.00,   1.00,
 RC    =  1.20,   3.60,   1.20,   1.40,   1.40,   0.12,   0.12,   0.12,   3.00,   0.03,   0.75,   0.08,   1.00,   0.08,   0.00,   0.01,   0.01,   0.30,   0.30,   0.30,
 MFSNO =  2.50,   2.50,   2.50,   2.50,   2.50,   2.50,   2.50,   2.50,   2.50,   2.50,   2.50,   2.50,   2.50,   2.50,   2.50,   2.50,   2.50,   2.50,   2.50,   2.50,

 ! Row 1:  Vis
 ! Row 2:  Near IR
 RHOL_VIS=0.07,   0.10,   0.07,   0.10,   0.10,   0.07,   0.07,   0.07,   0.10,   0.11,  0.105,   0.11,   0.00,   0.11,   0.00,   0.00,   0.00,   0.10,   0.10,   0.10,
 RHOL_NIR=0.35,   0.45,   0.35,   0.45,   0.45,   0.35,   0.35,   0.35,   0.45,   0.58,  0.515,   0.58,   0.00,   0.58,   0.00,   0.00,   0.00,   0.45,   0.45,   0.45,

 ! Row 1:  Vis
 ! Row 2:  Near IR
 RHOS_VIS=0.16,   0.16,   0.16,   0.16,   0.16,   0.16,   0.16,   0.16,   0.16,   0.36,   0.26,   0.36,   0.00,   0.36,   0.00,   0.00,   0.00,   0.16,   0.16,   0.16,
 RHOS_NIR=0.39,   0.39,   0.39,   0.39,   0.39,   0.39,   0.39,   0.39,   0.39,   0.58,  0.485,   0.58,   0.00,   0.58,   0.00,   0.00,   0.00,   0.39,   0.39,   0.39,

 ! Row 1:  Vis
 ! Row 2:  Near IR
 TAUL_VIS=0.05,   0.05,   0.05,   0.05,   0.05,   0.05,   0.05,   0.05,   0.05,   0.07,   0.06,   0.07,   0.00,   0.07,   0.00,   0.00,   0.00,   0.05,   0.05,   0.05,
 TAUL_NIR=0.10,   0.25,   0.10,   0.25,   0.25,   0.10,   0.10,   0.10,   0.25,   0.25,   0.25,   0.25,   0.00,   0.25,   0.00,   0.00,   0.00,   0.25,   0.25,   0.25,

 ! Row 1:  Vis
 ! Row 2:  Near IR
 TAUS_VIS=0.001,  0.001,  0.001,  0.001,  0.001,  0.001,  0.001,  0.001,  0.001,  0.220, 0.1105,  0.220,  0.000,  0.220,  0.000,  0.000,  0.000,  0.001,  0.001,  0.001,
 TAUS_NIR=0.001,  0.001,  0.001,  0.001,  0.001,  0.001,  0.001,  0.001,  0.001,  0.380, 0.1905,  0.380,  0.000,  0.380,  0.000,  0.000,  0.000,  0.001,  0.001,  0.001,

 XL    = 0.010,  0.010,  0.010,  0.250,  0.250,  0.010,  0.010,  0.010,  0.010,  -0.30, -0.025,  -0.30,  0.000,  -0.30,  0.000,  0.000,  0.000,  0.250,  0.250,  0.250,
! CWPVT =   3.0,    3.0,    3.0,    3.0,    3.0,    3.0,    3.0,    3.0,    3.0,    3.0,    3.0,    3.0,    3.0,    3.0,    3.0,    3.0,    3.0,    3.0,    3.0,    3.0,
 CWPVT =  0.18,   0.18,   0.18,   0.18,   0.18,   0.18,   0.18,   0.18,   0.18,   0.18,   0.18,   0.18,   0.18,   0.18,   0.18,   0.18,   0.18,   0.18,   0.18,   0.18,
 C3PSN =   1.0,    1.0,    1.0,    1.0,    1.0,    1.0,    1.0,    1.0,    1.0,    1.0,    1.0,    1.0,    1.0,    1.0,    1.0,    1.0,    1.0,    1.0,    1.0,    1.0,
 KC25  =  30.0,   30.0,   30.0,   30.0,   30.0,   30.0,   30.0,   30.0,   30.0,   30.0,   30.0,   30.0,   30.0,   30.0,   30.0,   30.0,   30.0,   30.0,   30.0,   30.0,
 AKC   =   2.1,    2.1,    2.1,    2.1,    2.1,    2.1,    2.1,    2.1,    2.1,    2.1,    2.1,    2.1,    2.1,    2.1,    2.1,    2.1,    2.1,    2.1,    2.1,    2.1,
 KO25  =  3.E4,   3.E4,   3.E4,   3.E4,   3.E4,   3.E4,   3.E4,   3.E4,   3.E4,   3.E4,   3.E4,   3.E4,   3.E4,   3.E4,   3.E4,   3.E4,   3.E4,   3.E4,   3.E4,   3.E4,
 AKO   =   1.2,    1.2,    1.2,    1.2,    1.2,    1.2,    1.2,    1.2,    1.2,    1.2,    1.2,    1.2,    1.2,    1.2,    1.2,    1.2,    1.2,    1.2,    1.2,    1.2,
 AVCMX =   2.4,    2.4,    2.4,    2.4,    2.4,    2.4,    2.4,    2.4,    2.4,    2.4,    2.4,    2.4,    2.4,    2.4,    2.4,    2.4,    2.4,    2.4,    2.4,    2.4,
 AQE   =   1.0,    1.0,    1.0,    1.0,    1.0,    1.0,    1.0,    1.0,    1.0,    1.0,    1.0,    1.0,    1.0,    1.0,    1.0,    1.0,    1.0,    1.0,    1.0,    1.0,

 LTOVRC=   0.5,   0.55,    0.2,   0.55,    0.5,   0.65,   0.65,   0.65,   0.65,   0.50,    1.4,    1.6,    0.0,    1.2,    0.0,    0.0,    0.0,    1.3,    1.4,    1.0,
 DILEFC=  1.20,   0.50,   1.80,   0.60,   0.80,   0.20,   0.20,   0.20,   0.50,   0.20,    0.4,   0.50,   0.00,   0.35,   0.00,   0.00,   0.00,   0.30,   0.40,   0.30,
 DILEFW=  0.20,   4.00,   0.20,   0.20,   0.20,   0.20,   0.20,   0.20,   0.50,   0.10,    0.2,   0.20,   0.00,   0.20,   0.00,   0.00,   0.00,   0.20,   0.20,   0.20,
 RMF25 =  3.00,   0.65,   4.00,   3.00,   3.00,   0.26,   0.26,   0.26,   0.80,   1.80,    3.2,   1.00,   0.00,   1.45,   0.00,   0.00,   0.00,   3.00,   3.00,   3.00,
 SLA   =    80,     80,     80,     80,     80,     60,     60,     60,     50,     60,     80,     80,     60,     80,      0,      0,      0,     80,     80,     80,
 FRAGR =  0.10,   0.20,   0.10,   0.20,   0.10,   0.20,   0.20,   0.20,   0.20,   0.20,    0.1,   0.20,   0.00,   0.20,   0.00,   0.10,   0.00,   0.10,   0.10,   0.10,
 TMIN  =   265,    273,    268,    273,    268,    273,    273,    273,    273,    273,    268,    273,      0,    273,      0,      0,      0,    268,    268,    268,
 VCMX25=  50.0,   60.0,   60.0,   60.0,   55.0,   40.0,   40.0,   40.0,   40.0,   40.0,   50.0,   80.0,   0.00,   60.0,   0.00,   0.00,   0.00,   50.0,   50.0,   50.0,
 TDLEF =   278,    278,    268,    278,    268,    278,    278,    278,    278,    278,    268,    278,    278,    278,      0,      0,      0,    268,    268,    268,
 BP    =  2.E3,   2.E3,   2.E3,   2.E3,   2.E3,   2.E3,   2.E3,   2.E3,   2.E3,   2.E3,   2.E3,   2.E3,  1.E15,   2.E3,  1.E15,   2.E3,  1.E15,   2.E3,   2.E3,   2.E3,
 MP    =    6.,     9.,     6.,     9.,     9.,     9.,     9.,     9.,     9.,     9.,     9.,     9.,     9.,     9.,     9.,     9.,     9.,     9.,     9.,     9.,
 QE25  =  0.06,   0.06,   0.06,   0.06,   0.06,   0.06,   0.06,   0.06,   0.06,   0.06,   0.06,   0.06,   0.00,   0.06,   0.00,   0.06,   0.00,   0.06,   0.06,   0.06,
 RMS25 =  0.90,   0.30,   0.64,   0.10,   0.80,   0.10,   0.10,   0.10,   0.32,   0.10,   0.10,   0.10,   0.00,   0.10,   0.00,   0.00,   0.00,   0.10,   0.10,   0.00,
 RMR25 =  0.36,   0.05,   0.05,   0.01,   0.03,   0.00,   0.00,   0.00,   0.01,   1.20,    0.0,   0.00,   0.00,   0.00,   0.00,   0.00,   0.00,   2.11,   2.11,   0.00,
 ARM   =   2.0,    2.0,    2.0,    2.0,    2.0,    2.0,    2.0,    2.0,    2.0,    2.0,    2.0,    2.0,    2.0,    2.0,    2.0,    2.0,    2.0,    2.0,    2.0,    2.0,
 FOLNMX=   1.5,    1.5,    1.5,    1.5,    1.5,    1.5,    1.5,    1.5,    1.5,    1.5,    1.5,    1.5,   0.00,    1.5,   0.00,    1.5,   0.00,    1.5,    1.5,    1.5,
 WDPOOL=  1.00,   1.00,   1.00,   1.00,   1.00,   1.00,   1.00,   1.00,   1.00,   0.00,    0.5,   0.00,   0.00,   0.00,   0.00,   0.00,   0.00,   1.00,   1.00,   0.00,
 WRRAT =  30.0,   30.0,   30.0,   30.0,   30.0,   3.00,   3.00,   3.00,   3.00,   0.00,   15.0,   0.00,   0.00,   0.00,   0.00,   0.00,   0.00,   3.00,   3.00,   0.00,
 MRP   =  0.37,   0.23,   0.37,   0.40,   0.30,   0.19,   0.19,   0.19,   0.40,   0.17,  0.285,   0.23,   0.00,   0.23,   0.00,   0.00,   0.00,   0.23,   0.20,   0.00,
 NROOT =     4,      4,      4,      4,      4,      3,      3,      3,      3,      3,      2,      3,      1,      3,      1,      1,      0,      3,      3,      2,     
 RGL   =  30.0,   30.0,   30.0,   30.0,   30.0,  100.0,  100.0,  100.0,   65.0,  100.0,   65.0,  100.0,  999.0,  100.0,  999.0,  999.0,   30.0,  100.0,  100.0,  100.0,
 RS    = 125.0,  150.0,  150.0,  100.0,  125.0,  300.0,  170.0,  300.0,   70.0,   40.0,   70.0,   40.0,  200.0,   40.0,  999.0,  999.0,  100.0,  150.0,  150.0,  200.0,
 HS    = 47.35,  41.69,  47.35,  54.53,  51.93,  42.00,  39.18,  42.00,  54.53,  36.35,  55.97,  36.25,  999.0,  36.25,  999.0,  999.0,  51.75,  42.00,  42.00,  42.00,
 TOPT  = 298.0,  298.0,  298.0,  298.0,  298.0,  298.0,  298.0,  298.0,  298.0,  298.0,  298.0,  298.0,  298.0,  298.0,  298.0,  298.0,  298.0,  298.0,  298.0,  298.0,
 RSMAX = 5000.,  5000.,  5000.,  5000.,  5000.,  5000.,  5000.,  5000.,  5000.,  5000.,  5000.,  5000.,  5000.,  5000.,  5000.,  5000.,  5000.,  5000.,  5000.,  5000.,

! Monthly values, one row for each month:
 SAI_JAN = 0.4,    0.5,    0.3,    0.4,    0.4,    0.3,    0.2,    0.4,    0.3,    0.3,    0.3,    0.3,    0.0,    0.3,    0.0,    0.0,    0.0,    0.2,    0.1,    0.0,
 SAI_FEB = 0.4,    0.5,    0.3,    0.4,    0.4,    0.3,    0.2,    0.4,    0.3,    0.3,    0.3,    0.3,    0.0,    0.3,    0.0,    0.0,    0.0,    0.2,    0.1,    0.0,
 SAI_MAR = 0.4,    0.5,    0.3,    0.4,    0.4,    0.3,    0.2,    0.4,    0.3,    0.3,    0.3,    0.3,    0.0,    0.3,    0.0,    0.0,    0.0,    0.2,    0.1,    0.0,
 SAI_APR = 0.3,    0.5,    0.4,    0.4,    0.4,    0.3,    0.2,    0.4,    0.3,    0.3,    0.3,    0.3,    0.0,    0.3,    0.0,    0.0,    0.0,    0.2,    0.1,    0.0,
 SAI_MAY = 0.4,    0.5,    0.4,    0.4,    0.4,    0.3,    0.2,    0.4,    0.3,    0.3,    0.3,    0.3,    0.0,    0.3,    0.0,    0.0,    0.0,    0.2,    0.1,    0.0,
 SAI_JUN = 0.5,    0.5,    0.7,    0.4,    0.4,    0.3,    0.2,    0.4,    0.4,    0.4,    0.4,    0.3,    0.0,    0.4,    0.0,    0.0,    0.0,    0.2,    0.2,    0.0,
 SAI_JUL = 0.5,    0.5,    1.3,    0.9,    0.7,    0.6,    0.4,    0.7,    0.8,    0.8,    0.6,    0.4,    0.0,    0.6,    0.0,    0.0,    0.0,    0.4,    0.4,    0.0,
 SAI_AUG = 0.6,    0.5,    1.2,    1.2,    0.8,    0.9,    0.6,    1.2,    1.2,    1.3,    0.9,    0.5,    0.0,    0.9,    0.0,    0.0,    0.0,    0.6,    0.6,    0.0,
 SAI_SEP = 0.6,    0.5,    1.0,    1.6,    1.0,    1.2,    0.8,    1.4,    1.3,    1.1,    0.9,    0.4,    0.0,    0.7,    0.0,    0.0,    0.0,    0.8,    0.7,    0.0,
 SAI_OCT = 0.7,    0.5,    0.8,    1.4,    1.0,    0.9,    0.7,    1.1,    0.7,    0.4,    0.6,    0.3,    0.0,    0.3,    0.0,    0.0,    0.0,    0.7,    0.5,    0.0,
 SAI_NOV = 0.6,    0.5,    0.6,    0.6,    0.5,    0.4,    0.3,    0.5,    0.4,    0.4,    0.4,    0.3,    0.0,    0.3,    0.0,    0.0,    0.0,    0.3,    0.3,    0.0,
 SAI_DEC = 0.5,    0.5,    0.5,    0.4,    0.4,    0.3,    0.2,    0.4,    0.4,    0.4,    0.3,    0.3,    0.0,    0.3,    0.0,    0.0,    0.0,    0.2,    0.2,    0.0,

 LAI_JAN = 4.0,    4.5,    0.0,    0.0,    2.0,    0.0,    0.0,    0.2,    0.3,    0.4,    0.2,    0.0,    0.0,    0.2,    0.0,    0.0,    0.0,    1.0,    0.6,    0.0,
 LAI_FEB = 4.0,    4.5,    0.0,    0.0,    2.0,    0.0,    0.0,    0.2,    0.3,    0.5,    0.3,    0.0,    0.0,    0.3,    0.0,    0.0,    0.0,    1.0,    0.6,    0.0,
 LAI_MAR = 4.0,    4.5,    0.0,    0.3,    2.2,    0.3,    0.2,    0.4,    0.5,    0.6,    0.3,    0.0,    0.0,    0.3,    0.0,    0.0,    0.0,    1.1,    0.7,    0.0,
 LAI_APR = 4.0,    4.5,    0.6,    1.2,    2.6,    0.9,    0.6,    1.0,    0.8,    0.7,    0.5,    0.0,    0.0,    0.4,    0.0,    0.0,    0.0,    1.3,    0.8,    0.0,
 LAI_MAY = 4.0,    4.5,    1.2,    3.0,    3.5,    2.2,    1.5,    2.4,    1.8,    1.2,    1.5,    1.0,    0.0,    1.1,    0.0,    0.0,    0.0,    1.7,    1.2,    0.0,
 LAI_JUN = 4.0,    4.5,    2.0,    4.7,    4.3,    3.5,    2.3,    4.1,    3.6,    3.0,    2.9,    2.0,    0.0,    2.5,    0.0,    0.0,    0.0,    2.1,    1.8,    0.0,
 LAI_JUL = 4.0,    4.5,    2.6,    4.5,    4.3,    3.5,    2.3,    4.1,    3.8,    3.5,    3.5,    3.0,    0.0,    3.2,    0.0,    0.0,    0.0,    2.1,    1.8,    0.0,
 LAI_AUG = 4.0,    4.5,    1.7,    3.4,    3.7,    2.5,    1.7,    2.7,    2.1,    1.5,    2.7,    3.0,    0.0,    2.2,    0.0,    0.0,    0.0,    1.8,    1.3,    0.0,
 LAI_SEP = 4.0,    4.5,    1.0,    1.2,    2.6,    0.9,    0.6,    1.0,    0.9,    0.7,    1.2,    1.5,    0.0,    1.1,    0.0,    0.0,    0.0,    1.3,    0.8,    0.0,
 LAI_OCT = 4.0,    4.5,    0.5,    0.3,    2.2,    0.3,    0.2,    0.4,    0.5,    0.6,    0.3,    0.0,    0.0,    0.3,    0.0,    0.0,    0.0,    1.1,    0.7,    0.0,
 LAI_NOV = 4.0,    4.5,    0.2,    0.0,    2.0,    0.0,    0.0,    0.2,    0.3,    0.5,    0.3,    0.0,    0.0,    0.3,    0.0,    0.0,    0.0,    1.0,    0.6,    0.0,
 LAI_DEC = 4.0,    4.5,    0.0,    0.0,    2.0,    0.0,    0.0,    0.2,    0.3,    0.4,    0.2,    0.0,    0.0,    0.2,    0.0,    0.0,    0.0,    1.0,    0.6,    0.0,

 SLAREA=0.0090, 0.0200, 0.0200, 0.0258, 0.0223, 0.0227, 0.0188, 0.0227, 0.0236, 0.0060, 0.0295, 0.0200, 0.0228, 0.0223,   0.02,   0.02, 0.0422,   0.02,   0.02,   0.02,

! Five types, one row for each type (BVOC currently not active).
 EPS1  =  0.46,   0.00,   0.00,  46.86,  30.98,  21.62,   0.11,  21.62,  22.80,   0.02,  0.815,   0.00,  41.87,   0.04,    0.0,    0.0,   2.31,    0.0,    0.0,    0.0,
 EPS2  =  3.34,   0.00,   0.00,   0.38,   0.96,   0.92,   0.22,   0.92,   0.59,   0.05,  0.535,   0.00,   0.98,   0.09,    0.0,    0.0,   1.47,    0.0,    0.0,    0.0,
 EPS3  =  1.85,   0.00,   0.00,   1.84,   1.84,   1.73,   1.26,   1.73,   1.37,   0.03,  0.605,   0.00,   1.82,   0.05,    0.0,    0.0,   1.70,    0.0,    0.0,    0.0,
 EPS4  =   0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    0.0,
 EPS5  =   0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    0.0,    0.0,

/

&noahmp_rad_parameters
 !------------------------------------------------------------------------------
 !                1       2       3       4       5       6       7       8     soil color index for soil albedo
 !------------------------------------------------------------------------------
 ALBSAT_VIS =   0.15,   0.11,   0.10,   0.09,   0.08,   0.07,   0.06,   0.05   ! saturated soil albedos
 ALBSAT_NIR =   0.30,   0.22,   0.20,   0.18,   0.16,   0.14,   0.12,   0.10   ! saturated soil albedos
 ALBDRY_VIS =   0.27,   0.22,   0.20,   0.18,   0.16,   0.14,   0.12,   0.10   ! dry soil albedos
 ALBDRY_NIR =   0.54,   0.44,   0.40,   0.36,   0.32,   0.28,   0.24,   0.20   ! dry soil albedos
 ALBICE     =   0.80,   0.55                                                   ! albedo land ice: 1=vis, 2=nir
 ALBLAK     =   0.60,   0.40                                                   ! albedo frozen lakes: 1=vis, 2=nir
 OMEGAS     =   0.8 ,   0.4                                                    ! two-stream parameter omega for snow
 BETADS     =   0.5                                                            ! two-stream parameter betad for snow
 BETAIS     =   0.5                                                            ! two-stream parameter betaI for snow
 EG         =   0.97,   0.98                                                   ! emissivity soil surface 1-soil;2-lake

/

&noahmp_global_parameters

! atmospheric constituants

  CO2    = 395.e-06     !co2 partial pressure
  O2     = 0.209        !o2 partial pressure

! runoff parameters used for SIMTOP and SIMGM:

  TIMEAN = 10.5         !gridcell mean topgraphic index (global mean)
  FSATMX = 0.38         !maximum surface saturated fraction (global mean)

! adjustable parameters for snow processes

  Z0SNO  = 0.002        !snow surface roughness length (m) (0.002)
  SSI    = 0.03         !liquid water holding capacity for snowpack (m3/m3) (0.03)
  SWEMX  = 1.00         !new snow mass to fully cover old snow (mm)
                        !equivalent to 10mm depth (density = 100 kg/m3)
  TAU0          = 1.e6  !tau0 from Yang97 eqn. 10a
  GRAIN_GROWTH  = 5000. !growth from vapor diffusion Yang97 eqn. 10b
  EXTRA_GROWTH  = 10.   !extra growth near freezing Yang97 eqn. 10c
  DIRT_SOOT     = 0.3   !dirt and soot term Yang97 eqn. 10d
  BATS_COSZ     = 2.0   !zenith angle snow albedo adjustment; b in Yang97 eqn. 15
  BATS_VIS_NEW  = 0.95  !new snow visible albedo
  BATS_NIR_NEW  = 0.65  !new snow NIR albedo
  BATS_VIS_AGE  = 0.2   !age factor for diffuse visible snow albedo Yang97 eqn. 17
  BATS_NIR_AGE  = 0.5   !age factor for diffuse NIR snow albedo Yang97 eqn. 18
  BATS_VIS_DIR  = 0.4   !cosz factor for direct visible snow albedo Yang97 eqn. 15
  BATS_NIR_DIR  = 0.4   !cosz factor for direct NIR snow albedo Yang97 eqn. 16
  RSURF_SNOW = 50.0     !surface resistence for snow [s/m]
  RSURF_EXP = 5.0       !exponent in the shape parameter for soil resistance option 1

/

The SOILPARM.TBL file lists the soil types.

In [9]:
cat ~/wrf-hydro-training/output/lesson2/run_gridded_default/SOILPARM.TBL
Soil Parameters
STAS
19,1   'BB      DRYSMC      F11     MAXSMC   REFSMC   SATPSI  SATDK      SATDW     WLTSMC  QTZ    '
1,     2.79,    0.010,    -0.472,   0.339,   0.192,   0.069,  4.66E-5,  2.65E-5,   0.010,  0.92, 'SAND'
2,     4.26,    0.028,    -1.044,   0.421,   0.283,   0.036,  1.41E-5,  5.14E-6,   0.028,  0.82, 'LOAMY SAND'
3,     4.74,    0.047,    -0.569,   0.434,   0.312,   0.141,  5.23E-6,  8.05E-6,   0.047,  0.60, 'SANDY LOAM'
4,     5.33,    0.084,     0.162,   0.476,   0.360,   0.759,  2.81E-6,  2.39E-5,   0.084,  0.25, 'SILT LOAM'
5,     3.86,    0.061,     0.162,   0.484,   0.347,   0.955,  2.18E-6,  1.66E-5,   0.061,  0.10, 'SILT'
6,     5.25,    0.066,    -0.327,   0.439,   0.329,   0.355,  3.38E-6,  1.43E-5,   0.066,  0.40, 'LOAM'
7,     6.77,    0.069,    -1.491,   0.404,   0.315,   0.135,  4.45E-6,  1.01E-5,   0.069,  0.60, 'SANDY CLAY LOAM'
8,     8.72,    0.120,    -1.118,   0.464,   0.387,   0.617,  2.03E-6,  2.35E-5,   0.120,  0.10, 'SILTY CLAY LOAM'
9,     8.17,    0.103,    -1.297,   0.465,   0.382,   0.263,  2.45E-6,  1.13E-5,   0.103,  0.35, 'CLAY LOAM'
10,   10.73,    0.100,    -3.209,   0.406,   0.338,   0.098,  7.22E-6,  1.87E-5,   0.100,  0.52, 'SANDY CLAY'
11,   10.39,    0.126,    -1.916,   0.468,   0.404,   0.324,  1.34E-6,  9.64E-6,   0.126,  0.10, 'SILTY CLAY'
12,   11.55,    0.138,    -2.138,   0.468,   0.412,   0.468,  9.74E-7,  1.12E-5,   0.138,  0.25, 'CLAY'
13,    5.25,    0.066,    -0.327,   0.439,   0.329,   0.355,  3.38E-6,  1.43E-5,   0.066,  0.05, 'ORGANIC MATERIAL'
14,     0.0,      0.0,       0.0,     1.0,     0.0,     0.0,      0.0,      0.0,     0.0,  0.60, 'WATER'
15,    2.79,    0.006,    -1.111,    0.20,    0.17,   0.069,  1.41E-4,  1.36E-4,   0.006,  0.07, 'BEDROCK'
16,    4.26,    0.028,    -1.044,   0.421,   0.283,   0.036,  1.41E-5,  5.14E-6,   0.028,  0.25, 'OTHER(land-ice)'
17,   11.55,    0.030,   -10.472,   0.468,   0.454,   0.468,  9.74E-7,  1.12E-5,   0.030,  0.60, 'PLAYA'
18,    2.79,    0.006,    -0.472,   0.200,    0.17,   0.069,  1.41E-4,  1.36E-4,   0.006,  0.52, 'LAVA'
19,    2.79,     0.01,    -0.472,   0.339,   0.192,   0.069,  4.66E-5,  2.65E-5,    0.01,  0.92, 'WHITE SAND'
Soil Parameters
STAS-RUC
19,1   'BB      DRYSMC       HC     MAXSMC   REFSMC   SATPSI  SATDK       SATDW     WLTSMC  QTZ    '
1,     4.05,    0.002,      1.47,   0.395,   0.174,   0.121,  1.76E-4,  0.608E-6,   0.033,  0.92, 'SAND'
2,     4.38,    0.035,      1.41,   0.410,   0.179,   0.090,  1.56E-4,  0.514E-5,   0.055,  0.82, 'LOAMY SAND'
3,     4.90,    0.041,      1.34,   0.435,   0.249,   0.218,  3.47E-5,  0.805E-5,   0.095,  0.60, 'SANDY LOAM'
4,     5.30,    0.034,      1.27,   0.485,   0.369,   0.786,  7.20E-6,  0.239E-4,   0.143,  0.25, 'SILT LOAM'
5,     5.30,    0.034,      1.27,   0.485,   0.369,   0.786,  7.20E-6,  0.239E-4,   0.143,  0.10, 'SILT'
6,     5.39,    0.050,      1.21,   0.451,   0.314,   0.478,  6.95E-6,  0.143E-4,   0.137,  0.40, 'LOAM'
7,     7.12,    0.068,      1.18,   0.420,   0.299,   0.299,  6.30E-6,  0.990E-5,   0.148,  0.60, 'SANDY CLAY LOAM'
8,     7.75,    0.060,      1.32,   0.477,   0.357,   0.356,  1.70E-6,  0.237E-4,   0.208,  0.10, 'SILTY CLAY LOAM'
9,     8.52,    0.085,      1.23,   0.476,   0.391,   0.630,  2.45E-6,  0.113E-4,   0.230,  0.35, 'CLAY LOAM'
10,   10.40,    0.100,      1.18,   0.426,   0.316,   0.153,  2.17E-6,  0.187E-4,   0.210,  0.52, 'SANDY CLAY'
11,   10.40,    0.070,      1.15,   0.492,   0.409,   0.490,  1.03E-6,  0.964E-5,   0.250,  0.10, 'SILTY CLAY'
12,   11.40,    0.068,      1.09,   0.482,   0.400,   0.405,  1.28E-6,  0.112E-4,   0.268,  0.25, 'CLAY'
13,    5.39,    0.027,      1.21,   0.451,   0.314,   0.478,  6.95E-6,  0.143E-4,   0.117,  0.05, 'ORGANIC MATERIAL'
14,     0.0,      0.0,      4.18,   1.0,     1.0,     0.0,      0.0,       0.0,     0.0,    0.00, 'WATER'
15,    4.05,    0.004,      2.03,   0.200,   0.10 ,   0.121,  1.41E-4,  0.136E-3,   0.006,  0.60, 'BEDROCK'
16,    4.90,    0.065,      2.10,   0.435,   0.249,   0.218,  3.47E-5,  0.514E-5,   0.114,  0.05, 'OTHER(land-ice)'
17,   11.40,    0.030,      1.41,   0.468,   0.454,   0.468,  9.74E-7,  0.112E-4,   0.030,  0.60, 'PLAYA'
18,    4.05,    0.006,      1.41,   0.200,   0.17,    0.069,  1.41E-4,  0.136E-3,   0.006,  0.52, 'LAVA'
19,    4.05,     0.01,      1.47,   0.339,   0.236,   0.069,  1.76E-4,  0.608E-6,   0.060,  0.92, 'WHITE SAND'

FULLDOM

Next we will look at the high-resolution routing domain file, Fulldom_hires.nc.

Open the Fulldom dataset

In [10]:
# Load a dataset
fulldom = xr.open_dataset('~/wrf-hydro-training/output/lesson2/run_gridded_default/DOMAIN/Fulldom_hires.nc')

Print some info about the file

In [11]:
fulldom.info()
xarray.Dataset {
dimensions:
	x = 130 ;
	y = 110 ;

variables:
	float64 y(y) ;
		y:standard_name = projection_y_coordinate ;
		y:long_name = y coordinate of projection ;
		y:units = m ;
		y:_CoordinateAxisType = GeoY ;
		y:resolution = 100.0 ;
	float64 x(x) ;
		x:standard_name = projection_x_coordinate ;
		x:long_name = x coordinate of projection ;
		x:units = m ;
		x:_CoordinateAxisType = GeoX ;
		x:resolution = 100.0 ;
	|S1 crs() ;
		crs:transform_name = lambert_conformal_conic ;
		crs:grid_mapping_name = lambert_conformal_conic ;
		crs:esri_pe_string = PROJCS["Sphere_Lambert_Conformal_Conic",GEOGCS["GCS_Sphere",DATUM["D_Sphere",SPHEROID["Sphere",6370000.0,0.0]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["false_easting",0.0],PARAMETER["false_northing",0.0],PARAMETER["central_meridian",-90.0],PARAMETER["standard_parallel_1",0.0],PARAMETER["standard_parallel_2",10.0],PARAMETER["latitude_of_origin",10.219],UNIT["Meter",1.0]];-26831800 -27245400 10000;-100000 10000;-100000 10000;0.001;0.001;0.001;IsHighPrecision ;
		crs:spatial_ref = PROJCS["Sphere_Lambert_Conformal_Conic",GEOGCS["GCS_Sphere",DATUM["D_Sphere",SPHEROID["Sphere",6370000.0,0.0]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["false_easting",0.0],PARAMETER["false_northing",0.0],PARAMETER["central_meridian",-90.0],PARAMETER["standard_parallel_1",0.0],PARAMETER["standard_parallel_2",10.0],PARAMETER["latitude_of_origin",10.219],UNIT["Meter",1.0]];-26831800 -27245400 10000;-100000 10000;-100000 10000;0.001;0.001;0.001;IsHighPrecision ;
		crs:long_name = CRS definition ;
		crs:longitude_of_prime_meridian = 0.0 ;
		crs:GeoTransform = 618468.675541 100.0 0 8222.72354075 0 -100.0  ;
		crs:_CoordinateAxes = y x ;
		crs:_CoordinateTransformType = Projection ;
		crs:standard_parallel = [ 0. 10.] ;
		crs:longitude_of_central_meridian = -90.0 ;
		crs:latitude_of_projection_origin = 10.219 ;
		crs:false_easting = 0.0 ;
		crs:false_northing = 0.0 ;
		crs:earth_radius = 6370000.0 ;
		crs:semi_major_axis = 6370000.0 ;
		crs:inverse_flattening = 0.0 ;
	int32 CHANNELGRID(y, x) ;
		CHANNELGRID:esri_pe_string = PROJCS["Sphere_Lambert_Conformal_Conic",GEOGCS["GCS_Sphere",DATUM["D_Sphere",SPHEROID["Sphere",6370000.0,0.0]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["false_easting",0.0],PARAMETER["false_northing",0.0],PARAMETER["central_meridian",-90.0],PARAMETER["standard_parallel_1",0.0],PARAMETER["standard_parallel_2",10.0],PARAMETER["latitude_of_origin",10.219],UNIT["Meter",1.0]];-26831800 -27245400 10000;-100000 10000;-100000 10000;0.001;0.001;0.001;IsHighPrecision ;
		CHANNELGRID:grid_mapping = crs ;
	int16 FLOWDIRECTION(y, x) ;
		FLOWDIRECTION:esri_pe_string = PROJCS["Sphere_Lambert_Conformal_Conic",GEOGCS["GCS_Sphere",DATUM["D_Sphere",SPHEROID["Sphere",6370000.0,0.0]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["false_easting",0.0],PARAMETER["false_northing",0.0],PARAMETER["central_meridian",-90.0],PARAMETER["standard_parallel_1",0.0],PARAMETER["standard_parallel_2",10.0],PARAMETER["latitude_of_origin",10.219],UNIT["Meter",1.0]];-26831800 -27245400 10000;-100000 10000;-100000 10000;0.001;0.001;0.001;IsHighPrecision ;
		FLOWDIRECTION:grid_mapping = crs ;
	int32 FLOWACC(y, x) ;
		FLOWACC:esri_pe_string = PROJCS["Sphere_Lambert_Conformal_Conic",GEOGCS["GCS_Sphere",DATUM["D_Sphere",SPHEROID["Sphere",6370000.0,0.0]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["false_easting",0.0],PARAMETER["false_northing",0.0],PARAMETER["central_meridian",-90.0],PARAMETER["standard_parallel_1",0.0],PARAMETER["standard_parallel_2",10.0],PARAMETER["latitude_of_origin",10.219],UNIT["Meter",1.0]];-26831800 -27245400 10000;-100000 10000;-100000 10000;0.001;0.001;0.001;IsHighPrecision ;
		FLOWACC:grid_mapping = crs ;
	float32 TOPOGRAPHY(y, x) ;
		TOPOGRAPHY:esri_pe_string = PROJCS["Sphere_Lambert_Conformal_Conic",GEOGCS["GCS_Sphere",DATUM["D_Sphere",SPHEROID["Sphere",6370000.0,0.0]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["false_easting",0.0],PARAMETER["false_northing",0.0],PARAMETER["central_meridian",-90.0],PARAMETER["standard_parallel_1",0.0],PARAMETER["standard_parallel_2",10.0],PARAMETER["latitude_of_origin",10.219],UNIT["Meter",1.0]];-26831800 -27245400 10000;-100000 10000;-100000 10000;0.001;0.001;0.001;IsHighPrecision ;
		TOPOGRAPHY:grid_mapping = crs ;
	float32 RETDEPRTFAC(y, x) ;
		RETDEPRTFAC:esri_pe_string = PROJCS["Sphere_Lambert_Conformal_Conic",GEOGCS["GCS_Sphere",DATUM["D_Sphere",SPHEROID["Sphere",6370000.0,0.0]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["false_easting",0.0],PARAMETER["false_northing",0.0],PARAMETER["central_meridian",-90.0],PARAMETER["standard_parallel_1",0.0],PARAMETER["standard_parallel_2",10.0],PARAMETER["latitude_of_origin",10.219],UNIT["Meter",1.0]];-26831800 -27245400 10000;-100000 10000;-100000 10000;0.001;0.001;0.001;IsHighPrecision ;
		RETDEPRTFAC:grid_mapping = crs ;
	float32 OVROUGHRTFAC(y, x) ;
		OVROUGHRTFAC:esri_pe_string = PROJCS["Sphere_Lambert_Conformal_Conic",GEOGCS["GCS_Sphere",DATUM["D_Sphere",SPHEROID["Sphere",6370000.0,0.0]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["false_easting",0.0],PARAMETER["false_northing",0.0],PARAMETER["central_meridian",-90.0],PARAMETER["standard_parallel_1",0.0],PARAMETER["standard_parallel_2",10.0],PARAMETER["latitude_of_origin",10.219],UNIT["Meter",1.0]];-26831800 -27245400 10000;-100000 10000;-100000 10000;0.001;0.001;0.001;IsHighPrecision ;
		OVROUGHRTFAC:grid_mapping = crs ;
	int8 STREAMORDER(y, x) ;
		STREAMORDER:esri_pe_string = PROJCS["Sphere_Lambert_Conformal_Conic",GEOGCS["GCS_Sphere",DATUM["D_Sphere",SPHEROID["Sphere",6370000.0,0.0]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["false_easting",0.0],PARAMETER["false_northing",0.0],PARAMETER["central_meridian",-90.0],PARAMETER["standard_parallel_1",0.0],PARAMETER["standard_parallel_2",10.0],PARAMETER["latitude_of_origin",10.219],UNIT["Meter",1.0]];-26831800 -27245400 10000;-100000 10000;-100000 10000;0.001;0.001;0.001;IsHighPrecision ;
		STREAMORDER:grid_mapping = crs ;
	int32 frxst_pts(y, x) ;
		frxst_pts:esri_pe_string = PROJCS["Sphere_Lambert_Conformal_Conic",GEOGCS["GCS_Sphere",DATUM["D_Sphere",SPHEROID["Sphere",6370000.0,0.0]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["false_easting",0.0],PARAMETER["false_northing",0.0],PARAMETER["central_meridian",-90.0],PARAMETER["standard_parallel_1",0.0],PARAMETER["standard_parallel_2",10.0],PARAMETER["latitude_of_origin",10.219],UNIT["Meter",1.0]];-26831800 -27245400 10000;-100000 10000;-100000 10000;0.001;0.001;0.001;IsHighPrecision ;
		frxst_pts:grid_mapping = crs ;
	int32 basn_msk(y, x) ;
		basn_msk:esri_pe_string = PROJCS["Sphere_Lambert_Conformal_Conic",GEOGCS["GCS_Sphere",DATUM["D_Sphere",SPHEROID["Sphere",6370000.0,0.0]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["false_easting",0.0],PARAMETER["false_northing",0.0],PARAMETER["central_meridian",-90.0],PARAMETER["standard_parallel_1",0.0],PARAMETER["standard_parallel_2",10.0],PARAMETER["latitude_of_origin",10.219],UNIT["Meter",1.0]];-26831800 -27245400 10000;-100000 10000;-100000 10000;0.001;0.001;0.001;IsHighPrecision ;
		basn_msk:grid_mapping = crs ;
	int32 LAKEGRID(y, x) ;
		LAKEGRID:esri_pe_string = PROJCS["Sphere_Lambert_Conformal_Conic",GEOGCS["GCS_Sphere",DATUM["D_Sphere",SPHEROID["Sphere",6370000.0,0.0]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["false_easting",0.0],PARAMETER["false_northing",0.0],PARAMETER["central_meridian",-90.0],PARAMETER["standard_parallel_1",0.0],PARAMETER["standard_parallel_2",10.0],PARAMETER["latitude_of_origin",10.219],UNIT["Meter",1.0]];-26831800 -27245400 10000;-100000 10000;-100000 10000;0.001;0.001;0.001;IsHighPrecision ;
		LAKEGRID:grid_mapping = crs ;
	float32 landuse(y, x) ;
		landuse:esri_pe_string = PROJCS["Sphere_Lambert_Conformal_Conic",GEOGCS["GCS_Sphere",DATUM["D_Sphere",SPHEROID["Sphere",6370000.0,0.0]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["false_easting",0.0],PARAMETER["false_northing",0.0],PARAMETER["central_meridian",-90.0],PARAMETER["standard_parallel_1",0.0],PARAMETER["standard_parallel_2",10.0],PARAMETER["latitude_of_origin",10.219],UNIT["Meter",1.0]];-26831800 -27245400 10000;-100000 10000;-100000 10000;0.001;0.001;0.001;IsHighPrecision ;
		landuse:grid_mapping = crs ;
	float32 LKSATFAC(y, x) ;
		LKSATFAC:esri_pe_string = PROJCS["Sphere_Lambert_Conformal_Conic",GEOGCS["GCS_Sphere",DATUM["D_Sphere",SPHEROID["Sphere",6370000.0,0.0]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["false_easting",0.0],PARAMETER["false_northing",0.0],PARAMETER["central_meridian",-90.0],PARAMETER["standard_parallel_1",0.0],PARAMETER["standard_parallel_2",10.0],PARAMETER["latitude_of_origin",10.219],UNIT["Meter",1.0]];-26831800 -27245400 10000;-100000 10000;-100000 10000;0.001;0.001;0.001;IsHighPrecision ;
		LKSATFAC:grid_mapping = crs ;
	float32 LATITUDE(y, x) ;
		LATITUDE:long_name = latitude coordinate ;
		LATITUDE:units = degrees_north ;
		LATITUDE:grid_mapping = crs ;
		LATITUDE:esri_pe_string = PROJCS["Sphere_Lambert_Conformal_Conic",GEOGCS["GCS_Sphere",DATUM["D_Sphere",SPHEROID["Sphere",6370000.0,0.0]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["false_easting",0.0],PARAMETER["false_northing",0.0],PARAMETER["central_meridian",-90.0],PARAMETER["standard_parallel_1",0.0],PARAMETER["standard_parallel_2",10.0],PARAMETER["latitude_of_origin",10.219],UNIT["Meter",1.0]];-26831800 -27245400 10000;-100000 10000;-100000 10000;0.001;0.001;0.001;IsHighPrecision ;
		LATITUDE:_CoordinateAxisType = Lat ;
		LATITUDE:_CoordinateSystems = crs ;
	float32 LONGITUDE(y, x) ;
		LONGITUDE:long_name = longitude coordinate ;
		LONGITUDE:units = degrees_east ;
		LONGITUDE:grid_mapping = crs ;
		LONGITUDE:esri_pe_string = PROJCS["Sphere_Lambert_Conformal_Conic",GEOGCS["GCS_Sphere",DATUM["D_Sphere",SPHEROID["Sphere",6370000.0,0.0]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["false_easting",0.0],PARAMETER["false_northing",0.0],PARAMETER["central_meridian",-90.0],PARAMETER["standard_parallel_1",0.0],PARAMETER["standard_parallel_2",10.0],PARAMETER["latitude_of_origin",10.219],UNIT["Meter",1.0]];-26831800 -27245400 10000;-100000 10000;-100000 10000;0.001;0.001;0.001;IsHighPrecision ;
		LONGITUDE:_CoordinateAxisType = Lon ;
		LONGITUDE:_CoordinateSystems = crs ;

// global attributes:
	:Conventions = CF-1.5 ;
	:GDAL_DataType = Generic ;
	:Source_Software = WRF-Hydro GIS Pre-processor v5.1 (06/2019) ;
	:history = Created Wed Aug 14 09:51:24 2019 ;
	:processing_notes = Created: Wed Aug 14 09:50:28 2019 ;
	:geogrid_used = D:\GIS_Misc\CostaRica\geo_em.d01.nc ;
	:proj4 = +proj=lcc +units=m +a=6370000.0 +b=6370000.0 +lat_1=10.0 +lat_2=0.0 +lat_0=10.219 +lon_0=-90.0 +x_0=0 +y_0=0 +k_0=1.0 +nadgrids=@null +wktext  +no_defs  ;
	:DX = 100.0 ;
	:DY = 100.0 ;
	:MAP_PROJ = 1 ;
	:corner_lats = [10.174606 10.264488 10.263519 10.173599 10.174606 10.264488 10.263519
 10.173599 10.170097 10.26899  10.267998 10.169136 10.170097 10.26899
 10.267998 10.169136] ;
	:corner_lons = [-84.34509  -84.34433  -84.23468  -84.23547  -84.34967  -84.34888
 -84.2301   -84.23093  -84.34515  -84.3443   -84.23465  -84.235535
 -84.34973  -84.34885  -84.23007  -84.23096 ] ;
	:TRUELAT1 = 10.0 ;
	:TRUELAT2 = 0.0 ;
	:STAND_LON = -90.0 ;
	:POLE_LAT = 90.0 ;
	:POLE_LON = 0.0 ;
	:MOAD_CEN_LAT = 10.219032287597656 ;
	:CEN_LAT = 10.219032287597656 ;
}

Plot the TOPOGRAPHY variable, the high-resolution elevation layer

This is the layer that controls much of the terrain routing. You'll notice the higher resolution of this layer compared to the HGT_M field in the geogrid.

In [12]:
fulldom.TOPOGRAPHY.plot(cmap="gist_earth")
Out[12]:
<matplotlib.collections.QuadMesh at 0x7effa4a55630>

Plot the CHANNELGRID variable, the location of channel cells on the high-resolution routing grid

In [13]:
fulldom.CHANNELGRID.plot()
Out[13]:
<matplotlib.collections.QuadMesh at 0x7effa4983828>

SOIL_PROPERTIES

Let's also take a look in the NoahMP 2D/3D parameter file, soil_properties.nc. This is actually a bit of a misnomer, as this file contains parameters related to vegetation, surface, and soil properties. Vegetation and surface properties are in 2D, while soil properties can also (theoretically) vary with depth and are therefore in 3D. All are on the LSM grid.

Open the soil_properties dataset

In [14]:
# Load a dataset
soilprop = xr.open_dataset('~/wrf-hydro-training/output/lesson2/run_gridded_default/DOMAIN/soil_properties.nc')

Print some info about the file

In [15]:
soilprop.info()
xarray.Dataset {
dimensions:
	Time = 1 ;
	soil_layers_stag = 4 ;
	south_north = 11 ;
	west_east = 13 ;

variables:
	float32 bexp(Time, soil_layers_stag, south_north, west_east) ;
	float32 cwpvt(Time, south_north, west_east) ;
	float32 dksat(Time, soil_layers_stag, south_north, west_east) ;
	float32 dwsat(Time, soil_layers_stag, south_north, west_east) ;
	float32 hvt(Time, south_north, west_east) ;
	float32 mfsno(Time, south_north, west_east) ;
	float32 mp(Time, south_north, west_east) ;
	float32 psisat(Time, soil_layers_stag, south_north, west_east) ;
	float32 quartz(Time, soil_layers_stag, south_north, west_east) ;
	float32 refdk(Time, south_north, west_east) ;
	float32 refkdt(Time, south_north, west_east) ;
	float32 rsurfexp(Time, south_north, west_east) ;
	float32 slope(Time, south_north, west_east) ;
	float32 smcdry(Time, soil_layers_stag, south_north, west_east) ;
	float32 smcmax(Time, soil_layers_stag, south_north, west_east) ;
	float32 smcref(Time, soil_layers_stag, south_north, west_east) ;
	float32 smcwlt(Time, soil_layers_stag, south_north, west_east) ;
	float32 vcmx25(Time, south_north, west_east) ;

// global attributes:
	:TITLE = OUTPUT FROM GEOGRID V4.1 ;
	:SIMULATION_START_DATE = 0000-00-00_00:00:00 ;
	:WEST-EAST_GRID_DIMENSION = 14 ;
	:SOUTH-NORTH_GRID_DIMENSION = 12 ;
	:BOTTOM-TOP_GRID_DIMENSION = 0 ;
	:WEST-EAST_PATCH_START_UNSTAG = 1 ;
	:WEST-EAST_PATCH_END_UNSTAG = 13 ;
	:WEST-EAST_PATCH_START_STAG = 1 ;
	:WEST-EAST_PATCH_END_STAG = 14 ;
	:SOUTH-NORTH_PATCH_START_UNSTAG = 1 ;
	:SOUTH-NORTH_PATCH_END_UNSTAG = 11 ;
	:SOUTH-NORTH_PATCH_START_STAG = 1 ;
	:SOUTH-NORTH_PATCH_END_STAG = 12 ;
	:GRIDTYPE = C ;
	:DX = 1000.0 ;
	:DY = 1000.0 ;
	:DYN_OPT = 2 ;
	:CEN_LAT = 10.219032287597656 ;
	:CEN_LON = -84.2899169921875 ;
	:TRUELAT1 = 10.0 ;
	:TRUELAT2 = 0.0 ;
	:MOAD_CEN_LAT = 10.219032287597656 ;
	:STAND_LON = -90.0 ;
	:POLE_LAT = 90.0 ;
	:POLE_LON = 0.0 ;
	:corner_lats = [10.174606 10.264488 10.263519 10.173599 10.174606 10.264488 10.263519
 10.173599 10.170097 10.26899  10.267998 10.169136 10.170097 10.26899
 10.267998 10.169136] ;
	:corner_lons = [-84.34509  -84.34433  -84.23468  -84.23547  -84.34967  -84.34888
 -84.2301   -84.23093  -84.34515  -84.3443   -84.23465  -84.235535
 -84.34973  -84.34885  -84.23007  -84.23096 ] ;
	:MAP_PROJ = 1 ;
	:MMINLU = USGS ;
	:NUM_LAND_CAT = 28 ;
	:ISWATER = 16 ;
	:ISLAKE = 28 ;
	:ISICE = 24 ;
	:ISURBAN = 1 ;
	:ISOILWATER = 14 ;
	:grid_id = 1 ;
	:parent_id = 1 ;
	:i_parent_start = 1 ;
	:j_parent_start = 1 ;
	:i_parent_end = 14 ;
	:j_parent_end = 12 ;
	:parent_grid_ratio = 1 ;
	:sr_x = 1 ;
	:sr_y = 1 ;
	:FLAG_MF_XY = 1 ;
	:FLAG_LAI12M = 1 ;
	:history = Wed Aug 14 15:22:10 2019: ncks -O -x -v HGT_M soil_properties.nc soil_properties.nc
Wed Aug 14 15:22:09 2019: ncks -O -4 -v HGT_M /glade/scratch/lread/costa_rica/rio_desague_08_14_larger/DOMAIN/geo_em.d01.nc soil_properties.nc ;
	:NCO = netCDF Operators version 4.7.9 (Homepage = http://nco.sf.net, Code = http://github.com/nco/nco) ;
}

Plot the soil porosity (smcmax)

Default parameters by soil texture class are mapped from the SOILPARM.TBL lookup table to the soil type layer in the geogrid (SCT_DOM) to create an initial distribution of porosity values.

In [16]:
soilprop.smcmax.sel(soil_layers_stag = 0).plot(vmin=0.4, vmax=0.6, cmap="BuPu")
Out[16]:
<matplotlib.collections.QuadMesh at 0x7effa48bce80>

Plot the vegetation height (hvt)

Similarly, for default configurations, vegetation height values are pulled from MPTABLE.TBL and mapped via the LU_INDEX field in the geogrid.

In [17]:
soilprop.hvt.plot(cmap="YlGn")
Out[17]:
<matplotlib.collections.QuadMesh at 0x7effa47f8748>

2-d Spatial with no temporal component

Now we will plot a timeseries from multiple netcdf files using the open_mfdataset command. We will plot a hydrograph at a gage point.

Open the chanobs multi-file dataset We are going to use the *CHANOBS* files because it will limit outputs only to those from grid cells that we have specified as an observation point. We will discuss more about this and other output files in Lesson 4.

NOTE: open_mfdataset supports wildcards for pattern matching but requires that the path be absolute with no tilde

We will use wildcards * to open all files that contain 'CHANOBS' in the name.

**NOTE: Because we are opening multiple files, we need to tell xarray how to concatenate them. Because this is a timeseries with time dimension called 'time' we will specify 'time' as the concatenation dimension.

In [18]:
chanobs = xr.open_mfdataset('/home/docker/wrf-hydro-training/output/lesson2/run_gridded_default/*CHANOBS*',
                            combine='by_coords')

Print some info about the file

In [19]:
chanobs.info()
xarray.Dataset {
dimensions:
	feature_id = 3 ;
	reference_time = 1 ;
	time = 456 ;

variables:
	datetime64[ns] reference_time(reference_time) ;
		reference_time:long_name = model initialization time ;
		reference_time:standard_name = forecast_reference_time ;
	int32 feature_id(feature_id) ;
		feature_id:long_name = User Specified Forecast Points ;
		feature_id:comment = Forecast Points Specified in Fulldom file ;
		feature_id:cf_role = timeseries_id ;
	float32 latitude(feature_id) ;
		latitude:long_name = Feature latitude ;
		latitude:standard_name = latitude ;
		latitude:units = degrees_north ;
	float32 longitude(feature_id) ;
		longitude:long_name = Feature longitude ;
		longitude:standard_name = longitude ;
		longitude:units = degrees_east ;
	datetime64[ns] time(time) ;
		time:long_name = valid output time ;
		time:standard_name = time ;
		time:valid_min = 25172700 ;
		time:valid_max = 25200000 ;
	|S1 crs(time) ;
		crs:transform_name = latitude longitude ;
		crs:grid_mapping_name = latitude longitude ;
		crs:esri_pe_string = GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]];-400 -400 1000000000;-100000 10000;-100000 10000;8.98315284119521E-09;0.001;0.001;IsHighPrecision ;
		crs:spatial_ref = GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]];-400 -400 1000000000;-100000 10000;-100000 10000;8.98315284119521E-09;0.001;0.001;IsHighPrecision ;
		crs:long_name = CRS definition ;
		crs:longitude_of_prime_meridian = 0.0 ;
		crs:_CoordinateAxes = latitude longitude ;
		crs:semi_major_axis = 6378137.0 ;
		crs:semi_minor_axis = 6356752.5 ;
		crs:inverse_flattening = 298.2572326660156 ;
	int32 order(time, feature_id) ;
		order:long_name = Streamflow Order ;
		order:standard_name = order ;
	float32 elevation(time, feature_id) ;
		elevation:long_name = Feature Elevation ;
		elevation:standard_name = Elevation ;
	float32 streamflow(time, feature_id) ;
		streamflow:long_name = River Flow ;
		streamflow:units = m3 s-1 ;
		streamflow:grid_mapping = crs ;
		streamflow:valid_range = [    0. 50000.] ;

// global attributes:
	:featureType = timeSeries ;
	:proj4 = +proj=lcc +units=m +a=6370000.0 +b=6370000.0 +lat_1=10.0 +lat_2=0.0 +lat_0=10.219 +lon_0=-90.0 +x_0=0 +y_0=0 +k_0=1.0 +nadgrids= ;
	:model_initialization_time = 2017-11-11_00:00:00 ;
	:station_dimension = feature_id ;
	:model_output_valid_time = 2017-11-11_01:00:00 ;
	:model_total_valid_times = 456 ;
	:stream_order_output = 1 ;
	:cdm_datatype = Station ;
	:Conventions = CF-1.6 ;
	:code_version = v5.1.1-beta ;
	:model_output_type = channel_rt ;
	:model_configuration = default ;
	:dev_OVRTSWCRT = 1 ;
	:dev_NOAH_TIMESTEP = 3600 ;
	:dev_channel_only = 0 ;
	:dev_channelBucket_only = 0 ;
	:dev = dev_ prefix indicates development/internal meta data ;
}

Here we can see that we have a time dimension of length 168 corresponding to the 168 hourly output files from our simulation run_gridded_default.

Plot a hydrograph for 1 gage point on the Rio Desague Now we will select 1 gage from the dataset and plot our streamflow variable. For more information on indexing and selecting data with xarray see the xarray documentation

In [20]:
chanobs.sel(feature_id = 3).streamflow.plot()
Out[20]:
[<matplotlib.lines.Line2D at 0x7effa58e2908>]

Next up - Run-time options

This concludes lesson 3. In the next lesson we will discuss run-time options and experiment with different options and viewing the effect on the model behavoir using xarray.

IT IS BEST TO EITHER SHUTDOWN THIS LESSON OR CLOSE IT BEFORE PROCEEDING TO THE NEXT LESSON TO AVOID POSSIBLY EXCEEDING ALLOCATED MEMORY. Shutdown the lesson be either closing the browser tab for the lesson or selecting KERNAL->SHUTDOWN in the jupyter notebook toolbar.