Read and convert data acquired by ASCAT on-board the series of Metop satellites. Written in Python.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



Read and convert data acquired by ASCAT on-board the series of Metop satellites. Written in Python.

Works great in combination with pytesmo.


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


The packages you have to install depend on the features you want to use. The H SAF soil moisture NRT products are disseminated in BUFR (H16, H103, H101, H102, H08) or GRIB (H14) format. So to read them you will have to install the appropriate packages which will be explained shortly. Unfortunately neither BUFR nor GRIB readers work on Windows so if you need these formats then Linux or OS X are your only options.

For installation we recommend Miniconda. So please install it according to the official installation instructions. As soon as you have the conda command in your shell you can continue.

The following script will download and install all the needed packages.

conda create -q -n ascat python=2 numpy pandas netCDF4 pytest pip pyproj
source activate ascat
conda install -c conda-forge pybufr-ecmwf # for reading BUFR files
conda install -c conda-forge pygrib=2.0.1 # for reading GRIB files
pip install ascat

This script should work on Windows, Linux or OSX but on Windows you will get errors for the installation commands of pybufr-ecmwf and pygrib.

Supported Products

This gives a short overview over the supported products. Please see the documentation for detailed examples of how to work with a product.

Read ASCAT data from different sources into a common format supported by pytesmo.

Time Series Products

  • Metop ASCAT Surface Soil Moisture (SSM) Climate Data Record (CDR) in time series format

    Available in netCDF format from H SAF (H25, H108-H112)

  • CGLS SWI(Soil Water Index) Time Series (SWI_TS)

    Available from the Copernicus Global Land Service (CGLS)

  • ASCAT SWI(Soil Water Index) Time Series

    Available in binary format from TU Wien

Image products


H SAF provides several different image products:

  • H16 - SSM ASCAT-B NRT R : Metop-B ASCAT soil moisture 12.5km sampling NRT
  • H103 - SSM ASCAT-B NRT O : Metop-B ASCAT soil moisture 25km sampling NRT
  • H101 - SSM ASCAT-A NRT R : Metop-A ASCAT soil moisture 12.5km sampling NRT
  • H102 - SSM ASCAT-A NRT O : Metop-A ASCAT soil moisture 25km sampling NRT
  • SM OBS 2 - H08 - Small scale surface soil moisture by radar scatterometer in BUFR format over Europe
  • SM DAS 2 - H14 - Profile index in the roots region by scatterometer data assimilation in GRIB format, global

The products H16, H103, H101, H102 come in the same BUFR format. Since the default filenames are slightly different the following readers should be used:

They are available after registration from the H SAF Website

The H07 (SM OBS 1) is discontinued and replaced by H101, H102, H16 and H103.


EUMETSAT provides ASCAT Level 1 and Level 2 data among others through the EUMETSAT Data Centre. At the moment this package supports the following products:


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.

Development setup

For Development we also recommend a conda environment. You can create one including test dependencies and debugger by running conda env create -f environment.yml. This will create a new ascat-dev environment which you can activate by using source activate ascat-dev.


If you want to contribute please follow these steps:

  • Fork the ascat repository to your account
  • Clone the repository, make sure you use git clone --recursive to also get the test data repository.
  • make a new feature branch from the ascat master branch
  • Add your feature
  • Please include tests for your contributions in one of the test directories. We use py.test so a simple function called test_my_feature is enough
  • submit a pull request to our master branch


This project has been set up using PyScaffold 2.5.6. For details and usage information on PyScaffold see