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. -------------------------------------------------------------------------------