Version 7 (modified by 21 months ago) (diff) | ,
---|
PDAF_local_weights
This page documents the routine PDAF_local_weights
of PDAF.
The routine is used for localization in the analysis step of a filter and computes weights according to the specified distances and the settings for the localizing function. The routine can be called in prodRinvA_l_pdaf in the domain-localized filters. Also, the routine can be used for the LEnKF in the routine [localize_covar_pdaf localize_covar_pdaf].
This routine is usually only used in user-codes that do not use PDAF-OMI.
The interface is the following:
SUBROUTINE PDAF_local_weights(wtype, cradius, sradius, distance, & weights, verbose)
with the following arguments:
wtype
:integer, intent(in)
Type of weight function:
(0) unit weight (=1 up to radiuscradius
)
(1) exponential decrease (1/e at distance=sradius; 0 for distance>cradius)
(2) 5th order polynomial with support radius sradius (Gaspari&Cohn 1999; 0 for distance>sradius)cradius
:real, intent(in)
Cut-off radius (weight is always =0 for distance>cradius)sradius
:real, intent(in)
Support radius of weight functiondim
:integer, intent(in)
Size of arraysdistance
and `weights'distance
:real, intent(in)
Distance to observationweights
:real, intent(out)
computed localization weightverbose
:integer, intent(in)
Verbosity flag
Notes:
PDAF_local_weights
does not support the regulated localization method (Nerger et al. ,Quarterly Journal of the Royal Meteorological Society, 138 (2012) 802-812; see Publications). To use the regulated localization one has to use the alternative routine PDAF_local_weight.
There are currently only examples of using PDAF_local_weight
, but not PDAF_local_weights
. The examples for using PDAF_local_weight
can be found in the files prodrinva_l_pdaf.F90
in the tutorial cases for the 'classical' (non-OMI) implentations in tutorial/classical
and in the templates in templates/classical/.