Installation

Stable release

To install xclim via pip, run this command in your terminal:

$ python -m pip install xclim

If you don’t have pip installed, this Python installation guide can guide you through the process.

Anaconda release

For ease of installation across operating systems, we also offer an Anaconda Python package hosted on conda-forge. This version tends to be updated at around the same frequency as the PyPI-hosted library, but can lag by a few days at times.

xclim can be installed from conda-forge with the following:

$ conda install -c conda-forge xclim

Extra Dependencies

Speedups and Helper Libraries

To improve performance of xclim, we highly recommend you also install flox (see: flox API). This package seamlessly integrates into xarray and significantly improves the performance of the grouping and resampling algorithms, especially when using dask on large datasets.

For grid subsetting, we also recommend using the tools found in clisops (see: clisops.core.subset API) for spatial manipulation of geospatial data. clisops began as a component of xclim and is designed to work alongside xclim and the Pangeo stack (xarray, dask, jupyter). In order to install clisops, the GDAL system libraries must be available.

On Debian/Ubuntu, GDAL can be installed via apt:

$ sudo apt-get install libgdal-dev

If on Anaconda Python, GDAL will be installed if needed as a clisops dependency.

Both of these libraries are available on PyPI and conda-forge:

$ python -m pip install flox clisops
# Or, alternatively:
$ conda install -c conda-forge flox clisops

Upstream Dependencies

xclim is regularly tested against the main development branches of a handful of key base libraries (cftime, flox, pint, xarray). For convenience, these libraries can be installed alongside xclim using the following pip-install command:

$ python -m pip install -r requirements_upstream.txt

Or, alternatively:

$ make upstream

Experimental SDBA Algorithms

xclim also offers support for a handful of experimental adjustment methods to extend xclim.sdba, available only if some additional libraries are installed. These libraries are completely optional.

One experimental library is SBCK. SBCK is available from PyPI but has one complex dependency: Eigen3. As SBCK is compiled at installation time, a C++ compiler (GCC, Clang, MSVC, etc.) must also be available.

On Debian/Ubuntu, Eigen3 can be installed via apt:

$ sudo apt-get install libeigen3-dev

Eigen3 is also available on conda-forge, so, if already using Anaconda, one can do:

$ conda install -c conda-forge eigen

Afterwards, SBCK can be installed from PyPI using pip:

$ python -m pip install pybind11 sbck

From sources

Warning

For Python3.11+ users: Many of the required scientific libraries do not currently have wheels that support the latest python. In order to ensure that installation of xclim doesn’t fail, we suggest installing the Cython module before installing xclim in order to compile necessary libraries from source packages.

The sources for xclim can be downloaded from the Github repo.

You can either clone the public repository:

$ git clone git@github.com:Ouranosinc/xclim.git

Or download the tarball:

$ curl -OL https://github.com/Ouranosinc/xclim/tarball/master

Once you have extracted a copy of the source, you can install it with pip:

$ python -m pip install -e ".[dev]"

Alternatively, you can also install a local development copy via flit:

$ flit install [--symlink] xclim

Creating a Conda environment

To create a conda environment including xclim’s dependencies and several optional libraries (notably: clisops, eigen, sbck, and flox) and development dependencies, run the following command from within your cloned repo:

$ conda env create -n my_xclim_env python=3.8 --file=environment.yml
$ conda activate my_xclim_env
(my_xclim_env) $ python -m pip install -e .