Skip to main content

LIS Banner Image

LDT Public Release 7.1rp3, LIS Public Release 7.1rp8

Land surface Data Toolkit (LDT) Public Release 7.1rp3 (r6607:6982)

Land Information System (LIS) Public Release 7.1rp8 (r6602:6995)

Version: LDT_public_release_7.1rp3, LIS_public_release_7.1rp8
Release date: 9 Nov 2016

The Land Information System Framework (LISF) is released under the terms and conditions of the NASA Open Source Agreement (NOSA) Version 1.3. To download and/or use the LISF software you must agree to the LISF NOSA.

Source Code

LDT change log

This patch release includes updates r6607:6982.

  • Remove print statement

  • Replaced missing lines of code to the core/LDT_albedoMod.F90 routine, due to recent r6956 commit. Please update your LDT branch.

  • Added support in several metforcing datasets (the "supplemental" precipitation forcings mostly) to assign the LDT "universal" undefined value to when a precipitation value it missing.

    So if the user selects several overlapping precipitation products (in addition to a "base forcing" dataset), this additional code defaults to the baseforcing field or another supplemental forcing value that is present when a forcing dataset has "missing" values.

  • Minor modifications to the logging diagnostic statements. Mainly, updating messages with the following convention:

    [ERR] -- When an error message is needed.
    [WARN] -- Warning statement, but LDT may
    continue to run
    [INFO] -- Normal routine statements to inform
    user of what is happening during runtime
  • Completed reimplementing and testing of the 'CONSTANT' parameter options in the latest LDT version (was originally in earlier versions of LDT).

    The use of the 'CONSTANT' parameter option allows users to set a contant value for most parameter types and for any domain, given a desired mask.

    For an example of different 'constant' parameter values set for a CONUS mask (on discover), please see the ldt.config file and output files here:


  • Added documentation and updated the log diagnostic statements in relation to several of the LDT temporal downscaling code and met forcing core routines.

    Also, the updated code contains a new option (commented out at this time) that allows the user to specify the starting and ending time window hours, used in the temporal downscaling approaches. Not included at this time but may appear in future releases.

  • Minor updates to the LDT_paramProcMod routines (e.g., added some documentation) and just some slight improvement to readability in the domains/latlon/readinput_latlon.F90 routine

  • Made minor updates to the log diagnostic statements and minor print statement clean up

  • Updates to the CHIRPS v2 forcing reader.

    • A bug fix was implemented to account for a file read error associated with timesteps less than a day.
    • Additional clean up to the log diagnostic statements and added more documentation.
    • Replaced the LDT "rstflag" parameter with a local CHIRPS struc reset_flag (logical).

    The fix added in this commit corrects a problem found with the temporal downscaling issue.

  • Minor clean up to the HYMAP parameter and restart processing code.

  • Made fix to the LDT ensemble generation for HYMAP.

  • Updates to support GRACE obs processing in the observations space

  • Removed debugging print statements.

  • Removed a section of code that is repeated.

  • Adding a HYMAP router version 2 option to support future HYMAP model version (by A. Getirana) and features (e.g., 8 state variables for restart files).

    Option is: 'HYMAP2'

  • Cleaned up and added more documentation to the LDT_domainMod.F90 subroutine.

  • Adding documentation for the MERRA2 terrain height field option.

  • Added the capability to process the NASA SMAP retrievals for DA preprocessing. The CDFs will be computed on the EASE V2 grid. LDT has been modified to add the support for EASE V2 grid as one of the target grids

  • Added the ability to do spatial sampling within a specified radius while doing CDF computations. The config file has two new options related to this capability.

    Enable spatial sampling for CDF calculations:
    Spatial sampling window radius for CDF calculations:

