Skip to content

Configuration

Three YAML files. Paths may be relative (to the working directory) or absolute. Unknown keys are an error, so a typo cannot pass silently.

run.yaml

One candidate on one frame: disp2vlm-validate run --config run.yaml (disp2vlm_validation.pipeline.RunConfig).

Field Default Meaning
label required Name of the candidate in reports and summaries.
frame required The frame's inputs, below.
candidate_dir required The candidate's DISP-CAL products, flat or products/<ref>_<sec>/ (searched recursively).
out_dir required Where the run writes its outputs.
baseline_dir none Output folder of the baseline's own validation run; enables the comparison rules.
gate none A gate.yaml for this frame (below); without it, the release defaults.
golden none Golden-epoch check (below).
window 7 Side of the window, in pixels, whose median is compared with each station (next to the station's own pixel).
min_window_pixels 10 Fewer valid (land, finite) pixels in the window and the station gets no value.
min_epochs 5 A pixel needs at least this many epochs for a velocity.
coh_threshold 0.5 The calibrated velocity is kept where the stack's mean temporal coherence is at least this.
min_common_dates 30 A station enters the double differences with at least this many dates in common with the InSAR series.
sill_min_km 50 The DD sill is the median over station pairs at least this far apart.
near_max_km 10 The near-field semivariance is reported over pairs closer than this.
n_boot 1000 Station-bootstrap resamples for the sill intervals.
seed 0 Bootstrap seed.
workers 6 Parallel readers of the stack (0 = in process).
allow_partial false Skip DISP pairs without a DISP-CAL product instead of stopping.
min_span_years 2.0 When GNSS is fetched: stations with a shorter record are dropped.

frame

Field Default Meaning
frame required Frame name, e.g. F08886.
disp_dir required Folder of the frame's OPERA_L3_DISP-*.nc.
water_mask required GeoTIFF on the DISP grid, 1 = land.
los_file required 3-band line-of-sight ENU GeoTIFF on the DISP grid (DISP-S1-STATIC).
cache_dir required The frame's frozen GNSS, and the raw-stack cache; fetched and filled on the first run.
ref_pixel the last DISP product's [row, col] reference of the raw velocity.
exclude_stations [] Stations dropped entirely, e.g. with a known bad record.
held_out_fraction 0.0 Share of stations set aside (hash of the id, stable everywhere) and never validated on: those a study may fit parameters to.
defo_geojson none Deforming-area polygons (Venti area database): class defo_area.
event_geojson none Event footprints (Venti event database): class near_event.
pixel_m 30 DISP posting in metres (distances to the sea for the coastal class).

golden

Field Default Meaning
golden_product required The golden DISP-CAL product of one pair.
tag required That pair, <ref>_<sec>, e.g. 20220111_20220722.
executable cal-disp Whose validate compares the candidate's product for tag with the golden (GATE-4).

gate.yaml

A frame's gate (disp2vlm_validation.gate.GateConfig). Every key is optional; the defaults are the release gate (disp2vlm-validate gate), and a change to them needs a decision record.

Field Default Meaning
release v0.5 The release the gate applies to.
sill_min_km 50 Pair distance for the sill.
sill_rise_max_pct 5 GATE-2: allowed sill rise against the baseline (if significant).
velocity_rmse_rise_max_mm_yr 0.2 GATE-3: allowed velocity RMSE rise against the baseline.
velocity_bias_rise_max_mm_yr 0.2 GATE-3: allowed |bias| rise against the baseline.
bias_statistic median The bias statistic: median (decision 0001) or mean.
target_abs_bias_mm_yr 1.0 Release target for |bias| (reported).
significance_ci 0.95 Bootstrap interval for "significant".
velocity_excluded_classes [defo_area, near_event] Classes left out of the velocity rules (decision 0002).
per_class_targets {} Targets per station class, below.

Per-class targets

Field Default Meaning
max_abs_bias_mm_yr none |bias| limit for the class.
max_rmse_mm_yr none RMSE limit for the class.
rmse_must_drop_vs_raw false The class RMSE must be below raw's (raw with its constant offset removed): the calibration must improve on DISP there.
reference_rmse_mm_yr none With rmse_must_drop_vs_raw: the GNSS reference's own accuracy for the class (from trade study TS-G1). The limit becomes sqrt(raw² + reference²).
gating false A miss FAILS the run instead of being a note: a frame's benchmark condition.

vlm.yaml

One VLM run: disp2vlm-validate vlm --config vlm.yaml (disp2vlm_validation.vlm.VlmRunConfig).

Field Default Meaning
label required Name of the run.
frame required Frame name.
products_dir required Folder of the run's VLM products.
cache_dir required The frame's frozen GNSS cache (the DISP-CAL runs' cache).
out_dir required Where the outputs go.
defo_geojson, event_geojson none As for run.yaml: those stations are reported, not gated.
exclude_stations [] Stations dropped entirely.
half_window_days 3 GNSS displacement at a date: median of the daily solutions within ± this many days.
min_pairs 5 A station rate needs at least this many products.
min_span_years 2.5 ... spanning at least this long.
min_gnss_span_years 2.0 When GNSS is fetched: shorter station records are dropped.