Changes between Version 4 and Version 5 of OMI_search_local_observations


Ignore:
Timestamp:
Sep 10, 2024, 8:17:38 AM (9 days ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • OMI_search_local_observations

    v4 v5  
    33[[PageOutline(2-3,Contents of this page)]]
    44
    5 PDAF-OMI provides the routine [wiki:PDAFomi_init_dim_obs_l] to initialize local observations in a routine [wiki:OMI_observation_modules#init_dim_obs_l_OBSTYPE init_dim_obs_p_OBSTYPE] of an PDAF-OMI observation module. `PDAFomi_init_dim_obs_l` provides a convenient functionality with observation search for all isotropic and non-isotropic localization variants in different dimensions. However, because the routine covers all cases with various IF-checks it can be relatively slow.
     5PDAF-OMI provides the routine [wiki:PDAFomi_init_dim_obs_l] to initialize local observations in the routine [wiki:OMI_observation_modules#init_dim_obs_l_OBSTYPE init_dim_obs_p_OBSTYPE] of each PDAF-OMI observation module. `PDAFomi_init_dim_obs_l` provides a convenient functionality with observation search for all isotropic and non-isotropic localization variants in different dimensions. However, because the routine covers all cases with various IF-checks it can be relatively slow.
    66
    77While we improved the search performance in PDAF V2.3, we also found that a user-provided routine that is designed for the particular case of the user's application can still be significantly faster. Thus, if you have the impression that `PDAFomi_init_dim_obs_l` is 'too slow' in your application, you can implement 'your own' case -specific variant of `PDAFomi_init_dim_obs_l`. In PDAF V2.3 we added routines that help in the implementation, by initialized parameters and allocating arrays of PDAF-OMI, so that one does not need to perform such oeprations in the user code.
     
    5656 * `cnt_l` is the counter of the valid local observations inside the loop, while `i` is the index of a local observation on the full observation vector
    5757 * The initialization of the local observation arrays of `thisobs_l` can be done by the routine `PDAFomi_store_obs_l_index` provided by PDAF-OMI (see below). However, in our tests this always led to a slower program. Thus, for performance reasons we recommend to use the direct initialization if possible.
    58  * In the tutorial example routine we use a module to enclose the user routine. This allows for syntax checking, but is not mandatory.
    5958 * `cnt_obs_l_all` should only be passed through from PDAF to the PDAFomi routines. If it is changed by the user, the consistency of the observation-handling inside PDAF-OMI will be broken.
    6059