Changes between Version 4 and Version 5 of GeneralImplementationConcept

Sep 24, 2010, 4:27:55 PM (10 years ago)



  • GeneralImplementationConcept

    v4 v5  
    3434 * Depending on the parallelization, there can be cases in which the model has to jump back in time and cases in which the time always moved forward.
    3535  * Jumping back in time will be required if the number of model tasks used to evolve the ensemble states is smaller than the number of ensemble members. In this case a model task has integrate more than one model state and will have to jump back in time after the integration of each ensemble member.
     36  * If there are as many model tasks as ensemble members, the model time always moves forward. In this case, one can implement PDAF also without the external ensemble loop. That is, one can add calls to `PDAF_get_state` and `PDAF_put_state` directly into the code of the model's time stepping loop. This strategy might also be called for, if a model uses staggered loops (like a loop over minutes inside a loop over hours).
     37  * model-specific operations like the initialization of the array of ensemble states in `PDAF_init` are actually performed by user-supplied routines. These routines are called through the standard interface of `PDAF`. Details on the interface and the required routines are given on the pages describing the implementation steps.
     38  * The control of the assimilation system
    3840the core routines of PDAF remain unchanged. The data assimilation system is controlled by the user-supplied routines. Accordingly, the driver functionality remains in the model part of the program. In addition, the user-supplied routines can be implemented analogously to the model code, i.e. by using Fortran common blocks or modules of the model code. This simplifies the implementation of the user-supplied routines knowing about the particularities of their model.