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
Pydrawer: The Python package for visualizing curves and linear transformations in a super simple way

pydrawer πŸ“ The Python package for visualizing curves and linear transformations in a super simple way. ✏️ Installation Install pydrawer package with

Dylan Tintenfich 56 Dec 30, 2022
Altair extension for saving charts in a variety of formats.

Altair Saver This packge provides extensions to Altair for saving charts to a variety of output types. Supported output formats are: .json/.vl.json: V

Altair 85 Dec 09, 2022
With Holoviews, your data visualizes itself.

HoloViews Stop plotting your data - annotate your data and let it visualize itself. HoloViews is an open-source Python library designed to make data a

HoloViz 2.3k Jan 04, 2023
These data visualizations were created as homework for my CS40 class. I hope you enjoy!

Data Visualizations These data visualizations were created as homework for my CS40 class. I hope you enjoy! Nobel Laureates by their Country of Birth

9 Sep 02, 2022
A simple interpreted language for creating basic mathematical graphs.

graphr Introduction graphr is a small language written to create basic mathematical graphs. It is an interpreted language written in python and essent

2 Dec 26, 2021
Plotting data from the landroid and a raspberry pi zero to a influx-db

landroid-pi-influx Plotting data from the landroid and a raspberry pi zero to a influx-db Dependancies Hardware: Landroid WR130E Raspberry Pi Zero Wif

2 Oct 22, 2021
The visual framework is designed on the idea of module and implemented by mixin method

Visual Framework The visual framework is designed on the idea of module and implemented by mixin method. Its biggest feature is the mixins module whic

LEFTeyes 9 Sep 19, 2022
πŸ§‡ Make Waffle Charts in Python.

PyWaffle PyWaffle is an open source, MIT-licensed Python package for plotting waffle charts. It provides a Figure constructor class Waffle, which coul

Guangyang Li 528 Jan 02, 2023
Leyna's Visualizing Data With Python

Leyna's Visualizing Data Below is information on the number of bilingual students in three school districts in Massachusetts. You will also find infor

11 Oct 28, 2021
Pglive - Pglive package adds support for thread-safe live plotting to pyqtgraph

Live pyqtgraph plot Pglive package adds support for thread-safe live plotting to

Martin DomarackΓ½ 15 Dec 10, 2022
Mattia Ficarelli 2 Mar 29, 2022
python partial dependence plot toolbox

PDPbox python partial dependence plot toolbox Motivation This repository is inspired by ICEbox. The goal is to visualize the impact of certain feature

Li Jiangchun 723 Jan 07, 2023
Data science project for exploratory analysis on the kcse grades dataset (Kamilimu Data Science Track)

Kcse-Data-Analysis Data science project for exploratory analysis on the kcse grades dataset (Kamilimu Data Science Track) Findings The performance of

MUGO BRIAN 1 Feb 23, 2022
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
Extract data from ThousandEyes REST API and visualize it on your customized Grafana Dashboard.

ThousandEyes Grafana Dashboard Extract data from the ThousandEyes REST API and visualize it on your customized Grafana Dashboard. Deploy Grafana, Infl

Flo Pachinger 16 Nov 26, 2022
Process dataframe in a easily way.

Popanda Written by Shengxuan Wang at OSU. Used for processing dataframe, especially for machine learning. The name is from "Po" in the movie Kung Fu P

ShawnWang 1 Dec 24, 2021
🐞 πŸ“Š Ladybug extension to generate 2D charts

ladybug-charts Ladybug extension to generate 2D charts. Installation pip install ladybug-charts QuickStart import ladybug_charts API Documentation Loc

Ladybug Tools 3 Dec 30, 2022
Python ts2vg package provides high-performance algorithm implementations to build visibility graphs from time series data.

ts2vg: Time series to visibility graphs The Python ts2vg package provides high-performance algorithm implementations to build visibility graphs from t

Carlos Bergillos 26 Dec 17, 2022
Automatically visualize your pandas dataframe via a single print! πŸ“Š πŸ’‘

A Python API for Intelligent Visual Discovery Lux is a Python library that facilitate fast and easy data exploration by automating the visualization a

Lux 4.3k Dec 28, 2022
Python script for writing text on github contribution chart.

Github Contribution Drawer Python script for writing text on github contribution chart. Requirements Python 3.X Getting Started Create repository Put

Steven 0 May 27, 2022