Changes between Initial Version and Version 1 of PDAF3_init


Ignore:
Timestamp:
Jul 7, 2025, 11:32:48 AM (11 days ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • PDAF3_init

    v1 v1  
     1= PDAF3_init =
     2
     3This page documents the routine PDAF3_init of PDAF. The routine was introduced with the final release of PDAF V3.0/
     4
     5The routine `PDAF3_init` is typically called in `init_pdaf` where also the variables for the call are set.
     6
     7The call to `PDAF3_init` has the following structure:
     8{{{
     9CALL PDAF_init(filtertype, subtype, step_null, &
     10               filter_param_i, length_filter_param_i, &
     11               filter_param_r, length_filter_param_r, &
     12               U_init_ens, screen, status_pdaf)
     13}}}
     14
     15The required variables are the following:
     16
     17 * `filtertype`: An integer defining the type of filter algorithm.
     18 * `subtype`: An integer defining the sub-type of the filter algorithm (see the example code in `templates/online_omi/init_pdaf.F90` for choices). If `PDAF_init` is called with `subtype=-1` the available options are shown for the selected filter algorithm.
     19 * `step_null`: An integer defining the initial time step. For some cases it can use useful to set `step_null` larger to 0.
     20 * `filter_param_i`: Integer array collecting several variables for PDAF. The first two variables are mandatory and equal for all filters. Further variables are optional (see example code or use `subtype=-1` to display available options.). The mandatory variables are in the following order:
     21  * The size of the local state vector for the current process.
     22  * The ensemble size for all ensemble-based filters (or the rank of the state covariance matrix for mode-based filters like SEEK)
     23 * `length_filter_param_i`: An Integer defining the length of the array `filter_param_i`. The entries in the array are parsed up to this index.
     24 * `filter_param_r`: Array of reals collecting floating point variables for PDAF. The first variable is mandatory and equal for all filters.  Further variables are optional (see example code in `templates/online_omi/init_pdaf.F90` or use `subtype=-1` to display available options.). The mandatory variable is:
     25  * The value of the forgetting factor controlling covariance inflation (required to be larger than zero; common are values between 0.9 and 1.0. For 1.0 the ensemble is not inflated.)
     26 * `length_filter_param_r`: An Integer defining the length of the array `filter_param_r`. The entries in the array are parsed up to this index.
     27 * `U_init_ens`: The name of the user-supplied routine that is called by `PDAF_init` to initialize the ensemble of model states. (See '[InsertAnalysisStep#User-suppliedroutineU_init_ensinit_ens_pdaf.F90 User-supplied routine U_init_ens]'
     28 * `screen`: An integer defining whether information output is written to the screen (i.e. standard output). The following choices are available:
     29  * 0: quiet mode - no information is displayed.
     30  * 1: Display standard information (recommended)
     31  * 2: as 1 plus display of timing information during the assimilation process
     32  * 3: Display detailed information for debugging
     33 * `status_pdaf`: An integer used as status flag of PDAF. If `status_pdaf` is zero upon exit from `PDAF_init` the initialization was successful. An error occurred for non-zero values. (The error codes are documented in the routine `PDAF3_init`.)
     34
     35An overview of available options for each filter an be found on the [wiki:AvailableOptionsforInitPDAF overview page on options].
     36
     37It is recommended that the value of `status_pdaf` is checked in the program after PDAF_init is executed. Only if its value is 0 the initialization was successful.
     38
     39**Note:**
     40 * `PDAF3_init` has to be used in combination with [wiki:PDAF3_set_parallel], which is called in `init_parallel_pdaf` to provide the parallelization information to PDAF.