PDAF_diag_reliability_budget
This page documents the routine PDAF_diag_reliability_budget
of PDAF, which was introduced with PDAF V3.0.
The diagnostics derives a balance relationship that decomposes the
departure between the ensemble mean and observations:
Depar2 = Bias2 + EnsVar + ObsUnc2 + Residual |
under the assumption of a perfectly reliable ensemble. When the residual term is not small, one can identify the sources of problematic ensemble representation of the uncertainty by looking at each terms. One of the benefits of the reliability budget diagnostics is that it can identify spatially local issues in ensemble perturbations.
In this subroutine, the budget array returns each term of the reliability budget is given at each given time step. The returned array can be used for significant t-test where each time step is used as a sample from the population. The actual budget is the mean over time steps except for Bias2 term, which is given separately. This is because the unsquared bias is used in the t-test in the original paper.
The subroutine does not comes with a t-test to ensure that the reliability budget is statistically significant as done in the original paper. However, this can be achieved with external libraries or software if the t-test is deemed important. The t-test should account for the temporal autocorrelation between time steps in the given trajectory. The diagnostics requires a trajectory of ensemble and observations, a trajectory of an ensemle of observation error variances. The ensemble of observation error variances can be the square of observation errors sampled from observation error distribution as done in stochastic ensemble Kalman filter. In deterministic ensemble systems, the ensemble of observation error variances can be the observation error variances where each ensemble member has the same value.
The reliability budget is proposed by Rodwell, M. J., Lang, S. T. K., Ingleby, N. B., Bormann, N., Holm, E., Rabier, F., ... & Yamaguchi, M. (2016). Reliability in ensemble data assimilation. Quarterly Journal of the Royal Meteorological Society, 142(694), 443-454.
The routine can be called in the pre/poststep routine of PDAF both before and after the analysis step to compute the ensemble statistics. It can also be alled independently from PDAF, i.e. without a prior call to PDAF_init
.
The interface is:
SUBROUTINE PDAF_diag_reliability_budget(n_times, dim_ens, dim_p, & ens_p, obsvar, obs_p, budget, bias_2) INTEGER, INTENT(in) :: n_times !< Number of time steps INTEGER, INTENT(in) :: dim_ens !< Number of ensemble members INTEGER, INTENT(in) :: dim_p !< Dimension of the state vector REAL, INTENT(in) :: ens_p(dim_p, dim_ens, n_times) !< Ensemble matrix over times REAL, INTENT(in) :: obsvar(dim_p, dim_ens, n_times) !< Squared observation error/variance at n_times. !< In ensemble of var/stochastic EnKF system, !< the observation error is different for each ensemble member. !< If an observation variance is given directly, !< same value can be used across dimensions. REAL, INTENT(in) :: obs_p(dim_p, n_times) !< Observation vector REAL, INTENT(out) :: budget(dim_p, n_times, 5) !< Budget term for a single time step !< 1. depar^2, 2. bias, 3. ensvar, 4. obsunc, 5. residual !< Each time step is used as a sample for significant tests REAL, INTENT(out) :: bias_2(dim_p) !< bias^2 uses