Changes between Version 3 and Version 4 of AddFilterAlgorithm
- Timestamp:
- Nov 11, 2011, 4:07:12 PM (13 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
AddFilterAlgorithm
v3 v4 5 5 The internal structure of PDAF is organized into a generic part providing the infrastructure to perform ensemble forecasts and filter analysis steps. The generic part is independent of the particular filter algorithm and only distinguishes between ensemble based filters (all filters except SEEK) and mode based filters (currently only SEEK). The filter-specific routines are called through an internal interface. 6 6 7 Each filter algorithm consists of a minimum of 6 routines. All routines are called trough the internal interface of PDAF, except for the "put state" routine (`PDAF_put_state_ FILTERNAME` where FILTERNAMEis the name of the selected filter).7 Each filter algorithm consists of a minimum of 6 routines. All routines are called trough the internal interface of PDAF, except for the "put state" routine (`PDAF_put_state_X` where X is the name of the selected filter). 8 8 9 9 == Internal Interface of PDAF == … … 12 12 13 13 The routine `PDAF_init` calls 14 * `PDAF_init_filters` - interface routine to `PDAF_ FILTERNAME_init`[[BR]]15 * `PDAF_ FILTERNAME_init` performs the filter-specific initialization of parameters and calls the user-supplied routine that initializes the initial ensemble of model states.16 * `PDAF_alloc_filters` - interface routine to `PDAF_ FILTERNAME_alloc`[[BR]]17 * `PDAF_ FILTERNAME_alloc` allocates the filter-specific arrays.18 * `PDAF_options_filters` - interface routine to `PDAF_ FILTERNAME_options`19 * `PDAF_ FILTERNAME_options` is an optional routine. Its purpose is to display an overview of available options for the filter algorithm.14 * `PDAF_init_filters` - interface routine to `PDAF_X_init`[[BR]] 15 * `PDAF_X_init` performs the filter-specific initialization of parameters and calls the user-supplied routine that initializes the initial ensemble of model states. 16 * `PDAF_alloc_filters` - interface routine to `PDAF_X_alloc`[[BR]] 17 * `PDAF_X_alloc` allocates the filter-specific arrays. 18 * `PDAF_options_filters` - interface routine to `PDAF_X_options` 19 * `PDAF_X_options` is an optional routine. Its purpose is to display an overview of available options for the filter algorithm. 20 20 21 21 22 22 The routine `PDAF_get_state` calls 23 * `PDAF_initinfo_filters` - interface routine to `PDAF_ FILTERNAME_initinfo`24 * `PDAF_ FILTERNAME_initinfo` displays information on the current configuration of the filter algorithm.23 * `PDAF_initinfo_filters` - interface routine to `PDAF_X_initinfo` 24 * `PDAF_X_initinfo` displays information on the current configuration of the filter algorithm. 25 25 26 26 27 The routine `PDAF_print_info` only includes the interface to `PDAF_ FILTERNAME_memtime`28 * `PDAF_ FILTERNAME_memtime` displays information on the execution duration of the different parts of the assimilation process as well as information on the amount of allocated memory. This functionality is optional.27 The routine `PDAF_print_info` only includes the interface to `PDAF_X_memtime` 28 * `PDAF_X_memtime` displays information on the execution duration of the different parts of the assimilation process as well as information on the amount of allocated memory. This functionality is optional. 29 29 30 30 31 The routine `PDAF_put_state_ FILTERNAME` is called directly from the model code. There is a separate routine for each filter. The standard implementation calls32 * `PDAF_ FILTERNAME_initinfo`31 The routine `PDAF_put_state_X` is called directly from the model code. There is a separate routine for each filter. The standard implementation calls 32 * `PDAF_X_initinfo` 33 33 * This is the same routine that is called by `PDAF_get_state`. Here, it is only called, if the offline mode of PDAF is used. 34 * `PDAF_ FILTERNAME_update`34 * `PDAF_X_update` 35 35 * This routine contains the actual assimilation or analysis step of the filter algorithm.