Predict the next satellite overpass for a point, bounding box, or KML AOI — supporting Sentinel‑1, Sentinel‑2, Landsat‑8, and Landsat‑9.
Optionally filter by OPERA product families, estimate cloudiness for the upcoming pass, and email results.
- Satellites: Sentinel-1, Senteinel-2, Landsat-8, Landsat-9
- AOI inputs: Point (lat, lon), SNWE bounding box, or KML polygon
- OPERA product filters: limit search to product families (e.g.,
DSWX-HLS_V1,DSWX-S1_V1) - Cloudiness prediction: for next S1/S2 overpasses (
-c) - Email notifications: send S1/S2 results via SMTP (
--email) - Examples included:
examples/
next_pass/
├─ examples/ # Jupyter notebooks and sample workflows
├─ utils/ # Core helpers (Sentinel/Landsat passes, cloudiness, OPERA products, plotting, I/O)
├─ next_pass.py # CLI entry point (used by the `next-pass` console script)
├─ environment.yml # Conda/mamba environment for development and notebooks
├─ requirements.txt # Runtime dependency list (used by pyproject / pip)
├─ pyproject.toml # Modern packaging metadata (setuptools backend)
├─ setup.py # Legacy shim for older tooling
└─ LICENSE # Apache-2.0
Clone the repository:
git clone https://github.com/OPERA-Cal-Val/next_pass.git
cd next_passCreate a fresh environment (recommended):
mamba env create -f environment.yml
mamba activate next_passor with conda
conda env create -f environment.yml
conda activate next_passAlternatively, install the runtime dependencies directly:
conda install -c conda-forge --yes --file requirements.txtInstall the package (optional but recommended)
pip install -e .The main entry point is next-pass. Choose one AOI input form and add options as needed.
next-pass -b 34.20 -118.17next-pass -b 34.15 34.25 -118.20 -118.15next-pass -b /path/to/aoi.kml-
Satellite subset (e.g., S1 only) and email the results:
next-pass -b 50 52 -102 -100 -s sentinel-1 --email
-
Restrict OPERA products considered during the search (space‑separated list):
next-pass -b 29 31 -100 -97 -p DSWX-HLS_V1 DSWX-S1_V1
-
Predict cloudiness for the next S1/S2 overpasses (adds a cloud estimate column):
next-pass -b 29 31 -100 -97 -p DSWX-HLS_V1 DSWX-S1_V1 -c
-
Generate old OPERA products for a previous event date (YYYY-MM-DD):
next_pass -b 17.32 18.80 -78.61 -75.58 -f opera_search -d 2025-10-01
-
Generate OPERA Products DRCS map using a UTC event date in format YYYY-MM-DDTHH:MM (Please consider replacing the date in the example with a recent event date):
next-pass -b 17.32 18.80 -78.61 -75.58 -g 2025-11-18T01:00
Use
-h/--helpto see all flags and defaults.
Issues and pull requests are welcome! If adding a new satellite, product family, or IO backend, please include a small example and a test (if applicable).
Apache‑2.0 — see LICENSE.