Skip to main content

LIS Banner Image

RELEASE_NOTES







Land Information System (LIS) Release Notes


Land Information System (LIS) Release Notes

Current release:

Land Information System (LIS) Public Release 7.1r

May 2015

CHANGE LOG:

Land Information System (LIS) Public Release 7.1r (r5986)

This is the initial release of the public version of LIS 7.1.

  • Includes Noah 3.6
  • Includes NoahMP 3.6
  • Includes CABLE 1.4b
  • Includes flood irrigation
  • Includes drip irrigation
  • Supports VIIRS Daily GVF data
  • Supports TRMM 3B42 V7 real time precipitation
  • Supports Gaussian T1534 GFS met forcing data
  • Supports MERRA-2 met forcing data
  • Supports downscaling precipitation (PRISM) (NLDAS-2 only)

Land Information System (LIS) Public Release 7.0rp2 (r5747:5936)

This patch release includes updates r5747:5936.

These updates consist of:

  • Merge branches/untested/p70-r5412-merra2 into 7/public7.0

    I merged r5807:5813 from branches/untested/p70-r5412-merra2 to 7/public7.0.

    These updates consist of:

    • Update MERRA2 reader

      Add Yuqiong Liu's and Eric Kemp's MERRA2 updates. These updates:

      • Read the swgdn and lwgab fields from the rad files.
      • Adjust the times when LIS switches streams.
    • Update the MERRA2 testcase

    • Document the MERRA2 run-time options

  • Merge 7/development into 7/public7.0

    I merged/cherry-picked r5484 from 7/development to 7/public7.0.

    These updates consist of:

    • relaxed the error checking on corrupted files so that the code wouldn't
      abort, rather revert to a previous day's file
  • Merge branches/untested/p70-r5412-merra2 into 7/public7.0

    I merged r5804:5806 from branches/untested/p70-r5412-merra2 to 7/public7.0.

    These updates consist of:

    • Add support to read MERRA2 metforcing data

    • Correct index to shortwave down (merra-land reader)

      The check to determine whether swd has valid data used the index
      to lwd. The code to temporally interpolate swd did use the correct
      index.

  • VIC bug fix for running VIC in subdomain without land grids.

  • Correct an error message for reading restart file.

  • Update RELEASE_NOTES.txt for LIS public release 7.0rp2

Land Information System (LIS) Public Release 7.0rp2 (r5459:5746)

This patch release includes updates r5459:5746.

These updates consist of:

  • Merge 7/development into 7/public7.0

    I merged/cherry-picked r5740 from 7/development to 7/public7.0.

    These updates consist of:

    • Do not reset %zm and %zh for processes with 0 tiles.
  • Do not reset noah33_struc%zm and noah33_struc%zh for processes with 0 tiles.

  • Function added to count VIC state variables, including ones for VIC lake
    model.

  • Please update LIS-7 public version for the latest updates for VIC 4.1.2.l.

    Binary restart writing/reading now is supported by LIS-VIC (4.1.2.l).
    Please add

    VIC412 restart file format: "binary" #or "netcdf"
    

    to your lis.config file. With binary data format, LIS-VIC is much faster
    when writing/reading restart file.

  • Add Kristi Arsenault's CMAP updates

    These update include adding a new grid change update (~2012) and
    correcting the timing of when to change grids.

  • Update ldt.config file for internal testcases

  • Minor correction to get_cmap.F90 -
    Files were being skipped when certain output time
    interval selected (e.g., at or greater
    than cmap timestep of 6hr). Now every
    6-hr file is read in when a model run time
    step is 6-hr or greater (e.g., daily).

  • Update RELEASE_NOTES.txt for LIS 7 public release patch rp1

Land Information System (LIS) Public Release 7.0rp1 (r5257:5458)

This patch release includes updates r5257:5458.

These updates consist of:

  • Update public testcases

  • LaTeX fixes for in-line documentation

  • Correct when LIS writes output when coupled with WRF

  • Merge 7/development into 7/public7.0

    I merged r5193:5400 from 7/development to 7/public7.0.

    These updates consist of:

    • cleanups in the RTM implementations
      changed the sprinkler irrigation to use Noah's soil layers
      (removed the hardcoded layers)

    • Update domain definition in GrADS descriptor files for GLDAS testcase

    • changing assumed arrays to allocatables

    • Convert a locally declared array to allocatable

    • Merge 7/development_svk into 7/development

      I merged r5362:5389 from 7/development_svk to 7/development.

      These updates consist of:

      • gfortran fixes, changed array definitions to allocatables instead of
        pointer, changed assumed arrays to allocatables
      • removed the commented sections put in for debugging
      • configure template for gfortran
      • changed assumed shape arrays to allocatable, compiling fixes for gfortran
      • A few models turned off for debugging, compiler warning for irrigation
        modules fixed
      • Aliasing fixes related to MPI_calls
    • Revert commit r5378

      This was a bad merge.

    • Correct calls to LIS_writeHeader_restart and LIS_closeHeader_restart

    • cleanups related to
      1. gfortran support
      2. changing assumed shape arrays to allocatables

    • One small fix and several cleanups.

      In core/LIS_historyMod.F90, added "trim" to the unit
      strings in the call to write binary output. This fix
      makes the ASCII stats file look better and consistent
      with the other output formats (netCDF, etc.).

      In core/LIS_histDataMod.F90, removed some comments
      only related to the AFWA GRIB file outputs, as they
      no longer describe the current code.

      In arch/Config.pl, added an trailing space to the
      print statements querying the netCDF shuffle and
      deflate filters, and the deflate level.

      In make/Makefile, corrected a typo for SAC-HTET in
      a comment line.

    • inadvertently took out some trim statements

    • Add reset_princeton routine from Bailing Li

    • Minor fix to logunit statement (will print
      for any forcing chosen, not just NLDAS-2).

    • small tweaks towards performance improvements

    • Correct computation of accumulative soil moisture

    • Made minor updates to the sprinkler irrigation
      scheme code, which include a check for whether
      the write irrigation output switch is turned on;
      increased flexibility of allowing for other
      crop maps and crop classification schemes;
      and updated diagnostic log information depending
      on land cover classification chosen.

    • bug fixes related to AFWA test case and bug fixes to the history writer

    • Added new LIS diagnostic log statements with
      which to catch when certain spatial downscaling
      options are accidentally selected when trying to
      run on the NLDAS domain with NLDAS forcing.

    • Updated landcover type check in the irrigation
      sprinkler version.

  • Updates have been made to OHD SAC-HTET for reading daily maximun and minimum
    temperature (TMXMN) data. Before the updates, all TMXMN data were organized
    as many datasets in one NetCDF file. For a long term simulation, the NetCDF
    Fortran reader is slow because the number of datasets is large. Now the TMXMN
    data are organized day by day. One NetCDF file corresponds to one day,
    including a dataset of daily maximum temperature and a dataset of daily
    miminum temperature. After the updates, LIS is significantly faster than
    before when using the OHD RDHM forcing dataset.

  • Updates have been made to improve LIS performance on reading daily maximum
    and minimum temperature for SAC-HTET when using OHD RDHM forcing data.

  • Correct quarterly albedo

    This fix corrects when the quarters transition, and it adjusts the
    temporal weights applied to the quarterly albedo data.

  • Merge NU-WRF updates into 7/public7.0

    I manually merged commits r2329:2341 from the v7_lis7merge branch
    of the NU-WRF repository on progress,
    svn/nu-wrf/code/branches/features/v7_lis7merge, into
    LIS' 7/public7.0 branch.

    These updates consist of:

    • Clean up LIS code to remove debugging statements
    • updates related to NUWRF testing and debugging - includes the MPI aliasing
      fixes
    • put the trims back - inadvertently taken out
    • turning off the inc_water_pts use
    • part of the fixes to the crash
    • potential fix for the WRF-LIS crashes
    • bug fix to the history writer and minor cleanups
  • Remove old options from Princeton readcrd routine

  • Add Lambert projection parameters into GRIB1 output files

  • Update GRIB parameter id values in Noah 3.3 MODEL_OUTPUT_LIST.TBL for testing

  • Honor the default setting for
    "Enable AFWA-specific grib configuration settings? (1-yes, 0-no, default=0): "
    in the Config.pl script

  • Remove debugging print statement

  • Update LIS-WRF coupling mode

    LIS now accepts WRF's time as is, and the order in which LIS writes
    output and restarts now matches WRF's order.

    A new routine was added to ensure that LIS writes the final output
    and restart files when WRF ends the simulation.

  • Add relsmc to LIS to WRF export list for Noah 2.7.1

  • Add relsmc to LIS to WRF export list for Noah 3.2

  • Add relsmc to LIS to WRF export list for Noah 3.3

  • Set several undefined variables used in noah33_setwrfexport

    These variables are used by the noah33_setwrfexport to set the
    LIS-to-WRF export state. They were not properly defined in noah33_main.

    noah%soilm
    noah%qs
    noah%qsb
    noah%qsm
    noah%rootmoist
  • Set several undefined variables used in noah32_setwrfexport

    These variables are used by the noah32_setwrfexport to set the
    LIS-to-WRF export state. They were not properly defined in noah32_main.

    noah%soilm
    noah%qs
    noah%qsb
    noah%qsm
    noah%rootmoist
  • Update internal testcases

    Specify GTOPO30_LIS in the param_attribs.txt file.

  • Update VIC 4.1.1 testcase

  • Update VIC 4.1.1 so it compiles alongside VIC 4.1.2

  • Modifications have been made to VIC 4.1.2.l to enhance nesting support.


