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
This plugin plots the time you spent on a tag as a histogram.

This plugin plots the time you spent on a tag as a histogram.

Tom Dörr 7 Sep 09, 2022
Print matplotlib colors

mplcolors Tired of searching "matplotlib colors" every week/day/hour? This simple script displays them all conveniently right in your terminal emulato

Brandon Barker 32 Dec 13, 2022
阴阳师后台全平台(使用网易 MuMu 模拟器)辅助。支持御魂,觉醒,御灵,结界突破,秘闻副本,地域鬼王。

阴阳师后台全平台辅助 Python 版本:Python 3.8.3 模拟器:网易 MuMu | 雷电模拟器 模拟器分辨率:1024*576 显卡渲染模式:兼容(OpenGL) 兼容 Windows 系统和 MacOS 系统 思路: 利用 adb 截图后,使用 opencv 找图找色,模拟点击。使用

简讯 27 Jul 09, 2022
The interactive graphing library for Python (includes Plotly Express) :sparkles:

plotly.py Latest Release User forum PyPI Downloads License Data Science Workspaces Our recommended IDE for Plotly’s Python graphing library is Dash En

Plotly 12.7k Jan 05, 2023
Visualization ideas for data science

Nuance I use Nuance to curate varied visualization thoughts during my data scientist career. It is not yet a package but a list of small ideas. Welcom

Li Jiangchun 16 Nov 03, 2022
Some examples with MatPlotLib library in Python

MatPlotLib Example Some examples with MatPlotLib library in Python Point: Run files only in project's directory About me Full name: Matin Ardestani Ag

Matin Ardestani 4 Mar 29, 2022
DrawBot lets you draw images taken from the internet on Skribbl.io, Gartic Phone and Paint

DrawBot You don't speak french? No worries, english translation is over here. C'est quoi ? DrawBot est un logiciel codé par V2F qui va prendre possess

V2F 205 Jan 01, 2023
The plottify package is makes matplotlib plots more legible

plottify The plottify package is makes matplotlib plots more legible. It's a thin wrapper around matplotlib that automatically adjusts font sizes, sca

Andy Jones 97 Nov 04, 2022
Focus on Algorithm Design, Not on Data Wrangling

The dataTap Python library is the primary interface for using dataTap's rich data management tools. Create datasets, stream annotations, and analyze model performance all with one library.

Zensors 37 Nov 25, 2022
🌀❄️🌩️ This repository contains some examples for creating 2d and 3d weather plots using matplotlib and cartopy libraries in python3.

Weather-Plotting 🌀 ❄️ 🌩️ This repository contains some examples for creating 2d and 3d weather plots using matplotlib and cartopy libraries in pytho

Giannis Dravilas 21 Dec 10, 2022
Render Jupyter notebook in the terminal

jut - JUpyter notebook Terminal viewer. The command line tool view the IPython/Jupyter notebook in the terminal. Install pip install jut Usage $jut --

Kracekumar 169 Dec 27, 2022
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
Create 3d loss surface visualizations, with optimizer path. Issues welcome!

MLVTK A loss surface visualization tool Simple feed-forward network trained on chess data, using elu activation and Adam optimizer Simple feed-forward

7 Dec 21, 2022
Piglet-shaders - PoC of custom shaders for Piglet

Piglet custom shader PoC This is a PoC for compiling Piglet fragment shaders usi

6 Mar 10, 2022
Small project demonstrating the use of Grafana and InfluxDB for monitoring the speed of an internet connection

Speedtest monitor for Grafana A small project that allows internet speed monitoring using Grafana, InfluxDB 2 and Speedtest. Demo Requirements Docker

Joshua Ghali 3 Aug 06, 2021
Designed a greedy algorithm based on Markov sequential decision-making process in MATLAB/Python to optimize using Gurobi solver

Designed a greedy algorithm based on Markov sequential decision-making process in MATLAB/Python to optimize using Gurobi solver, the wheel size, gear shifting sequence by modeling drivetrain constrai

Sabbella Prasanna 1 Jan 11, 2022
Pyan3 - Offline call graph generator for Python 3

Pyan takes one or more Python source files, performs a (rather superficial) static analysis, and constructs a directed graph of the objects in the combined source, and how they define or use each oth

Juha Jeronen 235 Jan 02, 2023
Using SQLite within Python to create database and analyze Starcraft 2 units data (Pandas also used)

SQLite python Starcraft 2 English This project shows the usage of SQLite with python. To create, modify and communicate with the SQLite database from

1 Dec 30, 2021
A small timeseries transformation API built on Flask and Pandas

#Mcflyin ###A timeseries transformation API built on Pandas and Flask This is a small demo of an API to do timeseries transformations built on Flask a

Rob Story 84 Mar 25, 2022
Automatically generate GitHub activity!

Commit Bot Automatically generate GitHub activity! We've all wanted to be the developer that commits every day, but that requires a lot of work. Let's

Ricky 4 Jun 07, 2022