Changes between Version 2 and Version 3 of OnlineFlexible_PDAF3
- Timestamp:
- Apr 17, 2026, 11:46:04 AM (9 hours ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
OnlineFlexible_PDAF3
v2 v3 59 59 60 60 To 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`.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 `PDAF3_init_forecast` in the routine `init_pdaf`. 62 62 1. 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. 63 63 1. To enable that the analysis can be performed, we then have to insert the routine `assimilate_pdaf` into the model code. … … 67 67 68 68 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 71 The call to `PDAF3_init_forecast` is identical for the ''fully parallel'' and ''flexible'' implementation variants. 72 72 73 73 The 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. 74 74 75 The interface of `PDAF _init_forecast` is:76 {{{ 77 SUBROUTINE PDAF _init_forecast(next_observation_pdaf, distribute_state_pdaf, &75 The interface of `PDAF3_init_forecast` is: 76 {{{ 77 SUBROUTINE PDAF3_init_forecast(next_observation_pdaf, distribute_state_pdaf, & 78 78 prepoststep_pdaf, status) 79 79 }}} … … 87 87 88 88 89 == Adding `PDAF _get_fcst_info` ==89 == Adding `PDAF3_get_fcst_info` == 90 90 91 91 The interface is the following: 92 92 {{{ 93 SUBROUTINE PDAF _get_fcst_info(nsteps, timenow, doexit)93 SUBROUTINE PDAF3_get_fcst_info(nsteps, timenow, doexit) 94 94 95 95 INTEGER, INTENT(out) :: stepnow ! The current time step … … 98 98 }}} 99 99 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`.100 These 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`. 101 101 102 102 == Inserting `assimilate_pdaf` into the model code ==
