Skip to main content

A TOUGH2/Waiwera interface to PEST

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gopest-0.0.11.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

goPEST-0.0.11-py3-none-any.whl (81.3 kB view details)

Uploaded Python 3

File details

Details for the file gopest-0.0.11.tar.gz.

File metadata

  • Download URL: gopest-0.0.11.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for gopest-0.0.11.tar.gz
Algorithm Hash digest
SHA256 d05f1eb64db2ce380ed67eb7ca8aa1d85a8d3ef5afef74f4c5264c3877958005
MD5 4c1f8357f877d3158ec07a06a2205bf1
BLAKE2b-256 ba3e801067cf18ff3a45a57aba402c618e9325d5094fa7531c4951e0041961e4

See more details on using hashes here.

File details

Details for the file goPEST-0.0.11-py3-none-any.whl.

File metadata

  • Download URL: goPEST-0.0.11-py3-none-any.whl
  • Upload date:
  • Size: 81.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for goPEST-0.0.11-py3-none-any.whl
Algorithm Hash digest
SHA256 fb4042e1283384b0d2fbc9af52d7a6aeb820b2a2a548f1d352023dd49455eedd
MD5 a36fa320d15e7286ec8ba9232e846c3f
BLAKE2b-256 1067ab867ee3fbb1ddce2aa51a6c6e702b16a80814a0d0e5bac4a714b43e0f49

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page