Skip to main content

NEXT PASS

CI Python 3.10+ License

Predict the next satellite overpass for a point, bounding box, or KML AOI — supporting Sentinel‑1, Sentinel‑2, Landsat‑8, Landsat‑9, and NISAR. Optionally filter by OPERA product families, estimate cloudiness for the upcoming pass, and email results.


Highlights

  • Satellites: Sentinel-1, Sentinel-2, Landsat-8, Landsat-9, NISAR
  • 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/

Repo layout

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

Installation

Clone the repository:

git clone https://github.com/OPERA-Cal-Val/next_pass.git
cd next_pass

Create a fresh environment (recommended):

mamba env create -f environment.yml
mamba activate next_pass

or with conda

conda env create -f environment.yml
conda activate next_pass

Alternatively, install the runtime dependencies directly:

conda install -c conda-forge --yes --file requirements.txt

Install the package (optional but recommended)

pip install -e .

Usage

The main entry point is next-pass. Choose one AOI input form and add options as needed.

1) Point (lat, lon)

next-pass -b 34.20 -118.17

2) Bounding box (SNWE = South North West East)

next-pass -b 34.15 34.25 -118.20 -118.15

3) KML file (polygon)

next-pass -b /path/to/aoi.kml

4) WKT coordinates (polygon or point)

next-pass -b "POLYGON ((-123.1 47.33, -123.16 47.28, -123.33 47.33, -123.25 47.34, -123.19 47.32, -123.15 47.35, -123.1 47.33))"

5) link to .geojson file (online or local)

next-pass -b "https://api.weather.gov/alerts/urn:oid:2.49.0.1.840.0.dc03b8d7d3aa06ec27afb812ac02d6afa8b5f0ce.002.1"
next-pass -b AOI_from_url.geojson

Options

  • Satellite subset (e.g., S1 only) and email the results:

    next-pass -b 50 52 -102 -100 -s sentinel-1 --email
    
  • NISAR overpasses from the official NASA observation-plan KMZ:

    next-pass -b 34.15 34.25 -118.20 -118.15 -s nisar
    
  • 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/--help to see all flags and defaults.


Contributing

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).

For development setup and code quality standards, see CONTRIBUTING.md.


License

Apache‑2.0 — see LICENSE.


Metadata

Release files for next-pass 1.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for next-pass 1.4.0
File Size Uploaded
next_pass-1.4.0.tar.gz 83.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for next-pass 1.4.0
File Interpreter ABI Platform
next_pass-1.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 154.6 kB

Release files / next_pass-1.4.0.tar.gz

Download URL next_pass-1.4.0.tar.gz
Size 83.3 kB
Tags Source
SHA-256 checksum
How to use checksums
173eb0f6cb1e42d327b9694a4509a86e265f98d21df838f975b39b126eb57008
BLAKE2b-256 checksum
How to use checksums
5b63591a7e8229bedd790fc5eb1946ba7ff327970d0ffe8a7a078b39ba91366a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / next_pass-1.4.0-py3-none-any.whl

Download URL next_pass-1.4.0-py3-none-any.whl
Size 71.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c670f8476927ee342c092dc0f8d35c4fa280fe2395c37016f4e32921e567ef14
BLAKE2b-256 checksum
How to use checksums
0a22cfc0deaaf82fc848c2ebdd504432bb153f244586738e0a81ba9746dfdca2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

1.4.0 This release

2 release files

1.3.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page