# 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.

It contains the code used for the calculation of metrics by the Satellite Soil Moisture Validation Tool For ASCAT. See pytesmo.metrics.

## Supported Datasets¶

Soil moisture is observed using different methods and instruments, in this version several satellite datasets as well as in situ data are supported.

### ASCAT¶

Ascat data is supported via the ascat package. If you want to use this data then please follow the installation instructions.

### H-SAF image products¶

H-SAF data is also supported via the ascat package. If you want to use this data then please follow the installation instructions.

### SMAP¶

SMAP data is supported via the smap_io package. If you want to use this data then please follow the installation instructions.

### GLDAS Noah¶

GLDAS Noah data is supported via the gldas package. If you want to use this data then please follow the installation instructions.

### ERA Interim¶

ERA Interim data is supported via the ecmwf_models package. If you want to use this data then please follow the installation instructions.

### Data from the International Soil Moisture Network (ISMN)¶

In-situ data from the International Soil Moisure Network can be used via the ismn package.

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)

## Installation¶

### 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.

optional

### 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.

### conda¶

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


### Windows¶

Note

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.

### Windows binaries¶

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.

### Linux¶

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


## Contribute¶

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.

Contents: