358 | | The user-supplied routines are executed in the following order: |
359 | | |
360 | | 1 [#U_collect_statecollect_state.F90 U_collect_state] |
361 | | 1 [#U_prepoststepprepoststep_seik.F90 U_prepoststep] |
362 | | 1 [#U_init_n_domainsinit_n_domains.F90 U_init_n_domains] |
363 | | 1 [#U_init_dim_obs_fullinit_dim_obs_full.F90 U_init_dim_obs_full] |
364 | | 1 [#U_obs_op_fullobs_op_full.F90 U_obs_op_full] |
365 | | 1 [#U_init_obs_fullinit_obs_full.F90 U_init_obs_full] |
366 | | 1 [#U_init_obs_localinit_obs_local.F90 U_init_obs_local] |
367 | | 1 [#U_prodRinvA_localprodrinva_local.F90 U_prodRinvA_local] |
368 | | 1 [#U_init_dim_localinit_dim_local.F90 U_init_dim_local] |
369 | | 1 [#U_init_dim_obs_localinit_dim_obs_local.F90 U_init_dim_obs_local] |
370 | | 1 [#U_global2local_stateglobal2local_state.F90 U_global2local_state] |
371 | | 1 [#U_local2global_statelocal2global_state.F90 U_local2global_state] |
372 | | 1 [#U_global2local_obsglobal2local_obs.F90 U_global2local_obs] |
373 | | 1 [#U_init_obsvarinit_obsvar.F90 U_init_obsvar] |
374 | | 1 [#U_init_obsvar_localinit_obsvar_local.F90 U_init_obsvar_local] |
375 | | |
376 | | |
377 | | |
378 | | |
| 358 | The user-supplied routines are executed in the order listed below. The order can be important as some routines can perform preparatory work for later routines. For example, `U_init_dim_obs_local` can prepare an index array that provides the information how to localize a 'full' vector of observations. Some hints one this are given with the descriptions of the routine interfaces above. |
| 359 | |
| 360 | Before the analysis step is called the following is executed: |
| 361 | 1. [#U_collect_statecollect_state.F90 U_collect_state] |
| 362 | |
| 363 | In the analysis step, before the loop over all local analysis domains, the following routines are executed: |
| 364 | 1. [#U_prepoststepprepoststep_seik.F90 U_prepoststep] |
| 365 | 1. [#U_init_n_domainsinit_n_domains.F90 U_init_n_domains] |
| 366 | 1. [#U_init_dim_obs_fullinit_dim_obs_full.F90 U_init_dim_obs_full] |
| 367 | 1. [#U_obs_op_fullobs_op_full.F90 U_obs_op_full] |
| 368 | 1. [#U_init_obs_fullinit_obs_full.F90 U_init_obs_full] (Only executed, if the global adaptive forgetting factor is used (`type_forget=1` in the example implemention)) |
| 369 | 1. [#U_init_obsvarinit_obsvar.F90 U_init_obsvar] (Only execute, if the global adaptive forgetting factor is used (`type_forget=1` in the example implemention)) |
| 370 | |
| 371 | The the loop over all local analysis domains, it is executed: |
| 372 | 1. [#U_init_dim_localinit_dim_local.F90 U_init_dim_local] |
| 373 | 1. [#U_init_dim_obs_localinit_dim_obs_local.F90 U_init_dim_obs_local] |
| 374 | 1. [#U_global2local_stateglobal2local_state.F90 U_global2local_state] |
| 375 | 1. [#U_global2local_obsglobal2local_obs.F90 U_global2local_obs] |
| 376 | 1. [#U_init_obs_localinit_obs_local.F90 U_init_obs_local] |
| 377 | 1. [#U_global2local_obsglobal2local_obs.F90 U_global2local_obs] |
| 378 | 1. [#U_init_obsvar_localinit_obsvar_local.F90 U_init_obsvar_local] (Only, if the local adaptive forgetting factor is used (`type_forget=2` in the example implementation)) |
| 379 | 1. [#U_prodRinvA_localprodrinva_local.F90 U_prodRinvA_local] |
| 380 | 1. [#U_local2global_statelocal2global_state.F90 U_local2global_state] |
| 381 | |
| 382 | After the loop over all local analysis domains, it is executed: |
| 383 | 1. [#U_prepoststepprepoststep_seik.F90 U_prepoststep] |
| 384 | |
| 385 | |
| 386 | |