Changes between Version 17 and Version 18 of InitPdaf
- Timestamp:
- Aug 10, 2011, 4:05:59 PM (13 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
InitPdaf
v17 v18 19 19 == Overview == 20 20 21 After the adaption of the parallelization, the initialization of PDAF has to be implemented. PDAF_internally, theinitialization is performed by the routine `PDAF_init`. Typically, the initializations of all variables required for the call to `PDAF_init` can be collected into a single subroutine. This implementation strategy is useful, as only a single addition subroutine call has to be added to the model source code. In the example in `testsuite/src/dummymodel_1D` the routine in the file `init_pdaf_dummy_D.F90` shows this strategy. The file `init_pdaf.F90` in `templates/` provides a commented template for this routine, which can be used as the basis of the implementation.21 After the adaption of the parallelization, the initialization of PDAF has to be implemented. The PDAF-interval initialization is performed by the routine `PDAF_init`. Typically, the initializations of all variables required for the call to `PDAF_init` can be collected into a single subroutine. This implementation strategy is useful, as only a single addition subroutine call has to be added to the model source code. In the example in `testsuite/src/dummymodel_1D` the routine in the file `init_pdaf_dummy_D.F90` shows this strategy. The file `init_pdaf.F90` in `templates/` provides a commented template for this routine, which can be used as the basis of the implementation. 22 22 23 23 `PDAF_init` itself calls a user-supplied routine to initialize the ensemble of model states through its interface. In the example there are separate routines for the different filters. They are in the files `init_seik_dummy_D.F90` (for SEIK, LSEIK, ETKF, LETKF), `init_enkf_dummy_D.F90` (for EnKF), and `init_seek_dummy_D.F90` (for SEEK). … … 50 50 * 4: ETKF 51 51 * 5: LETKF 52 * `subtype`: An integer defining the sub-type of the filter algorithm (see example codefor choices)52 * `subtype`: An integer defining the sub-type of the filter algorithm (see the example code in `testsuite/src/dummymodel_1D` for choices) 53 53 * `step_null`: An integer defining the initial time step. For some cases it can use useful to set `step_null` larger to 0. 54 54 * `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). The mandatory variables are in the following order: … … 56 56 * The ensemble size for all ensemble-based filters (or the rank of the state covariance matrix for mode-based filters like SEEK) 57 57 * `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. 58 * `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 ). The mandatory variable is:58 * `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 `testsuite/src/dummymodel_1D`). The mandatory variable is: 59 59 * The value of the forgetting factor (required to be larger than zero) 60 60 * `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.