Skip to main content

pyGSFLOW is a python package to create, run, and post-process GSFLOW-based models

Project description

pyGSFLOW logo

pygsflow continuous integration codecov PyPI JOSS

pygsflow

pyGSFLOW is a python package to Create, Read, Write, Edit, and Visualize GSFLOW models

GSFLOW model development has previously been a piecemeal approach that required multiple software tools to build, edit, postprocess, and visualize models. pyGSFLOW changes this by being a tightly coupled scripting library that provides support for GSFLOW, PRMS, and MODFLOW. Custom modules for both GSFLOW and PRMS are included in this library. MODFLOW support is provided by wrapping the Flopy package (Bakker and others, 2021) with GSFLOW specific code. Together, these three pieces create a single integrated scripting package that helps to standardize and streamline model development and calibration.

This is the development repository for pyGSFLOW. Official USGS releases can be found here

API Documentation

pyGSFLOW API documentation can be found @

https://pygsflow.github.io/pygsflowdocs/

Examples

Basic examples can be found in the Tutorial Examples tab of the pyGSFLOW API documentation at https://pygsflow.github.io/pygsflowdocs/tutorials.html#

Interactive jupyter notebook example problems can be found in the examples directory.
https://github.com/pygsflow/pygsflow/tree/master/examples

Requirements

Version 1.0.2 (Master branch and from pypi)

  1. Windows or Linux operating system (GSFLOW is not currently compiled for MacOS)
  2. Python 3.6 or greater
  3. FloPy 3.3.4 or greater, note for Python 3.6 use (pip install flopy==3.3.4)
  4. NetCdf4 (optional, required for netcdf exporting and autotesting) (pip install netcdf4)

Version 1.1.0 (Develop branch)

  1. Windows or Linux operating system (GSFLOW is not currently compiled for MacOS)
  2. Python 3.6 or greater
  3. Flopy 3.3.4 or greater (pip install flopy) note for Python 3.6 use (pip install flopy==3.3.4)
  4. NetCdf4 (optional, required for netcdf exporting and autotesting) (pip install netcdf4)

Installation

Version 1.0.2 (Master branch and from pypi)

The pygsflow repository can be installed using pip. To install the release version, open a terminal, command prompt, or anaconda prompt and type:

pip install pygsflow

Version 1.1.0 (Develop version with most recent updates)

To install the development version, open a terminal, command prompt or anaconda promt and type:

pip install https://github.com/pygsflow/pygsflow/zipball/develop

Alternatively the user can download a copy of the repository, open a command prompt or anaconda promt terminal, cd into the trunk directory and type:

pip install .

Additional Linux installation instructions

To use the default version of GSFLOW for Linux that is distributed with pyGSFLOW the user needs to set the permissions of the GSFLOW binary program to execute. From a terminal window cd into the trunk/bin directory of the pyGSFLOW repository and write:

chmod u+x gsflow
chmod u+x CRT_1.3.1

Authors

Ayman Alzraiee, Joshua Larsen, Donald Martin, Rich Niswonger

How to Cite

Larsen, J. D., Alzraiee, A., Niswonger, R., 2021, pyGSFLOW v1.0.0: U.S. Geological Survey Software Release, 2 July 2021, https://doi.org/10.5066/P9NPZ5AD

IPDS number

IP-128405

Contributing

Please see Contributing.md

Running Autotests Locally

pyGSFLOW uses github actions CI to automatically test code for each commit and pull request. These tests can also be run locally. To run tests locally, navigate to pygsflow's root directory, open a command prompt, anaconda prompt, or terminal window:

with nosetests:

cd autotest
nosetests -v

with pytest:

cd autotest
pytest

How to find pygsflow's root directory:

Open a python terminal and type:

import gsflow
print(gsflow.__file__)

Project History

This project is a refinement and continuation of the original pygsflow repository at:

https://github.com/aymanalz/pygsflow

Disclaimer

This software is preliminary or provisional and is subject to revision. It is being provided to meet the need for timely best science. The software has not received final approval by the U.S. Geological Survey (USGS). No warranty, expressed or implied, is made by the USGS or the U.S. Government as to the functionality of the software and related material nor shall the fact of release constitute any such warranty. The software is provided on the condition that neither the USGS nor the U.S. Government shall be held liable for any damages resulting from the authorized or unauthorized use of the software

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

pygsflow-1.0.2.tar.gz (101.5 kB view details)

Uploaded Source

Built Distribution

pygsflow-1.0.2-py3-none-any.whl (114.7 kB view details)

Uploaded Python 3

File details

Details for the file pygsflow-1.0.2.tar.gz.

File metadata

  • Download URL: pygsflow-1.0.2.tar.gz
  • Upload date:
  • Size: 101.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.5.0.1 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

File hashes

Hashes for pygsflow-1.0.2.tar.gz
Algorithm Hash digest
SHA256 ba78c5ea7fe5c057d9ccfca3fa2fd42949d51c50d3a0d2742ebc63748250a779
MD5 27e9fb21d98d926103525f4759c43c64
BLAKE2b-256 66a6287bac0ae34e2b998f3ff8e9277a2bb0acf75dcfa6d592251001ad3227cd

See more details on using hashes here.

File details

Details for the file pygsflow-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: pygsflow-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 114.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.5.0.1 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

File hashes

Hashes for pygsflow-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f7ae2c986fc687d4c8b87a262ac652046297f8630f23294f31ea3d9a4281c706
MD5 19e5c0d35e0275fbff6b007e6154aef5
BLAKE2b-256 5ba6f5cf6bc21cafb53caa82ab547b471cec6653477fa4ed3568527af184cb28

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