statemodify

statemodify: a Python framework to facilitate accessible exploratory modeling for discovering drought vulnerabilities - Published in JOSS (2024)

https://github.com/immm-sfa/statemodify

Science Score: 100.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 5 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org, zenodo.org
  • Committers with academic emails
    1 of 4 committers (25.0%) from academic institutions
  • Institutional organization owner
    Organization immm-sfa has institutional domain (im3.pnnl.gov)
  • JOSS paper metadata
    Published in Journal of Open Source Software

Scientific Fields

Engineering Computer Science - 60% confidence
Last synced: 6 months ago · JSON representation ·

Repository

A package to modify StateMod's input and output files for exploratory modeling

Basic Info
Statistics
  • Stars: 3
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 7
Created almost 4 years ago · Last pushed almost 2 years ago
Metadata Files
Readme License Citation

README.md

build codecov Static Badge DOI pre-commit DOI

statemodify

statemodify is an open-source Python package that provides users with a way to easily modify StateMod's input and output files to enable exploratory modeling. StateMod is written in Fortran and conducting high-performance computing enabled ensemble exploratory modeling with it requires a systematic and automated approach. Due to the model’s complexity, there are also nontrivial computational challenges in comprehensively sampling the model’s input space and managing the outputs of interest, especially for large ensembles. These challenges limit its use among researchers and broader operational users. Thus, we developed statemodify, a Python package and framework that allows users to easily interact with StateMod using Python exclusively. The user can implement statemodify functions to manipulate StateMod’s input files to develop alternative demand, hydrology, infrastructure, and institutional scenarios for Colorado’s West Slope basins and run these scenarios through StateMod. We also create methods to compress and extract model output into easily readable data frames and provide guidance on analysis and visualization of output in a series of Jupyter notebooks that step through the functionality of the package.

Documentation

Full documentation and tutorials are provided here.

Installation

Install statemodify using pip: bash pip install statemodify

Online quickstarter tutorials

Take a statemodify for a spin in one of our no-install Jupyter quickstarters here:

  • Notebook 1: Getting Started and using the DDM and DDR modification functions in the San Juan Subbasin. This notebook has more general intro information on statemodify and shows how changes to demand and water rights can lead to changes to user shortages in the San Juan Subbasin.

  • Notebook 2: Using the EVA modification functions in the Gunnison Subbasin. This notebook looks at how changes in evaporation in reservoirs in the Gunnison subbasin lead to changes to reservoir levels.

  • Notebook 3: Using the RES modification function in the Upper Colorado Subbasin. This notebook looks at how changes in storage in reservoirs in the Upper Colorado subbasin lead to changes to user shortages.

  • Notebook 4: Using the XBM and IWR modification functions across all basins. This notebook debuts the stationary Hidden Markov Model to generate alternative streamflow scenarios across the basins.

  • Notebook 5: Sampling multiple uncertainties. This notebook demonstrates how to create a global Latin hypercube sample to consider multiple uncertainties in a basin.

Contributing to statemodify

Whether you find a typo in the documentation, find a bug, or want to develop functionality that you think will make statemodify more robust, you are welcome to contribute! See the full contribution guidelines in our online documentation.

Owner

  • Name: Integrated Multisector Multiscale Modeling
  • Login: IMMM-SFA
  • Kind: organization
  • Location: Richland, WA

Models and code from the IM3 SFA

JOSS Publication

