Changes between Version 23 and Version 24 of OfflineImplementationGuide


Ignore:
Timestamp:
May 20, 2025, 9:17:54 AM (12 days ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • OfflineImplementationGuide

    v23 v24  
    4242
    4343The 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.
    4545* **column 2 'PDAF'**: These are the PDAF core routines which are called by the routines in column 1 to the left.
    4646* **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.
     
    4848* **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.
    4949
    50 The implementation of the assimilation program for PDAF in offline mode can be performed in the following several steps:
     50The implementation of the assimilation program for PDAF in offline mode can be performed in following the four routines in the leftmost column:
    5151
    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]
    5656
    5757The name of PDAF core routines always starts with `PDAF`. The subroutines with name ending `_pdaf` are generally user-supplied routines in the tutorial codes.