Changes between Version 15 and Version 16 of ImplementAnalysisetkf


Ignore:
Timestamp:
Jan 22, 2012, 11:00:20 AM (12 years ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ImplementAnalysisetkf

    v15 v16  
    2727== Overview ==
    2828
    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.
     29For 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.
    3030
    3131For 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.
     
    4747 * [#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
    4848 * [#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_etkf_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`
    5050 * [#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.
    5151 * [#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)
     
    128128
    129129
    130 === `U_prepoststep` (prepoststep_etkf_pdaf.F90) ===
     130=== `U_prepoststep` (prepoststep_ens_pdaf.F90) ===
    131131 
    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.
     132The 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.
    133133
    134134The interface for this routine is
     
    219219
    220220The 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_etkf_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)
    222222 1. [#U_init_dim_obsinit_dim_obs_pdaf.F90 U_init_dim_obs]
    223223 1. [#U_obs_opobs_op_pdaf.F90 U_obs_op] (A single call to operate on the ensemble mean state)
     
    226226 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))
    227227 1. [#U_prodRinvAprodrinva_pdaf.F90 U_prodRinvA]
    228  1. [#U_prepoststepprepoststep_etkf_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