Changes between Version 31 and Version 32 of ImplementAnalysisetkf


Ignore:
Timestamp:
Jun 3, 2025, 5:19:45 PM (17 months ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ImplementAnalysisetkf

    v31 v32  
    5050== `PDAF_assimilate_etkf` ==
    5151
    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.
     52The 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.
    5353
    5454The interface when using the ETKF method is the following:
    … …  
    7373== `PDAF_put_state_etkf` ==
    7474
    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 [ModifyModelforEnsembleIntegration 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.
     75When 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.
    7676
    7777The interface when using the ETKF method is the following:
    … …  
    8484== User-supplied routines ==
    8585
    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 [ModifyModelforEnsembleIntegration modifying the model code for the ensemble integration].
     86Here, 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].
    8787
    8888To 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.
    … …  
    9494
    9595This 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.
     96See the page on [wiki:OnlineModifyModelforEnsembleIntegration_PDAF3#U_collect_statecollect_state_pdaf.F90 inserting the analysis step] for the description of this routine.
    9797
    9898
    … …  
    100100
    101101This 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.
     102See the page on [wiki:OnlineModifyModelforEnsembleIntegration_PDAF3#U_distribute_statedistribute_state_pdaf.F90 inserting the analysis step] for the description of this routine.
    103103
    104104
    … …  
    165165=== `U_prepoststep` (prepoststep_ens_pdaf.F90) ===
    166166 
    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.
     167The 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.
    168168
    169169The interface for this routine is
    … …  
    194194 * 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.
    195195 * 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])
    197197
    198198
    … …  
    250250
    251251This 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.
     252See the page on [wiki:OnlineModifyModelforEnsembleIntegration_PDAF3#U_next_observationnext_observation_pdaf.F90 inserting the analysis step] for the description of this routine.
    253253
    254254