Vignette: run the full NEON pipeline¶
Notebook: View the full-pipeline notebook in the repository. GitHub displays the cells; clone or download the file to run them.
Use this vignette when you want one NEON flightline to move from source HDF5 to corrected ENVI, harmonized sensor products, Parquet tables, and QA artifacts.
What you need¶
- Python 3.10 or newer with
spectralbridgeinstalled - enough local storage for the HDF5 and derived products
- a NEON site, acquisition month, product code, and exact flightline identifier
This example uses one NIWO directional-reflectance flightline and the lightweight thread engine. The same command is safe to run again.
Run it¶
spectralbridge-pipeline \
--base-folder spectralbridge_output \
--site-code NIWO \
--year-month 2023-08 \
--product-code DP1.30006.001 \
--flight-lines NEON_D13_NIWO_DP1_L020-1_20230815_directional_reflectance \
--engine thread \
--max-workers 2
The command runs the ordered, restart-safe workflow:
- acquire the NEON HDF5;
- export the raw ENVI cube;
- fit and write correction parameters;
- apply BRDF and topographic correction;
- harmonize all configured target sensors;
- export and merge Parquet tables; and
- render QA outputs.
Confirm the result¶
Set the flightline identifier once so the expected directory is easy to inspect:
FLIGHT=NEON_D13_NIWO_DP1_L020-1_20230815_directional_reflectance
find "spectralbridge_output/$FLIGHT" -maxdepth 1 -type f | sort
A complete run normally includes:
$FLIGHT_brdfandtopo_corrected_envi.imgand.hdr;- one ENVI pair for each configured target sensor;
- per-product
.parquetfiles; $FLIGHT_merged_pixel_extraction.parquet; and- QA PNG and JSON artifacts.
Exact names and optional products are defined in Outputs and file structure.
Use the analysis-ready table¶
from pathlib import Path
import duckdb
flight = "NEON_D13_NIWO_DP1_L020-1_20230815_directional_reflectance"
merged = (
Path("spectralbridge_output")
/ flight
/ f"{flight}_merged_pixel_extraction.parquet"
)
preview = duckdb.read_parquet(str(merged)).limit(5).df()
preview
If the run stops¶
Do not delete valid outputs. Continue with Carry On My Wayward Son, which explains how the pipeline validates and reuses completed stages.
For exact CLI arguments and stage contracts, use the technical reference.