MESH - A Community Hydrology - Land Surface Model


Page contents:

Program and Source

This version is succeeded by a more recent version of MESH.

Known Issues

There are no known issues with this version of MESH.

General Updates

MESH 1.4.1149 adds new functionality to the new inline option for routing (RTE). The option uses the same physics as in the standalone WATROUTE (RPN_watroute) code, but is not completely implemented and does not include streamflow insertion (from the streamflow input file), resume functionality, temporally-driven parameterization, or diversions.

Parameterization of RTE requires either river class based parameterization using version 2.0 of MESH_parameters_hydrology.ini or the MESH_parameters.csv input file, or with fully-distributed fields using MESH_parameters.r2c. RTE requires new parameters. The WF_R2, WF_A1, WF_A2, WF_A3, and WF_A4 parameters for WF_ROUTE do not transfer.
Streamflow insertion can be achieved using "controlled reservoirs" using the reservoir input file.

Migrating to MESH 1.4

See the migration notes for the MESH 1.4.1022. All the same formatting changes are required for this version, in addition to the following.

Reading "demslope" and "drdn" from the drainage database should be replaced with reading the XSLP and DD (or DDEN) parameters from the MESH_parameters.r2c input file directly (activated with the INPUTPARAMSFORMFLAG control flag).

Components of the reservoir output location must now be separated by one or more spaces in MESH_input_reservoir.txt.

Previously:

 2940-5185

Now required:

2940 -5185
The accumulation of grid and basin area for basin totals has been revised, which can cause minor rounding differences in accumulated variables (particularly evident in large basins) when comparing outputs from this to previous MESH 1.4 versions.

Revision History

September 22, 2017

General Updates

  • Added printing diagnostic information about reservoir outlet locations, including RANK, if DIAGNOSEMODE is enabled
  • Added "point mode" with option 2 on SHDFILEFLAG to run single column configurations of the land surface scheme (more details here)
  • Added checks to flag where the derived X/Y location is missing for active grids in the domain (where a RANK has no association to an active grid in the stride of 1 to NA, which can occur from manual creation of modification of the drainage database file)
  • Disabled index of "water tiles" where the mosaic ID MID is less than zero (unused and incompatible with the revised indexing for MPI parallel processing)
  • Disabled parameter checks using the minmax_parameters.txt input file as the code no longer works as originally intended since the modular reorganization of the code, addition of new process modules, removal of hard-coded maximum limits for domain size and GRUs, and restructuring of internal variables in the driver
  • Deactivated LOCATIONFLAG (location components are read with decimal precision from MESH_input_streamflow.txt and MESH_input_reservoir.txt regardless, since removing the fixed-formatting requirement)
  • Modified the allocation of driver variables to only allocate variables associated with active process modules (e.g., only CLASS variables when CLASS is active, and only SVS variables when SVS is active)
  • Removed the association of FLZ and PWR with RTE to ensure they are allocated if RTE is disabled (WF_LZS is a standalone process that is activated independently to RTE)
  • Updated diagnostic and error messages throughout
  • Added support to skip records in the reservoir input file (for controlled reservoirs/streamflow insertion) if using the tb0 format file (MESH_input_reservoir.tb0); it is not possible to skip records in the text format file (MESH_input_reservoir.txt), as the file contains no fields to specify the date corresponding to the first record
  • Updated how grid and basin area are accumulated for basin totals, which can cause minor rounding differences in accumulated variables (particularly evident in large basins)
  • Updated the version to "1149"

Climate Forcing Files

  • Added the BASINFORCINGFLAG control flag with support for the "met" option to read the CLASS MET format forcing mode (e.g., for "point mode")

