Changes between Version 1 and Version 2 of PDAFomi_set_localize_covar
- Timestamp:
- Mar 25, 2025, 7:45:39 PM (7 days ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
PDAFomi_set_localize_covar
v1 v2 1 1 = PDAFomi_set_localize_covar = 2 2 3 This page documents the routine `PDAFomi_set_localize_covar` ` of PDAF-OMI, which are introduced with PDAF3.0.3 This page documents the routine `PDAFomi_set_localize_covar` of PDAF-OMI, which was introduced with PDAF V3.0. 4 4 5 5 The routine has to be called in `init_dim_obs_OBSTYPE` in each observation module if the localized EnKF or the ENSRF/EAKF with localization are used. It initializes the information for covariance localization. … … 11 11 SUBROUTINE PDAFomi_set_localize_covar(thisobs, dim, ncoords, coords, & 12 12 locweight, cradius, sradius) 13 }}} 14 with arguments: 15 {{{ 13 16 14 TYPE(obs_f), INTENT(inout) :: thisobs ! Data type with full observation 17 15 INTEGER, INTENT(in) :: dim ! State dimension … … 25 23 '''Notes:''' 26 24 * The routine allows to specify the localization radius and support radius (`lradius`, `sradius`) and localization function (`locweight`) individually for each observation type. 27 * The coordinate array `coords` specifie d the coordinates of each element in the state vector. The units have to be consistent with those used to specify the coordinates of observations.25 * The coordinate array `coords` specifies the coordinates of each element in the state vector. The coordinate units have to be consistent with those used to specify the coordinates of observations. 28 26 * The routine only supports a fixed localization radius throughout the domain. 29 27 * One can also directly call the routine `PDAFomi_set_localize_covar_iso`, e.g. when calling from a program coded in C. … … 32 30 == `PDAFomi_set_localize_covar` for non-isotropic localization == 33 31 34 There is an alternative interface for non-isotropic localization. In this variant `cradius` and `sradius` are specified as vectors holding a value of localization radius for each coordinate direction. This permits for non-isotropic localization.32 There is an alternative interface for non-isotropic localization. In this variant `cradius` and `sradius` are specified as vectors holding a value of the localization radius for each coordinate direction. This permits for non-isotropic localization. 35 33 36 34 {{{ 37 35 SUBROUTINE PDAFomi_set_localize_covar(thisobs, dim, ncoords, coords, & 38 36 locweight, cradius, sradius) 39 }}} 40 with arguments: 41 {{{ 37 42 38 TYPE(obs_f), INTENT(inout) :: thisobs ! Data type with full observation 43 39 INTEGER, INTENT(in) :: dim ! State dimension … … 57 53 == `PDAFomi_set_localize_covar` for non-isotropic localization with different weight functions == 58 54 59 There is a n alternative interface for non-isotropic localization which further allows to specify different weight functions for each direction. This allows, for example to use a constant weight in the vertical direction, but smoother decaying weight in the horizontal directions. In this variant`cradius` and `sradius` are specified as vectors holding a value of localization radius for each coordinate direction. In addition `locweight` is specified as a vector holding the localization function index for each coordinate direction.55 There is also an alternative interface for non-isotropic localization which further allows to specify different weight functions for each direction. This allows, for example, to use a constant weight in the vertical direction, but smooth decaying weight in the horizontal directions. In this variant of the interface `cradius` and `sradius` are specified as vectors holding a value of localization radius for each coordinate direction. In addition `locweight` is specified as a vector holding the localization function index for each coordinate direction. 60 56 61 57 {{{ 62 58 SUBROUTINE PDAFomi_set_localize_covar(thisobs, dim, ncoords, coords, & 63 59 locweight, cradius, sradius) 64 }}} 65 with arguments: 66 {{{ 60 67 61 TYPE(obs_f), INTENT(inout) :: thisobs ! Data type with full observation 68 62 INTEGER, INTENT(in) :: dim ! State dimension