Changes between Version 31 and Version 32 of ImplementAnalysisetkf
- Timestamp:
- Jun 3, 2025, 5:19:45 PM (2 days ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ImplementAnalysisetkf
v31 v32 50 50 == `PDAF_assimilate_etkf` == 51 51 52 The general espects of the filter specific routines `PDAF_assimilate_*` have been described on the page [ ModifyModelforEnsembleIntegration Modification of the model code for the ensemble integration] and its sub-page on [InsertAnalysisStep inserting the analysis step]. The routine is used in the fully-parallel implementation variant of the data assimilation system. When the 'flexible' implementation variant is used, the routines `PDAF_put_state_*' is used as described further below. Here, we list once more the full interface. Subsequently, the full set of user-supplied routines specified in the call to `PDAF_assimilate_etkf` is explained.52 The general espects of the filter specific routines `PDAF_assimilate_*` have been described on the page [wiki:OnlineModifyModelforEnsembleIntegration_PDAF3 Modification of the model code for the ensemble integration]. The routine is used in the fully-parallel implementation variant of the data assimilation system. When the 'flexible' implementation variant is used, the routines `PDAF_put_state_*' is used as described further below. Here, we list once more the full interface. Subsequently, the full set of user-supplied routines specified in the call to `PDAF_assimilate_etkf` is explained. 53 53 54 54 The interface when using the ETKF method is the following: … … 73 73 == `PDAF_put_state_etkf` == 74 74 75 When the 'flexible' implementation variant is chosen for the assimilation system, the routine `PDAF_put_state_etkf` has to be used instead of `PDAF_assimilate_etkf`. The general aspects of the filter specific routines `PDAF_put_state_*` have been described on the page [ ModifyModelforEnsembleIntegrationModification of the model code for the ensemble integration]. The interface of the routine is identical with that of `PDAF_assimilate_etkf` with the exception the specification of the user-supplied routines `U_distribute_state` and `U_next_observation` are missing.75 When the 'flexible' implementation variant is chosen for the assimilation system, the routine `PDAF_put_state_etkf` has to be used instead of `PDAF_assimilate_etkf`. The general aspects of the filter specific routines `PDAF_put_state_*` have been described on the page [wiki:OnlineModifyModelforEnsembleIntegration_PDAF3 Modification of the model code for the ensemble integration]. The interface of the routine is identical with that of `PDAF_assimilate_etkf` with the exception the specification of the user-supplied routines `U_distribute_state` and `U_next_observation` are missing. 76 76 77 77 The interface when using the ETKF method is the following: … … 84 84 == User-supplied routines == 85 85 86 Here, all user-supplied routines are described that are required in the call to `PDAF_assimilate_etkf`. For some of the generic routines, we link to the page on [ ModifyModelforEnsembleIntegrationmodifying the model code for the ensemble integration].86 Here, all user-supplied routines are described that are required in the call to `PDAF_assimilate_etkf`. For some of the generic routines, we link to the page on [wiki:OnlineModifyModelforEnsembleIntegration_PDAF3 modifying the model code for the ensemble integration]. 87 87 88 88 To indicate user-supplied routines we use the prefix `U_`. In the tutorials in `tutorial/` and in the template directory `templates/` these routines exist without the prefix, but with the extension `_pdaf`. The files are named correspondingly. In the section titles below we provide the name of the template file in parentheses. … … 94 94 95 95 This routine is independent of the filter algorithm used. 96 See the page on [ InsertAnalysisStep#U_collect_statecollect_state_pdaf.F90 inserting the analysis step] for the description of this routine.96 See the page on [wiki:OnlineModifyModelforEnsembleIntegration_PDAF3#U_collect_statecollect_state_pdaf.F90 inserting the analysis step] for the description of this routine. 97 97 98 98 … … 100 100 101 101 This routine is independent of the filter algorithm used. 102 See the page on [ InsertAnalysisStep#U_distribute_statedistribute_state_pdaf.F90 inserting the analysis step] for the description of this routine.102 See the page on [wiki:OnlineModifyModelforEnsembleIntegration_PDAF3#U_distribute_statedistribute_state_pdaf.F90 inserting the analysis step] for the description of this routine. 103 103 104 104 … … 165 165 === `U_prepoststep` (prepoststep_ens_pdaf.F90) === 166 166 167 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.167 The routine has been described on the [wiki:OnlineModifyModelforEnsembleIntegration_PDAF3#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. 168 168 169 169 The interface for this routine is … … 194 194 * The vector (`state_p`) is allocated but not initialized with the ensemble mean. It can be used freely during the execution of `U_prepoststep`, for example to compute the ensemble mean state. 195 195 * The interface has a difference for ETKF and SEIK: For the ETKF, the array `Uinv` has size `dim_ens` x `dim_ens`. In contrast it has size `dim_ens-1` x `dim_ens-1` for the SEIK filter. (For most cases, this will be irrelevant, because most usually the ensemble array `ens_p` is used for computations, rather than `Uinv`. However, for the SEIK filter with fixed covariance matrix, `Uinv` is required to compute the estimate analysis error. The fixed covariance matrix mode is not available for the ETKF) 196 * The interface through which `U_prepoststep` is called does not include the array of smoothed ensembles. In order to access the smoother ensemble array one has to set a pointer to it using a call to the routine `PDAF_get_smootherens` (see page on [ AuxiliaryRoutines auxiliary routines])196 * The interface through which `U_prepoststep` is called does not include the array of smoothed ensembles. In order to access the smoother ensemble array one has to set a pointer to it using a call to the routine `PDAF_get_smootherens` (see page on [wiki:AuxiliaryRoutines auxiliary routines]) 197 197 198 198 … … 250 250 251 251 This routine is independent of the filter algorithm used. 252 See the page on [ InsertAnalysisStep#U_next_observationnext_observation_pdaf.F90 inserting the analysis step] for the description of this routine.252 See the page on [wiki:OnlineModifyModelforEnsembleIntegration_PDAF3#U_next_observationnext_observation_pdaf.F90 inserting the analysis step] for the description of this routine. 253 253 254 254