pytesmo a Python Toolbox for the Evaluation of Soil Moisture Observations¶
pytesmo is a package which aims it is to provide a standard library that can be used for the comparison and validation of geospatial time series datasets with a focus on soil moisture.
It contains an expanding collection of readers for different soil moisture
datasets (see Supported Datasets) as well as routines for comparing them.
Special classes in the module
pytesmo.grid.grids provide easy nearest
neighbor searching between datasets as well as the calculation of lookup tables
of nearest neighbours. They also provide possibilities to easily read all grid
points of a dataset in the correct order.
easily read data from the Supported Datasets
anomaly calculation based on climatology or using a moving window see
easy temporal matching of time series see
multiple methods for scaling between different observation domains (CDF matching, linear regression, min-max matching) see
Soil moisture is observed using different methods and instruments, in this version several satellite datasets as well as in situ data are supported.
H-SAF image products¶
ERS-1/2 AMI 25km SSM (Surface Soil Moisture)
available from http://rs.geo.tuwien.ac.at/products
To read the ERS please also install the ascat package.
Data from the International Soil Moisture Network (ISMN)¶
In case of the ISMN, two different formats are provided: An example of how to use the dataset in the pytesmo validation framework can be found in the Examples. * Variables stored in separate files (CEOP formatted)
Necessary Python packages¶
In order to enjoy all pytesmo features Python 2.7, 3.3, 3.4 or 3.5 with the following packages should be installed.
numpy >= 1.7.0 http://www.numpy.org/
pandas >= 0.11.0 http://pandas.pydata.org/
scipy >= 0.12.0 http://www.scipy.org/
netCDF4 >= 1.0.1 https://pypi.python.org/pypi/netCDF4
matplotlib >= 1.2.0 http://matplotlib.org/
which makes Nearest Neighbor search faster (Linux only)
for resampling of irregular images onto a regular grid for e.g. plotting
matplotlib - basemap >= 1.0.5 http://matplotlib.org/basemap/
for plotting maps of ISMN stations, maps in general
How to install python packages¶
If you have no idea of how to install python packages then I’ll try to give a short overview and provide links to resources that can explain the process.
The recommended way of installing python packages is using pip which downloads the package you want from the python package repository Pypi and installs it if possible. For more complex packages that depend upon a C or Fortran library like netCDF4 or pybufr-ecmwf installation instructions are provided on the package website. Try to install these packages with Anaconda_ whenever possible.
It is easiest to install packages that depend on C or Fortran libraries with conda. See http://conda.pydata.org/docs/ on how to use it.
The following installation script using
conda should get you started on both
Windows and Linux.
conda create -n pytesmo -c conda-forge python=2.7 numpy scipy pandas netCDF4 cython pytest pip matplotlib pyproj source activate pytesmo pip install pygeogrids pip install pyresample pip install pytesmo
If you are using windows and conda is missing a package then always check http://www.lfd.uci.edu/~gohlke/pythonlibs/ to see if there is already a precompiled .exe or .whl file for you to easily install.
pytesmo windows wheels are available for 32 and 64 bit systems from pypi so using:
pip install pytesmo
should generally work on windows if the dependencies are installed.
If you already have a working python installation with the necessary packages download and unpack the pytesmo source package which is available from
just change the active directory to the unpacked pytesmo folder and use the following command in the command line:
python setup.py install
or if you’d rather use pip then use the command:
pip install pytesmo
If you would like to help this project by improving the documentation, providing examples of how you use it or by extending the functionality of pytesmo we would be very happy.
Please browse the source code which is available at http://github.com/TUW-GEO/pytesmo
Feel free to contact Christoph Paulik in case of any questions or requests.