Changes between Version 22 and Version 23 of AddFilterAlgorithm


Ignore:
Timestamp:
Dec 7, 2011, 6:46:24 PM (12 years ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AddFilterAlgorithm

    v22 v23  
    146146
    147147
     148=== `PDAF_put_state_X` ===
     149
     150This routine is directly inserted into the model code, if the online mode of PDAF is used. The text on the [ImplementationofAnalysisStep implementation of the analysis step] in the Implementation Guide explains the interface for the algorithms that are included in the PDAF package. Apart from the usual integer status flag, the interface contains the names of the user-supplied routines that are required for the analysis step. Usually, the minimum set of routines are:
     151 * A routine to write model fields back into the ensemble state array (`U_collect_state`).
     152 * A routine that determines the size of the observation vector (`U_init_dim_obs`).
     153 * A routine that contains the implementation of the observation operator (`U_obs_op`).
     154 * A routine that fills the observation vector (`U_init_obs`).
     155 * The pre- and post-step routine in which the forecast and analysis ensembles can be analyzed (`U_prepoststep`).
     156Additional routines are possible depending on the requirements of the filter algorithm. When one implements a new filter, one should check, which of the existing routines can be reused. This will facilitate the switching between different filter methods. For example, the SEIK, ETKF, and ESTKF filters (as well as the LSEIK, LETKF, and LESTKF algorithms) use the identical set of user-supplied routines. Thus, switching between these filters is possible without additional implementation work.
     157
     158With regard to the operations, `PDAF_put_state_X` prepares for the actual analysis step, that is called inside `PDAF_put_state_X` as a separate routine. The required operations are:
     159 * Write model fields back into the ensemble array (by calling `U_collect_state`)
     160 * Increment the counter for the integrated ensemble members.
     161 * Check, if the ensemble integration is completed. If not, exit the `PDAF_put_state_X`.
     162 * If the ensemble integration is completed, the following operations are required:
     163  *
    148164
    149165
     166