| Version 3 (modified by , 19 months ago) ( diff ) |
|---|
PDAFomi_init_dim_obs_l
This page documents the routine PDAFomi_init_dim_obs_l` of PDAF-OMI.
The routine has to be called in init_dim_obs_l_OBTYPE in each observation module if a domain-localized filter (LESTKF/LETKF/LNETF/LSEIK)is used. It initializes the local observation information for PDAF-OMI for a single local analysis domain
| See the page describing PDAF-OMI observation modules for the full documentation of OMI observation modules. |
The interface is:
SUBROUTINE PDAFomi_init_dim_obs_l(thisobs_l, thisobs, coords_l, locweight, lradius, &
sradius, dim_obs_l)
TYPE(obs_f), INTENT(inout) :: thisobs ! Data type with full observation
TYPE(obs_l), INTENT(inout) :: thisobs_l ! Data type with local observation
REAL, INTENT(in) :: coords_l(:) ! Coordinates of current local analysis domain
INTEGER, INTENT(in) :: locweight ! Type of localization function
REAL, INTENT(in) :: cradius ! Localization cut-off radius
REAL, INTENT(in) :: sradius ! Support radius of localization function
INTEGER, INTENT(inout) :: dim_obs_l ! Local dimension of current observation vector
Notes:
- The output value
dim_obs_lof the routine is the number of local observations for the local analysis domain for which the routine is called. - The coordinate vector
coords_lhas be set consistently with the observation coordinates specified ininit_dim_obs_OBSTYPE. - a convenient place to initialize
coords_lis ininit_dim_l. The templates and tutorial codes show this approach. (see the page on implementing the local analysis step) locweight,cradiusandsradiuscan be set to the same values for all local analysis domains. However, the interface allows the user to specify different localization radii and weight functions for each single local analysis domain depending on the indexdomain_por the coordinatescoords_l.
Settings for non-isotropic localization
Introduced with PDAF V2.2 a non-isotropic localization is possible for this use vectors for cradius and lradius. This in the interface of PDAFomi_init_dim_obs_l one can use
REAL, INTENT(in) :: cradius(:) ! Localization radius
REAL, INTENT(in) :: sradius(:) ! Support radius of localization function
Here, the size cradius and sradius has to be equal to thisobs%ncoords.
Note:
See TracWiki
for help on using the wiki.
