PDAF_init_si
This page documents the routine PDAF_init_si of PDAF.
PDAF_init_si is the variant of PDAF_init with the simplified interface. The difference between both routines is that in the simplified interface the names of the call-back subroutines are not specified. Instead the routine assumes that the call-back routines have a standard name as specified at the end of this page.
The routine PDAF_init is typically called in init_pdaf where also the variables for the call are set.
The call to PDAF_init_si 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, &
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
- 8: LEnKF
- 9: NETF
- 10: LNETF
- 12: PF
- 100: GENOBS (generate synthetic observations)
- 200: 3D-Var
subtype: An integer defining the sub-type of the filter algorithm (see the example code intemplates/online_omi/init_pdaf.F90for choices).- If
PDAF_initis called withsubtype=-1the available options are shown for the selected filter algorithm.
- If
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 intemplates/online_omi/init_pdaf.F90or 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)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
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_si is executed. Only if its value is 0 the initialization was successful.
The routine PDAF_init_si calls the user-defined call-back routine for the initialization of the ensemble array.
The name of this user-supplied routine init_ens_pdaf. An overview of the pre-defined names is provided in the documentation of PDAF's simplified interface. For the specification of the routine init_ens_pdaf see: 'User-supplied routine U_init_ens'