If the "Enable spatial sampling for CDF calculations:" is not specified in the config file, the code assumes a sampling radius of 0. i.e., CDF calculations will only use the values at the respective grid cells.

  • Adding new MERRA-2 terrain height reader in LDT to support lapse-rate adjustment to the MERRA-2 forcing fields (Tair, Qair, SurfPres, and LWdown) in LIS.

    LDT config file entries to turn on the MERRA-2 terrain height (i.e., geopotential height) reader and read in the file include:

    Number of met forcing sources:        1                 # Enter number of forcing types
    Met forcing sources:                "MERRA2"            # Enter 'none' if no forcing selected
    Topographic correction method (met forcing):  "lapse-rate"    # none | lapse-rate
    MERRA2 geopotential terrain height file: ./MERRA2_100/MERRA2_101.const_2d_asm_Nx.00000000.nc4/

    Some simple testcases reside here on discover: /discover/nobackup/projects/lis/Projects/LDT/LDT_testnew/Metparm_MERRA2

  • Adding the missing MOD10A1 plugin for ANN support

  • Adding the new plugin for SMOS NESDIS datastream

  • updates to LDT related to the support for DA in observation space

  • Made simple correction and update to the albedo parameter module for when quarterly files are being read in for the former "NCEP_LIS" option. Number of levels was not being set to "4" for the four seasons.

  • Remove time checking in readRTSMOPSsmObs routine

    This is Sujay Kumar's patch to the readRTSMOPSsmObs routine that fixes a problem processing RT SMOPS observations.

  • Updated the climatological restart generation capability in LDT by expanding support for different LSMs, including Noah-MP, different Noah versions and VIC LSMs.

  • Revert back to real*4

  • Declare real variables as real*8

  • Compute eps based on number of latitude circles

  • Clean up gausslat routine

  • Update Gaussian support to use gausslat routine

  • Remove gaussian_mod.F90 file

    I am saving a copy of this file as gaussian_mod.F90.keep for reference.

    I need a few routines from this module. They will be modifyied and re-added.

  • Updated the MERRA2 grid description array parameters and added some additional information lines.

  • Update Ensrst_Downscale ldt.config file

  • Added back the "CONSTANT" option for the soil texture parameter field.

    This is the first of many commits to add back the "CONSTANT" parameter options and some parameter option updates.

  • Corrected bug related to the number of ensemble members selected for generating ensemble HYMAP restart file.

  • Fixed the config HYMAP router name option inside ensemble restart inflation/deflation core code.

    Also, added and updated checks and ldt log statements for Ensemble restart options during runtime, like error messages when options are not supported.

  • Correct reset_merra2

    Resetting the MERRA2 reader now reads both the left and right bookends. Before this fix the reader would only read the right bookend after a reset.

  • Adding logging message to help catch for a user when a parameter or dataset is being spatially transformed to the polar or hrap grid to indicate that this feature is not supported at this time.

  • Restored the HRAP ("hrap") grid domain, but it will only work with certain LSM options:

    LDT_rc%lsm == "RDHM.3.5.6",

    since the HRAP grid was mainly used with the Sacramento model (e.g., SAC-HTET), Snow-17, and the combined RDHM version.

    HRAP grid works in both serial and parallel modes, when selecting one of these model options.

    If any other options are selected, LDT will exit the runtime, until additional features are implemented and supported.

  • Minor bug fix for warning about function w/o explicit type declaration.

    This bug and bug fix was submitted by Hamada Badr.

  • Force stop if Polar Stereographic or HRAP projection code is called.

    These map projections are broken due to recent multi-parallelization changes. Plus, polar stereographic support is missing from LDT_gridmappingMod.F90.

    This is a band-aid for Trac tickets #235 and #236. Work on true fixes is postponed until we have an actual use case and customer that needs these to work.

  • Call map_set for ldtglbproj in readinput_gaussian routine

  • MERCATOR BUG FIX: Copy ldtproj struc to new ldtglbproj struct in LDT_domain.

    Recent changes to LDT to add support for parallel processing makes this update necessary. Otherwise LDT fails when writing Mercator map projection data to file.

    This addresses Trac ticket #226.

  • BUG FIX: Copy ldtproj structure to new ldtglbproj structure in LDT_domain.

    Recent changes to LDT to add support for parallel processing makes this update necessary. Otherwise LDT fails when writing lambert data to file.

    NOTE: Similar bugs may be present with the Gaussian, HRAP, Mercator, and Polar Stereographic projections.

  • Fixed error statements in subroutine setVarAttributes.

    Error statements (in calls to LDT_verify) erroneously referred to a different subroutine. Also, the statements were not sufficiently descriptive in explaining which call to nf90_put_att failed.

    This addresses LIS Trac Ticket #73.

  • Updates made to the RFE2 Daily reader

  • Made update to CHIRPS reader to allow reading in CHIRPS files when missing and a "baseforcing" is present.

  • Minor updates to the CHIRPS2 and MERRA-2 forcing modules

  • Updated the CHIRPS Daily reader to fix an issue whenever an CHIRPS precipitation file is missing and a baseforcing precipitation (like GDAS or MERRA2) are not defaulted to. (Issue: Previous day CHIRPS precipitation was filling in instead).

    • Issue mainly found within time_interp routine
    • Now corrected.
  • Updated the RFE2 Daily reader to fix an issue whenever an RFE2 precipitation file is missing and a baseforcing precipitation (like GDAS or MERRA2) are not defaulted to. (Issue: Previous day RFE2 precipitation was filling in instead).

    • Issue mainly found within time_interp routine
    • Now corrected.

