Changes between Version 37 and Version 38 of ImplementAnalysislseik
 Timestamp:
 May 17, 2011, 3:40:07 PM (9 years ago)
Legend:
 Unmodified
 Added
 Removed
 Modified

ImplementAnalysislseik
v37 v38 14 14 <li>Implementation for LSEIK</li> 15 15 <li><a href="ImplementAnalysisetkf">Implementation for ETKF</a></li> 16 <li><a href="ImplementAnalysisletkf">Implementation for LETKF</a></li> 16 17 </ol> 17 18 <li><a href="AddingMemoryandTimingInformation">Memory and timing information</a></li> … … 28 29 29 30 For completeness we discuss here all usersupplied routines that are specified in the interface to `PDAF_put_state_lseik`. Many of the routines are localized versions of those that are needed for the global SEIK filter. Hence, if the usersupplied routines for the global SEIK filter have been already implemented, one can base on these routines to speed up the implementation. Due to this, it can also be reasonable to first fully implement a global filter version and subsequently implement the corresponding localized filter by modifying and extending the global routines. 31 32 The LSEIK filter and the LETKF (Local Ensemble Transform Kalman Filter) are very similar. For this reason, the interface to the usersupplied routines is almost identical. Depending on the implementation it can be possible to use identical routines for the LSEIK filter and the LETKF. Differences are marked in the text below. 33 30 34 31 35 == `PDAF_put_state_lseik` == … … 223 227 * The routine does not require that the product is implemented as a real matrixmatrix product. Rather, the product can be implemented in its most efficient form. For example, if the observation error covariance matrix is diagonal, only the multiplication of the diagonal with matrix `A_l` has to be implemented. 224 228 * The observation vector `obs_l` is provided through the interface for cases where the observation error variance is relative to the actual value of the observations. 225 * The interface has a difference for SEIK and ETKF: For ETKF the third argument is the ensemble size (`dim_ens`), while for SEIK it is the rank (`rank`) of the covariance matrix (usually ensemble size minus one). In addition, the second dimension of `A_l` and `C_l` has size `dim_ens` for ETKF, while it is `rank` for the SEIK filter. 229 * The interface has a difference for SEIK and ETKF: For ETKF the third argument is the ensemble size (`dim_ens`), while for SEIK it is the rank (`rank`) of the covariance matrix (usually ensemble size minus one). In addition, the second dimension of `A_l` and `C_l` has size `dim_ens` for ETKF, while it is `rank` for the SEIK filter. (Practically, one can usually ignore this difference as the fourth argument of the interface can be named arbitrarily in the routine.) 226 230 227 231