Noah LSM version 3.1 has a number of changes as compared to version 3.0.
Changes include:  

-------------------------------------------------------------------------------
Capability to use MODIS land-use dataset for vegetation categories.  This 
entailed many changes to make the land-use dataset flexible throughout WRF.
    * Added "NATURAL" category to VEGPARM.TBL, for the land-use category
      to use for the non-urban parts of urban points.  Previously hard-coded as
      category 10 in the Noah driver.
    * String length for strings describing land-use data sets and soil-category
      data sets has been increased from 4 characters to 256 characters.  This 
      allows for more descriptive names for land-use and soil-category data 
      sets.
    * The ISURBAN argument has been added to SFLX.  ISURBAN holds the index 
      number for the land-use category corresponding to urban points.  All 
      checks on the hard-coded USGS urban category 1 have been changed to 
      test on the value of ISURBAN.  ISURBAN now gets passed around to several
      subroutines below SFLX.
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Snow albedo treatment following Livneh.  This is a major modification to 
subroutine ALCALC.
   * New argument to SFLX:  SNOTIME1 holds the age of the snow on the ground,
     in seconds. (In-code documentation still needed for this.)
   * Albedo over snow now depends on the age of the snow on the ground.  Ground
     covered with new, fresh snow may have a high albedo; as the snow ages, the
     albedo is reduced.
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Option for 2d LAI map to be used in Noah ....
   * New argument to SFLX:  RDLAI2D
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
File "urban_param.tbl" has been renamed to "URBPARM.TBL", to be consistent with
the rest of the tables.
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
BUGFIX:  In subroutine SRT, infiltration calculation takes into account the
time step in setting INFMAX = MIN (INFMAX,PX/DT).  Older code did not have the
"/DX" term.
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Glacial Ice ....  Some fairly significant changes to the treatment, here.
   * The meaning of the ICE flag variable in SFLX has been changed.  Now, 
     the settings are ICE=1 for a sea-ice point, and ICE=-1 for a glacial land
     point, and ICE=0 for a non-glacial land point.
   * Glacial land points and sea-ice points have smil moisture set to 1.0.
     (Both total and liquid values.  Should liquid part be set to 0.0?)
   * At glacial land points and seaice points, snow density is set to 0.2
     for cold permanent ice or new dry snow.
   * snow-cover fraction is unlimited over glacial land points.
   * Albedo of sea-ice is hard-coded to 0.80; emissivity is hard-coded to 
     0.98.  This is probably not good.  In reality, the Arctic and the 
     Antarctic behave quite differently, and each has its own annual trend.
   * Thermal conductivity over sea ice or glacial land points is set to the 
     snow conductivity value.
   * Subroutine HRTICE is modified to manage subsurface temperature tendency
     for both sea ice and glacial land points.  Diffusivities and heat 
     capacities are ajusted depending on whether its a glacial point or a 
     sea-ice point.
   * Call to SMFLX is skipped for sea-ice points or glacial land points.
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Subroutine SNOPAC:  Potential evapotranspiration (ETP) depends on Richardson 
Number (RIBB) -- to handle stable regimes a little better.
   * New argument to SFXL:  RIBB (In-code documentation still needed for this)
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Background (i.e., snow-free) albedo, background emissivity, background 
roughness-length, and Leaf Area Index are computed in SFLX, by scaling between
climatological minimum and maximum values based on land-use category (new 
VEGPARM.TBL), according to where an instantaneous green vegetation fraction 
falls between a climatological minimum and maximum for GVF.  Values for 
background emissivity (EMBRD), Leaf-area index (XLAI), background albedo (ALB),
and background roughness length (Z0BRD) are computed in SFLX just after the 
call to REDPRM.
   * USEMONALB now has to be passed into SFLX.
   * New arrays defined:  LAIMINTBL, LAIMAXTBL;  Remove LAITBL.
   * New arrays defined:  ALBEDOMINTBL, ALBEDOMAXTBL; remove ALBTBL.
   * New arrays defined:  Z0MINTBL, Z0MAXTBL; remove Z0TBL
   * New arrays defined:  EMISSMINTBL, EMISSMAXTBL
   * Subroutine REDPRM now returns LAIMIN, LAIMAX, ALBEDOMIN, ALBEDOMAX, 
     EMISSMIN, EMISSMAX, Z0MIN, Z0MAX, EMISSMIN, EMISSMAX.  Removed from REDPRM
     are Z0BRD, XLAI, and ALB.
   * The scaling is not applied for albedo if namelist option USEMONALB is set
     to .true.
   * The scaling is not applied for LAI if namelist option RDLAI2D is set to 
     .true.
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Subroutine SFLX:  If the surface is largely snow covered (more than 97%), use
the snow diffusivity. (BPRC)  
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Subroutine PENMAN:  
Scale latent heat used between snow-covered (latent heat of sublimation) and 
snow-free (latent heat of vaporization) regions.  For glacial land or sea ice 
regions, use latent heat of vaporization if Skin temperature T1 is greater than
freezing
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
BUGFIX:  The code to determine whether the soil-moisture tendency will be
solved with the single-step or the two-step process had some wrong unit 
conversions which meant that the two-step process would be used only in 
extremely heavy rainfall situations.  New code corrects this.  Also adds the
(FAC2 > FLIMIT) test.
   * Subroutine FAC2MIT added, making FLIMIT dependent on hard-coded SMCMAX
     values.  If SOILPARM.TBL is changed, this will break FAC2MIT.
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Limit the depth of the snow layer in computing soil heat flux (BPRC)
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Over sea-ice points and glacial land points, limit the depth of the snow layer
in computing soil heat flux (BPRC)
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Test on some trace value of snow, instead of zero value, for computing snow
density.  This may prevent some crazy values caused by a division by something
near to zero. (BPRC) (SNEQV)
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Subroutine WDFCND:  Computation of FACTR1 modified, and the maximum value for 
FACTR1 is limited:  FACTR1 cannot exceed FACTR2.
          --- What are FACTR1 and FACTR2?
          --- What's a good generic way do describe this change?
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Runoff updated over non-glacial land points. (RUNOFF3,RUNOFF2 setting in SFLX?)
Over glacial land or sea ice, runoff goes directly to surface runoff RUNOFF1.
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Adjustment in NOPAC of ETA setting if ETP <= 0.
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
The "LOCAL" variable (for REDPRM settings) no longer used.
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
FLX3 initialized to zero in the case of shallow snow which sublimates.
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Subroutine TRANSP:  Dimension for GX no longer hard-coded.
-------------------------------------------------------------------------------
