Input files and data access¶
Find a scene or open an existing delivery¶
hp.search() finds data by sensor, product level, place, and date. hp.download() fetches selected results. hp.open() reads a local provider product. Follow search and download for an end-to-end example and the interactive notebook map.
The current collection table provides 13 searchable sensor/level pairs:
| Archive | Searchable products | Download credential used by this package |
|---|---|---|
| NASA CMR | EMIT L1B/L2A; PACE L1B/L2; AVIRIS-3 and AVIRIS-5 L1B/L2A | Earthdata .netrc or EARTHDATA_USERNAME/EARTHDATA_PASSWORD |
| NEON Data API | AOP DP1 flightline reflectance (NEON, L1) |
NEON_TOKEN |
| DLR EOC STAC | EnMAP L1B/L1C/L2A; DESIS L2A | Mission-specific username/password |
Creating the Earthdata credential. Run this once; it asks for the username
and password and writes ~/.netrc for later runs:
Configure credentials before starting an unattended run. The CMR downloader
delegates authentication to earthaccess.login(), which can prompt when no
usable stored credentials are available. The example pipelines check
hp.archive.can_download() before downloading and can request missing
credentials at an interactive terminal. Piped or unattended pipeline runs
skip that prompt and stop with setup instructions. This preflight checks local
configuration, not the validity of an account or token. The persisted login
above avoids entering credentials for each run.
Searches use anonymous archive access. NEON flightline listing and downloads require a token in this implementation. For DLR, configure ENMAP_USERNAME/ENMAP_PASSWORD or DESIS_USERNAME/DESIS_PASSWORD; DLR_EOC_USERNAME/DLR_EOC_PASSWORD provides a fallback. Mission access is granted separately, so credentials found locally do not establish authorization for both missions.
import hyperproc as hp
print(hp.archive.describe())
print(hp.archive.credentials()) # booleans; does not print secrets
print(hp.archive.can_download("ENMAP", "L2A"))
Credential checks inspect local configuration; they do not verify an account against the provider. Registration addresses and missing-credential instructions are included in the backend error messages.
Preserve the provider delivery¶
Keep provider filenames and ancillary files next to the primary cube. Most hp.open() calls expect a file; the AVIRIS route additionally supports directory discovery in documented layouts. Download results can contain a main cube and several siblings: choose the primary product rather than opening the first returned path blindly.
| Reader | Main input | Companion information |
|---|---|---|
| AVIRIS | ENVI cube/header or AVIRIS-5 NetCDF | OBS/geometry, Classic gain/spectral metadata, variant-specific siblings |
| NEON | DP1 reflectance HDF5 | Embedded provider metadata |
| EMIT | L1B RAD or L2A RFL NetCDF | OBS/MASK siblings and GLT information |
| PRISMA | .he5 product |
L2 geometry/geolocation siblings can support L1 |
| EnMAP | Spectral image raster | Matching XML and quality products; L1B detector files |
| DESIS | SPECTRAL_IMAGE.tif |
Matching metadata XML and quality layers |
| PACE OCI | L1B or L2 SFREFL NetCDF | Corresponding L1B can supply L2 geometry |
| Tanager | Orthorectified radiance/SR HDF5 | Embedded metadata and available ancillary layers |
Reader support and search coverage¶
PRISMA, Tanager, AVIRIS-NG, and AVIRIS Classic have readers but no search backend here. DESIS L1B/L1C are readable but not searchable through this package. Unsupported search requests raise an explanation with the alternate archive, rather than returning a misleading empty result. NEON DP3 mosaics have an unimplemented reader route. HISUI, GF-5/AHSI, and Hyperion have no reader in this checkout.
Tutorials use tests/data/ and saved outputs may reference another machine's paths. Set input/output roots for your own environment. Retain product identifiers, versions, dates, archive, quality documentation, and scaling/geolocation metadata. Store credentials outside notebooks.
Example pipeline locations¶
The scripts in py_tests/0_src_code/ now keep 1_data/<sensor>/ and
2_outputs/<sensor>/ beside the scripts. --source copy reads provisioned
scenes from tests/data; set HYPERPROC_TESTS_DATA when that source is elsewhere.
Download routes stop when credentials, scenes, or required levels are missing
rather than silently substituting a local scene. PRISMA, Tanager, and the
configured DESIS example use local products. EnMAP pairs levels by acquisition
identity rather than assuming identical processing timestamps. These scripts
are separate from the saved notebook tutorials.
After reviewing a DLR account's usage policy, the shared pipeline accepts
--accept-dlr-policy; the package downloader's corresponding option is
accept_policy=True. See DLR download recovery
for incomplete transfers.