Data Assimilation Implementation
This page identifies the implemented software stages and artifacts. Detailed scientific formulation and interpretation are outside its scope.
Event sequence
For each configured event, the project runner:
- propagates the open loop and prior members with openAMUNDSEN;
- evaluates the configured observation operator;
- adds the event log likelihood to the persisted prior log weight and normalizes the resulting posterior weights with log-sum-exp;
- records effective sample size and the resampling decision;
- materializes the posterior and applies configured rejuvenation; and
- carries the normalized weights into the next propagation when resampling is skipped, or initializes uniformly weighted children after actual resampling.
The event analysis is the weighted distribution before resampling. The materialized posterior is the mirrored or resampled member collection used to initialize propagation. Skipping resampling therefore does not skip data assimilation: the observation changes the persistent particle weights and all weighted diagnostics until a later resampling event resets them.
The current particle weights are scalar at the model-domain or subdomain scale. Independent subdomain execution is a decomposition strategy and does not add localization or exchange particles across boundaries.
Observation families
The event schema supports fractional snow covered area (scf), wet snow fraction
(wet_snow), wet snow line altitude (wet_snow_line), station snow depth
(station_hs) and station snow water equivalent (station_swe). Each family has
an explicit operator and uncertainty configuration.
Technical artifacts
- every step has
assim/prior_weights.csvand a versioned ancestry manifest; - per-event weight CSVs contain prior weight, event log likelihood, posterior weight, prior and posterior ESS, threshold and resampling status;
- versioned event, resampling and rejuvenation manifests bind resume behavior
to inputs, configuration, ancestry and the
keyed-v1RNG scheme; - effective sample size plots record degeneracy and resampling decisions;
results/benchmark/stores configured evaluation cases and scores;results/grids/da_output_grids.ncstores compact open-loop, ensemble and event-analysis fields. Ensemble summaries use persistent PF weights, while member minima and maxima describe the materialized member collection;- compact retention stores all-member point and consumed-forcing time series
in
results/points/ensemble_points.ncandresults/forcing/ensemble_forcing.nc, with satellite-event fields needed for rerendering inresults/grids/da_map_support.nc; results/retention_manifest.jsondistinguishes deliberate, consumer-gated cleanup from unexpected missing artifacts; andresults/run_manifest.jsonrecords hashes, stage state, provenance and outputs.
See Output data for paths and Configuration for the event/uncertainty schema.