Land Information System (LIS) Public Release 7.0r (r5256)

This is the initial release of the public version of LIS 7.0.

  • Requires companion Land Data Toolkit (LDT) input data and parameter
    preprocessor

  • Includes VIC 4.1.2.l

  • Includes RDHM 3.5.6 (SacHTET and Snow17)

  • Includes demand sprinkler irrigation

  • Includes HYMAP routing

  • Includes NLDAS routing

  • Includes radiative transfer model support

  • Includes parameter and uncertainty estimation support

    • Genetic algorithm (GA)
    • Monte Carlo sampling (MCSIM)
    • Differential evolution Markov chain z (DEMCz)
  • Supports ensemble of met forcing sources

  • Supports GEOS 5 forecast met forcing data

  • Supports PALS met forcing data

  • Supports PILDAS met forcing data

  • Supports ECV soil moisture data assimilation

  • Supports GRACE data assimilation

  • Supports PMW snow data assimilation

  • Supports SMOPS soil moisture data assimilation


Land Information System (LIS) Public Release 6.2rp1 (r4421:4606)

This patch release includes updates r4421:4606.

These updates consist of:

  • Merge 6/development into 6/public6.2

    I merged r4604:4605 from 6/development to 6/public6.2

    These updates consist of:

    • Update arch/configure.lis.linux_ifc because JasPer library was moved
  • Merge 6/development into 6/public6.2

    I merged r4581:4603 from 6/development to 6/public6.2

    These updates consist of:

    • Update RELEASE_NOTES.txt for LIS 6.1rp7
  • Merge 6/development into 6/public6.2

    I merged r4566:4580 from 6/development to 6/public6.2

    These updates consist of:

    • Merge 6/public6.1 into 6/development

      I merged r4431:4579 from 6/public6.1 to 6/development.

      These updates consist of:

      • ProTeX updates

      • Merge NU-WRF updates into 6/public6.1

        I manually merged commits r1412:1720 from the trunk of the NU-WRF
        repository on progress, svn/nu-wrf/code/trunk, into LIS' 6/public6.1
        branch.

        Please note that even though some of these updates are for gfortran
        support,
        gfortran is not yet supported in the public release of LIS 6. These
        particular updates are included for completeness.

        These updates consist of:

        • Merged in updates from v6_macosx branch through r1716.

          • Replaced several pause statements in LIS code. Pause will cause
            LIS or
            WRF/LIS to hang indefinitely if executed in batch mode.
          • Changed several C files and a yacc file to #include stdlib.h
            instead of
            malloc.h. (malloc.h is non-standard and doesn't exist on OS X.)
          • Changed LIS and LVT Makefiles to greatly trim number of include
            paths.
            OpenMPI mpif90 barfed with the original list, but it turns out
            most paths are unnecessary.
          • Changed LIS C function mangling for gfortran so only single
            underscore is appended.
          • Changed LIS lib Makefiles to pass optimization flags for gfortran.
            Also, changed LIS_ARCH from Darwin_intel to Darwin_gfortran.
          • Tweaked ProTex comments to trim end spaces to appease gfortran.
        • Modified Fortran code to avoid use of system function to create
          directories.

        • Calls to 'system' fail when LIS is run with SGI MPT. Now uses customized
          C function that uses the POSIX mkdir function under the hood. C code
          includes
          macro to appropriately mangle the name for linking with Fortran.

        • Added new create_subdirs function to create directories.

          This is a replacement for invoking the operating system 'mkdir'
          command via function system. The system call fails when LIS or
          WRF/LIS are compiled with SGI MPT. This new C function calls the
          POSIX mkdir function instead.

          TODO: Handle name suffix conventions across different operating
          systems.

  • Merge 6/development into 6/public6.2

    I merged r4432:4563 from 6/development to 6/public6.2

    These updates consist of:

    • Add Yuqiong Liu's ANSA SCF DI updates

      The following modifications are made to LIS6.2 to enable assimilation
      of snow cover fraction data using direct insertion:

      • added the observation plugin for assimilating ANSA SCF

        dataassim/obs/ANSA_SCF

      • modified the following file to allow assimilating SCF uisng either the
        standard (Rodell & House 2004 JHM) or customized (Liu et al 2013 AWR)
        direct insertion approaches:

        lsms/noah.3.2/da_snow/noah32_map_snow.F90

      • modified the following file in Noah3.2 to save snow density value for
        use in assimilation

        lsms/noah.3.2/noah32_module.F90
        lsms/noah.3.2/module_sf_noah32lsm.F90
        lsms/noah.3.2/noah32_main.F90

      • modified the following files in the plugins directory to allow
        ANSA SCF assimilation for Noah.3.2

        plugins/LIS_pluginIndices.F90
        plugins/LIS_DAobs_pluginMod.F90
        plugins/LIS_lsmda_pluginMod.F90

      • modified the follwoing files to allow reading in parameters for
        assimilating SCF using direction insertion

        core/LIS_PRIV_rcMod.F90
        core/LIS_readConfig.F90

      • modified Filepath to reflect new ANSA SCF observation plugin

      • remove the observation plugin for assimilating ANSA SCA. The new
        ANSA SCF is more accurate.

    • Add "#NETCDF, no HDF, GRIBAPI" flags to arch/configure.lis.linux_ifc

    • Correcting the latitude of origin value for NARR forcing.

      The correct values for the NARR grid can be found here:
      http://www.esrl.noaa.gov/psd/data/narr/format.html

    • Remove debugging code from Noah 3.3 read/write restart routines

    • Update length of file name

    • Add Eric Kemp's deep soil temperature TMN updates to Noah 3.3.

    • Bug fix: correct logic regarding evaluating certain conditional statements

      Fortran (nor C) does not guarantee the order in which expressions in a
      conditional statement will be executed. In a statement like:

      if ( X .and. Y ) then ...
      

      One does not know whether X will be evaluated first or Y. This will be a
      problem when Y depends on X. For example,:

      if ( present(X) .and. (X .eqv. .true.) ) then ...
      

      (X .eqv. .true.) may be evaluated first, but if X is not present, then X
      has no value, resulting in either a crash or undefined behavior.

      This example should be written as:

      if ( present(X) ) then
         if ( X .eqv. .true. ) then ...
      
  • Merge 6/development into 6/public6.2

    I merged r4419:4431 from 6/development to 6/public6.2

    These updates consist of:

    • Bug fix: WRFout reader should read RAINNC+RAINC when RAINC is present,
      otherwise just RAINNC

    • Add Eric Kemp's deep soil temperature TMN updates to Noah 2.7.1 and Noah 3.1

    • Add check to determine whether LIS_rc%tbot_update_lag was enabled

    • Merge NU-WRF updates into 6/public6.1

      I manually merged commit r1411 from the trunk of the NU-WRF
      repository on progress, svn/nu-wrf/code/trunk, into LIS' 6/public6.1
      branch.

      These updates consist of:

      • Merged in v6_lisplugins branch

      • Bug fix: Moved call to LIS_createTmnUpdate after LIS_domain_init.

        This fixes a bug in coupled WRF-LIS where the TmnUpdate pointer is
        allocated before the number of tiles is set by LIS. It does not
        affect uncoupled LIS.

      • Bug fixes to reading dynamic deep soil temperature data from LIS
        restart file.

      • Added bug fixes to output tempbot for earlier Noah LSM versions when
        requested.

      • Bug fix. Now allows LIS to write tempbot to history file when
        requested.

      • Bug fixes to dynamic deep soil temperature option.

      • Added soil temperature adjustment module. Fixes to restart code.

      • Initial implementation of WRF deep soil temperature adjustments in WRF.

        Option #1 adjusts climatological deep soil temperature to model
        terrain height
        using standard atmospheric lapse rate (6.5 K / km). Always used in
        REAL.

        Option #2 parameterizes the deep soil temperature as the weighted
        average of
        (a) the annual mean skin temperature from the previous calendar year,
        and (b) the mean daily skin temperature from the most recent N days
        of the simulation,
        where N is set by the user (140 days is recommended). The equation
        is from Salathe et al, J. Climate, 2008:

        Tbot = alpha*mean_annual_skinT_prev_year +
               (1-alpha)*mean_daily_skinT_prev_N_days
        

        where alpha is 0.6. These values of alpha and N are tuned to published
        observed values of 30% amplitude damping and 70-day lag from skin
        temperature (per Salathe paper).

        Time series and sums are saved to update these terms at the end of
        each day
        (right term) or at the end of the year (left term). I added code to
        write and
        read these fields to/from LIS restart files. Note that if LIS is
        cold started,
        the climatological deep soil temperature is initially used for both
        terms and for the N-sized daily time series.

        NOTES:

        • This code compiles but is not test run yet.
        • Only supports Noah 3.2 LSM.
        • Should support either LIS retrospective or WRF/LIS mode.
      • Cherry-pick r4123 from LIS 6/development branch

      • Bug fix regarding interpolating precip for WRFout forcing reader

        WRF writes precipitation accumlated from the beginning of the
        simulation. Therefore compute the difference between the bookends
        to find the accumulated precipitation for the hour.

      • Changed code for setting wrfout file names.

        First version of this code was hardwired for original IFLOODS
        configuration,
        where some wrfout files were created 9 or 18 seconds past the hours.
        This is now changed to remove "special rules" and instead just look
        for files at the expected standard times (e.g., 60 minutes at top
        of the hour for WRF).

        Users with time steps that prevent wrfout writes at those exact
        time should create symbolic links to match the date/time filenames
        expected by LIS.

      • Modified time steps in LIS LSM options to pick correct domain value.

        Note that time step logic for writing history or restart files is
        undisturbed.

      • Several bug fixes to address WRF/LIS coupling with nests.

        1. CRITICAL Changed LIS Noah.3.2 LSM to use proper domain timestep
          rather
          than the smallest of the timesteps for all domains.

        2. TMN (Deep soil temperature) is now passed from WRF to LIS.
          Requires following entry to forcing_variables.txt:

          TMN:        1  1  K       # Soil Temperature at Lower Boundary
          

          Further work is needed on this, as the TMN used in a LIS spin-up
          is not necessarily the same as that provided by REAL.

        3. Minor bug fix to cosz (cosine of zenith angle) calculation input
          to LIS. Currently cosz is not used, but it is passed to the LIS
          Noah LSM and presumably will be used in the future.

      • Merge LIS 6.1 updates (r4067:4090) into NU-WRF

        • This brings the version of LIS within NU-WRF up to 6/public6.1 r4090.

        • Change build system to include LIS water points again.

        • Now use landusef and the LIS tiling algorithm to pick dominant land
          cover.

        • Tweak WPS LANDMASK to reconcile with dominant soil type and land
          cover.

        • Restored bug fix for writing netCDF output header.

        • Bug fix to read shdmin and shdmax from WPS file.

        • Added routine to fetch MMINLU attribute from WPS file.

        • Restored implementation of WRFout suppforcing plugin.

        • Added WPS shdmax and shdmin plugins. Compiles.

        • Merge LIS 6.1 updates (r3885:4066) into NU-WRF

          This brings the version of LIS within NU-WRF up to 6/public6.1
          r4066.

        • Second round of fixes. LIS now runs with WRFout plugin.

        • Added LIS as a separate compile target.

          This code is a bit unsettled -- LIS is built, but I don't know
          what will happen if both WRF and LIS are requested as targets.

        • Added WRFout plugin to LIS.

  • Update RELEASE_NOTES.txt for LIS 6.2r public release

    Highlight that Cable 1.4b is restricted distribution.

Land Information System (LIS) Public Release 6.2r (r3524:4420)

This is the initial release of the public version of LIS 6.2.

This release includes updates r3524:4420.

  • Includes VIC 4.1.1.
  • Includes CABLE 1.4b --- restricted distribution.
  • Includes Catchment F2.5.
  • Includes Noah 3.3.
  • Includes SiB2.
  • Includes WRSI.
  • Support for North American Mesoscale Forecast System (NAM)
    "242 AWIPS Grid -- Over Alaska" product.
  • Support for USGS potential evapotranspiration (PET) data (for use
    in WRSI).
  • Support for Climate Prediction Center's (CPC) Rainfall Estimates
    version 2 (RFE2) daily precipition (for use in WRSI).
  • Support to apply lapse-rate correction to bottom temperature field
    (for use in Noah).

Land Information System (LIS) Public Release 6.1rp7 (r3884:4599)

  • Disable LIS_FORC_CO2

    Support for this forcing variable is not available in LIS public 6.1.

  • Revert r4578 update to Makefile

  • Add "#NETCDF, no HDF, GRIBAPI" flags to arch/configure.lis.linux_ifc

  • Correcting the latitude of origin value for NARR forcing.

    The correct values for the NARR grid can be found here:
    http://www.esrl.noaa.gov/psd/data/narr/format.html

  • ProTeX updates

  • Merge NU-WRF updates into 6/public6.1

    I manually merged commits r1412:1720 from the trunk of the NU-WRF
    repository on progress, svn/nu-wrf/code/trunk, into LIS' 6/public6.1
    branch.

    Please note that even though some of these updates are for gfortran support,
    gfortran is not yet supported in the public release of LIS 6. These
    particular updates are included for completeness.

    These updates consist of:

    Merged in updates from v6_macosx branch through r1716.

    • Replaced several pause statements in LIS code. Pause will cause LIS or
      WRF/LIS to hang indefinitely if executed in batch mode.

    • Changed several C files and a yacc file to #include stdlib.h instead of
      malloc.h. (malloc.h is non-standard and doesn't exist on OS X.)

    • Changed LIS and LVT Makefiles to greatly trim number of include paths.
      OpenMPI mpif90 barfed with the original list, but it turns out most paths
      are unnecessary.

    • Changed LIS C function mangling for gfortran so only single underscore is
      appended.

    • Changed LIS lib Makefiles to pass optimization flags for gfortran. Also,
      changed LIS_ARCH from Darwin_intel to Darwin_gfortran.

    • Tweaked ProTex comments to trim end spaces to appease gfortran.

    • Modified Fortran code to avoid use of system function to create directories.

      Calls to 'system' fail when LIS is run with SGI MPT. Now uses customized
      C function that uses the POSIX mkdir function under the hood. C code includes
      macro to appropriately mangle the name for linking with Fortran.

    • Added new create_subdirs function to create directories.
      This is a replacement for invoking the operating system 'mkdir' command via
      function system. The system call fails when LIS or WRF/LIS are compiled with
      SGI MPT. This new C function calls the POSIX mkdir function instead.
      TODO: Handle name suffix conventions across different operating systems.

  • Wrap long lines to appease Portland Fortran compiler

  • Update testcases for new "TBOT terrain adjustment option:"

  • Add Eric Kemp's bottom temperature lapse-rate correction

  • Add Soni Yatheendradas' TRMM 3B42V6 updates to TRMM 3B42RT

  • Add Soni Yatheendradas' TRMM 3B42V6 updates

    From Soni Yatheendradas:

    Thanks to Yudong and Jonathan Case for helping out with debugging.

    Per my e-mail 06/20/13:

    TRMM data file time stamp is every 3Z, e.g., 6Z, 12Z etc, so for any file,
    it’s time validity is from 1.5 hrs before to 1.5 hrs after.

    Different tests on the earlier TRMM reader revealed the following:

    1. For runs where (a) time steps had their edges touching the breakpoints,
    e.g., 30 min and 15 min, and (b) the LIS clock at the end of the 1st time step
    was not 0Z and was not within the time starting at the breakpoint before 0Z
    (e.g. not 23.5Z, meaning the lis.config did not start @23Z for a 30-min time
    step): your run is fine.

    2. For runs where (a) time steps had the breakpoints inside them at their
    mid-point, e.g., 1 hr and 20 min, and (b) the LIS clock at the end of the 1st
    time step was not 0Z and was not within the time starting at the breakpoint
    before 0Z (e.g. not 23Z, meaning the lis.config did not start @22Z for a 1-hr
    time step): your run was incorrect, since only alternate TRMM files were read,
    e.g, 0Z, 6Z, 12Z etc. instead of correctly reading 0Z, 3Z, 6Z, 9Z, 12Z etc.

    3. In 1.(b) above, if now the LIS clock at the end of the 1st time step was not
    0Z but was within the time starting at the breakpoint before 0Z (e.g. 23.5Z,
    meaning the lis.config started @23Z for a 30-min time step): that and only that
    1st time step actually read a TRMM data file that was exactly one day behind
    than what it should have read.

    4. In 2.(b) above, if now the LIS clock at the end of the 1st time step was not
    0Z but was within the time starting at the breakpoint before 0Z (e.g. 23Z,
    meaning the lis.config started @22Z for a 1-hr time step): In addition to the
    error mentioned above in 2 where every alternate file was read, the 1st time
    step would also have read a TRMM data file one day back as in 3. above.

    Now, as mentioned in 2. above, there were time steps that had the breakpoints
    inside them at their mid-point: these should logically have taken the averaged
    value of the TRMM data files before and after. The current code always read in
    and implemented only one TRMM file data, never an average.

    The entire complex decision structure in get* is now replaced with a much
    simpler one: for every time step, get the time instants of the beginning and
    end of that time-step, or time-marks. These time-marks combined with the TRMM
    data time stamps at or beyond either end of these time-marks now give the
    weights to average as necessary.

    Per Jon Case & my respective e-mails 04/22/13 & 06/24/13:
    Inside the corrected glbprecip_TRMM3B42RT.F90 file that John Case sent, the
    precip_regrid was initialized to -1.0, and towards the end of the
    glbprecip_TRMM3B42RT subroutine, the suppdata was set to precip_regrid
    conditional on "(precip_regrid(i,j) .ne. -1.0)". Yudong thinks that it's
    probably better to have both the initialization and the condition have LIS
    undef value instead of 1.0. This difference has not been tested, and John Case
    may have done these to make the min/max values came out right in the GRIB1
    files.

    Finally, the averaging of rain that changes in the midst of a time step
    implemented here might need to be implemented later for other similar precip
    readers where only value of rain @ the beginning or end of such time step is
    applied over whole time step.

  • Adjust SNODEP reader alarm
    Set the SNODEP reader alarm to read the hour 12 SNODEP observations
    at hour 12 not at 11:45.

  • Update the legalese at the top of each file

  • Bug fix: correct type of local variable

  • Update Noah 3.1 Bondville test-case to emphasize that it is a point comparison

  • Usersguide updates

  • Bug fix regarding interpolating precip for WRFout forcing reader

    WRF writes precipitation accumlated from the beginning of the
    simulation. Therefore compute the difference between the bookends
    to find the accumulated precipitation for the hour.

  • Update testcases to reflect updates to LIS_histDataMod

  • Bug fix: referencing an array out of bounds

  • Bug fix: WRFout reader should read RAINNC+RAINC when RAINC is present,
    otherwise just RAINNC

  • Clean up comments

  • Add Eric Kemp's deep soil temperature TMN updates to Noah 2.7.1 and Noah 3.1

  • Add check to determine whether LIS_rc%tbot_update_lag was enabled

  • Merge NU-WRF updates into 6/public6.1

    I manually merged commit r1411 from the trunk of the NU-WRF
    repository on progress, svn/nu-wrf/code/trunk, into LIS' 6/public6.1
    branch.

    These updates consist of:

    • Merged in v6_lisplugins branch

      • Bug fix: Moved call to LIS_createTmnUpdate after LIS_domain_init.
        This fixes a bug in coupled WRF-LIS where the TmnUpdate pointer is allocated
        before the number of tiles is set by LIS. It does not affect uncoupled LIS.
      • Bug fixes to reading dynamic deep soil temperature data from LIS restart file.
      • Added bug fixes to output tempbot for earlier Noah LSM versions when requested.
      • Bug fix. Now allows LIS to write tempbot to history file when requested.g
      • Bug fixes to dynamic deep soil temperature option.
      • Added soil temperature adjustment module. Fixes to restart code.
    • Initial implementation of WRF deep soil temperature adjustments in WRF.

      • Option #1 adjusts climatological deep soil temperature to model terrain height
        using standard atmospheric lapse rate (6.5 K / km). Always used in REAL.

      • Option #2 parameterizes the deep soil temperature as the weighted average of
        (a) the annual mean skin temperature from the previous calendar year, and (b)
        the mean daily skin temperature from the most recent N days of the simulation,
        where N is set by the user (140 days is recommended). The equation is from
        Salathe et al, J. Climate, 2008:

        Tbot = alpha*mean_annual_skinT_prev_year +
               (1-alpha)*mean_daily_skinT_prev_N_days
        

        where alpha is 0.6. These values of alpha and N are tuned to published
        observed values of 30% amplitude damping and 70-day lag from skin temperature
        (per Salathe paper).

        Time series and sums are saved to update these terms at the end of each day
        (right term) or at the end of the year (left term). I added code to write and
        read these fields to/from LIS restart files. Note that if LIS is cold started,
        the climatological deep soil temperature is initially used for both terms and
        for the N-sized daily time series.

        NOTES:

        • This code compiles but is not test run yet.
        • Only supports Noah 3.2 LSM.
        • Should support either LIS retrospective or WRF/LIS mode.
    • Cherry-pick r4123 from LIS 6/development branch

    • Bug fix regarding interpolating precip for WRFout forcing reader

    • WRF writes precipitation accumlated from the beginning of the
      simulation. Therefore compute the difference between the bookends
      to find the accumulated precipitation for the hour.

    • Changed code for setting wrfout file names.

      • First version of this code was hardwired for original IFLOODS configuration,
        where some wrfout files were created 9 or 18 seconds past the hours. This is
        now changed to remove "special rules" and instead just look for files at
        the expected standard times (e.g., 60 minutes at top of the hour for WRF).
        Users with time steps that prevent wrfout writes at those exact time should
        create symbolic links to match the date/time filenames expected by LIS.
    • Modified time steps in LIS LSM options to pick correct domain value.

      • Note that time step logic for writing history or restart files is undisturbed.
    • Several bug fixes to address WRF/LIS coupling with nests.

      1. CRITICAL Changed LIS Noah.3.2 LSM to use proper domain timestep rather

        than the smallest of the timesteps for all domains.

      2. TMN (Deep soil temperature) is now passed from WRF to LIS. Requires

        following entry to forcing_variables.txt:

        TMN:        1  1  K       # Soil Temperature at Lower Boundary
        

        Further work is needed on this, as the TMN used in a LIS spin-up is not
        necessarily the same as that provided by REAL.

      3. Minor bug fix to cosz (cosine of zenith angle) calculation input to
        LIS. Currently cosz is not used, but it is passed to the LIS Noah LSM and
        presumably will be used in the future.

    • Merge LIS 6.1 updates (r4067:4090) into NU-WRF

      • This brings the version of LIS within NU-WRF up to 6/public6.1 r4090.
    • Change build system to include LIS water points again.

    • Now use landusef and the LIS tiling algorithm to pick dominant land cover.

    • Tweak WPS LANDMASK to reconcile with dominant soil type and land cover.

    • Restored bug fix for writing netCDF output header.

    • Bug fix to read shdmin and shdmax from WPS file.

    • Added routine to fetch MMINLU attribute from WPS file.

    • Restored implementation of WRFout suppforcing plugin.

    • Added WPS shdmax and shdmin plugins. Compiles.

    • Merge LIS 6.1 updates (r3885:4066) into NU-WRF

      • This brings the version of LIS within NU-WRF up to 6/public6.1 r4066.
    • Second round of fixes. LIS now runs with WRFout plugin.

    • Added LIS as a separate compile target.

      This code is a bit unsettled -- LIS is built, but I don't know what will
      happen if both WRF and LIS are requested as targets.

    • Added WRFout plugin to LIS.

  • Update SiB2 testcase

    Write snowt as an instantaneous value.

  • Bug fix for writing netCDF output header

  • Changes to formatting of the testcases for consistency.

    No output changes to the testcases will occur.

  • Enable WRFout supplemental forcing reader

  • Increase FT_NUM_SUPPFORCE to 40 to support new supplemental forcing readers

  • Add WRFout supplemental forcing reader

    Add the WRFout supplemental forcing reader from 6/development r4021.

    This adds the support for using WRF output as the LIS forcing
    (in support of iFloods project).

  • Merge NU-WRF updates into 6/public6.1

    I manually merged commits r1266 and r1349 from the trunk of the NU-WRF
    repository on progress, svn/nu-wrf/code/trunk, into LIS' 6/public6.1
    branch.

    These updates consist of:

    • Modified WRF and LIS code to pass snow depth, snow liquid water equivalent,
      and snow coverage from LIS back to WRF. Currently only the LIS Noah LSMs
      are supported.
    • Changed a number of variables from scalars to 1-D arrays.
    • Subroutine sib2_routines expects a number of arguments to be arrays. Compiling
      with '-gen-interfaces -warn interfaces' triggered errors. Note that the
      answers should not change -- when sib2_routines is called, the arrays are
      assumed to be of size 1, equivalent to scalars. This is only technically
      a bug, not a major problem.
  • Modified the setting of the data in the "mndy" array
    in SiB-2's astro routine. No change to the output.
    The change was made to satisfy very strict compile
    settings.

  • Update testcases to reflect new lis.config option: "TBOT data source:"

  • Add support to write TBOT to output file when running TEMPLATE lsm

    This requires defining the TBOT_TESTING macro found in the
    template_main.F90 file.

  • Add WPS testcase

  • Update LIS history writer

    Add support to write albedo and max snow albedo parameters into
    LIS history files.

  • Add support to read WPS-based parameter data

    These updates were manually copied from
    branches/untested/p61_NDHMS r3763.

  • Bug fix: set q for both monthly and quarterly albedo

  • Bug fix: correct read_WPStexture routine

    This routine was incorrectly using SOILCTOP to determine soil texture.

    SOILCTOP is 16-category top-layer soil type fractions. This routine
    was treating it as a 0-1 map of each category.

  • Added updated SiB-2 LSM testcase.

  • Small fix to the CLSM-F2.5 testcase README file
    and MODEL_OUTPUT_LIST.TBL file for consistency.

  • Update testcases to reflect updates to LIS_histDataMod

  • Final code modifications for correcting
    the SiB-2 implementation within LIS-6.

  • Continued to update the SiB-2 LSM code for
    the latest version of LIS-6/development.

  • Moved SiB2 directory to be consistent with other LSMs,
    and started to make the code more consistent with other
    LSMs as well. Starting to update code for latest LIS.

  • Added sample lines to the MODEL TBL for the new
    ALMA variables.

  • Reorganized LIS_histDataMod.F90 so the variables
    are closer to the ALMA output order and grouping.

    Added the following output variables to LIS_histDataMod.F90:

    WaterTableD, LWup, SAlbedo, SnowTProf, TotSoilCarb, TotLivBiom

    Added the follwing outputs to CLSM-F2.5:

    WaterTableD, LWup, Salbedo, SnowTprof, TWS (Terrestrial Water Storage)

  • Fixed several lines of code to ensure that latitude
    and longitude are consistently used in the setting
    of the domains and tiles in many of the projections.
    Bugs were found and fixed that inconsistenly used
    array values that mixed between latitude and longitude.

    Many thanks to Kristi Arsenault for finding the issue
    and identifying a solution.

  • Set some undefined variables in noah33_lsmMod.F90,
    and made some other small changes so all Noah-3.+
    versions have consistent code.

  • Change VIC forcing index

    I changed the VIC forcing index, LIS_vicforcingId, from 16 to 31.
    LIS_vicforcingId = 31

    The old value of 16 conflicted with the index for Stage IV
    precipitation, LIS_stg4Id.

  • Change standard name of output variable snow cover from Snowcover to SnowCover

    This is used when creating the NetCDF header.

  • Bug fixes for MERRA baseforcing.

  • Adjust NLDAS2 forcing domain definition

  • Fixed a bug which used undef data out of their respective domains
    (e.g., higher than 50 for 3B42V6).

  • Correct output of SMLiqFrac

    Small fix to Noah 2.7.1 to correct the output of SMLiqFrac
    to make it consistent with Noah 3.2 and Noah 3.3.

  • Update lis.config documentation

    Add documentation for the following NLDAS2 supplemental forcing options:

    NLDAS2 data center source:
    NLDAS2 use model based pressure:
    

Land Information System (LIS) Public Release 6.1rp6 (r3850:3883)

  • Resolve DA plugin omissions

Land Information System (LIS) Public Release 6.1rp5 (r3735:3849)

  • Correct LIS_MOC_ROOTMOIST output units

  • Correct running domain specification for Noah 3.1 Bondville testcase

  • Update catchment testcase

    The lis.config options "tile coord file" and "tile veg file" were
    renamed to "Catchment tile coord file" and "Catchment tile veg file",
    respectively.

  • updates and cleanups to the perturbation schemes

  • small updates to the DA subsystem (in preparation for the tutorial)

  • manually add the lsms/noah.3.2/da_soilm files

  • Add VU_AMSREsm, MODISsca, and ANSA_SNWD support

    Manually add VU_AMSREsm, MODISsca, and ANSA_SNWD support
    from r3816 6/development to 6/public6.1.

  • Remove syntheticlst from 6/public6.1

  • Update lis.config

    Changes to lis.config file for inclusion in Users Guide.

  • Remove old data assimilation test cases from 6/public6.1

  • Add synthetic soil moisture ensemble kalman filter test case

  • Set gmaoenkf_struc%forecast_var = LIS_rc%udef

    The EnKF diagnostic variable gmaoenkf_struc%forecast_var was not set
    when Observations%assim was false. When Observations%assim is false
    set gmaoenkf_struc%forecast_var = LIS_rc%udef.

  • Comment out syntheticlst.

    This was removed from 6/public6.1.

  • Add additional GrADS descriptor file

  • Add SWE DA support to Noah 3.2

  • Add synthetic snow water equivalent (swe) ensemble kalman filter test case

  • Apply dynamic observation error

    These are Yuqiong Liu's updates to apply dynamic observation error
    to GMAO ENKF.

Land Information System (LIS) Public Release 6.1rp4 (r3515:3734)

  • Bug fix: upscaling code did not properly check mask and neighbours

  • Bug fix: remove extraneous ssdev argument from call to LIS_readObsAttributes

  • Bug fix: reset negative GDAS precip rates to 0.

    The hrf06 file is a 6 hour forecast from hr. So it contains the events
    that also occurred during the 3 hour forecast from hr, namely, hrf03.
    Thus hrf06 contains the precip from hrf03 plus any additional precip that
    occurred in the following 3 hours.

    Should (2*hrf06 - hrf03) yield negative values for precip, then we
    assume that there was no additional precip for the last 3 hours of
    that 6-hour forecast and that the run of the 6-hour forecast produced
    slightly different results for the first 3 hours (as compared against
    the hrf03 forecast).

    When LIS is using values from an hrf06 file, then LIS has already
    run over the period that corresponds to the first 3 hours of that
    6-hour forecast. LIS needs data corresponding to the last 3 hours.
    Thus always reset negative precip rates to 0.

  • Add Joe Santanello's porosity updates from NU-WRF r1177.

    Log message from NU-WRF:

    Porosity is now saved in LIS for NOAH 2.7.1, NOAH 3.1, NOAH 3.2, and CLM2
    LSMs, exported back to WRF, and passed to GOCART dust emission module.
    Original porosity values from NOAH or RUC LSMS are used if LIS is not selected
    as the LSM.

  • Bug fix: TRMM 3B42RT routines were not correctly interpolating and
    checking precip rates

    Set the logical bit mask, lb, used by the spatial interpolation routines.
    Check precip_regrid against the undefined value -9999.

  • Bug fix: GDAS was producing negative precip rates

    pcp comes from the averaged GDAS forcing data.
    In some cases, it is derived from the hrf06 and hrf03 values
    ( 2*hrf06 - hrf03 ).

    One would expect the 2*hrf06 precip to be greater than or equal to
    the hrf03 precip, but in some cases it is slightly smaller.
    When the 2*hrf06 precip is slightly smaller than the hrf03, one gets
    a small negative precip rate. Trap this small rate and reset it to 0.

  • Fixed a bug in the call to "SIBALB". The call incorrectly
    sent the snow depth variable "SNDZ" before the snow water
    equivalent variable "WESN" in the list of arguments. They
    have now been switched to the correct order as expected in
    the subroutine SIBALB.

    Further research revealed that this bug existed in the
    Catchment driver as well (outside of LIS). This bug was
    discovered/fixed in the Catchment driver in October 2010.

    This bug is an issue only when running on the Catchment
    domain, and does not affect simulations run in other
    domains (lat/lon, etc.).

  • Changed code to require adding "Catchment" to the
    two following lines in the "lis.config" file:

    tile coord file:
    
    tile veg file:
    

    Now the lines in the "lis.config" file must be:

    Catchment tile coord file:
    
    Catchment tile veg file:
    
  • Fixed the following three items in Catchment's code
    to transfer forcing to the tile:

    1. Catchment now correctly sets precipitation as snowfall
      when the forcing air temperature is less than freezing.
      Previously, precipitation would be set as snowfall when
      the air temperature was less than or equal to freezing.
      The change was made to be consistent with the Catchment
      offline driver.
    2. When the precipitation is snowfall, the code now sets
      the convective rainfall to zero. Previously, the code
      was not setting this value to zero, leading Catchment
      to calculate a negative value for large-scale rainfall.
    3. The code now checks that the convective rainfall is
      not more than the total rainfall.
  • Add Jiarui Dong's core polar stereographic and hrap projections updates

  • Bug fix: fix allocation for array param_dd

    I increased the size of param_dd from 6 to 8.

  • Bug fix to cat_main.F90 by Hiroko Kato

    The LIS_gfrac(nid)%greenness(:) array is a 1-d array in tile-space.
    It was being looked up as if it were in 1-d grid-space.

    The catchment routine expects an array of catchment tile id's (cat_id)
    to be passed in. This cat_id array is not used, but it was not
    initialized. This has been corrected.

    Index into cat_struc(nid)%cat_param(:) for LIS_MOC_SOILMOIST and
    LIS_MOC_ROOTMOIST output was fixed.

  • Small fixes to Noah3.1, Noah3.2, and Noah3.3 to correct the
    output of SMLiqFrac, and to fix the output warning message
    to the lisdiag file for the default minimum greenness value.

Land Information System (LIS) Public Release 6.1rp3 (r3124:3514)

This patch release includes updates r3124:3514.

These updates consist of:

  • Bug fix: WRF-LIS coupling; only advance LIS' clock when running the
    innermost nest.

    The previous revision of this file advanced LIS' clock on every call.
    This caused time within LIS to run ahead of the time within WRF.
    This is a workaround that keeps the innermost nest in sync with WRF;
    however, outer nests in LIS will be one outermost timestep behind WRF.

    In WRF each domain/nest has its own clock. WRF first solves its
    outermost nest, advancing the outer clock time from t1 to t2.
    Then WRF solves its inner nest, advancing that clock from t1 to t2.
    When passing time from WRF into LIS, LIS sees time advancing forward
    and then receding backward.

    Attempts to correct this issue within LIS by resetting LIS' clock have
    failed. I am not able to get the ESMF alarms to ring at the proper times
    after I have reset LIS' clock. The alarms either do not ring, ring too
    soon, or ring too often.

  • Add zlib to the LDFLAGS for Linux IFC systems

  • Updates for compiling on IBM/AIX systems.

  • Update NLDAS1 and NLDAS2 testcases

    I reset the "NLDAS1 data center source:" and the "NLDAS2 data center source:"
    options to be consistent with the nldas and nldas2 testcases currently
    available on the LIS website.

  • Update Noah output

    I added Chris Franks' minimum rh and relative soil moisture output updates
    to Noah 3.1.

    They were already in Noah 2.7.1 and Noah 3.2.

  • Update Noah output

    I have added the CH, CM, and mixing ratio output updates from Noah 2.7.1 into
    Noah 3.1 and Noah 3.2.

  • Bug fix: noah31%q1 was used without being set.

  • Bug fix: correct the label for Noah's q1.

    I incorrectly labelled Noah's q1 as relative humidity instead of mixing ratio.

  • Bug fix: AIX does not like the function style system call.

  • Broke several long lines into shorter lines to appease the PGI compiler.

  • Enhancement to make reading 3B42RT compressed files (.gz) more reliable.

  • Enhancement to make reading CMORPH compressed files (.Z) more reliable.
    Tested with parallel runs, with compressed and uncompressed data files
    producing identical results.

  • Checking in Kristi's changes for the NLDAS-1 and NLDAS-2 supplemental
    forcing code to be able to read in forcing data from the GES DISC.
    The GES DISC version of NLDAS forcing datasets have a different naming
    convention, directory structure, and (one different) GRIB ID value;
    however, the values of the fields are the same as that currently on
    the LIS project disk and/or from the NCEP/EMC ftp site.

    Note that the lis.config also changes for running with NLDAS-1
    forcing: "NLDAS" has been renamed as "NLDAS1" for the lines in
    the card file.

  • Added support to read .Z file, and dealt with CMORPH file name change in
    Jun. 2008.

  • Corrected the moving of bookends.

  • Bug fix (Joe Santanello). Converted units of input precipitation.
    Precipitation from WRF is in mm. LIS, in particular Noah, expects
    precipitation to be a rate (mm/s).

    I convert the units from mm to mm/s during the import of WRF input data.

  • Added modifications to output carbon related variables
    using the ALMA standard. Variables include: GPP, NPP,
    NEE, AutoResp, HeteroResp, and LeafResp.

    Also added the output of Rnet (net surface radiation).

  • I've implemented LAI->GVF for real-time MODIS LAI data,
    using a scheme given by Niu et al. (2011). Comparing
    MODIS_LAI/AVHRR_GVF:

    https://lis.gsfc.nasa.gov/PMM/OUTPUT-CMEM3-1KM/lnsr-noah32-nldas2/E314-lsm-stats-sm.gif

    with MODIS_LAI/MODIS_GVF:

    https://lis.gsfc.nasa.gov/PMM/OUTPUT-CMEM3-1KM/lnsr-noah32-nldas2/E514-lsm-stats-sm.gif

    one can see the new scheme is more self-consistent, and the GVF range
    between the two is very similar.

    Note: A correction has to be made to urban LAI values, to make sure LAI
    over urban can not be less than 0.1. This is because Noah hard-coded a GVF
    of 0.05 to urban-class. This change will only be made when Noah3.2 is
    being used.

    Ref:

    Niu, G.-Y., et al. (2011), The community Noah land surface model with
    multiparameterization options (Noah-MP): 1. Model description and
    evaluation with local-scale measurements, J. Geophys. Res., 116, D12109,
    doi:10.1029/2010JD015139.

  • Changes made:

    1. Replaced macro "#if (defined CRTM)" to "#if (defined RTMS)", to
      control compilation of all RTM codes. Updated make/LIS_misc.h
      accordingly.
    2. In "core/LIS_laiMod.F90", added consistency check between greenness
      fraction and LAI values: if gfrac > 0, LAI can not be < 0.1. This
      prevents crash in Noah's CANRES() function. Also since the check is
      done here, Noah lsm code does not need to be modified.
  • Reverted to revision 3135. Moved the LAI fix to noah32_main.F90 as David
    suggested.

  • The following changes were made, to support reading real-time MODIS
    8-day LAI data:

    1. Added a minimal LAI value check in
      lsms/noah.3.2/module_sf_noah32lsm.F90
      right before the call to "CANRES", to make sure LAI value is not 0.
      Otherwise, CANRES() will crash.
    2. Refactored LAI readers under params/lai/, so now each lai reader has
      its own directory, and a "setup" interface.
    3. Added and implemented real-time MODIS LAI reader: params/lai/MODIS_RT.
    4. Added support for intervalType < 0 in core/LIS_timeMgrMod.F90. If
      intevalType < 0, the interval will be set as -intervalType days. This
      is to support MODIS's 8-day interval, and maintain backward
      compatibility.
    5. Cleaned up those "#if (defined CRTM)" macros in rtms/CMEM3/ and
      rtms/CRTM2EM/.
    6. "Filepath" file updated to reflect changes made in 2 above.
  • Added option to output SMFrozFrac in volumetric.

Land Information System (LIS) Public Release 6.1rp2 (r3056:3124)

This patch release includes updates r3056:3124.

These updates consist of

  • Corrected bareclass and waterclass definitions in the
    routine to read in MODIS_IGBP landcover type dataset,
    and made consistent with UMD and USGS landcover type
    routines.

    Corrected the index number to determine the longitude
    used to calculate change of day and interpolation of
    the Noah 3.1/3.2 greenness fraction; this change only
    applies to simulations where the greenness values are
    specified in "lis.config". Simulations of LIS-Noah
    that use greenness maps from LIS are not affected by
    this change.

    Added code to set the greenness fraction to zero in
    the "dynsetup" routines for bare, snow, and water
    classes in the Noah 3.1/3.2 LSMs. This code already
    was contained in the "setvegparms" routines, and is
    now extended to every timestep (as also indicated in
    the NCAR Noah driver). Made the "dynsetup" and the
    "setvegparms" routines consistent where possible
    between the Noah 3.1 & 3.2 LSMs.

  • Saving the background and the actual roughness length from
    previous timestep to use in the call to the SFCDIF routine.
    This change will only affect offline non-coupled runs when
    also not using exchange coefficients from the forcing data.
    Only a very minor change is found in the simulated output.

  • Fixed a bug to check for using forcing height data
    from the forcing file for uncoupled offline runs.
    Does not affect runs where the forcing height is
    specified in the "lis.config" file.

  • Corrected LIS_MOC_COUNT.

  • adding two new variables to the LIS output (diagnostic T2 and diagnostic Q2)

  • Updated configure.lis.linux_ifc file to use ESMF 3.1.0rp3 library compiled
    against Intel MPI 4.0.1.007-beta. This is the version that was recommended
    for the NU-WRF project.

Land Information System (LIS) Public Release 6.1rp1 (r2883:3055)

This patch release includes updates r2883:3055.

These updates consist of

  • Fixed dlon/dlat issue. This only affects non-square lat/lon domains.

    For the lat/lon projection:

    griddesc(9) is dlon
    griddesc(10) is dlat

  • Extended the LIS I/O to work beyond just the LSM output

  • Updates to the gribwriter testcase.

  • Bug fix. Min/max values were not correctly computed in diagnoseDataEntry.
    This is a recent bug. Min/max diagnosing was correct in Increment 2.

  • Mainly cosmetic changes to the code, but also including
    changes to make more consistent between all Noah versions.

  • Renaming Noah 3.1 ESMF coupling routines to avoid a naming conflict with the
    non-ESMF coupling routines.

  • Bug fix. LIS was not writing NetCDF output when running in parallel.

  • Bug fix. In coupled mode with WRF, Noah3.2 was overwritting the ch (and cm)
    exchange coefficient. This was fixed. In coupled mode, Noah 3.2 is using
    the ch (and cm) values from WRF.

  • I am committing Hiroko Kato's ECMWF updates.

  • Updated Noah 2.7.1 to be consistent with Noah 3.2 in its treatment of CH and CM.

    This only affects running Noah 2.7.1 in an offline/uncoupled running mode.

    CH and CM are initialized in either the coldstart or restart routine. They are
    not reset to 1e-4 before every call to sfcdif.

    CH is not reset to undef in every call to noah271_f2t.

  • Bug fix.

    Increased the maximum size of the grid%subgrid_tiles array to
    LIS_rc%maxt*LIS_rc%nensem.

  • Bug fix.

    Ryan Ruhge found an error regarding computing the weights for the conservative
    interpolation scheme.

    This bug fix corrects the computation of the weights for the conservative
    interpolation scheme.

  • Noah 2.7.1, Noah 3.1, and Noah 3.2 must always call sfcdif, either to
    compute exchange coefficients or to compute ustar.

    This update corrects the issue where the there versions of Noah were not
    always calling sfcdif.

  • Corrected slopetype check.

    The Noah 3.1 and 3.2 setsoils routines were checking the value of slopetype
    against -9999 to determine whether the point was land or water. This is
    incorrect. The correct check is to compare slopetype against 0 (0 == water).

  • History support updates.

    Corrected standard deviation computation.
    Corrected minimum/maximum computation.

    Removed unused feature to specify minvalue and maxvalue.

    Added subgrid_tiles to the grid data structure. This allows a given
    grid-cell to know which tiles are contained within it.

  • Added extra information (iv number) to an error message.

  • Reverted an update to noah271_coldstart. The coldstart routine should
    initialize ch and cm to 1e-4.

  • turned off the hardcoded soil moisture wilting point in Noah 2.7.1

  • Catchment bug fixes. Thanks to Hiroko Kato.

    I replaced "LIS_rc%domain == 8" with "LIS_rc%domain == LIS_catdomainId"

    I corrected the setting of cat_struc(n)%cat_param%gnu. It should be 2.17
    not 2.71.

  • Cosmetic changes to the code to improve readability,
    in-line documentation, and consistency between the
    2.7.1, 3.1, and 3.2 versions of the Noah LSM.
    Changes will have no affect on model results.

  • Bug fix for running nests in non-esmf coupled mode.

    This bug fix frees several allocated arrays and sets the LIS_initialized flag.

  • small updates to Noah 3.2 for parameter estimation

Land Information System (LIS) Public Release 6.1r (r2702:2882)

This is the initial release of the public version of LIS 6.1.

This release includes updates r2702:2882.

  • Includes Noah 3.1.
  • Includes Noah 3.2.
  • Support for SPoRT Daily GVF data.
  • Support for North American Regional Reanalysis (3d) (NARR) data.
  • Support for NCEP's modified IGBP MODIS landcover data.
  • Support to specify direction for output variables.

Land Information System (LIS) Public Release 6.0rp8 (r2899:2966)

  • Bug fix: retnldas2a was deallocating some variables twice.
  • Also, this commit contains some ProTeX updates.

Land Information System (LIS) Public Release 6.0rp7 (r2702:2898)

  • This is a back port of bug fixes from 6/public6.1 to 6/public6.0.
    It incorporates updates up to r2895.

    These updates consist of:

    Fixes for compiling on IBM AIX.
    Fixes for compiling with gfortran.
    Fixes for compiling with Lahey.

    Fix for dlon/dlat issue. This only affects non-square lat/lon grid-cells.
    For the lat/lon projection:
    griddesc(9) is dlon
    griddesc(10) is dlat

    Fix for diagnosing Catchment snowdepth.

Land Information System (LIS) Public Release 6.0rp6 (r2593:2701)

  • I manually merged NLDAS2 updates from 6/development into 6/public.

  • I corrected the use of griddesc(9) and griddesc(10) for lat/lon projections.

    griddesc(9) specifies dlon.
    griddesc(10) specifies dlat.

    These array elements were incorrectly set in getgeos.
    I also reset the value of mi after the GEOS4 and GEOS5 grid changes in getgeos.

    These array elements were incorrecly used in gdasLSWG_forcingMod.F90.

    These array elements were incorrecly used in compute_grid_coord_latlon.F90.

  • In-line documentation corrections.

  • I added Clay Blankenship's bug-fix regarding setting dlon in get_fieldpos.

  • I replaced the use of a hard-coded unit number with the use of
    LIS_getNextUnitNumber and LIS_releaseUnitNumber.

  • The transition to the T574 grid occurred on 12z28jul2010.

Land Information System (LIS) Public Release 6.0rp5 (r2554:2592)

  • I corrected a bug regarding writing GRIB output on a Mercator project.

Land Information System (LIS) Public Release 6.0rp4 (r2491:2553)

  • Bug fix.

    The transition to the T574 grid occurred on 12z28jul2010.

  • I corrected in-line documentation.

  • Bug fix.

    LIS incorrectly specified the T574 grid change to be on 12z27July2010.
    The T574 grid change occurs on 12z28July2010.

Land Information System (LIS) Public Release 6.0rp3 (r2408:2489)

  • Added a check to trap when czenith (cosine of zenith angle) becomes larger
    than 1.
  • Redeclared several indices to be integer*8 to prevent overflows when running
    at high resolution.
  • Updates and bug fixes to NASA AMSRE soil moisture reader for data assimilation
    Consolidated HDF and binary versions of NASA AMSRE
  • Switched to using V06 of NASA L3 retrievals
  • Updates to several testcases.
  • Jon Case's T574 GDAS and GFS forcing updates.
  • Tools for generating ensemble restarts (upscale and downscale)
  • Bug Fix: The GRIB module was not correctly setting the time-stamp for
    years before 2000. This update fixes this problem.
  • Some changes to CLM2 to remove some hardcodes
  • Bug fix: I am adding Hiroko Kato Beaudoing's Princeton forcing update.
    This fixes a bug regarding interpolating the Princeton forcing data.

Land Information System (LIS) Public Release 6.0rp2 (r2397:2406)

  • Bug fix. I corrected an error regarding writing output with nested domains.

Land Information System (LIS) Public Release 6.0rp1 (r2255:2396)

  • Corrected the indexing into varname when LIS_FORC_Forc_Hgt has been selected.

    Commented out an "if (.false.)" block to facilitate compiling with Absoft.

  • Eric Kemp's bug fix regarding an overflow error when reading
    landcover data at 2km resolution.

  • Bug fix. Corrected the intent of a variable
    in suppforcing/nldas2/retnldas2a.F90.

  • Added support to run makdep on .f90 files.

  • I merged the Noah forcing height updates from 6/development to 6/public.

  • I merge some NASA_AMSRE updates from 6/development.

  • Added a new rule to the Makefile.

  • changes to the code to support the use of bottom soil temperature as the
    WRF input in the ESMF coupled version

    updated GFS baseforcing implementation

  • Protex updates.

    I have added files named 0Intro_*.txt. This are Protex files that serve
    as introductions to various sections of the Reference Manual.

  • LIS6-WRF3.1.1 tight coupling updates.

  • Bug fix for GRIB testcase.

  • Bug fix. lwd was not properly set in time_interp_gdas.

    Fix to ensure LIS output contains forcing variables when run coupled to WRF

  • changed the I/O interfaces to be more flexible.

    The forcing_variables.txt file and the MODEL_OUTPUT_LIST.TBL files need
    to contain only variables of interest (they do not need to contain the
    exhaustive list of variables)

  • Bug fixes to GDAS for properly treating instantaneous and time averaged fields

  • I have added Hiroko Kato Beaudoing's catchment update.

    Her update is "a minor bug fix for LIS6/catchment output variables.
    Units fixes from W/m2 to kg/m2/s for canopy evaporation and transpiration.
    Also, "runoff" which is a total of surface and subsurface runoff was
    output as surface runoff, so it's changed to "runsrf"."

  • This is the first pass at cleaning up the output support.

    It creates an array of pointers to the output variables. This
    replaces much of the code, needed to explicitly list the output
    variables, with do loops. This makes it easier to add new output
    variables to LIS.

    TODO: NetCDF support still needs some more clean up.

  • added a bug fix so that open unit numbers are properly closed even when
    errors are encountered in the file I/O

  • added a bug fix for the monthly alarm settings (when day 15 is selected as
    the starting time of the LIS simulations, the monthly alarms do not ring)

    added Xice to the forcing_variables.txt file.

    added lat/lon fields to the netcdf output