LIS change log

This patch release includes updates r6602:6995.

  • Update gaussian_t1534 testcase

  • Correct pcp_flag

    The pcp_flag was incorrectly set for var_index 1 (pds5=11), which is temperature. It is now set for var_index 8 (pds5=59), which is precipitaion rate.

  • Revert back to real*4

  • Port updated Gaussian support from LDT into LIS

  • Port updated Gaussian support from LDT into LIS

  • Rename gaussian_mod.F90 to gaussian_mod.F90.keep

    I am no longer using this module. But I want to keep for reference.

  • Update gaussian_t126 testcase

  • Rename several gaussian_t126 testcase ctl files

  • Significant bug fixes to GDAS reader.

    1. Shortened pds5, pds7, and pds16 arrays to remove entries for albedo. This variable is not read in from GDAS, and the extra entries were cause buffer overflows (10th entry to arrays declared with 9 elements).
    2. Fixed logic for loading GDAS terrain for lapse rate correction. Code now recognises the combined "lapse-rate and slope-aspect" option.
  • Updates for compiling with GCC compilers

  • Merging Noah-MP revisions from development to public7.1.

    1. Fixed the behavior of snowfall forcing. Noah-MP just uses total precipitation as forcing, and depending on the config option chosen, will determine how much of the total precip is rainfall or snowfall.
    2. Checked in fixes to prevent divide-by-zero crashes in the code. These crashes are very rare, and for the most part, are already in later versions of Noah-MP as released by NCAR.
  • Removed "stop" statement in file, which was accidentally left in the code and used for testing purposes.

  • Updated the log error statement if a LIS config file wanting to be read in is missing or typed in correctly at the command line. The error statement no longer tries to print to the log diagnostic file (since that call to read in that line is actually in the LIS config file).

  • Fix bug regarding reading MERRA2 elevation

    The init_merra2 routine now reads elevation whenever LIS_rc%met_ecor is not "none".

  • Add support to read MERRA2 elevation data for lapse rate correction

  • Fixed minor bugs triggering warnings from Intel compiler.

    This fixes:

    • Warnings from surfacemodels/land/clm2/csm_share/clm2_shr_sys_mod.F90 about unused argument, which were related to missing preprocessor flag.
    • Warning from surfacemodels/land/mosaic/umd_sibalb.F90 about function with undeclared return type.

    These patches were submitted by Hamada Badr (JHU).

  • BUG FIX: Added irrigation support to WRF-LIS coupling.

    This code is already in the NU-WRF trunk and has been confirmed to work.

  • Update gaussian_t1534 testcase

  • Update MERRA-Land and MERRA2 testcases

  • Changed default output directory permissions to a+rwx. Fixed code indentation.

    The calls to the POSIX C function 'mkdir' are changed to set the mode to 0777, which grants all permissions to user, group, and other as a first-guess. The shell 'umask' command can be used to revoke permissions at run-time. This gives the user more flexibility in setting the permissions of the output directories created by LIS. Before this change, no permissions were granted to group or other by the 'mkdir' call, and the umask setting could not reverse this.

  • ProTeX updates for LIS Reference Manual

  • Minor update to the README_discover file as for the make module is only:


  • Updated the entries in the README_discover file to match more closely to the notes on the Modeling Guru forum:

Release Date