Changes between Version 6 and Version 7 of ImplementAnalysisenkf


Ignore:
Timestamp:
Jan 22, 2012, 11:02:36 AM (7 years ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ImplementAnalysisenkf

    v6 v7  
    2727== Overview ==
    2828
    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.
     29For 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.
    3030
    3131For 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.
     
    4949 * [#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
    5050 * [#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_enkf_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`
    5252 * [#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.
    5353 * [#U_init_obscovarinit_obscovar_pdaf.F90 U_init_obscovar]: The name of the user-supplied routine that initializes the observation error covariance matrix.
     
    130130
    131131
    132 === `U_prepoststep` (prepoststep_enkf_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
     134The 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:
    135135
    136136The 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.
     
    222222
    223223The 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_enkf_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)
    225225 1. [#U_init_dim_obsinit_dim_obs_pdaf.F90 U_init_dim_obs]
    226226 1. [#U_obs_opobs_op_pdaf.F90 U_obs_op] (`dim_ens` calls: one call for each ensemble member)
     
    229229 1. [#U_init_obscovarinit_obscovar_pdaf.F90 U_init_obscovar]
    230230 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_enkf_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