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

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.1.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.1-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for s1_lia-0.1.1.tar.gz
Algorithm Hash digest
SHA256 c8e3f4ec506c4ee78f0e550a6cfe4dcd64c03dc8dd01680aae7f88e2dbf53d26
MD5 acf8946b940369a5f9058781163050a7
BLAKE2b-256 28fc93beedb323f7437c17ef6a1e4642b63fe52891cdcd4c89ed686872a70f41

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for s1_lia-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 150b290a8f5d76ded76d0b35972ea6f2fe755ac4bea9432a1597d07663a1b675
MD5 74729ec07ffd6ac74a461aff36639ee6
BLAKE2b-256 9234da77e38b62fe7d8691a7eb4e6db7151b0ba3edbf136989ec766b3a728d32

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