Python package to Create, Read, Write, Edit, and Visualize GSFLOW models

Overview

pyGSFLOW logo

pygsflow continuous integration codecov PyPI

pygsflow

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

API Documentation

pyGSFLOW API documentation can be found @

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

Examples

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

Installation

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

pip install pygsflow

or

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

Or to install the development version with the most recent updates

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 .

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

Bugs

The code is in active development and although there is a testing infrastructure set up we cannot catch all the software bugs without the help of users. If you find a bug or have an issue, please report it by opening a new issue. You can open a new issue by clicking the issues tab near the top of the page.

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

Comments
  • JOSS review feedback

    JOSS review feedback

    Hello pygsflow team! I'm a reviewer for your submission to JOSS tracked here. I'll use this issue to track my feedback on the paper and software -- feel free to split out my comments into separate issues if that helps your workflow.

    README.md

    • [x] #13

    Paper

    • [x] #18
    • [x] Paragraph starting on line 62: since you mention external sensitivity analysis software, it could be useful for readers to cite the calibration software typically used in GSFLOW applications

    Jupyter notebooks

    • [x] #15
    • [x] #16
    • [x] #17
    • [x] #14
    • [x] Just wanted to say that the plots in the stream vector notebook are really nice looking!
    opened by thurber 4
  • remove_record() method does not recognize parameter names

    remove_record() method does not recognize parameter names

    I am trying to remove parameters from the control file.

    I can get_record(name='soilzone_module'):

    soilzone_module 1 4 soilzone

    But I can't remove_record(name='soilzone_module'):

    /home/mrush/miniconda3/lib/python3.8/site-packages/gsflow/param_base.py:211: UserWarning: The record does not exist: soilzone_module warnings.warn("The record does not exist: {}".format(name),

    opened by mrush-usgs 2
  • Typo in pyGSFLOW documentation

    Typo in pyGSFLOW documentation

    Greetings, pyGSFLOW documentation site has a typo in its text as well as in its page title. It states "Welocme" instead of "Welcome".

    PoC: https://pygsflow.github.io/pygsflowdocs/#welocme-to-the-pygsflow-documentation

    opened by ccalvocm 1
  • JOSS review feedback 2

    JOSS review feedback 2

    Hi all, this checklist will contain feedback related to your JOSS Review. I will continue to update this checklist as I move through my review:

    Installation

    • [x] Indicate which python versions are supported in the README.
    • [x] Installation fails from develop branch on Python3.6 with EnvironmentError("pyGSFLOW is only supported with python 3.7 and above"). Please indicate that Python3.6 is not supported in the README.
    • [x] Installation fails from develop branch on Python3.7 due to dependency error ERROR: Could not find a version that satisfies the requirement flopy>=3.3.5
    • [x] Installation fails from develop branch on Python3.8 due to dependency error ERROR: Could not find a version that satisfies the requirement flopy>=3.3.5
    • [x] Installation fails from develop branch on Python3.9 due to dependency error ERROR: Could not find a version that satisfies the requirement flopy>=3.3.5
    • [x] Installation fails from develop branch on Python3.10 due to dependency error: ERROR: Could not find a version that satisfies the requirement flopy>=3.3.5
    • [x] #24
    • [x] #25

    Documentation

    • [x] Cannot find contributing guidelines in README.
    • [x] #23
    • [x] #22

    Misc

    • [x] 'Dependency' issue tag is misspelled.
    • [x] #21
    • [x] #20
    opened by mdbartos 1
  • Parameter 'Width' Integers Not Required in Parameter File

    Parameter 'Width' Integers Not Required in Parameter File

    prms_parameter.py currently prints the parameter 'width' attribute (default 10) to the parameter file. These numbers are not required for prms/gsflow.

    https://github.com/pygsflow/pygsflow/blob/master/gsflow/prms/prms_parameter.py

    Lines 535 and 584

    opened by mrush-usgs 1
  • Adding building Parameters with JSON - Defaults

    Adding building Parameters with JSON - Defaults

    I added the build by default for parameters in the JSON file. I think I am missing a default file that I can upload later, but I put different cases with different dimensions for parameters in the docs of the function

    opened by jonathanqv 0
  • NetCDF4 and Rasterio conflict: HDF error when trying to write Dataset

    NetCDF4 and Rasterio conflict: HDF error when trying to write Dataset

    The rasterio wheels on PyPI include HDF5 and netCDF4 shared libraries and they can create conflicts with the netCDF4 wheel.

    The proposed workaround is to install rasterio from the source distribution instead of from binary wheel.

    pip install netcdf4
    pip install --no-binary rasterio rasterio
    

    This method works on all tested sytems (ubuntu, macos, and windows) to avoid binary library conflicts.

    opened by jlarsen-usgs 0
Releases(1.1.0)
Owner
pyGSFLOW
pyGSFLOW is a python package for GSFLOW integrated models
pyGSFLOW
Plot toolbox based on Matplotlib, simple and elegant.

Elegant-Plot Plot toolbox based on Matplotlib, simple and elegant. 绘制效果 绘制过程 数据准备 每种图标类型的目录下有data.csv文件,依据样例数据填入自己的数据。

3 Jul 15, 2022
A set of useful perceptually uniform colormaps for plotting scientific data

Colorcet: Collection of perceptually uniform colormaps Build Status Coverage Latest dev release Latest release Docs What is it? Colorcet is a collecti

HoloViz 590 Dec 31, 2022
A central task in drug discovery is searching, screening, and organizing large chemical databases

A central task in drug discovery is searching, screening, and organizing large chemical databases. Here, we implement clustering on molecular similarity. We support multiple methods to provide a inte

NVIDIA Corporation 124 Jan 07, 2023
Uniform Manifold Approximation and Projection

UMAP Uniform Manifold Approximation and Projection (UMAP) is a dimension reduction technique that can be used for visualisation similarly to t-SNE, bu

Leland McInnes 6k Jan 08, 2023
Displaying plot of death rates from past years in Poland. Data source from these years is in readme

Average-Death-Rate Displaying plot of death rates from past years in Poland The goal collect the data from a CSV file count the ADR (Average Death Rat

Oliwier Szymański 0 Sep 12, 2021
Import, visualize, and analyze SpiderFoot OSINT data in Neo4j, a graph database

SpiderFoot Neo4j Tools Import, visualize, and analyze SpiderFoot OSINT data in Neo4j, a graph database Step 1: Installation NOTE: This installs the sf

Black Lantern Security 42 Dec 26, 2022
Visualize large time-series data in plotly

plotly_resampler enables visualizing large sequential data by adding resampling functionality to Plotly figures. In this Plotly-Resampler demo over 11

PreDiCT.IDLab 604 Dec 28, 2022
A grammar of graphics for Python

plotnine Latest Release License DOI Build Status Coverage Documentation plotnine is an implementation of a grammar of graphics in Python, it is based

Hassan Kibirige 3.3k Jan 01, 2023
Eulera Dashboard is an easy and intuitive way to get a quick feel of what’s happening on the world’s market.

an easy and intuitive way to get a quick feel of what’s happening on the world’s market ! Eulera dashboard is a tool allows you to monitor historical

Salah Eddine LABIAD 4 Nov 25, 2022
Python code for solving 3D structural problems using the finite element method

3DFEM Python 3D finite element code This python code allows for solving 3D structural problems using the finite element method. New features will be a

Rémi Capillon 6 Sep 29, 2022
Python package for the analysis and visualisation of finite-difference fields.

discretisedfield Marijan Beg1,2, Martin Lang2, Samuel Holt3, Ryan A. Pepper4, Hans Fangohr2,5,6 1 Department of Earth Science and Engineering, Imperia

ubermag 12 Dec 14, 2022
Peloton Stats to Google Sheets with Data Visualization through Seaborn and Plotly

Peloton Stats to Google Sheets with Data Visualization through Seaborn and Plotly Problem: 2 peloton users were looking for a way to track their metri

9 Jul 22, 2022
Wikipedia WordCloud App generate Wikipedia word cloud art created using python's streamlit, matplotlib, wikipedia and wordcloud packages

Wikipedia WordCloud App Wikipedia WordCloud App generate Wikipedia word cloud art created using python's streamlit, matplotlib, wikipedia and wordclou

Siva Prakash 5 Jan 02, 2022
Farhad Davaripour, Ph.D. 1 Jan 05, 2022
JSNAPY example: Validate NAT policies

JSNAPY example: Validate NAT policies Overview This example will show how to use JSNAPy to make sure the expected NAT policy matches are taking place.

Calvin Remsburg 1 Jan 07, 2022
Fast scatter density plots for Matplotlib

About Plotting millions of points can be slow. Real slow... 😴 So why not use density maps? ⚡ The mpl-scatter-density mini-package provides functional

Thomas Robitaille 473 Dec 12, 2022
Numerical methods for ordinary differential equations: Euler, Improved Euler, Runge-Kutta.

Numerical methods Numerical methods for ordinary differential equations are methods used to find numerical approximations to the solutions of ordinary

Aleksey Korshuk 5 Apr 29, 2022
The open-source tool for building high-quality datasets and computer vision models

The open-source tool for building high-quality datasets and computer vision models. Website • Docs • Try it Now • Tutorials • Examples • Blog • Commun

Voxel51 2.4k Jan 07, 2023
Cartopy - a cartographic python library with matplotlib support

Cartopy is a Python package designed to make drawing maps for data analysis and visualisation easy. Table of contents Overview Get in touch License an

1.2k Jan 01, 2023