Changes between Version 15 and Version 16 of ImplementAnalysisetkf
- Timestamp:
- Jan 22, 2012, 11:00:20 AM (13 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ImplementAnalysisetkf
v15 v16 27 27 == Overview == 28 28 29 For the analysis step of the ETKF, different operations related to the observations are needed. These operations are requested by PDAF by calling user-supplied routines. Intentionally, the operations are split into separate routines in order to keep the operations rather elementary. This procedure should simplify the implementation. The names of the required routines are specified in the call to the routine `PDAF_put_state_etkf` that was discussed before. With regard to the parallelization, all these routines are executed by the filter processes (`filterpe= 1`) only.29 For the analysis step of the ETKF, different operations related to the observations are needed. These operations are requested by PDAF by calling user-supplied routines. Intentionally, the operations are split into separate routines in order to keep the operations rather elementary. This procedure should simplify the implementation. The names of the required routines are specified in the call to the routine `PDAF_put_state_etkf` that was discussed before. With regard to the parallelization, all these routines are executed by the filter processes (`filterpe=.true.`) only. 30 30 31 31 For completeness we discuss here all user-supplied routines that are specified in the interface to PDAF_put_state_etkf. Thus, some of the user-supplied routines that are explained on the page explaining the modification of the model code for the ensemble integration are repeated here. … … 47 47 * [#U_obs_opobs_op_pdaf.F90 U_obs_op]: The name of the user-supplied routine that acts as the observation operator on some state vector 48 48 * [#U_init_obsinit_obs_pdaf.F90 U_init_obs]: The name of the user-supplied routine that initializes the vector of observations 49 * [#U_prepoststepprepoststep_e tkf_pdaf.F90 U_prepoststep]: The name of the pre/poststep routine as in `PDAF_get_state`49 * [#U_prepoststepprepoststep_ens_pdaf.F90 U_prepoststep]: The name of the pre/poststep routine as in `PDAF_get_state` 50 50 * [#U_prodRinvAprodrinva_pdaf.F90 U_prodRinvA]: The name of the user-supplied routine that computes the product of the inverse of the observation error covariance matrix with some matrix provided to the routine by PDAF. This operation occurs during the analysis step of the ETKF. 51 51 * [#U_init_obsvarinit_obsvar_pdaf.F90 U_init_obsvar]: The name of the user-supplied routine that provides a mean observation error variance to PDAF (This routine will only be executed, if an adaptive forgetting factor is used) … … 128 128 129 129 130 === `U_prepoststep` (prepoststep_e tkf_pdaf.F90) ===130 === `U_prepoststep` (prepoststep_ens_pdaf.F90) === 131 131 132 The routine has been described on the [ModifyModelforEnsembleIntegration#U_prepoststepprepoststep_ seik.F90 page on modifying the model code for the ensemble integration] for the SEIK filter. For the ETKF, the interface is generally identical. For completeness, we repeat the description here.132 The routine has been described on the [ModifyModelforEnsembleIntegration#U_prepoststepprepoststep_ens_pdaf.F90 page on modifying the model code for the ensemble integration] for the SEIK filter. For the ETKF, the interface is generally identical. For completeness, we repeat the description here. 133 133 134 134 The interface for this routine is … … 219 219 220 220 The analysis step is executed when the ensemble integration of the forecast is completed. During the analysis step the following routines are executed in the given order: 221 1. [#U_prepoststepprepoststep_e tkf_pdaf.F90 U_prepoststep] (Call to act on the forecast ensemble, called with negative value of the time step)221 1. [#U_prepoststepprepoststep_ens_pdaf.F90 U_prepoststep] (Call to act on the forecast ensemble, called with negative value of the time step) 222 222 1. [#U_init_dim_obsinit_dim_obs_pdaf.F90 U_init_dim_obs] 223 223 1. [#U_obs_opobs_op_pdaf.F90 U_obs_op] (A single call to operate on the ensemble mean state) … … 226 226 1. [#U_init_obsvarinit_obsvar_pdaf.F90 U_init_obsvar] (Only executed, if the adaptive forgetting factor is used (`type_forget=1` in the example implemention)) 227 227 1. [#U_prodRinvAprodrinva_pdaf.F90 U_prodRinvA] 228 1. [#U_prepoststepprepoststep_e tkf_pdaf.F90 U_prepoststep] (call to act on the analysis ensemble, called with (positive) value of the time step)229 228 1. [#U_prepoststepprepoststep_ens_pdaf.F90 U_prepoststep] (call to act on the analysis ensemble, called with (positive) value of the time step) 229