Changes between Version 14 and Version 15 of ImplementAnalysislnetf
- Timestamp:
- Jun 3, 2025, 5:30:39 PM (2 days ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ImplementAnalysislnetf
v14 v15 54 54 == `PDAF_assimilate_lnetf` == 55 55 56 The general aspects of the filter-specific routines `PDAF_assimilate_*` have been described on the page [ ModifyModelforEnsembleIntegrationModification of the model code for the ensemble integration].56 The general aspects 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]. 57 57 The interface for the routine `PDAF_assimilate_lnetf` contains several routine names for routines that operate on the local analysis domains (marked by `_l` at the end of the routine name). In addition, there are names for routines that consider all available observations required to perform local analyses with LNETF within some sub-domain of a domain-decomposed model (marked by `_f` at the end of the routine name). In case of a serial execution of the assimilation program, these will be all globally available observations. However, if the program is executed with parallelization, this might be a smaller set of observations. 58 58 … … 79 79 }}} 80 80 with the following arguments: 81 * [#U_collect_statecollect_state_pdaf.F90 U_collect_state]: The name of the user-supplied routine that initializes a state vector from the array holding the ensemble of model states from the model fields. This is basically the inverse operation to `U_distribute_state` used in [ ModifyModelforEnsembleIntegration#PDAF_get_state PDAF_get_state]81 * [#U_collect_statecollect_state_pdaf.F90 U_collect_state]: The name of the user-supplied routine that initializes a state vector from the array holding the ensemble of model states from the model fields. This is basically the inverse operation to `U_distribute_state` used in [wiki:OnlineModifyModelforEnsembleIntegration_PDAF3#PDAF_get_state PDAF_get_state] 82 82 * [#U_distribute_statedistribute_state_pdaf.F90 U_distribute_state]: The name of a user supplied routine that initializes the model fields from the array holding the ensemble of model state vectors. 83 83 * [#U_init_dim_obs_finit_dim_obs_f_pdaf.F90 U_init_dim_obs_f]: The name of the user-supplied routine that provides the size of the full observation vector … … 102 102 == `PDAF_put_state_lnetf` == 103 103 104 When the 'flexible' implementation variant is chosen for the assimilation system, the routine `PDAF_put_state_lnetf` has to be used instead of `PDAF_assimilate_lnetf`. 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_lnetf` with the exception the specification of the user-supplied routines `U_distribute_state` and `U_next_observation` are missing.104 When the 'flexible' implementation variant is chosen for the assimilation system, the routine `PDAF_put_state_lnetf` has to be used instead of `PDAF_assimilate_lnetf`. 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_lnetf` with the exception the specification of the user-supplied routines `U_distribute_state` and `U_next_observation` are missing. 105 105 106 106 The interface when using PDAF V3.0 and later is: … … 123 123 == User-supplied routines == 124 124 125 Here, all user-supplied routines are described that are required in the call to `PDAF_assimilate_lnetf`. For some of the generic routines, we link to the page on [ ModifyModelforEnsembleIntegrationmodifying the model code for the ensemble integration].125 Here, all user-supplied routines are described that are required in the call to `PDAF_assimilate_lnetf`. For some of the generic routines, we link to the page on [wiki:OnlineModifyModelforEnsembleIntegration_PDAF3 modifying the model code for the ensemble integration]. 126 126 127 127 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. … … 132 132 133 133 This routine is independent from the filter algorithm used. 134 See the mape on [ InsertAnalysisStep#U_collect_statecollect_state_pdaf.F90 inserting the analysis step] for the description of this routine.134 See the mape on [wiki:OnlineModifyModelforEnsembleIntegration_PDAF3#U_collect_statecollect_state_pdaf.F90 inserting the analysis step] for the description of this routine. 135 135 136 136 === `U_distribute_state` (distribute_state_pdaf.F90) === 137 137 138 138 This routine is independent of the filter algorithm used. 139 See the page on [ InsertAnalysisStep#U_distribute_statedistribute_state_pdaf.F90 inserting the analysis step] for the description of this routine.139 See the page on [wiki:OnlineModifyModelforEnsembleIntegration_PDAF3#U_distribute_statedistribute_state_pdaf.F90 inserting the analysis step] for the description of this routine. 140 140 141 141 … … 223 223 === `U_prepoststep` (prepoststep_ens_pdaf.F90) === 224 224 225 This routine can generally be identical to that used for the global LESTKF/ESTKF methods, which has already been described on the [ ModifyModelforEnsembleIntegration#U_prepoststepprepoststep_ens_pdaf.F90 page on modifying the model code for the ensemble integration]. For completeness, the description is repeated:225 This routine can generally be identical to that used for the global LESTKF/ESTKF methods, which has already been described on the [wiki:OnlineModifyModelforEnsembleIntegration_PDAF3#U_prepoststepprepoststep_ens_pdaf.F90 page on modifying the model code for the ensemble integration]. For completeness, the description is repeated: 226 226 227 227 The interface of the routine is identical for all filters. However, the particular operations that are performed in the routine can be specific for each filter algorithm. Here, we exemplify the interface on the example of the NETF. … … 418 418 419 419 This routine is independent of the filter algorithm used. 420 See the page on [ InsertAnalysisStep#U_next_observationnext_observation_pdaf.F90 inserting the analysis step] for the description of this routine.420 See the page on [wiki:OnlineModifyModelforEnsembleIntegration_PDAF3#U_next_observationnext_observation_pdaf.F90 inserting the analysis step] for the description of this routine. 421 421 422 422 == Execution order of user-supplied routines ==