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
A curated list of awesome Dash (plotly) resources

Awesome Dash A curated list of awesome Dash (plotly) resources Dash is a productive Python framework for building web applications. Written on top of

Luke Singham 1.7k Jan 07, 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
Painlessly create beautiful matplotlib plots.

Announcement Thank you to everyone who has used prettyplotlib and made it what it is today! Unfortunately, I no longer have the bandwidth to maintain

Olga Botvinnik 1.6k Jan 06, 2023
The Spectral Diagram (SD) is a new tool for the comparison of time series in the frequency domain

The Spectral Diagram (SD) is a new tool for the comparison of time series in the frequency domain. The SD provides a novel way to display the coherence function, power, amplitude, phase, and skill sc

Mabel 3 Oct 10, 2022
✅ Today I Learn

Today I Learn EDA numpy_100ex numpy_0~10 airline_satisfaction_prediction BERT_naver_movie_classification NLP_prepare NLP_Tweet_Emotion_Recognition tex

Yeonghoo_Ahn 3 Dec 15, 2022
Tools for writing, submitting, debugging, and monitoring Storm topologies in pure Python

Petrel Tools for writing, submitting, debugging, and monitoring Storm topologies in pure Python. NOTE: The base Storm package provides storm.py, which

AirSage 247 Dec 18, 2021
100 Days of Code The Complete Python Pro Bootcamp for 2022

100-Day-With-Python 100 Days of Code - The Complete Python Pro Bootcamp for 2022. In this course, I spend with python language over 100 days, and I up

Rajdip Das 8 Jun 22, 2022
Create a table with row explanations, column headers, using matplotlib

Create a table with row explanations, column headers, using matplotlib. Intended usage was a small table containing a custom heatmap.

4 Aug 14, 2022
A minimalistic wrapper around PyOpenGL to save development time

glpy glpy is pyOpenGl wrapper which lets you work with pyOpenGl easily.It is not meant to be a replacement for pyOpenGl but runs on top of pyOpenGl to

Abhinav 9 Apr 02, 2022
Flame Graphs visualize profiled code

Flame Graphs visualize profiled code

Brendan Gregg 14.1k Jan 03, 2023
An XLSX spreadsheet renderer for Django REST Framework.

drf-renderer-xlsx provides an XLSX renderer for Django REST Framework. It uses OpenPyXL to create the spreadsheet and returns the data.

The Wharton School 166 Dec 01, 2022
Fractals plotted on MatPlotLib in Python.

About The Project Learning more about fractals through the process of visualization. Built With Matplotlib Numpy License This project is licensed unde

Akeel Ather Medina 2 Aug 30, 2022
Advanced hot reloading for Python

The missing element of Python - Advanced Hot Reloading Details Reloadium adds hot reloading also called "edit and continue" functionality to any Pytho

Reloadware 1.9k Jan 04, 2023
Create HTML profiling reports from pandas DataFrame objects

Pandas Profiling Documentation | Slack | Stack Overflow Generates profile reports from a pandas DataFrame. The pandas df.describe() function is great

10k Jan 01, 2023
Regress.me is an easy to use data visualization tool powered by Dash/Plotly.

Regress.me Regress.me is an easy to use data visualization tool powered by Dash/Plotly. Regress.me.-.Google.Chrome.2022-05-10.15-58-59.mp4 Get Started

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

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

简讯 27 Jul 09, 2022
Interactive Dashboard for Visualizing OSM Data Change

Dashboard and intuitive data downloader for more interactive experience with interpreting osm change data.

1 Feb 20, 2022
Lightspin AWS IAM Vulnerability Scanner

Red-Shadow Lightspin AWS IAM Vulnerability Scanner Description Scan your AWS IAM Configuration for shadow admins in AWS IAM based on misconfigured den

Lightspin 90 Dec 14, 2022
This component provides a wrapper to display SHAP plots in Streamlit.

streamlit-shap This component provides a wrapper to display SHAP plots in Streamlit.

Snehan Kekre 30 Dec 10, 2022
Backend app for visualizing CANedge log files in Grafana (directly from local disk or S3)

CANedge Grafana Backend - Visualize CAN/LIN Data in Dashboards This project enables easy dashboard visualization of log files from the CANedge CAN/LIN

13 Dec 15, 2022