(DRAFT) Decision Support Modelling Notebooks

These tutorial notebooks are still under development and subject to change. As the notebooks are all connected, we are unable to put them out one-at-a-time as with previous GMDSI tutorials. Rather than wait until they are completed, we have opted to make them accessible as we go. Make sure to check back for regular updates.

A common theme pervades GMDSI monographs, worked examples and training material. For decision-support modelling to achieve its potential, it must harvest information from data. It must then transmit this information to decision-critical model predictions. Information reduces uncertainty; quantification of uncertainty allows assessment of risk; risk assessment is fundamental to decision-making. It follows that simulation must be accompanied by data assimilation. Or, to be more specific, it requires that models be used with PEST/PEST++ for history-matching, linear analysis, uncertainty quantification, and for other tasks such as management optimisation.

The hardest part of using programs of the PEST(++) suite is preparation of their input files. These files tell these programs how to access data, manipulate parameters, and take control of your model in order to run it hundreds of times. Accessing and plotting of results that are recorded on PEST(++) output files can also be hard. However, with a bit of software assistance, this task too can be made easy.

One way of getting software assistance is to use pyEMU. pyEMU was developed by the same people who developed PEST++, together with an ever-expanding network of contributors. As the name implies, pyEMU is written in Python.  A challenge to adopting the pyEMU approach to PEST(++) pre/postprocessing is that the learning curve can get a little steep – even more so if you are new to Python. Nevertheless, it is worth the effort. The nice thing about working in the Python world is that you can easily add your own code to the processing mix in order to tailor your decision-support modelling approach to the demands of your site.

GMDSI has committed itself to reducing the slope of the pyEMU learning curve. It is developing a series of Jupyter notebooks that show you how to prepare PEST(++) input datasets, and query PEST(++) output files with ease. All steps are fully explained. So even if you do not intend to use pyEMU for PEST(++) pre/postprocessing, these notebooks will still be worth reading so that you can understand the decision-support modelling workflow. Then, if you like, you can implement the same workflow in a way that is best for you.

You can access completed versions of these tutorials in your web-browser here:

Groundwater Modelling Decision Support Notebooks

If you wish to run the notebooks yourself, please head to the GitHub repository and follow the instructions to download files and install the necessary software. Note that you will need to run the notebooks in a specific order, as some notebooks rely on the existence of files created in other tutorials.

Notebooks are prepared by Rui Hugman, Jeremy White and Mike Fienen. They take inspiration from, and build upon, previous work by the USGS and pyEMU development team. 

GMDSI has also produced a separate set of tutorials which demonstrate non-programmatic approaches to working with PEST/PEST++. They can be accessed here: https://gmdsi.org/education/tutorials/