Changes between Initial Version and Version 1 of PDAF_init_forecast


Ignore:
Timestamp:
May 12, 2025, 9:05:35 AM (16 hours ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • PDAF_init_forecast

    v1 v1  
     1= PDAF_init_forecast =
     2
     3This page documents the routine `PDAF_init_forecast` of PDAF. The routine was introduced with PDAF V3.0 as a replacement of `PDAF_get_state`. The new name `PDAF_init_forecast` is intended to make the purpose of the routine clearer.
     4
     5The 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].
     6
     7The 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 provides the information on how many time steps have to be performed in the upcoming forecast phase. The routine can also initialize the information, whether further model integrations have to be computed. For the fully-parallel implementation variant, the number of time steps is used inside PDAF, while the flag on further model integrations is not used.
     8
     9The interface of `PDAF_init_forecast` is the following:
     10{{{
     11  SUBROUTINE PDAF_init_forecast(nsteps, timenow, doexit, U_next_observation, U_distribute_state, &
     12                            U_prepoststep, status)
     13}}}
     14with the following arguments:
     15 * `nsteps`: An integer specifying upon exit the number of time steps to be performed
     16 * `timenow`: A real specifying upon exit the current model time. (This value is usually not used in the fully-parallel implemenation variant)
     17 * `doexit`: An integer variable defining whether the assimilation process is completed. For compatibility 1 should be used for exit, 0 for continuing. (This value is not used in the fully-parallel implemenation variant)
     18 * `U_next_observation`: The name of a user supplied routine that initializes the variables `nsteps`, `timenow`, and `doexit`
     19 * `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
     20 * `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.
     21 * `status`: The integer status flag. It is zero, if the routine is exited without errors.
     22
     23The 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].