Skip to main content

ASF Sentinel-1 Metadata Download tool

Project description

Small Python tool (asfsmd) that allows to download XML files containing Sentinel-1 products metadata from the ASF archive.

Sentinel-1 products are stored in the ASF arcive as ZIP files that are quite large because they contain both the products annotations and the binary image data.

The asfsmd tool is able to retrieve only the relatively samll annotation files (in XML format) without downloading the entire ZIP archive.

asfsmd exploits Python packages like fsspec or httpio for reading HTTP resources as random-access file-like objects. In order to do it the remote server must support the Range header.

This approach allows to open the ZIP archive remotely, inspects contents, and download only the pieces of data that are actually necessary to the user.

Performnces of this approach are quite poor but, in the specific case of Sentinel-1 products, the entire process results to be faster than downloading the entire ZIP archive and extracting only annotation files.

Command Line Interface

$ python3 -m asfsmd --help

usage: asfsmd [-h] [--version]
              [--loglevel {DEBUG,INFO,WARNING,ERROR,CRITICAL}]
              [-q] [-v] [-d]
              [-f] [--urls] [-o OUTDIR] [-u USERNAME] [-p PASSWORD]
              [--block-size BLOCK_SIZE]
              [-b {s1,s2,s3,s4,s5,s6,iw1,iw2,iw3,ew1,ew2,ew3,ew4,ew5,wv1,wv2}]
              [--pol {vv,vh,hv,hh}] [-c] [-n] [-r] [--data]
              INPUT [INPUT ...]

ASF Sentinel-1 Metadata Download tool. Small Python tool (`asfsmd`) that
allows to download XML files containing Sentinel-1 products metadata from
the ASF archive. Sentinel-1 products are stored in the ASF arcive as ZIP
files that are quite large because they comntain both the products
annotations and the binary image data. The `asfsmd` tool is able to
retrieve only the relatively small annotation files (in XML format) without
downloading the entire ZIP archive.

positional arguments:
  INPUT                 Sentinel-1 product name(s). If the '-f' flag is set
                        then the argument is interpreted as the filename
                        containing the list of products. If the '--urls'
                        flag is set then the arguments are interpreted as
                        URLs pointing to product on the ASF server.
                        See '--file--list' and the '--urls' options for
                        more details.

options:
  -h, --help            show this help message and exit
  --version             show program's version number and exit
  --loglevel {DEBUG,INFO,WARNING,ERROR,CRITICAL}
                        logging level (default: WARNING)
  -q, --quiet           suppress standard output messages, only errors are
                        printed to screen
  -v, --verbose         print verbose output messages
  -d, --debug           print debug messages
  -f, --file-list       read the list of products from a file. The file
                        can be a JSON file (with '.json' extension) or a
                        text file.The text file is expected to contain one
                        product name per line.The json file can contain a
                        list of products or a dictionary containing a list
                        of products for each key.In this case the key is
                        used as sub-folder name to store the corresponding
                        products.Example: <OUTDIR>/<KEY>/<PRODUCT>
  --urls                Indicate the inputs are a list of URLs from ASF.
  -o OUTDIR, --outdir OUTDIR
                        path of the output directory (default='.')
  -u USERNAME, --username USERNAME
                        username for ASF authentication. If not provided
                        the tool attempts to retrieve the authentication
                        parameters for the user's '.netrc' file looking
                        for the host 'urs.earthdata.nasa.gov'
  -p PASSWORD, --password PASSWORD
                        password for ASF authentication. If not provided
                        the tool attempts to retrieve the authentication
                        parameters for the user's '.netrc' file looking
                        for the host 'urs.earthdata.nasa.gov'
  --block-size BLOCK_SIZE
                        httpio block size in bytes (default: 1024)
  -b {s1,s2,s3,s4,s5,s6,iw1,iw2,iw3,ew1,ew2,ew3,ew4,ew5,wv1,wv2},
  --beam {s1,s2,s3,s4,s5,s6,iw1,iw2,iw3,ew1,ew2,ew3,ew4,ew5,wv1,wv2}
                        Choose only one beam to download. If not provided
                        all beams are downloaded.
  --pol {vv,vh,hv,hh}   Choose only one polarization to download. If not
                        provided both polarizations are downloaded.
  -c, --cal             Download calibration files.
  -n, --noise           Download noise calibration files.
  -r, --rfi             Download RFI files.
  --data                Download measurement files.

License

Copyright (c) 2021-2023 Antonio Valentino

The asfsmd package is distributed under the MIT License.

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

asfsmd-1.4.1.tar.gz (17.8 kB view details)

Uploaded Source

Built Distribution

asfsmd-1.4.1-py3-none-any.whl (15.5 kB view details)

Uploaded Python 3

File details

Details for the file asfsmd-1.4.1.tar.gz.

File metadata

  • Download URL: asfsmd-1.4.1.tar.gz
  • Upload date:
  • Size: 17.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for asfsmd-1.4.1.tar.gz
Algorithm Hash digest
SHA256 c89798c25b888288c3ee9f367540d785fc4e1c68336d2ee8400bb14b5672e695
MD5 8d4c9bdc3ffe117c27ae3bc57c178cb9
BLAKE2b-256 b0b5a53c3b8cc9f3fa5cacfe3e2ec3b3531b968576e10d74b79bbb6234c568d5

See more details on using hashes here.

File details

Details for the file asfsmd-1.4.1-py3-none-any.whl.

File metadata

  • Download URL: asfsmd-1.4.1-py3-none-any.whl
  • Upload date:
  • Size: 15.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for asfsmd-1.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 549b2d5084099d50b77509c89d3b26e4bf2470bc548eb2d9db77d8a130fbede8
MD5 6067890768af626020a859eff4e0c2d4
BLAKE2b-256 99d21f6177b281471142a88b9bf436c3f3dca17403713525d9023fe70397a4a5

See more details on using hashes here.

Supported by

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