Skip to content

Commit

Permalink
Merge pull request #14 from jtwhite79/feat_ev
Browse files Browse the repository at this point in the history
Feat ev
  • Loading branch information
jtwhite79 authored Oct 24, 2023
2 parents df3bec2 + e6f176d commit 1427082
Show file tree
Hide file tree
Showing 1,748 changed files with 401,786 additions and 286,486 deletions.
22 changes: 12 additions & 10 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,10 @@
name: Tests

on:
on:
schedule:
- cron: '0 8 * * *' # run at 8 AM UTC (12 AM PST, 8 PM NZST)
push:
branches:
- main
- develop
pull_request:
branches:
- main
- develop

jobs:
tests:
Expand All @@ -30,7 +26,7 @@ jobs:

- name: Update pip
run: |
pip install --upgrade pip
python -m pip install --upgrade pip
- name: Install MinGW-w64 tools (Windows)
if: runner.os == 'Windows'
Expand All @@ -54,14 +50,20 @@ jobs:
- name: Install build dependencies (macOS)
if: runner.os == 'macOS'
run: |
pip install meson ninja
pip install meson ninja pandas numpy matplotlib pyemu flopy jupyter notebook nbconvert
- name: Install build dependencies (macOS)
if: runner.os == 'Windows'
run: |
pip install meson ninja pandas numpy matplotlib pyemu flopy jupyter notebook nbconvert
- name: Install build dependencies (Linux)
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y gfortran
pip install meson ninja
pip install meson ninja pandas numpy matplotlib pyemu flopy jupyter notebook nbconvert
- name: Build pestutils (Windows)
if: runner.os == 'Windows'
Expand Down
24 changes: 23 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,21 @@
# PyPestUtils

Suite of Python tools based on PEST utilities.
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](https://github.com/modflowpy/flopy) and [pyEMU](https://github.com/pypest/pyemu) to help with visualization and processing.

## Installation

### Dependencies

pypestutils requires `numpy` and `pandas`

### Easy way

Use `pip` to install a built distribution for Windows, Linux or macOS:
Expand All @@ -19,3 +29,15 @@ to also include optional requirements use:
### From source

Installation from source requires a Fortran compiler and build tools. See [BUILD.md](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.
6 changes: 6 additions & 0 deletions etc/environment.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# a conda/mamba env for development and testing
name: pypestutils

channels:
Expand All @@ -21,9 +22,14 @@ dependencies:
- pytest-xdist
- flaky
- cython
- jupyter
- notebook
- nbconvert
- pip
- pip:
- git+https://github.com/pypest/pyemu.git
- git+https://github.com/modflowpy/flopy.git


# Win64 may also want
# - m2w64-gcc-fortran
Loading

0 comments on commit 1427082

Please sign in to comment.