Changes between Version 4 and Version 5 of OMI_search_local_observations
- Timestamp:
- Sep 10, 2024, 8:17:38 AM (3 weeks ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
OMI_search_local_observations
v4 v5 3 3 [[PageOutline(2-3,Contents of this page)]] 4 4 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 anPDAF-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.5 PDAF-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. 6 6 7 7 While 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. … … 56 56 * `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 57 57 * 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.59 58 * `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. 60 59