Skip to main content

goPEST

goPEST is a set of utilities used to interface PEST with Waiwera and (AU)TOUGH2 simulators.

Install

The easiest way to install goPEST is:

python -m pip install gopest

Input files

User needs to prepare a few files for goPEST to work:

  • goPESTconfig.toml, this file contains all settings/configurations related to the running of goPEST. It is written in TOML file format. The file should be placed in the project folder, where user runs gopest commands from. It is possible to let goPEST generate one with default values. The file tries to be self-explanatory with comments.

  • goPESTpar.list is where user specifies model parameters for PEST

  • goPESTobs.list is where user specifies model observations for PEST

  • goPESTuser.py is optional if user wish do perform customised setups when the simulation transit from one stage to the next stage in sequence of simulator runs (eg. usually ns and pr normally natural state then followed by production history).

Basic usage

The main CLI script gopest is to be followed by COMMAND and associated arguments:

gopest COMMAND [ARGUMENTS]

To get a list of supported COMMANDs, type gopest help.

The first step is to initialise the working directory:

gopest init

will setup the current folder. If all goes well, user can simply run the command:

gopest submit or gopest run

to start the PEST run. Command submit is for the NeSI cluster environment using SLURM. Job(s) will be submitted to the cluster queue. PEST master and agents will be launched automatically. On a local machine where user has full access gopest run is used.

How goPEST works

Several tasks were performed by the init command:

  • copy user's model files into what goPEST uses internally, these are the real_model_xxx.* files, in the current folder, which is also the master folder where PEST is expected to work on.

  • go through goPESTpar.list, extract and set up parameter data in the PEST control file (usually case.pst). The corresponding .tpl files etc required by PEST will be set up. Note the parameters used in the real model will be extracted and used as the initial parameters in the PEST.

  • go through goPESTobs.list, and set up observation data in the PEST control file. Corresponding PEST instruction file .ins will also be set up automatically.

Development notes

  • install an editable version of goPEST:

python -m pip install -e /path/to/repo/root

  • run tests at the root of the repo:

python -m pytest

  • generalised model sequence runner? now loads user goPESTuser.py, but internal needs to generalise to have more than two run sequence

  • in run_ns_pr, code shouldn't worry about nesi/cluster related things, maybe not running local vs nesi either

  • remove obsreref related things, use pest_hp now

  • I have checked a few PEST related Python libraries. I am looking for something small and pure for basic editing of PEST control file. But these are too big for my liking. I should reconsider about using them.

TODO

  • gopest run generate and use comm file _gopest.json now, update gopest submit to do so

Metadata

Release files for goPEST 0.0.17

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for goPEST 0.0.17
File Size Uploaded
gopest-0.0.17.tar.gz 1.2 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for goPEST 0.0.17
File Interpreter ABI Platform
gopest-0.0.17-py3-none-any.whl Python 3 none any Details

Total release size: 1.3 MB

Release files / gopest-0.0.17.tar.gz

Download URL gopest-0.0.17.tar.gz
Size 1.2 MB
Tags Source
SHA-256 checksum
How to use checksums
b809e019d663f5f1bd80b9c56e9cd1742142d68da1aa3ae2dacae46295cb83ae
BLAKE2b-256 checksum
How to use checksums
98ae1dbe649cb17e0721e2ee65ff953e2161c44e88d179465aafb2311052a970
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.14

Release files / gopest-0.0.17-py3-none-any.whl

Download URL gopest-0.0.17-py3-none-any.whl
Size 85.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5e3bcb3c54e4f7047ffa235534a1ebd13198781c2ccf5d04d0125aa0dfb621c7
BLAKE2b-256 checksum
How to use checksums
09770659b3fd2bf01ee7d1654d8d9c06351ac377417a6836d6890ef1578088c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.14

Release history Release notifications | RSS feed

This release

0.0.17 This release

2 release files

0.0.16

2 release files

0.0.15

2 release files

0.0.11

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page