188 | | * replaced the optional module 'PDAF_interfaces_module' by the module 'PDAF'. In Fortran code, it is now required to include this module with 'USE PDAF'. |
189 | | * Change for offline mode: It is no longer spossible to specify the offline mode as 'subtype=5'. The offline model can now only be activated with a call to 'PDAF_set_offline_mode'. |
190 | | * Changes in subtypes (Only rleevant if one used other subtpyes the 0 or 1): The subtypes for the ensemble filters have been renumbered: subtypes 0 and 1 are unchanged, the other dynamic subtypes are changed as 4=>2, 6=>3, 7=>4; the variant with fixed ensmeble are changed as 2=>10, 3=>11. |
191 | | * Changes in the index of selected parameters: The index of some of the parameters set in PDAF_init has changed for better overall consistency. (See .... for an overview of the parameters) |
| 188 | * New general module 'PDAF' replacing the optional module 'PDAF_interfaces_module'. In Fortran code, it is now required to include this module with 'USE PDAF'. |
| 189 | * Change for offline mode: It is no longer possible to specify the offline mode as 'subtype=5'. The offline mode can now only be activated with a call to 'PDAF_set_offline_mode'. |
| 190 | * The subtypes have been renumbered: subtypes 0 and 1 are unchanged, the other dynamic subtypes are changed as 4=>2, 6=>3, 7=>4; the variant with fixed ensmeble are changed as 2=>10, 3=>11. |
| 191 | * Changes in the index value a some parameters: The index of some of the parameters set in PDAF_init has changed for better overall consistency. (See .... for an overview of the parameters) |
198 | 199 | * Added ENSRF/EAKF: The ensemble square-root filter (ENSRF, Whitaker & Hamill, 2002) and ensemble adjustment filter with local linear regression (EAKF, Anderson, 2003) were added. These filters perform the analysis step with a serial processing of single observations. |
199 | 200 | * Added more diagnostic routines, e.g. for computing ensemble mean (PDAF_diag_ensmean), ensemble mean standard deviation (PDAF_diag_stdev), variance state vector (PDAF_diag_variance) and higher order moments (PDAF_diag_compute_moments). |
200 | 201 | * Added observation diagnostics module for OMI: This is a set of routines that give the user access to the observation information including the observed ensemble and the observed ensemble mean. In addition, there are routines computing statistics for the difference beetween the observations and the observed ensemble mean. |
201 | | * Revised setting parameters for PDAF: Before the parameters were all set in the call to PDAF_init. Now there are new routines PDAF_set_iparam and PDAF_set_rparam to set selected parameters, without the need to specify all parameters. These routines make the specification of parameters for PDAF more flexible and can also be used during a run to change parameter values. |
202 | | * Revision of the initialization of observations: Now the observations are initialized before the actual analysis step is computed. Also the observartion operator is called before the actual analysis step. This also allows the option to initialize observations before prepoststep_pdaf is called for the forecast ensemble. Related to this the screen output for the observations was revised and is displayed at a different location from before |
203 | | * New PDAF3 interface: The selection of possible calls to PDAF*_put_state and PDAF*_assimilate has grown over the years since new functionality, in particular PDAF-OMI and PDAFlocal, required a new interfaces. We now defined a new standard interface in which a single routine (PDAF3_assimilate) can execute all available filter methods for the case of a diagonal observation error covariance matrix. The routine leverages the latest features that were introduced in previous PDAF releases to allow for a minimum number of arguments. The previous routines still exist, but we recommend to change to the new routines. There is also the routine PDAF3_put_state, which is now mainly recommended when the offline mode is used. |
| 202 | * New routines to set parameters for PDAF: Before the parameters were all set in the call to PDAF_init. Now there are new routines PDAF_set_iparam and PDAF_set_rparam to set selected parameters, without the need to specify all parameters. These routines make the specification of parameters for PDAF more flexible and can also be used during a run to change parameter values. |
| 203 | * Revision of the initialization of observations: Now the observations are initialized before the actual analysis step is computed. Also the observation operator is called before the actual analysis step. This chane allows for the option to initialize observations before prepoststep_pdaf is called for the forecast ensemble. Related to this the screen output for the observations was revised and is displayed at a different place from before. |
| 204 | * New PDAF3 interface: The selection of possible calls to PDAF*_put_state and PDAF*_assimilate has grown over the years since new functionality, in particular PDAF-OMI and PDAFlocal, required a new interfaces. We now defined a new standard interface in which a single routine (PDAF3_assimilate) can execute all available filter methods for the case of a diagonal observation error covariance matrix. The routine leverages the latest features that were introduced in previous PDAF releases to allow for a minimum number of arguments. There is also the routine PDAF3_put_state, which is now mainly recommended when the offline mode is used. |
207 | | * Calling LEnKF with the common routine PDAF3_assimilate_global: In PDAF 2.3 and before, the LEnKF had its own interface due to the additional call-back routine localize_covar_pdafomi required by this filter. With the new routine PDAFomi_set_localize_covar that is called in the OMI observation module in init_dim_obs_pdafomi the additional user-supplied subroutine localize_covar_pdafomi is no longer required which lowers the amount of implementation work for the user. |
208 | | * New routine `PDAF_set_seedset`: This routine can be used to seed the randum number seed for genering observations |
209 | | * Introduced named variables for choosing the filter type: The filter type can now also be specified by a named parameter of the form PDAF_DA_X, where 'X' is the DA method, e.g. 'ESTKF' or '3DVAR'. With this one does not need to look up the number of the filter type. |
| 208 | * Calling LEnKF with the universal routine PDAF3_assimilate: In PDAF 2.3 and before, the LEnKF had its own interface due to the additional call-back routine localize_covar_pdafomi required by this filter. With the new routine PDAFomi_set_localize_covar that is called in the OMI observation module in init_dim_obs_pdafomi the additional user-supplied subroutine localize_covar_pdafomi is no longer required which lowers the amount of implementation work for the user. |
| 209 | * New routine `PDAF_set_seedset`: This routine can be used to seed the random number seed for PDAF's random number generating routine. |
| 210 | * Introduced named variables for choosing the filter type: The filter type can now also be specified by a named parameter of the form PDAF_DA_X, where 'X' is the DA method, thus, e.g. 'PDAF_DA_ESTKF'. With this, one does not need to look up the number of the filter type. |