Correlated Observation Error Covariance with Diffusion¶
The diffusion-based correlated R operator in UFO applies the oops::Diffusion
capability similar to how it is implemented in SABER by the Explicit Diffusion block.
Both operators use a forward stepping finite-difference method to propagate error
covariances to nearby locations (see [WCMP21] for more details of the
implementation, though the paper discusses implicit diffusion the calibration
process discussed in the reference is implemented by this operator).
When initialized, the UFO operator constructs a mesh from the observation locations
read from the observations’ ioda::ObsSpace (see figure below).
Diffusion will occur along edges that connect observation locations.
Fig. 26 Meshing produced from a thinned set of geostationary brightnessTemperature observations.
See figure below for the spatial locations of the observations¶
The result of the application of the operator to a single observation (but with the mesh produced from the full set of observations shown in figure below) is shown below:
Fig. 27 The result of the diffusion operator being applied to a ‘dirac’ obsVector (a vector of all zero except for a single one) using the mesh from above.¶
The options for the operator include:
correlation variable names: the names of variables to which the operator will be applied. Currently, this operator is only supported for use with a single variable.correlation lengthscale: length scale corresponding to the standard deviation of the guassian profile this operator will emulate applying.normalization iterations: number of iterations used to calculate the set of grid-dependent normalization coefficients. See the documentation of the SABER Explicit Diffusion block for more details on the normalization procedure. For an operational/scientifically valid situation a value of at least ~10000 is recommended.
Below is an example of a YAML configuration of the diffusion-based R operator:
obs error:
covariance model: diffusion
correlation variable names: [brightnessTemperature]
obs channels: [11] #redundant with channels in obsSpace parameters
correlation lengthscale: 200000. # meters
normalization iterations: 10000