icclim

Python library for climate indices and climate indicators calculation.
https://github.com/cerfacs-globc/icclim

Category: Climate Change
Sub Category: Climate Data Processing and Analysis

Keywords

calculation-climate climate-indicators climate-indices climate-simulations icclim netcdf python python-library python-package xarray xclim

Keywords from Contributors

earth-system-model climate climate-science netcdf4 anuclim climate-analysis meteorology oceanography spatial-data-analysis climate-datasets

Last synced: about 7 hours ago
JSON representation

Repository metadata

icclim: Python library for climate indices and climate indicators calculation.

README.rst

          |logo|
======

|build| |pypi| |ruff| |docs| |conda| |coverage| |doi|

icclim is a Python library to compute climate indices.
icclim name stands for index, calculation, climate.

Installation
------------

From conda-forge (recommended): ``conda install -c conda-forge icclim``.

From pypi: ``pip install icclim``.

From sources:
    - Clone the repository ``git clone https://github.com/cerfacs-globc/icclim.git``
    - Install icclim ``pip install .``

Compatibility
-------------

icclim is designed to be highly compatible across the Python scientific ecosystem:

- **Python**: Supports **Python 3.10 and above**.
- **Backward Compatibility**: Supports older stable versions (e.g., ``numpy>=1.21``, ``xarray>=2022.6``, ``xclim>=0.45``).
- **Bleeding Edge**: Fully verified and recommended to run on the latest major versions, including **Zarr 3.x**, **Pandas 3.x**, and **Xarray 2026.x**.

For production environments, we recommend keeping your dependencies updated to their latest stable releases to benefit from the latest optimizations and features.

How to use icclim
-----------------

Let's count the number of days above 25°C for each year, which corresponds to the index ``SU``, from a `tasmax` variable scattered in multiple netcdf files.

`SU` is one of the many index that can be computed with icclim. See `the documentation `_ to explore what other index you can compute with icclim.

.. code-block:: python

    import icclim

    summer_days = icclim.su(
        "netcdf_files/tasmax_1990-2100.nc", out_file="summer_days.nc"
    )

For more examples on how to use icclim, see icclim's `How to ... `_ documentation or
`our notebooks `_.


Who use icclim
--------------

icclim is part of `C4I platform `_ backend and is integrated in `CLIPC Portal `_.
icclim is also used by independent researchers.


Who made icclim
---------------

icclim has always been an open source project and was successfully made thanks to the joint effort of all its contributors.
The lead development is made at `CERFACS `_, a research institution located in Toulouse, France.

Grants
~~~~~~
This open-source project has been possible thanks to funding by the European Commission projects:

* FP7 CLIPC (2013-2016)
* FP7 IS-ENES2 (2013-2017)
* H2020 EUDAT2020 (2015-2018)
* H2020 IS-ENES3 (2019-2023)
* Horizon Europe FUTURA and ENES-RISe (2026-2029)

This project also receives funding from Agence Nationale de la Recherche - France 2030 as part of the PEPR TRACCS programme under grant number ANR-22-EXTR-0003 (PC2-INVEST 2024-2032).

The beautiful icclim logo is a creation of `Carole Petetin `_ and has been funded by the H2020 `IS-ENES3 `_ project grant agreement No 824084 (2019-2023).


Indices
-------
For a detailed description of each ECA&D index, please visit: https://www.ecad.eu/documents/atbd.pdf

..
  Pytest Coverage Comment:Begin

.. |coverage| image:: https://img.shields.io/badge/Coverage-82%25-green.svg
        :target: https://github.com/cerfacs-globc/icclim/blob/master/README.rst#code-coverage
        :alt: Code coverage

..
  Pytest Coverage Comment:End


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

.. |pypi| image:: https://img.shields.io/pypi/v/icclim.svg
        :target: https://pypi.python.org/pypi/icclim
        :alt: Python Package Index Build

.. |build| image:: https://github.com/cerfacs-globc/icclim/actions/workflows/ci.yml/badge.svg?branch=master
        :target: https://github.com/cerfacs-globc/icclim/actions/workflows/ci.yml
        :alt: Build Status

