Changes between Version 19 and Version 20 of ImplementationConceptOffline


Ignore:
Timestamp:
Sep 1, 2025, 10:16:46 AM (22 hours ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ImplementationConceptOffline

    v19 v20  
    2828
    2929The structure of the assimilation program is the following:
    30  * **init_parallel_pdaf**: This routine is executed at the beginning of the program. This subroutine creates the parallel environment for PDAF. In the offline mode, it is possible to execute the assimilation program on a single processor, even if the model is parallelized. With local filter methods, one can also use OpenMP (shared memory) parallelization.
    31  * **init_pdaf**: The routine `init_pdaf` is executed next. In this routine, parameters for PDAF can be defined and then the core initialization routine `PDAF_init` is called.  This core routine initializes internal parameters and afterwards the array of ensemble states using a user-provided call-back routine. In case of the offline mode, this means that the ensemble is read from the output files of the model.
     30 * **init_parallel_pdaf**: This routine is executed at the beginning of the program. This subroutine creates the parallel environment for PDAF. In the offline mode, it is possible to execute the assimilation program on a single processor, even if the model is parallelized. With local filter methods, one can also use OpenMP (shared memory) parallelization.  The routine calls the PDAF core routine `PDAF3_set_parallel` to provide the parallelization variables to PDAF (in implementations of PDAF before verison 3.0, this call is not present).
     31 * **init_pdaf**: The routine `init_pdaf` is executed next. In this routine, parameters for PDAF can be defined and then the core initialization routine `PDAF3_init` is called (in implementations of PDAF before version 3.0, this routine was called `PDAF_init`).  This core routine initializes internal parameters and afterwards the array of ensemble states using a user-provided call-back routine. In case of the offline mode, this means that the ensemble is read from the output files of the model.
    3232 * **assimilation_pdaf**: This routine executes the analysis step. It declares the names of user-supplied subroutines and then the PDAF core routine `PDAF3_assim_offline` for the assimilation is executed (With PDAF before version 3.0, a routine `PDAFomi_put_state_X` is used, where X is replaced by the specific type of DA method, e.g. X=`local`). For the offline mode there is no ensemble integration in the assimilation program. Thus, this subroutine directly computes the analysis step. In a user-supplied subroutine called by `PDAF3_assim_offline`, the ensemble of analysis states is finally written into restart files for the next forecast phase performed by model integrations initialized from these files.
    3333 * **finalize_PDAF**: This routine is used to let PDAF display timing and memory information and to call PDAF to deallocate its internal arrays.