Changes between Version 23 and Version 24 of OfflineImplementationGuide
- Timestamp:
- May 20, 2025, 9:17:54 AM (12 days ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
OfflineImplementationGuide
v23 v24 42 42 43 43 The code structure is as follows from left to right 44 * **column 1 'User code'**: The main program calls the three routines shown in this column. These are interface routines, which define variables for PDAF and then call core-subroutines of PDAF 44 * **column 1 'User code'**: The main program calls the three routines shown in this column. These are interface routines, which define variables for PDAF and then call core-subroutines of PDAF. An exception is `init_parallel_pdaf` which does not call PDAF. 45 45 * **column 2 'PDAF'**: These are the PDAF core routines which are called by the routines in column 1 to the left. 46 46 * **column 3 'Call-back routines'**: This column shows the call-back routines, which are called by the PDAF routines in column 2 to the left. The routines in the purple box `callback_obs_pdafomi.F90` are the subroutines that handle observations. The 3 routines in red are used only for localized ensemble filters. … … 48 48 * **column 5 'PDAF'**: Some of the call-back routines and the routines in the observation modules call PDAF core routines, e.g. for diagnostics, localization, and to intialize OMI. 49 49 50 The implementation of the assimilation program for PDAF in offline mode can be performed in the following several steps:50 The implementation of the assimilation program for PDAF in offline mode can be performed in following the four routines in the leftmost column: 51 51 52 1. [OfflineAdaptParallelization Initializing the parallelization]53 2. [OfflineInitPdaf Initializing PDAF and the ensemble by PDAF_init]54 3. [OfflineImplementationofAnalysisStep Implementing the analysis step]55 4. [OfflineAddingMemoryandTimingInformation Adding memory and timing information]52 1. **init_parallel_pdaf**: [OfflineAdaptParallelization Initializing the parallelization] 53 2. **init_pdaf**: [OfflineInitPdaf Initializing PDAF and the ensemble by PDAF_init] 54 3. **assimilate_pdaf**: [OfflineImplementationofAnalysisStep Implementing the analysis step] 55 4. **finalize_pdaf**: [OfflineAddingMemoryandTimingInformation Adding memory and timing information] 56 56 57 57 The name of PDAF core routines always starts with `PDAF`. The subroutines with name ending `_pdaf` are generally user-supplied routines in the tutorial codes.