Skip to main content

Search and download OPERA local incidence angle files for Sentinel-1.

Project description

s1_lia

s1_lia is a Python package for searching, downloading, and merging OPERA local incidence angle (LIA) files for Sentinel-1 satellite data. It simplifies access to static OPERA RTC products by handling AOI validation, ASF search, reliable downloading, and data merging by relative orbit.


Features

  • Validate and normalize Areas of Interest (AOI) from WKT, GeoJSON, Shapely, or GeoPandas objects.
  • Search ASF for static OPERA Sentinel-1 RTC products overlapping the AOI.
  • Download local incidence angle GeoTIFF files robustly with retry support.
  • Merge downloaded files by relative orbit into combined GeoTIFFs.
  • Generates human-readable file name stems based on AOI centroid and optional reverse geocoding.

Installation

Install via pip:

pip install s1_lia

Usage

For ipynb notebooks or python scipts:

import s1_lia

# Define AOI as WKT polygon string
aoi_wkt = 'POLYGON((-107.5 37.6,-107.5 38.0,-108.0 38.0,-108.0 37.6,-107.5 37.6))'

# Define directory to store downloaded and merged files
data_dir = "./data"

# Optionally if you know what orbit you are interested in:
orbit = 129

# Run full workflow: search, download, merge
merged_files = s1_lia.get_opera_lia(aoi_wkt, data_dir)

print("Merged incidence angle files:")
for f in merged_files:
    print(f)

import xarray as xr
import shapely
import matplotlib.pyplot as plt
xr.open_dataarray(merged_files[0]).rio.reproject('EPSG:4326').plot()
x, y = shapely.from_wkt(aoi_wkt).exterior.xy
plt.gca().plot(x,y, color = 'k', linewidth = 4)

Or from the command line:

s1-lia "<AOI WKT>" /path/to/data_dir

Functions

find_static_opera_files(aoi, relative_orbit=None, ...): Search ASF for matching OPERA products.

download_results(results, data_directory, ...): Download local incidence angle files.

merge_lia_by_relative_orbit(downloaded_files, output_directory, name_stem): Merge downloaded files by relative orbit.

generate_name_stem(aoi, use_place_name=True): Generate descriptive filename stem based on AOI centroid.

get_opera_lia(...): Runs full workflow combining above steps.

Development

To install in development mode:

git clone https://github.com/yourusername/s1_lia.git
cd s1_lia
pip install -e .

Run tests

pytest tests/

License

This project is licensed under the MIT License. See the LICENSE file for details.

Acknowledgments

Built on top of the ASF Search Python API.

Uses Shapely, GeoPandas, xarray, and rioxarray.

Data from: https://www.earthdata.nasa.gov/data/catalog/asf-opera-l2-cslc-s1-v1-1 https://d2pn8kiwq2w21t.cloudfront.net/documents/ProductSpec_RTC-S1.pdf

Please use citation: NASA/JPL/OPERA. (2023). OPERA Co-registered Single Look Complex from Sentinel-1 validated product (Version 1) [Data set]. NASA Alaska Satellite Facility Distributed Active Archive Center. https://doi.org/10.5067/SNWG/OPERA_L2_CSLC-S1_V1 Date Accessed: 2025-08-08

Inspiration from: https://github.com/egagli/generate_sentinel1_local_incidence_angle_maps

Contact

For questions or feedback, open an issue or contact Zach Hoppinen @ zmhoppinen@alaska.edu

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

s1_lia-0.1.3.tar.gz (9.9 kB view details)

Uploaded Source

Built Distribution

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

s1_lia-0.1.3-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

Details for the file s1_lia-0.1.3.tar.gz.

File metadata

  • Download URL: s1_lia-0.1.3.tar.gz
  • Upload date:
  • Size: 9.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for s1_lia-0.1.3.tar.gz
Algorithm Hash digest
SHA256 af23bcfb9dfedc4b80b573832b0431ec5adb2421f01e6ad5bddbf22ca71778e4
MD5 38e7944487b35dd7bc6b78b117580f88
BLAKE2b-256 e78f2c579be9f570342e471ae35415e3d36102ff9c87d689936b48202521b9fd

See more details on using hashes here.

Provenance

The following attestation bundles were made for s1_lia-0.1.3.tar.gz:

Publisher: ci-cd.yml on ZachHoppinen/s1_lia

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file s1_lia-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: s1_lia-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 8.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for s1_lia-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 9843a52c4adb76064af3ef711d5fed8019ce40eb6b97fdd8f4e620804c06817d
MD5 fe354cfbe3244458ee8e19587aae38d1
BLAKE2b-256 f48e8e4c778d846081a8d0d40aae877ff7535176c96d5bcc3941ccab49db6572

See more details on using hashes here.

Provenance

The following attestation bundles were made for s1_lia-0.1.3-py3-none-any.whl:

Publisher: ci-cd.yml on ZachHoppinen/s1_lia

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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