Changes between Version 7 and Version 8 of AddFilterAlgorithm_PDAF3


Ignore:
Timestamp:
Jun 5, 2025, 4:08:26 PM (6 weeks ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AddFilterAlgorithm_PDAF3

    v7 v8  
    4848== Internal code structure of a DA method ==
    4949
    50 === Modules of a DA method ===
     50=== Fortran Modules ===
    5151
    5252Each DA method in PDAF consist of 5 standard modules. These are
     
    170170=== `PDAF_X_set_iparam` ===
    171171
    172 This routine
     172This routine sets integer parameters for the DA method. It is called either by `PDAF_X_init` or by `PDAF_set_iparam` via `PDAF_set_iparam_filters`.
     173
     174The parameters in PDAF are linked to an index. This index is explicitly used when one creates in the user code the real parameter array (`filter_param_i` in the template code and tutorials). In `PDAF_X_set_iparam` one uses the index `id` to select which parameter is initialized.
     175
     176There are a few parameters which are used with the same id for all DA methods. We recommend to stick to these indices to avoid irritations:
     177||= id =||= parameter =||= Decription =||
     178|| 1 || `dim_p`  || state dimension, set via `PDAF_reset_dim_p` ||
     179|| 2 || `dim_ens` || ensemble size, set via `PDAF_reset_dim_ens` ||
     180|| 8 || `observe_ens` || Whether to apply obsevation operator ensmeble mean or all ensemble states ||
     181|| 9 || `type_obs_init` || Whether to initialize observations (0) before or (1) after prepoststep ||
     182
     183
     184Additional parameters are recommended to use the following index. We recommend to stick to these indices to avoid irritations. The 3D-Var methods have partly different indices, because the solvers have to be configured:.||= id =||= parameter =||= Decription =||
     185|| 3 || `dim_lag` || Smoother lag ||
     186|| 5 || `type_forget` || Type for ensemble inflation ||
     187|| 6 || `type_trans` || Type of ensemble transformation ||
     188
     189For further parameters we recommend to check the [wiki:AvailableOptionsforInitPDAF page on available options for each DA method].
     190
    173191
    174192=== `PDAF_X_set_rparam` ===
    175193
     194This routine sets real-values parameters for the DA method. It is called either by `PDAF_X_init` or by `PDAF_set_rparam` via `PDAF_set_rparam_filters`.
     195
     196The parameters in PDAF are linked to an index. This index is explicitly used when one creates in the user code the real parameter array (`filter_param_r` in the template code and tutorials). In `PDAF_X_set_rparam` one uses the index `id` to select which parameter is initialized.
     197
     198There is one parameters which are used with the same id for all DA methods:
     199||= id =||= parameter =||= Decription =||
     200|| 1 || `forget`  || Value of inflation parameter (usually the 'forgetting factor' ||
     201
     202Some DA methods, in particular the nonlinear filters and the 3D-Var methods use additional real-valued parameters. We recommend to check the [wiki:AvailableOptionsforInitPDAF page on available options for each DA method] to obtain an overview.
     203
     204
    176205=== `PDAF_X_options` ===
    177206
    178 The routine `PDAF_X_options` displays information on the available options for the filter algorithm.
     207This routine `PDAF_X_options` displays information on the available options for the filter algorithm.
    179208
    180209The template shows the typical form of the output.
     
    183212
    184213
    185 
    186 
    187214=== `PDAF_X_memtime` ===
    188215
     
    196223== Analysis routines of DA method ==
    197224
    198 === `PDAF_assimilate_X` / `PDAF_put_state_X` ===
     225=== `PDAF_assimilate_X` ===
    199226
    200227These routines are called by `PDAFomi_assimilate_*` or `PDAFomi_put_state_*`, which are directly inserted into the model code, if the online mode of PDAF is used together with PDAF-OMI. The description of the [ImplementationofAnalysisStep implementation of the analysis step] in the Implementation Guide explains the interface for the algorithms that are included in the PDAF package. `PDAFomi_assimilate_*` are interface routines for PDAF-OMI and call the `PDAF_assimilate_X` routines as described above. (Likewise the routines `PDAFomi_put_state_*` call `PDAF_put_state_X`.)
     
    239266The structure of the operations in `PDAF_X_update` can be designed freely when implementing a new DA method. The existing methods follow the recommended structure in which `PDAF_X_update` only performes preparations for the actual analysis update and then calls `PDAF_X_analysis` for the computation of the actual update. Here, the operations are different for global and local methods.
    240267
     268=== `PDAF_assim_offline_X` ===
     269
     270=== `PDAF_put_state_X` ===
     271
     272=== `PDAFX_update` ===
     273
     274=== `PDAFX_analysis` ===
     275
     276
     277
    241278=== Global Methods ===
    242279