Changes between Version 8 and Version 9 of ImplementAnalysisLocal
- Timestamp:
- Nov 24, 2020, 1:05:19 PM (4 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ImplementAnalysisLocal
v8 v9 29 29 With Version 1.16 of PDAF we introduced PDAF-OMI (observation module infrastructure). With OMI we provide generic routines for the analysis step, which only distinguish global and local filters. This page describes the implementation of the analysis step for domain-local filters (LESTKF, LETKF, LNETF, LSEIK). 30 30 31 For the analysis step of the local filters , several operations related to the observations are needed. These operations are requested by PDAF by call-back routines supplied by the user and provided in the OMI structure. The names of the required routines are specified in the call to the routine `PDAFomi_assimilate_local` in the fully-parallel implementation (or `PDAFomi_put_state_local` for the 'flexible' implementation) described below. With regard to the parallelization, all these routines (except `U_collect_state`, `U_distribute_state`, and `U_next_observation`) are executed by the filter processes (`filterpe=.true.`) only.31 For the analysis step of the local filters we need different operations related to the observations. These operations are requested by PDAF by call-back routines supplied by the user and provided in the OMI structure. The names of the routines that are provided by the user are specified in the call to the routine `PDAFomi_assimilate_local` in the fully-parallel implementation (or `PDAFomi_put_state_local` for the 'flexible' implementation) that was discussed before. With regard to the parallelization, all these routines (except `U_collect_state`, `U_distribute_state`, and `U_next_observation`) are executed by the filter processes (`filterpe=.true.`) only. 32 32 33 33 For completeness we discuss here all user-supplied routines that are specified in the interface to `PDAFomi_assimilate_local`. Many of the routines are identical to those used for the global filters. Hence, when the user-supplied routines for the global filters have been already implemented, one can base on these routines to speed up the implementation. Due to this, it can also be reasonable to first fully implement a global filter version and subsequently implement the corresponding localized filter by modifying and extending the global routines.