Inputs and Outputs (general)

  • Added STREAMFLOWFILEFLAG with the "tb0" and "txt" options to specify the format of the streamflow input file (the default remains "txt")
  • Added support for the MESH_input_streamflow.tb0 input file (can be used in place of MESH_input_streamflow.txt)
  • Added printing diagnostic information about streamflow gauge locations, including derived drainage area DA and RANK, if DIAGNOSEMODE is enabled
  • Added RESERVOIRFILEFLAG with the "tb0" and "txt" options to specify the format of the reservoir input file (the default remains "txt")
  • Added support for the MESH_input_reservoir.tb0 input file (can be used in place of MESH_input_reservoir.txt)
  • Removed the fixed-formatting requirement for reading values in MESH_input_reservoir.txt
  • Activated the "csv" option for INPUTPARAMSFORMFLAG to support the MESH_parameters.csv input file
  • Added support for PWR and FLZ ("BASEFLOWFLAG wf_lzs") and R2N, R1N, MNDR, AA2, AA3, AA4, and WIDEP (RTE) fields in MESH_parameters.csv
  • Added IWF as a GRU-dependent parameter (to be assigned by GRU) in MESH_parameters_hydrology.ini (version 2.0 and higher)
  • Added FLZ and PWR as GRU-dependent parameters (to be assigned by GRU) in MESH_parameters_hydrology.ini (version 2.0 and higher) for WF_LZS
  • Added support for FCAN and LNZ0 (both requiring the "nl", "bl", "cr", "gr", or "ur" specifiers), SDEP, XSLP, DD (or DDEN), SAND (optionally with a layer specifier), CLAY (optionally with a layer specifier), and IWF in MESH_parameters.r2c
  • Added columns for LZS (used if using BASEFLOWFLAG) and DZS (not used), and included these components in STG, in the Basin_average_water_balance.csv output file
  • Changed the NO_DATA value printed to screen and file (when no more records exist in the streamflow input file) from -999.0 to -1.0

Prairie Blowing Snow Model (PBSM)

  • Re-enabled the Prairie Blowing Snow Model (PBSM) after updating the code to work with the tile-based indexing
  • Added support for fetch, ht, n_s, a_s, and distrib in MESH_parameters.r2c (the option to parameterize these as GRU-dependent parameters is still possible with MESH_parameters_hydrology.ini)

CLASS

  • Reactivated the DEGLAT and DEGLON fields from the CLASS input file if "point mode" is active (still ignored if using a drainage database instead)
  • Removed IWF as a constant and replaced it as a tile-based vector so different tiles can use different IWF routines (updated the WATROF/WATDRN, PDMROF, LATFLOW, ICEBAL, CLASSW, CLASSA and related code throughout)
  • Removed the experimental WATDRN3 code

SVS

  • Updated the SVS code
  • Added support to map properties for more than 3 soil layers in SVS
  • Fixed passing EVAP and ROFS to the driver from SVS

RTE

  • Updated the RPN_watroute (RTE) code
  • Activating reservoir routing in RTE
  • Implemented the same "avr_qo2" averaging as found in RPN_watroute in RTE
  • Added the "cap_shd" option to the "rte" option flag in MESH_parameters_hydrology.ini to use the bankfull capacity read from the drainage database; without this option, channel geometry is determined using the inline functions

WF_ROUTE

  • Revised the reservoir routing to set values to zero, instead of to arbitrary values greater than zero
  • Added the "cap_shd" option to the "wf_route" option flag in MESH_parameters_hydrology.ini to use the bankfull capacity read from the drainage database (internally set as the product of this value and channel length, as previously in the code); without this option, channel geometry is determined using WF_A2, WF_A3, and WF_A4 as before
  • Added the "rl_shd" option to the "wf_route" option flag in MESH_parameters_hydrology.ini to use the channel length read from the drainage database; without this option, channel geometry is determined using WF_A1 as before

BASEFLOWFLAG

  • Added word options for BASEFLOWFLAG
  • Modified WF_LZS to run at the grid-scale (like in WATROUTE); the "luo_2012" option still runs at the tile-scale
  • Added LZS to the MPI exchange and updated the BASEFLOWFLAG routines to be compatible with MPI parallel processing

Standalone WATROUTE (RPN_watroute)

  • Updated the RPN_watroute (RTE) code