.. |conda| image:: https://img.shields.io/conda/vn/conda-forge/icclim.svg
        :target: https://anaconda.org/conda-forge/icclim
        :alt: Conda-forge Build Version

.. |doi| image:: https://zenodo.org/badge/15936714.svg
        :target: https://zenodo.org/badge/latestdoi/15936714
        :alt: D.O.I link

.. |logo| image:: https://github.com/cerfacs-globc/icclim/raw/master/doc/source/_static/logo_icclim_colored__displayed.svg
        :target: https://github.com/cerfacs-globc/icclim
        :alt: icclim
        :width: 200px

.. |ruff| image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json
        :target: https://github.com/astral-sh/ruff
        :alt: Ruff

        

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: "Page"
    given-names: "Christian"
    orcid: "https://orcid.org/0000-0002-4018-4720"
    affiliation: "CERFACS, Toulouse, France"
  - family-names: "Aoun"
    given-names: "Abel"
title: "icclim: Index Calculation CLIMate"
version: 7.1.6
doi: 10.5281/zenodo.6046052
date-released: 2026-07-22
url: "https://github.com/cerfacs-globc/icclim"
repository-code: "https://github.com/cerfacs-globc/icclim"
identifiers:
  - type: url
    value: "https://github.com/cerfacs-globc/icclim/tree/v7.1.6"
    description: "Specific version source code"
keywords:
  - "climate"
  - "climate indices"
  - "eca-d"
  - "xarray"
  - "xclim"
  - "dask"

Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 1 day ago

Total Commits: 1,635
Total Committers: 22
Avg Commits per committer: 74.318
Development Distribution Score (DDS): 0.632

Commits in past year: 313
Committers in past year: 8
Avg Commits per committer in past year: 39.125
Development Distribution Score (DDS) in past year: 0.351

Name Email Commits
abel a****n@c****r 602
Christian Page c****e@c****r 320
Natalia Tatatrinova n****a@c****r 274
pre-commit-ci[bot] 6****] 112
Abel Aoun a****l@o****m 95
GitHub Actions Bot 62
Natalia Tatarinova s****a@g****m 39
Xpiv x****s@g****m 28
Martin.Evaldsson M****n@s****e 24
dependabot[bot] 4****] 16
Abel Aoun a****n@e****t 16
github-actions[bot] 4****] 14
Natalia t****a@c****r 6
Marion HOUDAYER m****r@c****r 6
Lars Barring l****g@s****e 5
bekozi b****l@g****m 5
Marion HOUDAYER h****r@r****r 4
Pascal Bourgault b****l@o****a 2
Petros Gasteratos p****t 2
Marion HOUDAYER h****r@R****l 1
Damien Irving i****n@g****m 1
bascrezee b****e@g****m 1

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 125
Total pull requests: 312
Average time to close issues: about 1 year
Average time to close pull requests: 8 days
Total issue authors: 30
Total pull request authors: 14
Average comments per issue: 2.74
Average comments per pull request: 0.92
Merged pull request: 283
Bot issues: 0
Bot pull requests: 104

Past year issues: 12
Past year pull requests: 89
Past year average time to close issues: 3 months
Past year average time to close pull requests: 6 days
Past year issue authors: 4
Past year pull request authors: 5
Past year average comments per issue: 2.25
Past year average comments per pull request: 0.76
Past year merged pull request: 74
Past year bot issues: 0
Past year bot pull requests: 47

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/cerfacs-globc/icclim

Top Issue Authors

  • bzah (39)
  • pagecp (14)
  • marev711 (7)
  • thebaptiste (7)
  • MilkaRadojevic (7)
  • MH0UD (5)
  • bekozi (5)
  • DamienIrving (5)
  • jackaranda (4)
  • abel-bzz (4)
  • pauliscuss (3)
  • maartenplieger (3)
  • armellereca (2)
  • igryski (2)
  • ritviksahajpal (2)

