pysteps

Python framework for short-term ensemble prediction systems.

https://github.com/pysteps/pysteps

Science Score: 77.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 6 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    1 of 35 committers (2.9%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.0%) to scientific vocabulary

Keywords

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

Keywords from Contributors

atmospheric-modelling meteorology
Last synced: 6 months ago · JSON representation ·

Repository

Python framework for short-term ensemble prediction systems.

Basic Info
  • Host: GitHub
  • Owner: pySTEPS
  • License: bsd-3-clause
  • Language: Python
  • Default Branch: master
  • Homepage: https://pysteps.github.io/
  • Size: 3.54 MB
Statistics
  • Stars: 514
  • Watchers: 17
  • Forks: 180
  • Open Issues: 57
  • Releases: 36
Topics
advection ensemble-prediction forecast-verification hydrology nowcasting optical-flow precipitation rainfall rainfall-prediction stochastic-processes weather weather-radar
Created over 7 years ago · Last pushed 7 months ago
Metadata Files
Readme Contributing License Citation

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

Owner

  • Name: pySTEPS
  • Login: pySTEPS
  • Kind: organization

The nowcasting initiative

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},
}

GitHub Events

Total
  • Create event: 26
  • Release event: 6
  • Issues event: 36
  • Watch event: 51
  • Delete event: 14
  • Issue comment event: 194
  • Push event: 142
  • Pull request event: 43
  • Pull request review event: 145
  • Pull request review comment event: 143
  • Fork event: 11
Last Year
  • Create event: 26
  • Release event: 6
  • Issues event: 36
  • Watch event: 51
  • Delete event: 14
  • Issue comment event: 194
  • Push event: 142
  • Pull request event: 43
  • Pull request review event: 145
  • Pull request review comment event: 143
  • Fork event: 11

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 1,438
  • Total Committers: 35
  • Avg Commits per committer: 41.086
  • Development Distribution Score (DDS): 0.563
Past Year
  • Commits: 45
  • Committers: 12
  • Avg Commits per committer: 3.75
  • Development Distribution Score (DDS): 0.578
Top Committers
Name Email Commits
ned d****i@m****h 629
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 34
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
Petteri Karsisto p****o@f****i 2
Daan Buekenhout 7****t 2
Lesley De Cruz l****z@m****e 2
chiara-arpae 7****e 2
tjniemi t****i@a****i 1
Jussi Tiira j****a@h****i 1
vklaus 7****h 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
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 5 more...
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 205
  • Total pull requests: 350
  • Average time to close issues: 2 months
  • Average time to close pull requests: about 1 month
  • Total issue authors: 67
  • Total pull request authors: 41
  • Average comments per issue: 2.88
  • Average comments per pull request: 3.32
  • Merged pull requests: 297
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 27
  • Pull requests: 55
  • Average time to close issues: 7 days
  • Average time to close pull requests: 10 days
  • Issue authors: 14
  • Pull request authors: 8
  • Average comments per issue: 0.48
  • Average comments per pull request: 5.42
  • Merged pull requests: 46
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • dnerini (37)
  • ladc (21)
  • pulkkins (20)
  • RubenImhoff (11)
  • Fangyh09 (9)
  • aperezhortal (9)
  • mats-knmi (9)
  • sidekock (6)
  • 5fcgdaeb (4)
  • mpvginde (4)
  • meteoswiss-mdr (3)
  • HY-10 (3)
  • pkars (3)
  • miaoneng (2)
  • winash12 (2)
Pull Request Authors
  • dnerini (100)
  • RubenImhoff (45)
  • aperezhortal (39)
  • mats-knmi (29)
  • cvelascof (24)
  • pulkkins (20)
  • sidekock (12)
  • ladc (6)
  • EsmailGhaemi (6)
  • gjm174 (6)
  • ritvje (5)
  • aitaten (5)
  • loforest (4)
  • mpvginde (4)
  • feldmann-m (4)
Top Labels
Issue Labels
enhancement (35) bug (28) discussion (14) 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)
Pull Request Labels
enhancement (38) documentation (11) bug (7) help wanted (3) low priority (1) medium priority (1) discussion (1) good first issue (1)

Packages

  • Total packages: 4
  • Total downloads:
    • pypi 3,143 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

  • Versions: 33
  • Dependent Packages: 1
  • Dependent Repositories: 4
  • Downloads: 3,143 Last month
Rankings
Dependent packages count: 3.2%
Stargazers count: 3.3%
Forks count: 4.1%
Average: 5.1%
Downloads: 7.4%
Dependent repos count: 7.6%
Maintainers (3)
Last synced: 6 months ago
proxy.golang.org: github.com/pysteps/pysteps
  • Versions: 31
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 6 months ago
proxy.golang.org: github.com/pySTEPS/pysteps
  • Versions: 31
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 6 months ago
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.

  • Versions: 17
  • Dependent Packages: 0
  • Dependent Repositories: 1
Rankings
Forks count: 15.9%
Stargazers count: 21.4%
Dependent repos count: 24.1%
Average: 28.3%
Dependent packages count: 51.5%
Last synced: 6 months ago

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