A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

pySTEPS

An open-source and community-driven Python library for probabilistic precipitation nowcasting, i.e. short-term ensemble prediction systems.
https://github.com/pySTEPS/pysteps

Category: Natural Resources
Sub Category: Water Supply and Quality

Keywords

advection ensemble-prediction forecast-verification hydrology nowcasting optical-flow precipitation rainfall rainfall-prediction stochastic-processes weather weather-radar

Keywords from Contributors

case-study precipitation-data closember meteorology water measurements

Last synced: about 17 hours ago
JSON representation

Repository metadata

Python framework for short-term ensemble prediction systems.

README.rst

          pysteps - Python framework for short-term ensemble prediction systems
=====================================================================

.. start-badges

.. list-table::
    :stub-columns: 1
    :widths: 10 90

    * - docs
      - |stable| |colab| |gallery|
    * - status
      - |test| |docs| |codecov| |codacy| |black|
    * - package
      - |github| |conda| |pypi| |zenodo|
    * - community
      - |contributors| |downloads| |license|


.. |docs| image:: https://readthedocs.org/projects/pysteps/badge/?version=latest
    :alt: Documentation Status
    :target: https://pysteps.readthedocs.io/

.. |test| image:: https://github.com/pySTEPS/pysteps/workflows/Test%20pysteps/badge.svg
    :alt: Test pysteps
    :target: https://github.com/pySTEPS/pysteps/actions?query=workflow%3A"Test+Pysteps"

.. |black| image:: https://github.com/pySTEPS/pysteps/workflows/Check%20Black/badge.svg
    :alt: Check Black
    :target: https://github.com/pySTEPS/pysteps/actions?query=workflow%3A"Check+Black"

.. |codecov| image:: https://codecov.io/gh/pySTEPS/pysteps/branch/master/graph/badge.svg
    :alt: Coverage
    :target: https://codecov.io/gh/pySTEPS/pysteps

.. |github| image:: https://img.shields.io/github/release/pySTEPS/pysteps.svg
    :target: https://github.com/pySTEPS/pysteps/releases/latest
    :alt: Latest github release

.. |conda| image:: https://anaconda.org/conda-forge/pysteps/badges/version.svg
    :target: https://anaconda.org/conda-forge/pysteps
    :alt: Anaconda Cloud

.. |pypi| image:: https://badge.fury.io/py/pysteps.svg
    :target: https://pypi.org/project/pysteps/
    :alt: Latest PyPI version

.. |license| image:: https://img.shields.io/badge/License-BSD%203--Clause-blue.svg
    :alt: License
    :target: https://opensource.org/licenses/BSD-3-Clause

.. |contributors| image:: https://img.shields.io/github/contributors/pySTEPS/pysteps
    :alt: GitHub contributors
    :target: https://github.com/pySTEPS/pysteps/graphs/contributors

.. |downloads| image:: https://img.shields.io/conda/dn/conda-forge/pysteps
    :alt: Conda downloads
    :target: https://anaconda.org/conda-forge/pysteps

.. |colab| image:: https://colab.research.google.com/assets/colab-badge.svg
    :alt: My first nowcast
    :target: https://colab.research.google.com/github/pySTEPS/pysteps/blob/master/examples/my_first_nowcast.ipynb

.. |gallery| image:: https://img.shields.io/badge/example-gallery-blue.svg
    :alt: pysteps example gallery
    :target: https://pysteps.readthedocs.io/en/stable/auto_examples/index.html
    
.. |stable| image:: https://img.shields.io/badge/docs-stable-blue.svg
    :alt: pysteps documentation
    :target: https://pysteps.readthedocs.io/en/stable/
    
.. |codacy| image:: https://api.codacy.com/project/badge/Grade/6cff9e046c5341a4afebc0347362f8de
   :alt: Codacy Badge
   :target: https://app.codacy.com/gh/pySTEPS/pysteps?utm_source=github.com&utm_medium=referral&utm_content=pySTEPS/pysteps&utm_campaign=Badge_Grade

.. |zenodo| image:: https://zenodo.org/badge/140263418.svg
   :alt: DOI
   :target: https://zenodo.org/badge/latestdoi/140263418

.. end-badges

What is pysteps?
================

Pysteps is an open-source and community-driven Python library for probabilistic precipitation nowcasting, i.e. short-term ensemble prediction systems.

The aim of pysteps is to serve two different needs. The first is to provide a modular and well-documented framework for researchers interested in developing new methods for nowcasting and stochastic space-time simulation of precipitation. The second aim is to offer a highly configurable and easily accessible platform for practitioners ranging from weather forecasters to hydrologists.

The pysteps library supports standard input/output file formats and implements several optical flow methods as well as advanced stochastic generators to produce ensemble nowcasts. In addition, it includes tools for visualizing and post-processing the nowcasts and methods for deterministic, probabilistic, and neighbourhood forecast verification.


Quick start
-----------