statemodify: a Python framework to facilitate accessible exploratory modeling for discovering drought vulnerabilities
Published
April 25, 2024
Volume 9, Issue 96, Page 6325
Authors
Rohini S. Gupta ORCID
Department of Civil and Environmental Engineering, Cornell University, 527 College Ave, Hollister Hall, Ithaca, NY, 14853, USA
Chris R. Vernon ORCID
Pacific Northwest National Laboratory, Richland, WA., USA
Travis Thurber ORCID
Pacific Northwest National Laboratory, Richland, WA., USA
David F. Gold ORCID
Department of Civil and Environmental Engineering, Cornell University, 527 College Ave, Hollister Hall, Ithaca, NY, 14853, USA
Zachary M. Hirsch ORCID
Department of Environmental Sciences and Engineering, Gillings School of Global Public Health,University of North Carolina at Chapel Hill, Chapel Hill, NC., USA
Antonia Hadjimichael ORCID
Department of Geosciences, Penn State University, State College, PA., USA
Patrick M. Reed ORCID
Department of Civil and Environmental Engineering, Cornell University, 527 College Ave, Hollister Hall, Ithaca, NY, 14853, USA
Editor
Taher Chegini ORCID
Tags
StateMod

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software in your work, please cite it as below."
authors:
- family-names: "Gupta"
  given-names: "Rohini S."
  orcid: "https://orcid.org/0000-0003-3538-0675"
- family-names: "Vernon"
  given-names: "Chris R."
  orcid: "https://orcid.org/0000-0002-3406-6214"
- family-names: "Thurber"
  given-names: "Travis B."
  orcid: "https://orcid.org/0000-0002-4370-9971"
- family-names: "Gold"
  given-names: "David F."
  orcid: "https://orcid.org/0000-0002-0854-1819"
- family-names: "Hirsch"
  given-names: "Zachary M."
- family-names: "Hadjimichael"
  given-names: "Antonia"
  orcid: "https://orcid.org/0000-0001-7330-6834"
- family-names: "Reed"
  given-names: "Patrick M. Reed"
  orcid: "https://orcid.org/0000-0002-7963-6102"
title: "statemodify: a Python framework to facilitate accessible exploratory modeling for discovering drought vulnerabilities in Colorado’s West Slope river basins"
doi: 10.5281/zenodo.10258007
url: "https://github.com/IMMM-SFA/statemodify"

GitHub Events

Total
  • Watch event: 1
Last Year
  • Watch event: 1

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 203
  • Total Committers: 4
  • Avg Commits per committer: 50.75
  • Development Distribution Score (DDS): 0.049
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
crvernon c****n@g****m 193
Rohini Gupta r****7@h****u 5
Travis Thurber t****r 4
Rohini Gupta 3****7 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 30
  • Total pull requests: 38
  • Average time to close issues: 3 months
  • Average time to close pull requests: 1 day
  • Total issue authors: 5
  • Total pull request authors: 3
  • Average comments per issue: 0.83
  • Average comments per pull request: 0.87
  • Merged pull requests: 37
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • crvernon (17)
  • rg727 (9)
  • ekblad (2)
  • thurber (1)
  • barneydobson (1)
Pull Request Authors
  • crvernon (41)
  • rg727 (4)
  • thurber (1)
Top Labels
Issue Labels
feature (4) testing (3) methodology (2) documentation (1)
Pull Request Labels
feature (9) enhancement (8) bug (4) testing (2)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 4 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 3
  • Total maintainers: 1
pypi.org: statemodify

A package to modify StateMod's input and output files for exploratory modeling

  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 4 Last month
Rankings
Dependent packages count: 10.1%
Forks count: 29.8%
Average: 36.5%
Stargazers count: 38.8%
Dependent repos count: 67.3%
Maintainers (1)
Last synced: 6 months ago

Dependencies

.github/workflows/build.yml actions
  • actions/checkout v1 composite
  • actions/setup-python master composite
  • codecov/codecov-action v1 composite
requirements.txt pypi
  • SALib >=1.4.5
  • joblib >=1.1.0
  • numpy >=1.22.3
  • pandas >=1.4.2
setup.py pypi
  • SALib >1.4.5
  • joblib >=1.1.0
  • numpy >=1.22.3
  • pandas >=1.4.2
.github/workflows/draft-pdf.yml actions
  • actions/checkout v2 composite
  • actions/upload-artifact v1 composite
  • openjournals/openjournals-draft-action master composite