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
Last synced: 1 day ago
JSON representation
Repository metadata
Python framework for short-term ensemble prediction systems.
- Host: GitHub
- URL: https://github.com/pySTEPS/pysteps
- Owner: pySTEPS
- License: bsd-3-clause
- Created: 2018-07-09T09:32:49.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2025-09-30T19:43:24.000Z (3 months ago)
- Last Synced: 2025-10-21T20:07:31.062Z (2 months ago)
- Topics: advection, ensemble-prediction, forecast-verification, hydrology, nowcasting, optical-flow, precipitation, rainfall, rainfall-prediction, stochastic-processes, weather, weather-radar
- Language: Python
- Homepage: https://pysteps.github.io/
- Size: 3.69 MB
- Stars: 526
- Watchers: 17
- Forks: 184
- Open Issues: 70
- Releases: 36
-
Metadata Files:
- Readme: README.rst
- Contributing: CONTRIBUTING.rst
- License: LICENSE
- Citation: CITATION.bib
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
- Name: pySTEPS
- Login: pySTEPS
- Email:
- Kind: organization
- Description: The nowcasting initiative
- Website: https://pysteps.github.io/
- Location:
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/40021569?v=4
- Repositories: 5
- Last ynced at: 2023-03-08T19:10:23.141Z
- Profile URL: https://github.com/pySTEPS
GitHub Events
Total
- Create event: 33
- Commit comment event: 1
- Release event: 6
- Issues event: 45
- Watch event: 57
- Delete event: 18
- Issue comment event: 220
- Push event: 166
- Pull request event: 67
- Pull request review event: 163
- Pull request review comment event: 155
- Fork event: 12
Last Year
- Create event: 33
- Commit comment event: 1
- Release event: 6
- Issues event: 43
- Watch event: 54
- Delete event: 18
- Issue comment event: 216
- Push event: 163
- Pull request event: 67
- Pull request review event: 138
- Pull request review comment event: 116
- Fork event: 11
Committers metadata
Last synced: about 2 months ago
Total Commits: 1,443
Total Committers: 36
Avg Commits per committer: 40.083
Development Distribution Score (DDS): 0.563
Commits in past year: 31
Committers in past year: 9
Avg Commits per committer in past year: 3.444
Development Distribution Score (DDS) in past year: 0.613
| Name | Commits | |
|---|---|---|
| ned | d****i@m****h | 630 |
| Seppo Pulkkinen | p****s@g****m | 514 |
| Andres Perez Hortal | a****a@g****m | 100 |
| Carlos Velasco | c****o@b****u | 53 |
| Ruben Imhoff | 3****f | 35 |
| 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 |
| mpvginde | 8****e | 3 |
| Monika Feldmann | m****n@e****h | 3 |
| EsmailGhaemi | 4****i | 3 |
| Jenna Ritvanen | j****n@f****i | 3 |
| Petteri Karsisto | p****o@f****i | 2 |
| Joep1999 | 1****9 | 2 |
| chiara-arpae | 7****e | 2 |
| m-rempel | m****l@g****e | 2 |
| Daan Buekenhout | 7****t | 2 |
| Lesley De Cruz | l****t@g****m | 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 |
| Katelyn FitzGerald | 7****d | 1 |
| NathalieRombeek | 1****k | 1 |
| Petteri Karsisto | 3****s | 1 |
| Simon Beylat | 7****t | 1 |
| Viktor VN | v****r@g****m | 1 |
| and 6 more... | ||
Committer domains:
- fmi.fi: 3
- meteoswiss.ch: 2
- meteo.be: 1
- codacy.com: 1
- helsinki.fi: 1
- aalto.fi: 1
- gmx.de: 1
- epfl.ch: 1
- vub.be: 1
- bom.gov.au: 1
Issue and Pull Request metadata
Last synced: about 2 months ago
Total issues: 208
Total pull requests: 368
Average time to close issues: 2 months
Average time to close pull requests: about 1 month
Total issue authors: 67
Total pull request authors: 44
Average comments per issue: 2.85
Average comments per pull request: 3.22
Merged pull request: 301
Bot issues: 0
Bot pull requests: 0
Past year issues: 28
Past year pull requests: 67
Past year average time to close issues: 28 days
Past year average time to close pull requests: 8 days
Past year issue authors: 12
Past year pull request authors: 11
Past year average comments per issue: 0.54
Past year average comments per pull request: 3.69
Past year merged pull request: 44
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- dnerini (37)
- ladc (21)
- pulkkins (20)
- RubenImhoff (12)
- mats-knmi (10)
- Fangyh09 (9)
- aperezhortal (9)
- sidekock (7)
- 5fcgdaeb (4)
- mpvginde (4)
- meteoswiss-mdr (3)
- HY-10 (3)
- pkars (3)
- miaoneng (2)
- winash12 (2)
Top Pull Request Authors
- dnerini (101)
- RubenImhoff (46)
- aperezhortal (39)
- mats-knmi (32)
- cvelascof (24)
- pulkkins (20)
- sidekock (12)
- ladc (6)
- gjm174 (6)
- EsmailGhaemi (6)
- ritvje (5)
- aitaten (5)
- larsbonnefoy (5)
- loforest (4)
- feldmann-m (4)
Top Issue Labels
- enhancement (35)
- bug (28)
- discussion (15)
- low priority (8)
- medium priority (8)
- support (7)
- documentation (5)
- good first issue (5)
- high priority (4)
- question (4)
- help wanted (4)
- wontfix (1)
- release (1)
Top Pull Request Labels
- enhancement (39)
- documentation (10)
- bug (7)
- help wanted (3)
- low priority (1)
- medium priority (1)
- discussion (1)
- good first issue (1)
Package metadata
- Total packages: 4
-
Total downloads:
- pypi: 3,347 last-month
- Total dependent packages: 1 (may contain duplicates)
- Total dependent repositories: 5 (may contain duplicates)
- Total versions: 112
- Total maintainers: 3
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.18.1 (published 6 months ago)
- Last Synced: 2025-10-29T20:08:01.855Z (about 2 months ago)
- Versions: 33
- Dependent Packages: 1
- Dependent Repositories: 4
- Downloads: 3,347 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)
proxy.golang.org: github.com/pySTEPS/pysteps
- Homepage:
- Documentation: https://pkg.go.dev/github.com/pySTEPS/pysteps#section-documentation
- Licenses: bsd-3-clause
- Latest release: v1.18.1 (published 6 months ago)
- Last Synced: 2025-10-29T20:08:01.414Z (about 2 months ago)
- Versions: 31
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 5.395%
- Average: 5.576%
- Dependent repos count: 5.758%
proxy.golang.org: github.com/pysteps/pysteps
- Homepage:
- Documentation: https://pkg.go.dev/github.com/pysteps/pysteps#section-documentation
- Licenses: bsd-3-clause
- Latest release: v1.18.1 (published 6 months ago)
- Last Synced: 2025-10-29T20:08:00.056Z (about 2 months ago)
- Versions: 31
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 5.395%
- Average: 5.576%
- Dependent repos count: 5.758%
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 about 3 years ago)
- Last Synced: 2025-10-29T20:08:14.462Z (about 2 months 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
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- codecov/codecov-action v3 composite
- mamba-org/provision-with-micromamba main composite
- pandas *
- pysteps_nwp_importers main
- scikit-image *
- sphinx *
- sphinx-book-theme *
- sphinx_gallery *
- sphinxcontrib.bibtex *
- jsmin *
- jsonschema *
- matplotlib *
- netCDF4 *
- numpy *
- opencv-python *
- pillow *
- pyproj *
- scipy *
- 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
- jsmin
- jsonschema
- matplotlib
- netcdf4
- numpy
- opencv
- pillow
- pyproj
- python >=3.9
- scipy
Score: 18.09226467310856