Use pysteps to compute and plot a radar extrapolation nowcast in Google Colab with `this interactive notebook `_.

Installation
============

The recommended way to install pysteps is with `conda `_ from the conda-forge channel::

    $ conda install -c conda-forge pysteps

More details can be found in the `installation guide `_.

Usage
=====

Have a look at the `gallery of examples `__ to get a good overview of what pysteps can do.

For a more detailed description of all the available methods, check the  `API reference `_ page.

Example data
============

A set of example radar data is available in a separate repository: `pysteps-data `_.
More information on how to download and install them is available `here `_.

Contributions
=============

*We welcome contributions!*

For feedback, suggestions for developments, and bug reports please use the dedicated `issues page `_.

For more information, please read our `contributors guidelines `_.


Reference publications
======================

The overall library is described in

Pulkkinen, S., D. Nerini, A. Perez Hortal, C. Velasco-Forero, U. Germann,
A. Seed, and L. Foresti, 2019:  Pysteps:  an open-source Python library for
probabilistic precipitation nowcasting (v1.0). *Geosci. Model Dev.*, **12 (10)**,
4185–4219, doi:`10.5194/gmd-12-4185-2019 `_.

While the more recent blending module is described in

Imhoff, R.O., L. De Cruz, W. Dewettinck, C.C. Brauer, R. Uijlenhoet, K-J. van Heeringen, 
C. Velasco-Forero, D. Nerini, M. Van Ginderachter, and A.H. Weerts, 2023:
Scale-dependent blending of ensemble rainfall nowcasts and NWP in the open-source
pysteps library. *Q J R Meteorol Soc.*, 1-30,
doi: `10.1002/qj.4461 `_.


Contributors
============

.. image:: https://contrib.rocks/image?repo=pySTEPS/pysteps
   :target: https://github.com/pySTEPS/pysteps/graphs/contributors

        

Citation (CITATION.bib)

