Changes between Version 2 and Version 3 of OnlineFlexible_PDAF3


Ignore:
Timestamp:
Apr 17, 2026, 11:46:04 AM (9 hours ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • OnlineFlexible_PDAF3

    v2 v3  
    5959
    6060To complete the forecasting there are four further steps required:
    61 1. We need to initialize the ensemble forecasting. Thus, we need to set how many time steps need to be done until the first observations are assimilated. In addition, we need to write the ensemble state vector values into the model fields. For these operations, we call the routine `PDAF_init_forecast` in the routine `init_pdaf`.
     611. We need to initialize the ensemble forecasting. Thus, we need to set how many time steps need to be done until the first observations are assimilated. In addition, we need to write the ensemble state vector values into the model fields. For these operations, we call the routine `PDAF3_init_forecast` in the routine `init_pdaf`.
    62621. We need to adapt for model code for the additional ensemble loop and related control structure with calling `PDAF_get_fcst_info` as described above.
    63631. To enable that the analysis can be performed, we then have to insert the routine `assimilate_pdaf` into the model code.
     
    6767
    6868
    69 == Calling `PDAF_init_forecast` ==
    70 
    71 The call to `PDAF_init_forecast` is identical for the ''fully parallel'' and ''flexible'' implementation variants.
     69== Calling `PDAF3_init_forecast` ==
     70
     71The call to `PDAF3_init_forecast` is identical for the ''fully parallel'' and ''flexible'' implementation variants.
    7272
    7373The routine is called at the end of the routine `init_pdaf` that was discussed on the [InitPdaf page on initializing PDAF]. The main purpose of this routine is to initialize the model fields for all model tasks from the ensemlbe of state vectors. This is done in the call-back routine `distribute_state_pdaf`. The routine also calls the call-back routine `next_observation_pdaf` to set the number of time steps for the initial forecast phase and an exit flag. These values used are internally by PDAF to control the forecast phase. Further, the routine calls the call-back-routine `prepoststep_pdaf`. This pre/postep routine provides the user access to the initial ensemble.
    7474
    75 The interface of `PDAF_init_forecast` is:
    76 {{{
    77   SUBROUTINE PDAF_init_forecast(next_observation_pdaf, distribute_state_pdaf, &
     75The interface of `PDAF3_init_forecast` is:
     76{{{
     77  SUBROUTINE PDAF3_init_forecast(next_observation_pdaf, distribute_state_pdaf, &
    7878                                prepoststep_pdaf, status)
    7979}}}
     
    8787
    8888
    89 == Adding `PDAF_get_fcst_info` ==
     89== Adding `PDAF3_get_fcst_info` ==
    9090
    9191The interface is the following:
    9292{{{
    93   SUBROUTINE PDAF_get_fcst_info(nsteps, timenow, doexit)
     93  SUBROUTINE PDAF3_get_fcst_info(nsteps, timenow, doexit)
    9494
    9595      INTEGER, INTENT(out) :: stepnow  ! The current time step
     
    9898}}}
    9999
    100 These variables are intialized by `next_observation_pdaf` that was called by `PDAF_init_forecast` and returned here to the user code. At later forecast phases in the assimilation processing, the analysis routine `PDAF3_assimilation` (or more specifalize routines) will case `next_observation_pdaf`.
     100These variables are intialized by `next_observation_pdaf` that was called by `PDAF3_init_forecast` and returned here to the user code. At later forecast phases in the assimilation processing, the analysis routine `PDAF3_assimilation` (or more specifalize routines) will case `next_observation_pdaf`.
    101101
    102102== Inserting `assimilate_pdaf` into the model code ==