GSMOD: Current characteristics and capabilities

GSMOD is a stochastic modelling software that allows users to add calibration-constrained Monte Carlo (or quasi-Monte Carlo) simulation capabilities to existing MODFLOW/MT3D models through an easy to use graphical user interface. 

The current characteristics/capabilities of GSMOD are:

- Compatibility with MODFLOW-2000, 2005, NWT and USG, and MT3DMS, MT3D-USGS and USG-Transport.

- Capacity to run flow stochastic models, flow-transport stochastic models, and transport stochastic models based on deterministic flow models. In the last case GSMOD runs the flow model only once to save computational time.

- Capacity to generate stochastic parameters based on Uniform, Log-Uniform, Normal, Log-Normal, Triangular and PERT distributions, and to trim the lower and upper limits of Normal and Log-Normal distributions to avoid unrealistic parameters when needed. The distributions can represent the value of the parameter or a multiplier of the parameter values that already exist in the model.


- Capacity to use purely random, Latin Hypercube (near-random) and Sobol sequence (quasi-random) parameter sampling methods.

- Capacity to use an improved calibration-constrained Monte Carlo approach that considerably increases the number of runs that are consistent with the historic behaviour of the system (i.e. low NRMS), while maintaining the stochastic nature of the method.

- Capacity to calculate calibration statistics for each valid model run and to post-process the stochastic runs based on different calibration criteria (known as calibration constrained Monte Carlo, or stochastic modelling with Bayesian probability quantification). This allows to generate a set of realizations that comply both with the probabilistic distributions of the flow and transport parameters and with the historic behaviour of the system (good calibration). The user is able to change and test different calibration criteria in a matter of seconds, allowing to assign different valorizations to the expert knowledge (probability distributions of the defined parameters) and observed values (calibration statistics).

- Capacity to change the observed data and associated weights used to calculate the calibration statistics, without having to re-run the stochastic simulations, allowing to test different objective functions (i.e. calibration functions) depending on different model objectives. This also allows to easily fix any errors with the input data.

- Capacity to perform parallel runs and multi-threading analyses of the stochastic results using different CPU cores within one computer, with the additional possibility to combine computational results from up to 16 different computers (distributed computing).


- Capacity to halt and post-process the stochastic runs at any point to verify if the preliminary results are as expected, allowing the user to correct any potential issue without having to run all stochastic realizations.

- Capacity to detect and filter out models that fail to converge or have numerical balance errors above a user-defined limit for a percentage of the model time steps (e.g. 99% of the times steps need to have a balance error lower than 1%).

- Use of an innovative and exclusive heuristic solver approach that is able to automatically re-run problematic stochastic realizations with more robust solver parameters.

- Capacity to identify the best calibrated model and the importance of each stochastic parameter with respect to the calibration through the use of Global Sensitivity Analysis techniques. That said, it is not an objective of GSMOD to calibrate the models, just a consequence of the stochastic runs.

- Capacity to omit user defined realizations and to replace the internal NRMS calculations by external values provided by the user.

- Capacity to generate stochastic hydrographs and histograms for heads, pore water pressures, drawdowns, concentrations and global flow and mass balances.

- Capacity to generate stochastic maps based on statistical analyses of the stochastic runs, including probability of exceedance maps and contour maps based on percentile criteria. For each map, different options exist to integrate the information with respect to depth (mean, maximum or minimum values in depth, or results by layer).


- Capacity to export the stochastic results to Excel spreadsheets, CSV files, PNG images, GIF/MP4 animations and raster files.

- Capacity to export all necessary information related to the stochastic realizations for users to be able to perform analyses outside of GSMOD with their preferred programming language, e.g. Python.

- Capacity to run stochastic predictive simulations that are a continuation of a stochastic calibration model. For each predictive simulation the flow and transport initial conditions are automatically updated from the respective calibration run, meantime user specified stochastic parameter values will be taken from the calibration models to be consistent with respect to parameters that should have the same values or series of values for both modelling periods.

- Capacity to detect user errors during the setting up of the GSMOD project to avoid problems during the stochastic runs. Part of the setting up process will be automatically filled up by GSMOD based on analyses of the numerical model files. An important objective of GSMOD is to make the stochastic modelling process as simple as possible.


- Comprehensive documentation within the help menu, including various tutorials that explain how to add stochastic simulation capabilities to existing groundwater models.