@Article{gmd-12-4185-2019,
  AUTHOR = {Pulkkinen, S. and Nerini, D. and P\'erez Hortal, A. A. and Velasco-Forero, C. and Seed, A. and Germann, U. and Foresti, L.},
  TITLE = {Pysteps: an open-source Python library  for probabilistic precipitation nowcasting (v1.0)},
  JOURNAL = {Geoscientific Model Development},
  VOLUME = {12},
  YEAR = {2019},
  NUMBER = {10},
  PAGES = {4185--4219},
  URL = {https://gmd.copernicus.org/articles/12/4185/2019/},
  DOI = {10.5194/gmd-12-4185-2019}
}
@article{qj.4461,
  AUTHOR = {Imhoff, Ruben O. and De Cruz, Lesley and Dewettinck, Wout and Brauer, Claudia C. and Uijlenhoet, Remko and van Heeringen, Klaas-Jan and Velasco-Forero, Carlos and Nerini, Daniele and Van Ginderachter, Michiel and Weerts, Albrecht H.},
  TITLE = {Scale-dependent blending of ensemble rainfall nowcasts and NWP in the open-source pysteps library},
  JOURNAL = {Quarterly Journal of the Royal Meteorological Society},
  VOLUME = {n/a},
  NUMBER = {n/a},
  YEAR = {2023},
  PAGES ={1--30},
  DOI = {https://doi.org/10.1002/qj.4461},
  URL = {https://rmets.onlinelibrary.wiley.com/doi/abs/10.1002/qj.4461},
}


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 4 days ago

Total Commits: 1,429
Total Committers: 34
Avg Commits per committer: 42.029
Development Distribution Score (DDS): 0.563

Commits in past year: 52
Committers in past year: 16
Avg Commits per committer in past year: 3.25
Development Distribution Score (DDS) in past year: 0.577

Name Email Commits
ned d****i@m****h 625
Seppo Pulkkinen p****s@g****m 512
Andres Perez Hortal a****a@g****m 100
Carlos Velasco c****o@b****u 53
Ruben Imhoff 3****f 32
lforesti l****i@m****h 32
Seppo Pulkkinen s****n@f****i 27
mats-knmi 1****i 7
Simon De Kock s****k@v****e 4
EsmailGhaemi 4****i 3
Monika Feldmann m****n@e****h 3
mpvginde 8****e 3
Jenna Ritvanen j****n@f****i 3
Lesley De Cruz l****z@m****e 2
Daan Buekenhout 7****t 2
Petteri Karsisto p****o@f****i 2
chiara-arpae 7****e 2
tjniemi t****i@a****i 1
Jussi Tiira j****a@h****i 1
Aleksei Rutkovskii 7****i 1
Codacy Badger b****r@c****m 1
Coder_Hong f****9@g****m 1
FelixE91 f****n@m****e 1
Joep1999 1****9 1
NathalieRombeek 1****k 1
Petteri Karsisto 3****s 1
Simon Beylat 7****t 1
Viktor VN v****r@g****m 1
aitaten 8****n 1
albertocarpentieri 5****i 1
and 4 more...

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 211
Total pull requests: 279
Average time to close issues: about 2 months
Average time to close pull requests: 29 days
Total issue authors: 65
Total pull request authors: 39
Average comments per issue: 3.27
Average comments per pull request: 3.36
Merged pull request: 242
Bot issues: 0
Bot pull requests: 0

Past year issues: 74
Past year pull requests: 62
Past year average time to close issues: 18 days
Past year average time to close pull requests: 13 days
Past year issue authors: 21
Past year pull request authors: 13
Past year average comments per issue: 2.41
Past year average comments per pull request: 3.95
Past year merged pull request: 44
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/pySTEPS/pysteps

Top Issue Authors

  • dnerini (36)
  • ladc (28)
  • pulkkins (19)
  • mats-knmi (14)
  • aperezhortal (9)
  • Fangyh09 (9)
  • RubenImhoff (8)
  • sidekock (4)
  • HY-10 (4)
  • 5fcgdaeb (4)
  • mpvginde (4)
  • meteoswiss-mdr (3)
  • pkars (3)
  • wxguy (3)
  • winash12 (2)

Top Pull Request Authors

  • dnerini (83)
  • aperezhortal (39)
  • RubenImhoff (34)
  • cvelascof (24)
  • mats-knmi (17)
  • pulkkins (15)
  • sidekock (6)
  • ladc (5)
  • EsmailGhaemi (5)
  • gjm174 (4)
  • ritvje (4)
  • feldmann-m (4)
  • loforest (4)
  • aitaten (3)
  • mpvginde (3)

Top Issue Labels

  • enhancement (35)
  • bug (31)
  • discussion (14)
  • low priority (8)
  • medium priority (8)
  • support (7)
  • documentation (4)
  • good first issue (4)
  • high priority (4)
  • question (4)
  • help wanted (4)
  • v2 (3)
  • wontfix (1)
  • release (1)

Top Pull Request Labels

  • enhancement (28)
  • documentation (8)
  • bug (6)
  • help wanted (2)
  • low priority (1)
  • medium priority (1)
  • discussion (1)

Package metadata

pypi.org: pysteps

Python framework for short-term ensemble prediction systems

  • Homepage: https://pysteps.github.io/
  • Documentation: https://pysteps.readthedocs.io
  • Licenses: LICENSE
  • Latest release: 1.17.0 (published 4 days ago)
  • Last Synced: 2025-04-25T13:05:31.727Z (1 day ago)
  • Versions: 31
  • Dependent Packages: 1
  • Dependent Repositories: 4
  • Downloads: 4,288 Last month
  • Rankings:
    • Dependent packages count: 3.244%
    • Stargazers count: 3.32%
    • Forks count: 4.123%
    • Average: 5.14%
    • Downloads: 7.363%
    • Dependent repos count: 7.649%
  • Maintainers (3)
conda-forge.org: pysteps

pySTEPS is a community-driven initiative for developing and maintaining an easy to use, modular, free and open-source Python framework for short-term ensemble prediction systems.

  • Homepage: https://pysteps.github.io/
  • Licenses: BSD-3-Clause
  • Latest release: 1.7.1 (published over 2 years ago)
  • Last Synced: 2025-04-25T13:05:47.972Z (1 day ago)
  • Versions: 17
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Rankings:
    • Forks count: 15.942%
    • Stargazers count: 21.428%
    • Dependent repos count: 24.103%
    • Average: 28.253%
    • Dependent packages count: 51.54%

Dependencies

.github/workflows/check_black.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/python-publish.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/test_pysteps.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • codecov/codecov-action v3 composite
  • mamba-org/provision-with-micromamba main composite
doc/requirements.txt pypi
  • pandas *
  • pysteps_nwp_importers main
  • scikit-image *
  • sphinx *
  • sphinx-book-theme *
  • sphinx_gallery *
  • sphinxcontrib.bibtex *
requirements.txt pypi
  • jsmin *
  • jsonschema *
  • matplotlib *
  • netCDF4 *
  • numpy *
  • opencv-python *
  • pillow *
  • pyproj *
  • scipy *
requirements_dev.txt pypi
  • cartopy >=0.18 development
  • dask * development
  • h5py * development
  • jsmin * development
  • jsonschema * development
  • matplotlib * development
  • netCDF4 * development
  • numpy * development
  • opencv-python * development
  • pandas * development
  • pillow * development
  • pyfftw * development
  • pyproj * development
  • pytest * development
  • python >=3.7 development
  • rasterio * development
  • scikit-image * development
  • scipy * development
pyproject.toml pypi
setup.py pypi
environment.yml conda
  • jsmin
  • jsonschema
  • matplotlib
  • netcdf4
  • numpy
  • opencv
  • pillow
  • pyproj
  • python >=3.9
  • scipy

Score: 18.19648171081314