Phenology Pipeline — CLI Reference
This page covers the phenology pipeline CLI (src/vi_phenology.py).
Other pipeline CLIs |
|
|---|---|
netCDF datacube pipeline |
|
Pixel phenology pipeline |
The recommended way to run any pipeline is via run_phenology.sh — set variables in
config.local.env and run ./run_phenology.sh. All variables are documented with inline
comments in config.env. See Overview — Setup for the config file model.
Input
Argument |
Default |
Description |
|---|---|---|
|
(required unless –input-datacubes is used) |
Directory containing |
|
— |
Alternative to |
|
|
Vegetation indices to process: |
|
— |
Shapefile(s) for spatial subsetting. Omit to process the full NetCDF extent. Ignored when |
|
— |
Attribute field(s) to split shapefile(s) by — one per shapefile in positional order. Use |
|
|
Valid range for NDVI |
|
|
Valid range for EVI2 |
|
|
Valid range for NIRv |
Output
Argument |
Default |
Description |
|---|---|---|
|
(required) |
Output directory (created if it does not exist) |
Smoothing
Argument |
Default |
Description |
|---|---|---|
|
|
Smoothing method: |
|
|
Smoothing window in days (savgol and loess) |
|
|
Polynomial order for Savitzky-Golay (must be < window length) |
|
|
Whittaker smoother penalty strength (only used with |
For full details on each method, see Smoothing.
Phenological Metrics
Argument |
Default |
Description |
|---|---|---|
|
off |
Compute and export phenological metrics (requires a smoothing method) |
|
|
Amplitude fraction for SOS/EOS detection (e.g. |
|
|
Day of year to begin each annual phenology window (1–365). Use |
|
|
Minimum NDVI prominence for a peak to be counted by bimodality detection (only active when |
|
|
Minimum separation in days between detected peaks (only active when |
For full details on metrics and annual window configuration, see Phenological Metrics.
Observation Count Thresholds
Argument |
Default |
Description |
|---|---|---|
|
|
Minimum valid observations over the full record. Regions with fewer observations are skipped entirely. |
|
|
Minimum valid observations within an annual window. Annual windows with fewer observations are skipped (no NaN row written). |
Pixel Sampling
Randomly samples a fixed set of N pixels per region — used consistently across the full time series to eliminate date-to-date variation caused by cloud masking. Only active when at least one of --sample-pixels, --min-ndvi-mean, or --min-quality-frac > 0 is set.
Argument |
Default |
Description |
|---|---|---|
|
None (all pixels) |
Number of pixels to randomly sample per region |
|
None (random) |
RNG seed for reproducible pixel samples |
|
None (no filter) |
Exclude pixels whose temporal mean NDVI is below this value |
|
|
Minimum fraction of timesteps a pixel must be valid (non-NaN, in-range) to be eligible |
Spatial Aggregation
Argument |
Default |
Description |
|---|---|---|
|
off (mean) |
Aggregate pixels spatially using the median instead of the mean at each time step. More robust to skewed VI distributions and outlier pixels when the ROI spans a vegetation gradient. |
Plotting
Argument |
Default |
Description |
|---|---|---|
|
|
|
|
|
Output format(s): |
Output Toggles
All output types are enabled by default. Use these flags to disable specific outputs:
Argument |
|
Controls |
|---|---|---|
|
|
Per-region observations-only CSV files |
|
|
Combined shapefile observations CSV |
|
|
Annual DOY overlay plot |
|
|
Full calendar time-series plot |
|
|
Anomaly (departure from multi-year mean) plot |
|
|
Multi-VI comparison panel (requires > 1 VI) |
For output file details, see Output.
Performance
Argument |
Default |
Description |
|---|---|---|
|
|
Parallel worker processes for tile extraction. Set to |
|
— |
Only include observations on or after this date |
|
— |
Only include observations on or before this date |
Diagnostics
Argument |
Default |
Description |
|---|---|---|
|
|
Verbosity: |