Changes between Version 14 and Version 15 of ImplementAnalysislnetf


Ignore:
Timestamp:
Jun 3, 2025, 5:30:39 PM (2 days ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ImplementAnalysislnetf

    v14 v15  
    5454== `PDAF_assimilate_lnetf` ==
    5555
    56 The general aspects of the filter-specific routines `PDAF_assimilate_*` have been described on the page [ModifyModelforEnsembleIntegration Modification of the model code for the ensemble integration].
     56The 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].
    5757The 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.
    5858
     
    7979}}}
    8080with 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]
    8282 * [#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.
    8383 * [#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
     
    102102== `PDAF_put_state_lnetf` ==
    103103
    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 [ModifyModelforEnsembleIntegration 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.
     104When 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.
    105105
    106106The interface when using PDAF V3.0 and later is:
     
    123123== User-supplied routines ==
    124124
    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 [ModifyModelforEnsembleIntegration modifying the model code for the ensemble integration].
     125Here, 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].
    126126
    127127To 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.
     
    132132
    133133This 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.
     134See the mape on [wiki:OnlineModifyModelforEnsembleIntegration_PDAF3#U_collect_statecollect_state_pdaf.F90 inserting the analysis step] for the description of this routine.
    135135
    136136=== `U_distribute_state` (distribute_state_pdaf.F90) ===
    137137
    138138This 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.
     139See the page on [wiki:OnlineModifyModelforEnsembleIntegration_PDAF3#U_distribute_statedistribute_state_pdaf.F90 inserting the analysis step] for the description of this routine.
    140140
    141141
     
    223223=== `U_prepoststep` (prepoststep_ens_pdaf.F90) ===
    224224
    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:
     225This 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:
    226226
    227227The 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.
     
    418418
    419419This 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.
     420See the page on [wiki:OnlineModifyModelforEnsembleIntegration_PDAF3#U_next_observationnext_observation_pdaf.F90 inserting the analysis step] for the description of this routine.
    421421
    422422== Execution order of user-supplied routines ==