Skip to main content

Read and process backscatter and soil moisture data from the Advanced Scatterometer (ASCAT)

Project description

ascat

PyPi Readthedocs Downloads Linux actions status Windows actions status Coveralls

Read and visualize data from the Advanced Scatterometer (ASCAT) on-board the series of Metop satellites.

Citation

Zenodo

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 https://doi.org/10.5281/zenodo.4610836 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 http://help.zenodo.org/#versioning

Installation

ASCAT data are distributed in BUFR, NetCDF, EPS Native and GRIB format. Unfortunately the GRIB reader does not work on Windows, so if you need that format then Linux or OS X are your only options.

Install the latest release from PyPI:

pip install ascat

Reading H SAF GRIB products requires pygrib, which is available through the optional grib extra (Linux/OS X only):

pip install ascat[grib]

Supported datasets

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.

  • H SAF
    • Surface Soil Moisture (SSM) and Root Zone Soil Moisture (RZSM) products
  • Copernicus Global Land Service (CGLS)
    • CGLS Soil Water Index (SWI) products
  • EUMETSAT
    • ASCAT Soil Moisture at 12.5 km Swath Grid - Metop
    • ASCAT Soil Moisture at 25 km Swath Grid - Metop
    • ASCAT GDS Level 1 Sigma0 resampled at 12.5 km Swath Grid - Metop
    • ASCAT GDS Level 1 Sigma0 resampled at 25 km Swath Grid - Metop

Command line interface

The latest ASCAT swath files (H122, H29, H129, H121) can be aggregated and/or regridded using a command line interface (CLI) provided by the ascat package.

Aggregation of ASCAT SSM swath files

Surface soil moisture and backscatter40 from ASCAT swath files can be aggregated over a user-defined time period (e.g. 1 day, 10 days, 1 month) choosing one of the following methods: "mean", "median", "mode", "std", "min", "max", "argmin", "argmax", "quantile", "first", "last". The time span for processing is determined by the start and end times specified. Additionally, thresholds can be set for masks - such as those for frozen soil probability, snow cover probability, subsurface scattering probability, and surface soil moisture sensitivity - to filter surface soil moisture data as part of the aggregation process.

By default, data from all Metop satellites will be aggregated together. To aggregate from a subset of satellites, pass a regex matching any combination of "A", "B", and "C" to the --sat argument. E.g. --sat A, --sat [AB], --sat *, --sat [ABC], etc.

ascat_swath_agg /path/to/input/h129_v1.0/swaths/ /path/to/output --start_dt 2020-06-15T00:00:00 --end_dt 2020-06-17T00:00:00 --t_delta 1D --agg mean --snow_cover_mask 80 --frozen_soil_mask 80 --subsurface_scattering_mask 10 --ssm_sensitivity_mask 1 --sat [AB]

There is also an option that no masking is applied using the argument --no-mask.

Re-gridding of ASCAT SSM swath files

ASCAT swath files contain data that are provided on a Discrete Global Grid (DGG) and can be converted to a regular lat/lon grid using a nearest neighbor approach. Either a single swath file or folder containing the swath files can be used as input argument.

ascat_swath_regrid /path/to/input/file /path/to/output 0.1 --grid_store /path/to/tmp/folder --suffix _regrid_0.1deg

Resampling of ASCAT SSM swath files

ASCAT swath files contain data that are provided on a Discrete Global Grid (DGG) and can be converted to a regular lat/lon grid using an inverse distance weighting. Either a single swath file or folder containing the swath files can be used as input argument.

ascat_swath_resample /path/to/input/file /path/to/output 0.1 --grid_store /path/to/tmp/folder --suffix _resample_0.1deg --neighbour 6 --radius 10000

Contribute

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 for new features or bug fixes.

Guidelines

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.
  • Set up the development environment with uv: uv sync (add --extra grib for GRIB support)
  • 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
  • Run the tests with uv run pytest
  • Submit a pull request

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ascat-2.7.0.tar.gz (331.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ascat-2.7.0-py3-none-any.whl (378.0 kB view details)

Uploaded Python 3

File details

Details for the file ascat-2.7.0.tar.gz.

File metadata

  • Download URL: ascat-2.7.0.tar.gz
  • Upload date:
  • Size: 331.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ascat-2.7.0.tar.gz
Algorithm Hash digest
SHA256 a608e2280b93fea55e04dad8d282018a225c94eba2bdac6c69933551de33ca02
MD5 d286042a3cb68f118f2c907ca34b84ea
BLAKE2b-256 4abdb0d2a16a6b963b39c1bbda35a00079946bff09ba7b4c9c70fa2e8821624f

See more details on using hashes here.

File details

Details for the file ascat-2.7.0-py3-none-any.whl.

File metadata

  • Download URL: ascat-2.7.0-py3-none-any.whl
  • Upload date:
  • Size: 378.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ascat-2.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6d607e2633ea6af0178d0a79cb246a09b48804555b1b5b3a4f92c4b6ae1c1f15
MD5 63553abc6341f5c59d2f7f57fd080bd5
BLAKE2b-256 c57b602897a109062cca52bf3865824c682d7e63276f60374b89bda01903f387

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page