pywatershed


Namepywatershed JSON
Version 2.0.0 PyPI version JSON
download
home_pageNone
Summarypywatershed is a Python package for hydrologic modeling
upload_time2024-12-19 01:06:49
maintainerNone
docs_urlNone
authorNone
requires_python<3.12,>=3.10
licenseCC0
keywords hydrology prms
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # pywatershed

[![ci-badge](https://github.com/ec-usgs/pywatershed/workflows/CI/badge.svg?branch=develop)](https://github.com/ec-usgs/pywatershed/actions?query=workflow%3ACI)
[![codecov-badge](https://codecov.io/gh/ec-usgs/pywatershed/branch/main/graph/badge.svg)](https://codecov.io/gh/ec-usgs/pywatershed)
[![Documentation Status](https://readthedocs.org/projects/pywatershed/badge/?version=latest)](https://pywatershed.readthedocs.io/en/latest/?badge=latest)
[![asv](http://img.shields.io/badge/benchmarked%20by-asv-green.svg?style=flat)](https://github.com/ec-usgs/pywatershed)
[![Formatted with Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)

[![Available on pypi](https://img.shields.io/pypi/v/pywatershed.svg)](https://pypi.python.org/pypi/pywatershed)
[![PyPI Status](https://img.shields.io/pypi/status/pywatershed.svg)](https://pypi.python.org/pypi/pywatershed)
[![PyPI Versions](https://img.shields.io/pypi/pyversions/pywatershed.svg)](https://pypi.python.org/pypi/pywatershed)

[![Anaconda-Server Badge](https://anaconda.org/conda-forge/pywatershed/badges/version.svg)](https://anaconda.org/conda-forge/pywatershed)
[![Anaconda-Server Badge](https://anaconda.org/conda-forge/pywatershed/badges/platforms.svg)](https://anaconda.org/conda-forge/pywatershed)

[![DOI:10.5066/P13EWPEV](https://img.shields.io/badge/DOI-10.5066/P13EWPEV-b4a9fe.svg)](https://doi.org/10.5066/P13EWPEV)

[![WholeTale](https://raw.githubusercontent.com/whole-tale/wt-design-docs/master/badges/wholetale-explore.svg)](https://dashboard.wholetale.org/run/64ae29e8a887f48b9f173678?tab=metadata)


<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
**Table of Contents**

- [About](#about)
- [Installation](#installation)
- [Getting started / Example notebooks](#getting-started--example-notebooks)
- [Community engagement](#community-engagement)
- [How to Cite](#how-to-cite)
- [Disclaimer](#disclaimer)

<!-- END doctoc generated TOC please keep comment here to allow auto update -->

## About

Welcome to the pywatershed repository!

Pywatershed is Python package for simulating hydrologic processes motivated by
the need to modernize important, legacy hydrologic models at the USGS,
particularly the
[Precipitation-Runoff Modeling System](https://www.usgs.gov/software/precipitation-runoff-modeling-system-prms)
(PRMS, Markstrom et al., 2015) and its role in
[GSFLOW](https://www.usgs.gov/software/gsflow-coupled-groundwater-and-surface-water-flow-model>)
(Markstrom et al., 2008).
The goal of modernization is to make these legacy models more flexible as process
representations, to support testing of alternative hydrologic process
conceptualizations, and to facilitate the incorporation of cutting edge
modeling techniques and data sources. Pywatershed is a place for experimentation
with software design, process representation, and data fusion in the context
of well-established hydrologic process modeling.

For more information on the goals and status of pywatershed, please see the [pywatershed docs](https://pywatershed.readthedocs.io/).


## Installation

`pywatershed` uses Python 3.10 or 3.11.

The `pywatershed` package is [available on
PyPI](https://pypi.org/project/pywatershed/) but installation of all
dependencies sets (lint, test, optional, doc, and all) may not be reliable on
all platforms. 

The `pywatershed` package is [available on
conda-forge](https://anaconda.org/conda-forge/pywatershed). The installation
is the quickest way to get up and running by provides only the minimal set of
dependencies (not including Jupyter nor all packages needed for running the
example notebooks, also not suitable for development purposes). 

We recommend the following installation procedures to get fully-functional
environments for running `pywatershed` and its example notebooks. We strongly
recommend using [Mamba](https://mamba.readthedocs.io/en/latest/)to first
instal dependencies from the `environment_y_jupyter.yml` file in the
repository before installing `pywatershed` itself. Mamba will be much faster
than Ananconda (but the conda command could also be used). 

If you wish to use the stable release, you will use `main` in place of 
`<branch>` in the following commands. If you want to follow development, you'll
use `develop` instead.

Without using `git` (directly), you may:
```
curl -L -O https://raw.githubusercontent.com/EC-USGS/pywatershed/<branch>/environment_w_jupyter.yml
mamba env create -f environment_w_jupyter.yml
conda activate pws
pip install git+https://github.com/EC-USGS/pywatershed.git@<branch>
```

Or to use `git` and to be able to develop:

```
git clone https://github.com/EC-USGS/pywatershed.git
cd pywatershed
mamba env create -f environment_w_jupyter.yml
activate pws
pip install -e .
```

(If you want to name the environment other than the default `pws`, use the
command 
`mamba env update --name your_env_name --file environment_w_jupyter.yml --prune`
you will also need to activate this environment by name.)


We install the `environment_w_jupyter.yml` to provide all known dependencies 
including those for running the example notebooks. (The `environment.yml` 
does not contain Jupyter or JupyterLab because this interferes with installation
on WholeTale, see Getting Started section below.)


## Getting started / Example notebooks

Please note that you can browse the API reference, developer info, and index
in the [pywatershed docs]((https://pywatershed.readthedocs.io/)). But
*the best way to get started with pywatershed is to dive into the example
notebooks*.

For introductory example notebooks, look in the
[`examples/`](https://github.com/EC-USGS/pywatershed/tree/main/examples>)
directory in the repository. Numbered starting at 00, these are meant to be
completed in order. Numbered starting at 00, these are meant to be completed
in order. Notebook outputs are not saved in Github. But you can run these
notebooks locally or using WholeTale (an NSF funded project supporting logins
from many institutions, free but sign-up or log-in required)
where the pywatershed environment is all ready to go:

[![WholeTale](https://raw.githubusercontent.com/whole-tale/wt-design-docs/master/badges/wholetale-explore.svg)](https://dashboard.wholetale.org)

  * [Run latest release in WholeTale](https://dashboard.wholetale.org/run/64ae29e8a887f48b9f173678?tab=metadata)
  * [Run the develop branch in WholeTale](https://dashboard.wholetale.org/run/64ae25c3a887f48b9f1735c8?tab=metadata)

WholeTale will give you a JupyterLab running in the root of this
repository. You can navigate to `examples/` and then open and run the notebooks
of your choice.  The develop container may require the user to update the
repository (`git pull origin`) to stay current with development.

Non-numbered notebooks in `examples/` cover additional topics. These
notebooks are not yet covered by testing and you may encounter some
issues. In `examples/developer/` there are notebooks of interest to
developers who may want to learn about running the software tests.


## Community engagement

We value your feedback! Please use [discussions](https://github.com/EC-USGS/pywatershed/discussions)
or [issues](https://github.com/EC-USGS/pywatershed/issues) on Github. 
For more in-depth contributions, please start by reading over
the pywatershed
[DEVELOPER.md](https://github.com/EC-USGS/pywatershed/blob/develop/DEVELOPER.md) and
[CONTRIBUTING.md](https://github.com/EC-USGS/pywatershed/blob/develop/CONTRIBUTING.md)
guidelines.

Thank you for your interest.

## How to Cite

McCreight, J. L., Langevin, C. D., Hughes, J. D., & Bonelli, W. P. (2024). pywatershed (Version 2.0.0) [Computer software]. [https://doi.org/10.5066/P13EWPEV](https://doi.org/10.5066/P13EWPEV)

## Disclaimer

This software has been approved for release by the U.S. Geological Survey (USGS). Although the
software has been subjected to rigorous review, the USGS reserves the right to update the
software as needed pursuant to further analysis and review. 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. Furthermore, the software
is released on condition that neither the USGS nor the U.S. Government shall be held liable
for any damages resulting from its authorized or unauthorized use.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "pywatershed",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<3.12,>=3.10",
    "maintainer_email": "\"James L. McCreight\" <jmccreight@usgs.gov>, \"Joseph D. Hughes\" <jdhughes@usgs.gov>",
    "keywords": "hydrology, PRMS",
    "author": null,
    "author_email": "USGS Enterprise Capacity Team <modflow@usgs.gov>",
    "download_url": "https://files.pythonhosted.org/packages/3d/a4/0c44276f3f6f02a8e941e76067a2e409076293131e383b17fdb3372addbc/pywatershed-2.0.0.tar.gz",
    "platform": null,
    "description": "# pywatershed\n\n[![ci-badge](https://github.com/ec-usgs/pywatershed/workflows/CI/badge.svg?branch=develop)](https://github.com/ec-usgs/pywatershed/actions?query=workflow%3ACI)\n[![codecov-badge](https://codecov.io/gh/ec-usgs/pywatershed/branch/main/graph/badge.svg)](https://codecov.io/gh/ec-usgs/pywatershed)\n[![Documentation Status](https://readthedocs.org/projects/pywatershed/badge/?version=latest)](https://pywatershed.readthedocs.io/en/latest/?badge=latest)\n[![asv](http://img.shields.io/badge/benchmarked%20by-asv-green.svg?style=flat)](https://github.com/ec-usgs/pywatershed)\n[![Formatted with Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)\n\n[![Available on pypi](https://img.shields.io/pypi/v/pywatershed.svg)](https://pypi.python.org/pypi/pywatershed)\n[![PyPI Status](https://img.shields.io/pypi/status/pywatershed.svg)](https://pypi.python.org/pypi/pywatershed)\n[![PyPI Versions](https://img.shields.io/pypi/pyversions/pywatershed.svg)](https://pypi.python.org/pypi/pywatershed)\n\n[![Anaconda-Server Badge](https://anaconda.org/conda-forge/pywatershed/badges/version.svg)](https://anaconda.org/conda-forge/pywatershed)\n[![Anaconda-Server Badge](https://anaconda.org/conda-forge/pywatershed/badges/platforms.svg)](https://anaconda.org/conda-forge/pywatershed)\n\n[![DOI:10.5066/P13EWPEV](https://img.shields.io/badge/DOI-10.5066/P13EWPEV-b4a9fe.svg)](https://doi.org/10.5066/P13EWPEV)\n\n[![WholeTale](https://raw.githubusercontent.com/whole-tale/wt-design-docs/master/badges/wholetale-explore.svg)](https://dashboard.wholetale.org/run/64ae29e8a887f48b9f173678?tab=metadata)\n\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n**Table of Contents**\n\n- [About](#about)\n- [Installation](#installation)\n- [Getting started / Example notebooks](#getting-started--example-notebooks)\n- [Community engagement](#community-engagement)\n- [How to Cite](#how-to-cite)\n- [Disclaimer](#disclaimer)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n## About\n\nWelcome to the pywatershed repository!\n\nPywatershed is Python package for simulating hydrologic processes motivated by\nthe need to modernize important, legacy hydrologic models at the USGS,\nparticularly the\n[Precipitation-Runoff Modeling System](https://www.usgs.gov/software/precipitation-runoff-modeling-system-prms)\n(PRMS, Markstrom et al., 2015) and its role in\n[GSFLOW](https://www.usgs.gov/software/gsflow-coupled-groundwater-and-surface-water-flow-model>)\n(Markstrom et al., 2008).\nThe goal of modernization is to make these legacy models more flexible as process\nrepresentations, to support testing of alternative hydrologic process\nconceptualizations, and to facilitate the incorporation of cutting edge\nmodeling techniques and data sources. Pywatershed is a place for experimentation\nwith software design, process representation, and data fusion in the context\nof well-established hydrologic process modeling.\n\nFor more information on the goals and status of pywatershed, please see the [pywatershed docs](https://pywatershed.readthedocs.io/).\n\n\n## Installation\n\n`pywatershed` uses Python 3.10 or 3.11.\n\nThe `pywatershed` package is [available on\nPyPI](https://pypi.org/project/pywatershed/) but installation of all\ndependencies sets (lint, test, optional, doc, and all) may not be reliable on\nall platforms. \n\nThe `pywatershed` package is [available on\nconda-forge](https://anaconda.org/conda-forge/pywatershed). The installation\nis the quickest way to get up and running by provides only the minimal set of\ndependencies (not including Jupyter nor all packages needed for running the\nexample notebooks, also not suitable for development purposes). \n\nWe recommend the following installation procedures to get fully-functional\nenvironments for running `pywatershed` and its example notebooks. We strongly\nrecommend using [Mamba](https://mamba.readthedocs.io/en/latest/)to first\ninstal dependencies from the `environment_y_jupyter.yml` file in the\nrepository before installing `pywatershed` itself. Mamba will be much faster\nthan Ananconda (but the conda command could also be used). \n\nIf you wish to use the stable release, you will use `main` in place of \n`<branch>` in the following commands. If you want to follow development, you'll\nuse `develop` instead.\n\nWithout using `git` (directly), you may:\n```\ncurl -L -O https://raw.githubusercontent.com/EC-USGS/pywatershed/<branch>/environment_w_jupyter.yml\nmamba env create -f environment_w_jupyter.yml\nconda activate pws\npip install git+https://github.com/EC-USGS/pywatershed.git@<branch>\n```\n\nOr to use `git` and to be able to develop:\n\n```\ngit clone https://github.com/EC-USGS/pywatershed.git\ncd pywatershed\nmamba env create -f environment_w_jupyter.yml\nactivate pws\npip install -e .\n```\n\n(If you want to name the environment other than the default `pws`, use the\ncommand \n`mamba env update --name your_env_name --file environment_w_jupyter.yml --prune`\nyou will also need to activate this environment by name.)\n\n\nWe install the `environment_w_jupyter.yml` to provide all known dependencies \nincluding those for running the example notebooks. (The `environment.yml` \ndoes not contain Jupyter or JupyterLab because this interferes with installation\non WholeTale, see Getting Started section below.)\n\n\n## Getting started / Example notebooks\n\nPlease note that you can browse the API reference, developer info, and index\nin the [pywatershed docs]((https://pywatershed.readthedocs.io/)). But\n*the best way to get started with pywatershed is to dive into the example\nnotebooks*.\n\nFor introductory example notebooks, look in the\n[`examples/`](https://github.com/EC-USGS/pywatershed/tree/main/examples>)\ndirectory in the repository. Numbered starting at 00, these are meant to be\ncompleted in order. Numbered starting at 00, these are meant to be completed\nin order. Notebook outputs are not saved in Github. But you can run these\nnotebooks locally or using WholeTale (an NSF funded project supporting logins\nfrom many institutions, free but sign-up or log-in required)\nwhere the pywatershed environment is all ready to go:\n\n[![WholeTale](https://raw.githubusercontent.com/whole-tale/wt-design-docs/master/badges/wholetale-explore.svg)](https://dashboard.wholetale.org)\n\n  * [Run latest release in WholeTale](https://dashboard.wholetale.org/run/64ae29e8a887f48b9f173678?tab=metadata)\n  * [Run the develop branch in WholeTale](https://dashboard.wholetale.org/run/64ae25c3a887f48b9f1735c8?tab=metadata)\n\nWholeTale will give you a JupyterLab running in the root of this\nrepository. You can navigate to `examples/` and then open and run the notebooks\nof your choice.  The develop container may require the user to update the\nrepository (`git pull origin`) to stay current with development.\n\nNon-numbered notebooks in `examples/` cover additional topics. These\nnotebooks are not yet covered by testing and you may encounter some\nissues. In `examples/developer/` there are notebooks of interest to\ndevelopers who may want to learn about running the software tests.\n\n\n## Community engagement\n\nWe value your feedback! Please use [discussions](https://github.com/EC-USGS/pywatershed/discussions)\nor [issues](https://github.com/EC-USGS/pywatershed/issues) on Github. \nFor more in-depth contributions, please start by reading over\nthe pywatershed\n[DEVELOPER.md](https://github.com/EC-USGS/pywatershed/blob/develop/DEVELOPER.md) and\n[CONTRIBUTING.md](https://github.com/EC-USGS/pywatershed/blob/develop/CONTRIBUTING.md)\nguidelines.\n\nThank you for your interest.\n\n## How to Cite\n\nMcCreight, J. L., Langevin, C. D., Hughes, J. D., & Bonelli, W. P. (2024). pywatershed (Version 2.0.0) [Computer software]. [https://doi.org/10.5066/P13EWPEV](https://doi.org/10.5066/P13EWPEV)\n\n## Disclaimer\n\nThis software has been approved for release by the U.S. Geological Survey (USGS). Although the\nsoftware has been subjected to rigorous review, the USGS reserves the right to update the\nsoftware as needed pursuant to further analysis and review. No warranty, expressed or implied,\nis made by the USGS or the U.S. Government as to the functionality of the software and related\nmaterial nor shall the fact of release constitute any such warranty. Furthermore, the software\nis released on condition that neither the USGS nor the U.S. Government shall be held liable\nfor any damages resulting from its authorized or unauthorized use.\n",
    "bugtrack_url": null,
    "license": "CC0",
    "summary": "pywatershed is a Python package for hydrologic modeling",
    "version": "2.0.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/EC-USGS/pywatershed/issues",
        "Documentation": "https://pywatershed.readthedocs.io",
        "Source Code": "https://github.com/EC-USGS/pywatershed"
    },
    "split_keywords": [
        "hydrology",
        " prms"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4ff0bc8da291abf5f2ca89af1dff5545d0e022ef5fb4b8be611b2bb3c9e05678",
                "md5": "9ad2c860c2d628a3914a67d77b82a4c6",
                "sha256": "e676f06e469f5149163a0c25fe019e12765d25b10b32eeee8d06cfc7d9455217"
            },
            "downloads": -1,
            "filename": "pywatershed-2.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "9ad2c860c2d628a3914a67d77b82a4c6",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<3.12,>=3.10",
            "size": 14315693,
            "upload_time": "2024-12-19T01:06:44",
            "upload_time_iso_8601": "2024-12-19T01:06:44.837812Z",
            "url": "https://files.pythonhosted.org/packages/4f/f0/bc8da291abf5f2ca89af1dff5545d0e022ef5fb4b8be611b2bb3c9e05678/pywatershed-2.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3da40c44276f3f6f02a8e941e76067a2e409076293131e383b17fdb3372addbc",
                "md5": "98f1c55e38faf462ce7a348e6383f6d9",
                "sha256": "16d905f5a494560db3547b2c27cd9cd60bfe00ef8d1c742e0fd00c233bb0a656"
            },
            "downloads": -1,
            "filename": "pywatershed-2.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "98f1c55e38faf462ce7a348e6383f6d9",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.12,>=3.10",
            "size": 14289243,
            "upload_time": "2024-12-19T01:06:49",
            "upload_time_iso_8601": "2024-12-19T01:06:49.111795Z",
            "url": "https://files.pythonhosted.org/packages/3d/a4/0c44276f3f6f02a8e941e76067a2e409076293131e383b17fdb3372addbc/pywatershed-2.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-19 01:06:49",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "EC-USGS",
    "github_project": "pywatershed",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "pywatershed"
}
        
Elapsed time: 0.39041s