Page tree

MESH - A Community Hydrology - Land Surface Model

Skip to end of metadata
Go to start of metadata

Program and Source

A new version of Standalone MESH is available, SA_MESH_1.4.1037.

The program and source code may be updated if critical bugs have been found and are fixed. The version written to screen by the program may still show '1022'. If possible, sign in to the Wiki and 'watch' this page to receive an email when this content is updated.

Known Issues

These issues are corrected in the most recent program and source file links. 

The LQWS, FRWS, and ALWS fields for individual soil layers are printed to the water balance files in CSV format in an order that does not match the order of the fields in the file header. The order of these fields in the header is (('LQWS', 'FRWS', 'ALWS'), j = 1, NSL), whereas the order of the values printed is ((LQWS, j = 1, NSL), (FRWS, j = 1, NSL), (ALWS, j = 1, NSL)). A bug-fix in r1024 corrects this, which prints these fields in the same order as in the file header. The values of these fields are unaffected by this bug.

The fields for total LQWS, FRWS, and ALWS (of the entire soil profile, and which contain no integer label in the header), STG, and DSTG are correctly labelled and unaffected by this bug.



Bug-fixes to the in-line routing and time-stepping

  • In previous versions of MESH, a counter was incremented before a call to the in-line routing. As a consequence, the output of precipitation, evaporation, and runoff at each day to the screen was offset by a day, relative to the observed and simulated streamflow values.
  • In all prior versions of MESH, a variable type-set bug in the in-line routing caused channel capacity to be determined using incorrect parameters. Moreover, in MESH 1.3, an incorrect coefficient was determined for the overbank roughness term, R1. The implications of these bug-fixes are minimal in well calibrated setups, and these bug-fixes may in fact improve the fitness of the model. Poorly calibrated setups may see variations in simulated streamflow.

Performance improvements

  • Continued code clean-up and optimization have improved the general run-time of MESH by up to 20% and reduced memory usage by over 50%. MESH 1.4 also supports the MPI (message passing interface) protocol for parallelized runs, which can further improve run-time by over 80%, depending on the number of grid cells and GRUs in the setup and the number of processes utilized.
  • Optional control flags have been introduced to minimize write operations to disk, to further reduce the general run-time of MESH. Further, the default output options have been reverted to write only daily basin total and streamflow output files. Additional outputs, including CLASS output and general outputs at various time intervals, can still be saved by enabling control flags.

Interflow algorithm

  • MESH 1.4 introduces LATFLOW with IWF option 3, which combines the PDMROF (overland ponding model) and WATROF (sloped soil column interflow) algorithms. Additionally, PDMROF, WATROF, and "flat-CLASS" proper can still be run with IWF options 2, 1, and 0, respectively.


File formatting 

The formatting of several CSV format output files, as well as many input files, has changed.

  • All input files, with the exception of MESH_input_reservoir.txt are now read in free format. All fields in a single line should be separated by one or more spaces. The length and precision of the fields is no longer fixed.
  • MESH_input_streamflow.txt: Components of the gauge coordinate should now be separated by one or more spaces.

    2940 -5185  02BA003 2970-5185
  • MESH_parameters_CLASS.ini: Individual fields should now be separated by one or more spaces.

       0.083   0.362   0.468   0.003       1                                  13XSLP/GRKF/MANN/WFCI/MID
MESH_input_reservoir.txt still requires strict formatting.
MESH_output_streamflow.csv now includes a header by default. This can be disabled using the 'no_header' option on STREAMFLOWOUTFLAG (e.g., STREAMFLOWOUTFLAG daily no_header). However, an extra column (YEAR) is now included in the file, regardless. Post-processing scripts should be updated as necessary.
Basin_average_water_balance.csv now includes a "delta storage" term to complete the water balance. The "delta storage" term for the accumulated fields (i.e., the run totals) now immediately follows the columns for other accumulated variables. Post-processing scripts should be updated as necessary.
The YEAR and DAY columns in most CSV output files have been re-ordered. The YEAR column now precedes the DAY column. Additionally, if the output file supports output at other time intervals, the default order of the time-step columns is now YEAR, DAY, HOUR, MINS, where MINS is the 00 or 30 interval of the hour.

Input forcing file time-stepping

Input forcing files are no longer required to use the same time-stepping. The HOURLYFLAG option should be set before all BASIN*FLAG's; however, the 'hf=' option on any BASIN*FLAG can be used to override the HOURLYFLAG value. If HOURLYFLAG is not defined, the default stepping is half-hourly (e.g., HOURLYFLAG 30).

The built-in interpolation option by INTERPOLATIONFLAG 1 uses arithmetic averaging and is not recommended for the interpolation of precipitation rate for durations greater than HOURLYFLAG 60.


Updated Output control flags

A number of new control flags can be added to MESH_input_run_options.ini to enable or disable saving certain output files at various time intervals.


  • No labels