Top Pull Request Authors

  • bzah (130)
  • pre-commit-ci[bot] (72)
  • pagecp (45)
  • github-actions[bot] (18)
  • xpivan (18)
  • dependabot[bot] (14)
  • bekozi (6)
  • MH0UD (2)
  • ptrgast (2)
  • bascrezee (1)
  • jackaranda (1)
  • DamienIrving (1)
  • mauromussin (1)
  • aulemahal (1)

Top Issue Labels

  • enhancement (5)
  • bug (4)
  • priority (3)
  • roadmap-5.3 (2)
  • roadmap-5.2.0 (2)
  • good first issue (2)

Top Pull Request Labels

  • dependencies (14)
  • python (12)
  • github_actions (2)
  • enhancement (2)

Package metadata

proxy.golang.org: github.com/cerfacs-globc/icclim

  • Homepage:
  • Documentation: https://pkg.go.dev/github.com/cerfacs-globc/icclim#section-documentation
  • Licenses: apache-2.0
  • Latest release: v7.1.7+incompatible (published 15 days ago)
  • Last Synced: 2026-08-12T13:04:01.392Z (1 day ago)
  • Versions: 30
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent packages count: 5.401%
    • Average: 5.583%
    • Dependent repos count: 5.764%
pypi.org: icclim

Python library for climate indices calculation.

  • Homepage:
  • Documentation: https://icclim.readthedocs.io/en/latest/how_to/index.html
  • Licenses: Apache Software License
  • Latest release: 7.1.7 (published 15 days ago)
  • Last Synced: 2026-08-12T13:02:42.689Z (1 day ago)
  • Versions: 34
  • Dependent Packages: 1
  • Dependent Repositories: 1
  • Downloads: 6,232 Last month
  • Rankings:
    • Downloads: 2.696%
    • Forks count: 6.928%
    • Dependent packages count: 7.306%
    • Stargazers count: 8.187%
    • Average: 9.439%
    • Dependent repos count: 22.077%
  • Maintainers (2)
conda-forge.org: icclim

icclim (Index Calculation CLIMate) is a python library for climate indices calculation. It wraps xclim, xarray and dask in a staight forward API. It is first meant to compute the ECA&D indices but also provide an API to create customized indices based on a few operators.

  • Homepage: https://github.com/cerfacs-globc/icclim
  • Licenses: Apache-2.0
  • Latest release: 6.0.0 (published almost 4 years ago)
  • Last Synced: 2026-04-01T13:29:00.419Z (4 months ago)
  • Versions: 7
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 32,882 Total
  • Rankings:
    • Dependent repos count: 24.103%
    • Forks count: 30.616%
    • Average: 35.898%
    • Stargazers count: 37.335%
    • Dependent packages count: 51.54%

Dependencies

.github/workflows/publish-to-pipy.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v2 composite
  • pypa/gh-action-pypi-publish v1.13.0 composite
pyproject.toml pypi
  • cf-xarray >=0.7.4
  • cftime >=1.5.0
  • dask [array]>=2022.2.0
  • dateparser >=1.1.0
  • fsspec *
  • jinja2 >=3.0
  • netcdf4 >=1.5.7
  • numcodecs >=0.10.0
  • numpy >=1.21
  • pandas >=1.3.0
  • pint >=0.20
  • xarray >=2022.6.0
  • xclim >=0.45.0
  • zarr >=2.11.0
environment.yml conda
  • cartopy
  • cf_xarray >=0.7.4
  • cftime >=1.5.0
  • dask[array]
  • dateparser
  • flit
  • fsspec
  • matplotlib
  • nbsphinx
  • netCDF4 >=1.5.7
  • numpy
  • pandas >=1.3
  • pint <0.20
  • pip
  • pre-commit
  • psutil
  • pydata-sphinx-theme
  • pytest
  • pytest-cov
  • python >=3.9
  • ruff
  • setuptools
  • sphinx
  • xarray >=2022.6
  • xclim >=0.45
  • zarr
requirements-lock.txt pypi
  • 135 dependencies
.github/workflows/ci.yml actions
  • MishaKav/pytest-coverage-comment main composite
  • actions/checkout v3 composite
  • actions/setup-python v2 composite

Score: 18.338234849270066