| Version 1 (modified by , 11 years ago) ( diff ) |
|---|
PDAF_init
This page documents the routine PDAF_init of PDAF.
In init_pdaf the variables for the call to PDAF_init are set.
The call to PDAF_init has the following structure:
CALL PDAF_init(filtertype, subtype, step_null, &
filter_param_i, length_filter_param_i, &
filter_param_r, length_filter_param_r, &
COMM_model, COMM_filter, COMM_couple, &
task_id, n_modeltasks, filterpe, &
U_init_ens, screen, status_pdaf)
The required variables are the following:
filtertype: An integer defining the type of filter algorithm. Available are- 0: SEEK
- 1: SEIK
- 2: EnKF
- 3: LSEIK
- 4: ETKF
- 5: LETKF
- 6: ESTKF
- 7: LESTKF
subtype: An integer defining the sub-type of the filter algorithm (see the example code intestsuite/src/dummymodel_1Dfor choices). IfPDAF_initis called withsubtype=-1the available options are shown for the selected filter algorithm.step_null: An integer defining the initial time step. For some cases it can use useful to setstep_nulllarger to 0.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 usesubtype=-1to display available options.). The mandatory variables are in the following order:- The size of the local state vector for the current process.
- The ensemble size for all ensemble-based filters (or the rank of the state covariance matrix for mode-based filters like SEEK)
length_filter_param_i: An Integer defining the length of the arrayfilter_param_i. The entries in the array are parsed up to this index.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 intestsuite/src/dummymodel_1Dor usesubtype=-1to display available options.). The mandatory variable is:- 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.)
length_filter_param_r: An Integer defining the length of the arrayfilter_param_r. The entries in the array are parsed up to this index.COMM_model: The communicator variableCOMM_modelas initialized byinit_parallel_pdaf. (Usually stored in the modulemod_assimilation)COMM_filter: The communicator variableCOMM_filteras initialized byinit_parallel_pdaf. (Usually stored in the modulemod_assimilation)COMM_couple: The communicator variableCOMM_coupleas initialized byinit_parallel_pdaf. (Usually stored in the modulemod_assimilation)task_id: The index of the model tasks as initialized byinit_parallel_pdaf. (Usually stored in the modulemod_assimilation)n_modeltasks: The number of model tasks as defined before the call toinit_parallel_pdaf. (Usually stored in the modulemod_assimilation)filterpe: A logical flag showing whether a process belongs toCOMM_filteras initialized byinit_parallel_pdaf. (Usually stored in the modulemod_assimilation)U_init_ens: The name of the user-supplied routine that is called byPDAF_initto initialize the ensemble of model states. (See 'User-supplied routine U_init_ens'screen: An integer defining whether information output is written to the screen (i.e. standard output). The following choices are available:- 0: quiet mode - no information is displayed.
- 1: Display standard information (recommended)
- 2: as 1 plus display of timing information during the assimilation process
- 3: Display detailed information for debugging
status_pdaf: An integer used as status flag of PDAF. Ifstatus_pdafis zero upon exit fromPDAF_initthe initialization was successful. An error occurred for non-zero values. (The error codes are documented in the routinePDAF_init.)
An overview of available options for each filter an be found on the overview page on options.
It 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.
PDAF also has a Simplified Interface providing the routine PDAF_init_si. In the simplified interface, the name of the user-supplied routine U_init_ens is predefined to init_ens_pdaf such that it does not appear in the call to PDAF_init_si. More information on the pre-defined names is provided in the documentation of PDAF's simplified interface.
