Skip to main content

PEST utilities for MODFLOW

Project description

PyPestUtils

Suite of Python tools based on PEST utilities to support parameterization with pilot points, drawing stochastic realizations, and MODFLOW post-processing for structured and unstructured grids. This package consists of a (pre-)compiled shared fortran library, and a corresponding low-level python wrapper around the library functions. There are also higher-level "helper" functions to further abstract the granular low-level function calls for common workflow elements.

The low-level functions are relatively strict in their argument types - this is required to effectively pass the array-type data container references to the fortran library. As such, the low-level python functions perform considerable type checking. The higher-level helpers attempt to support a variety of argument types and will attempt coerce to the required type.

This package is currently in pre-alpha development, and is not suitable for use, but early adopters are welcome to have a go.

Examples

There are several jupyter notebook examples of using pypestutils for a structured and quadtree Freyberg model. These notebooks rely on both flopy and pyEMU to help with visualization and processing.

The use the low-level python interface to the shared fortran library, you create a PESTUTILSLIB instance and then can directly call the shared library routines:

from pypestutils.pestutilslib import PestUtilsLib
lib = PestUtilsLib() #the constructor searches for the shared lib
grid_info = lib.install_mf6_grid_from_file("grid","freyberg6.disv.grb")
easting,northing,elev = lib.get_cell_centres_mf6("grid",grid_info["ncells"])

The higher-level helper functions obsecure the calls the fortran library and string together multiple low-level function calls:

import pypestutils.helpers as helpers
grid_info = helpers.get_grid_info_from_file("freyberg6.disv.grb")

Documentation

The documentation for pypestutils can be found here

The documentation for the shared FORTRAN library can be found here

Installation

Dependencies

pypestutils requires numpy and pandas

Easy way

Use pip to install a built distribution for Windows, Linux or macOS:

pip install pypestutils

to also include optional requirements use:

pip install pypestutils[optional]

From source

Installation from source requires a Fortran compiler and build tools. See BUILD.md for details.

Disclaimer

This software is preliminary or provisional and is subject to revision. It is being provided to meet the need for timely best science. This software is provided "as is" and "as-available", and makes no representations or warranties of any kind concerning the software, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable.

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

pypestutils-0.2.1.tar.gz (217.3 kB view details)

Uploaded Source

Built Distributions

pypestutils-0.2.1-py3-none-win_amd64.whl (823.3 kB view details)

Uploaded Python 3 Windows x86-64

pypestutils-0.2.1-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (1.5 MB view details)

Uploaded Python 3 manylinux: glibc 2.17+ x86-64

pypestutils-0.2.1-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (909.8 kB view details)

Uploaded Python 3 manylinux: glibc 2.17+ ARM64

pypestutils-0.2.1-py3-none-macosx_10_9_x86_64.whl (1.6 MB view details)

Uploaded Python 3 macOS 10.9+ x86-64

File details

Details for the file pypestutils-0.2.1.tar.gz.

File metadata

  • Download URL: pypestutils-0.2.1.tar.gz
  • Upload date:
  • Size: 217.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for pypestutils-0.2.1.tar.gz
Algorithm Hash digest
SHA256 b4d03a95a88be29bff9d0e481adb2e9248e921b5ad5dea1566a72165c89713cb
MD5 f3f045b57dbe63df555413a5e813d508
BLAKE2b-256 adc529ab0f4c558873ea58058659ea35d170061983195032f70c583ba693ad8c

See more details on using hashes here.

File details

Details for the file pypestutils-0.2.1-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for pypestutils-0.2.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 67b94c4c89d55b2212039104c449767e29b88e59c760893ed6c2f683415308f6
MD5 afa696a27b45f7c97ddab9147a9da6e5
BLAKE2b-256 d5465ca56f0b87cd4d7a65c461de88d6c2fde4778cbfef4b38a7fbd823cbe2a2

See more details on using hashes here.

File details

Details for the file pypestutils-0.2.1-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pypestutils-0.2.1-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 8855c631fb68bc809105dc15a125b23f49f6d63ab43b49310b15093218ae9b7a
MD5 5cddca67a2744ba55f0c80a6ab92ad2f
BLAKE2b-256 b687da1eeb45618e36ea99e80b4a26a6541a74984e5f45d075ce5da4635d1136

See more details on using hashes here.

File details

Details for the file pypestutils-0.2.1-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for pypestutils-0.2.1-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 d38d3b7e005aa3f3a452bd1c68b8915fd038978061f46ee0ce8b94a7a384ce0e
MD5 191ff640da80a7e99db4494ca8437e99
BLAKE2b-256 c15011c6c6d0a1735a5417180e04e056b9fbe49e8853f1cc2a43b0692e415696

See more details on using hashes here.

File details

Details for the file pypestutils-0.2.1-py3-none-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pypestutils-0.2.1-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 601fb00e2d8af24191dc8fa292a8355a1d2ee36c020b69dbea2d14ed874407c5
MD5 df408997cb35bb289a080064ba0bd1cf
BLAKE2b-256 fa0c06aa10a472df9ad2d696070a6ee6ab47becabdc9c9b3e31c2b845ef4ed17

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