Diagonal observation error covariance¶
UFO includes a generic diagonal observation covariance operator (which operates on a
ioda::ObsVector).
Observation error standard deviations for \(R\) are read as an ObsError group from the observation file.
The covariance can be configured using the following options:
obs perturbations amplitude(optional, default value is 1.0) – a multiplier used when generating a random sample of observation perturbations using the observation error covariance matrix (standard deviations are multiplied by this number)zero-mean perturbations: logical variable with a default offalse. When set totrueobservation perturbations will be constrained to have a zero ensemble mean (can be used in EDA Applications). If this option is set totrue, the following options also have to be set:member: ensemble member index (1-based);number of members: number of ensemble members.
Important
For the zero-mean perturbations option to work, the following requirements must be satisfied:
The
obs perturbations seedoption in theobs spacesection must be set to the same value for all ensemble members.All ensemble members must use the same observations in the same order.
A diagonal \(R\) can be configured as:
obs error:
covariance model: diagonal
For an EDA experiment where the amplitude of observation perturbations is half of its default value, the following YAML settings can be used:
obs error:
covariance model: diagonal
obs perturbations amplitude: 0.5
For an EDA experiment with 10 ensemble members, and perturbing observations ensuring zero-mean perturbations, a diagonal \(R\) for the 2nd ensemble member can be set up as:
obs error:
covariance model: diagonal
zero-mean perturbations: true
member: 2
number of members: 10