| Version 1 (modified by , 9 years 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 filters LESTKF, LETKF, and LSEIK. Also, the routine can be used for the LEnKF in the routine [localize_l_pdaf localize_l_pdaf].
The interface is the following:
  SUBROUTINE PDAF_local_weight(wtype, cradius, sradius, distance, &
     nrows, ncols, weight, verbose)
with the following arguments:
- wtype:- integer, intent(in)
 Type of weight function:
 (0) unit weight (=1 up to radius- cradius)
 (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
- dim:- integer, intent(in)
 Size of arrays- distanceand `weights'
- distance:- real, intent(in)
 Distance to observation
- weights:- real, intent(out)
 computed localization weight
- verbose:- integer, intent(in)
 Verbosity flag
Notes:
- PDAF_local_weightsdoes not support the regulated localization method (Nerger et al. ,Quarterly Journal of the Royal Meteorological Society, 138 (2012) 802-812; see [PublicationsandPresentations]). 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 PDAF_local_weight can be found in the files prodrinva_l_pdaf.F90 in the tutorial cases. Another example is, e.g. provided in the Lorenz-96 test case (see /testsuite/src/lorenz96/prodrinva_local.F90).

