Changes between Version 6 and Version 7 of ImplementAnalysisenkf
- Timestamp:
- Jan 22, 2012, 11:02:36 AM (13 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ImplementAnalysisenkf
v6 v7 27 27 == Overview == 28 28 29 For the analysis step of the EnKF 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_enkf`. With regard to the parallelization, all these routines are executed by the filter processes (`filterpe= 1`) only.29 For the analysis step of the EnKF 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_enkf`. 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_enkf. 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. … … 49 49 * [#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 50 50 * [#U_init_obsinit_obs_pdaf.F90 U_init_obs]: The name of the user-supplied routine that initializes the vector of observations 51 * [#U_prepoststepprepoststep_en kf_pdaf.F90 U_prepoststep]: The name of the pre/poststep routine as in `PDAF_get_state`51 * [#U_prepoststepprepoststep_ens_pdaf.F90 U_prepoststep]: The name of the pre/poststep routine as in `PDAF_get_state` 52 52 * [#U_add_obs_erradd_obs_err_pdaf.F90 U_add_obs_err]: The name of the user-supplied routine that adds the observation error covariance matrix to the ensemble covariance matrix projected onto the observation space. 53 53 * [#U_init_obscovarinit_obscovar_pdaf.F90 U_init_obscovar]: The name of the user-supplied routine that initializes the observation error covariance matrix. … … 130 130 131 131 132 === `U_prepoststep` (prepoststep_en kf_pdaf.F90) ===133 134 The general aspects of this routines have already been described on the [ModifyModelforEnsembleIntegration#U_prepoststepprepoststep_ seik_pdaf.F90 page on modifying the model code for the ensemble integration] for the SEIK filter. For completeness, the description is repeated specifically for the EnKF:132 === `U_prepoststep` (prepoststep_ens_pdaf.F90) === 133 134 The general aspects of this routines have already 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 completeness, the description is repeated specifically for the EnKF: 135 135 136 136 The interface of the routine is identical for all filters, but sizes can vary. Also, the particular operations that are performed in the routine can be specific for each filter algorithm. … … 222 222 223 223 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: 224 1. [#U_prepoststepprepoststep_en kf_pdaf.F90 U_prepoststep] (Call to act on the forecast ensemble, called with negative value of the time step)224 1. [#U_prepoststepprepoststep_ens_pdaf.F90 U_prepoststep] (Call to act on the forecast ensemble, called with negative value of the time step) 225 225 1. [#U_init_dim_obsinit_dim_obs_pdaf.F90 U_init_dim_obs] 226 226 1. [#U_obs_opobs_op_pdaf.F90 U_obs_op] (`dim_ens` calls: one call for each ensemble member) … … 229 229 1. [#U_init_obscovarinit_obscovar_pdaf.F90 U_init_obscovar] 230 230 1. [#U_obs_opobs_op_pdaf.F90 U_obs_op] (`dim_ens` calls: one call for each ensemble member, repeated to reduce storage) 231 1. [#U_prepoststepprepoststep_en kf_pdaf.F90 U_prepoststep] (Call to act on the analysis ensemble, called with (positive) value of the time step)232 231 1. [#U_prepoststepprepoststep_ens_pdaf.F90 U_prepoststep] (Call to act on the analysis ensemble, called with (positive) value of the time step) 232