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.3.0.tar.gz (217.7 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pypestutils-0.3.0-py3-none-win_amd64.whl (845.3 kB view details)

Uploaded Python 3Windows x86-64

pypestutils-0.3.0-py3-none-musllinux_1_2_x86_64.whl (1.8 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

pypestutils-0.3.0-py3-none-musllinux_1_2_aarch64.whl (1.0 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

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

Uploaded Python 3manylinux: glibc 2.17+ x86-64

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

pypestutils-0.3.0-py3-none-macosx_14_0_arm64.whl (936.0 kB view details)

Uploaded Python 3macOS 14.0+ ARM64

pypestutils-0.3.0-py3-none-macosx_13_0_x86_64.whl (1.6 MB view details)

Uploaded Python 3macOS 13.0+ x86-64

File details

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

File metadata

  • Download URL: pypestutils-0.3.0.tar.gz
  • Upload date:
  • Size: 217.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for pypestutils-0.3.0.tar.gz
Algorithm Hash digest
SHA256 58097fe17374de92d5faf0a06779c4d320b660279cdd000db698821d87337c49
MD5 7340accbaec0f2cfd6b037b58d40e79a
BLAKE2b-256 8ea4a9ab507462207a9cc040bc2c6adcef970afc753957b96447ada9c5a1cbbb

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypestutils-0.3.0.tar.gz:

Publisher: release.yml on pypest/pypestutils

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: pypestutils-0.3.0-py3-none-win_amd64.whl
  • Upload date:
  • Size: 845.3 kB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for pypestutils-0.3.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 dd656df0a2436a5bc9f64cf454d99260ebf79d2a193e12cd86a9502331879a57
MD5 3d9ff4a7ad038cb2cd78525f8f399e52
BLAKE2b-256 eda734e6cb8c03e6b3203cd6ade56220994950cd2bd5fe8713889b038fd3d62a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypestutils-0.3.0-py3-none-win_amd64.whl:

Publisher: release.yml on pypest/pypestutils

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pypestutils-0.3.0-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pypestutils-0.3.0-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5f17f74e5153fbad8e9371d68bf003b0e2f6e1765db3702cb3e6fc5c216abc53
MD5 e48db4c30e7f4bb8e099fedcb697482b
BLAKE2b-256 9b49974647c99fb620bea1495ba8d554cc4c89e13a20263ea595755362797959

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypestutils-0.3.0-py3-none-musllinux_1_2_x86_64.whl:

Publisher: release.yml on pypest/pypestutils

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pypestutils-0.3.0-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pypestutils-0.3.0-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 fe511f2c05a397903056f9fe44c418ba995d67df85fa8e23a72881d120e8b525
MD5 b135b2610df87c0fa4b2671569986ed0
BLAKE2b-256 36174d5763990b09eed9d2935159d0ae42c27373c037010fa89dd3c4eb8de974

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypestutils-0.3.0-py3-none-musllinux_1_2_aarch64.whl:

Publisher: release.yml on pypest/pypestutils

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for pypestutils-0.3.0-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 81f91334956e76734e559aa8a149977760146f47155e77447225ebd7800a55aa
MD5 774423190d966e986e7be11a317aa63f
BLAKE2b-256 7ccf008d707bdf8833c2641a97be16e80733574ba17a71146cb72f983feeec1b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypestutils-0.3.0-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: release.yml on pypest/pypestutils

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for pypestutils-0.3.0-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 06b68bd4c64b0fcaa98bc4be5de48114e688f71dfb5df2823c52a0b15d9bfb57
MD5 3858c60faba6a370e8c2dd3b0ae5a13e
BLAKE2b-256 2144a5dd1739359d98658b7624c2cc28d2ce24ea32e2c4769cdaecb6f733a69c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypestutils-0.3.0-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl:

Publisher: release.yml on pypest/pypestutils

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pypestutils-0.3.0-py3-none-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pypestutils-0.3.0-py3-none-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 8aaffdc19978484713749bc987fe8aac3a34d093baa38e7e80c9d61a23080168
MD5 05d174eb2e0dc92cf136cea323e97ce0
BLAKE2b-256 a41b9cc595401549d6f458fe49adcbbf822500f938ac77b2bd1d9c917ef33981

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypestutils-0.3.0-py3-none-macosx_14_0_arm64.whl:

Publisher: release.yml on pypest/pypestutils

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pypestutils-0.3.0-py3-none-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pypestutils-0.3.0-py3-none-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 97cba5e45c97ebf74c18b784074a4ca9fce8fd231bde197ad2628ea00d624ccb
MD5 8b6caf614d1ffe415880739867e532e5
BLAKE2b-256 db9863899f9de6167be8cf10d051c0c8b5e7e5bda3f5eabbd0076c721146c542

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypestutils-0.3.0-py3-none-macosx_13_0_x86_64.whl:

Publisher: release.yml on pypest/pypestutils

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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