= PDAF_init_forecast = This page documents the routine `PDAF_init_forecast` of PDAF. The routine was introduced with PDAF V3.0 as a replacement of `PDAF_get_state`, with a reduced number of arguments. The routine `PDAF_init_forecast` has to be called once at the end of the initialization of PDAF. Usually, the call will be part of the routine `init_pdaf` that was discussed on the [InitPdaf page on initializing PDAF]. The routine `PDAF_init_forecast` has the purpose to initialize the model fields to be propagated from the array holding the ensemble states. In addition, the routine initializes the information on how many time steps have to be performed in the upcoming forecast phase the information, and an exit flag indicating whether further model integrations have to be computed. These variables are used internally in PDAF and can be retrieved by the user by calling [wiki:PDAF_get_fcst_info]. The interface of `PDAF_init_forecast` is the following: {{{ SUBROUTINE PDAF_init_forecast(U_next_observation, U_distribute_state, & U_prepoststep, status) }}} with the following arguments: * `U_next_observation`: The name of a user supplied routine that initializes the variables `nsteps`, `timenow`, and `doexit` * `U_distribute_state`: The name of a user supplied routine that initializes the model fields from the array holding the ensemble of model state vectors * `U_prepoststep`: The name of a user supplied routine that is called before and after the analysis step. Here the user has the possibility to access the state ensemble and can e.g. compute estimated variances or can write the ensemble states the state estimate into files. * `status`: The integer status flag. It is zero, if the routine is exited without errors. The specifications of the user-supplied routines (`U_next_observation`, `U_distribute_state`, `U_prepoststep`) are documented on the page on [InsertAnalysisStep inserting the analysis step].