# Verification configuration. Headline results use ONLY cross-validated, # out-of-fold predictions. Everything lead/week-specific, spatially explicit, # characteristic-specific, probabilistic where relevant, episode-aware. headline_weeks: [W1, W2, W3, W4, W5, W6] # W7 supplementary, never pooled forecast_episode_binarisation: # GATE ITEM: confirm the rule proposed_rule: "daily P(EHD) >= 0.5" # applied identically to every model fixed_reference_prob: 0.5 pre_lt0_context: "observations available at initialization" post_lt45_buffer: "observed labels only" metrics: continuous: [bias, MAE, RMSE, pearson, spearman] # Tx, EHD_COUNT, HW_DAYS, SEV_WEEK count_distribution: [RPS, RPSS] # vs climatology; not only E[N] error categorical: [POD, POFD, FAR, FBI, CSI, ETS, HSS, TSS_PSS, EDI, SEDI] categorical_store: [H, M, FA, CN, totals, n_obs_events, n_fcst_events] probabilistic: [brier, BSS, ROC_AUC, PR_AUC, reliability, calibration_curve, sharpness] finite_sample_correction: "documented correction for POD/POFD of 0 or 1 in EDI/SEDI" thresholds_optimised_on: "training/validation only (never held-out test)" rare_event_control: store_per_metric: [n_samples, n_events, n_nonevents] min_events: 10 min_nonevents: 10 sensitivity: [5, 10, 20] never_fill_masked_with_zero: true event_matching: detect_on: "continuous daily sequences, per grid cell" match: ">=1 day overlap, one-to-one, maximise overlap / temporal IoU" unmatched_forecast: false_alarm unmatched_observed: miss duration_severity: "complete (non-censored) events only" uncertainty: bootstrap: "year-block (or initialization-block) ONLY; never resample grid-days" ci: 0.95 field_significance: "apply FDR / field significance where warranted" caution: "grid cells are a descriptive spatial distribution, not independent replicates" regions: source_mask: {file: /work/projects/G09/QG.25.196/OBS/mask7reg_VnGAD_0.25.nc, var: vn_7regions} region_field: data/processed/region_codes_vngad.nc # -1 outside, 0 UNASSIGNED, 1-7 R1-R7 codes: [1, 2, 3, 4, 5, 6, 7] unassigned_code: 0 # D7: valid Tx cells with no R1-R7 code (n=45) national_domain: "all valid Tx cells INCLUDING region 0" # maps, boxplots, national skill regional_R1_R7: "EXCLUDE region 0 until assignment resolved" # region tables, lead curves diagnostics: [metadata/unassigned_region_cells.csv, outputs/figures/unassigned_region_cells.png] leakage_rule: category_A_fixed: [P90, EHD_THRESHOLD] # defined once 2003-2022; not leakage category_B_train_only: > predictor climatology, lead-dependent anomalies, means/std, normalisation, bias correction, calibration, feature selection, PCA/reductions, all ML and foundation-model params, early stopping, any optimised probability threshold. Held-out year enters NONE of these, including pretraining. transductive_all_years: "labelled side experiment only; never reported as out-of-sample skill"