PDAF_diag_crps Subroutine

subroutine PDAF_diag_crps(dim_p, dim_ens, element, oens, obs, CRPS, reli, pot_CRPS, uncert, status)

Uses

Computation of CRPS

This routine computes the continuous ranked probability score (CRPS) and its decomposition into uncertainty and potential CRPS: CRPS = RELI + pot_CRPS. In addition the uncertainty is computed. Resolution can be computed by RESOL = UNCERT - pot_CRPS. A perfectly reliable system gives RELI=0. An informative system gives RESOL ~ UNCERT or pot_CRPS << UNCERT.

The computation follows H. Hersbach, Weather and Forecasting 15(2000) 599-570.

Revision history: * 2021-05 - Lars Nerger - Initial code based on sangoma_ComputeCRPS * Later revisions - see repository log * 2024-04 - Yumeng Chen - refactor; add domain decomposition support

CRPS diagnostic routine with original interface

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: dim_p
integer, intent(in) :: dim_ens
integer, intent(in) :: element
real, intent(in) :: oens(dim_p,dim_ens)
real, intent(in) :: obs(dim_p)
real, intent(out) :: CRPS
real, intent(out) :: reli
real, intent(out) :: pot_CRPS
real, intent(out) :: uncert
integer, intent(out) :: status