wiki:PDAFomi_set_searchtype

Version 2 (modified by lnerger, 12 hours ago) ( diff )

--

PDAFomi_set_searchtype

This page documents the function PDAFomi_set_searchtype of PDAF, which was introduced with PDAF 3.1.

The routine PDAFomi_set_searchtype allows to choose the type of the search operation for observations within the localization cut-off radius (i.e. 'local observations') in domain-localized ensemble filters (i.e. LESTKF, LETKF, LNETF, LKNETF, LSEIK)

In PDAF V3.1 we optimized the search for local observations. For example, we introduced a variant which first sorts the observation according to their coordinates along a chosen coordinate direction and then performs a bisection search to determine observations that possibly lie within the radius. This can significantly reduce the length of the search loop and hence speed up the search. We also introduced variants that only perform a single search loop. In PDAF V3.0 and before the search was done twice :A first loop counted the observation within the radius. Then local observation arrays were allocated with the correct size and a second loop was done which filled the arrays. For a single loop, we allocate the local observation array at their maximum size (i.e. the number of full observations) and then fill only the first elements up to the number of observation within the radius. While this approach is faster, it requires more memory.

The interface is:

  INTEGER FUNCTION PDAF_localfilter()

without arguments. The return value is

  • 1 for local filters (including ENSRF/EAKF),
  • 0 for global filters (including LEnKF, which performs covariance localization)

The return value can be directly used, e.g. as

  IF (PDAF_localfilter() == 1) THEN
    CALL PDAF3_assimilate_local(...)
  ELSE
    CALL PDAF3_assimilate_global(...)
  ENDIF

Notes:

  • The difference between the return values 0 and 1 is mainly the way how PDAF-OMI handles observations.
  • For the ENSRF/EAKF, PDAF_localfilter() also returns the value 1. This is because the observation handling for the ENSRF/EAKF uses the same approach as for domain-localized filters
Note: See TracWiki for help on using the wiki.