pytesmo - a Python Toolbox for the Evaluation of Soil Moisture Observations

pytesmo, the Python Toolbox for the Evaluation of Soil Moisture Observations, is a package/python toolbox which aims to provide a library that can be used for the comparison and validation of geospatial time series datasets with a (initial) focus on soil moisture.

Documentation & Software Citation

To see the latest full documentation click on the docs badge at the top.

If you use the software in a publication then please cite it using the Zenodo DOI. Be aware that this badge links to the latest package version.

Please select your specific version at to get the DOI of that version. You should normally always use the DOI for the specific version of your record in citations. This is to ensure that other researchers can access the exact research artefact you used for reproducibility.

You can find additional information regarding DOI versioning at

If you want to contribute, take a look at the developers guide .


This package should be installable through pip which downloads the package from the python package repository Pypi. However, pytesmo also needs some packages that depend on C or Fortran libraries (like netCDF4). They should be installed first with conda or mamba. We recommend installing Mambaforge. Then the following command should install all dependencies:

mamba install -c conda-forge 'numpy<2.0.0' scipy pandas netCDF4 cython pyresample

Afterwards pytesmo can be installed via pip.

pip install pytesmo

As an alternative (e.g. if you want to contribute to the package), you can clone the Github repository and install from source:

git clone --recursive
cd pytesmo
mamba create -n pytesmo python=3.10 # or any supported python version
conda activate pytesmo
mamba env update -f environment.yml -n pytesmo
pip install -e .

Supported Products

Soil moisture is observed using different methods and instruments, in this version several satellite datasets as well as in situ and reanalysis data are supported through independent and optional (reader) packages:


We are happy if you want to contribute. Please raise an issue explaining what is missing or if you find a bug. We will also gladly accept pull requests against our master branch for new features or bug fixes.

Please follow the developers guide.

Indices and tables