Changes between Version 14 and Version 15 of ImplementAnalysislseik


Ignore:
Timestamp:
Sep 2, 2010, 9:25:35 AM (14 years ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ImplementAnalysislseik

    v14 v15  
    3838  SUBROUTINE PDAF_put_state_lseik(U_collect_state, U_init_dim_obs_full, U_obs_op_full, U_init_obs_full, &
    3939                                  U_init_obs_local, U_prepoststep, U_prodRinvA_local, U_init_n_domains, &
    40                                   U_init_dim_local, U_init_dim_obs_local, U_g2l_state, U_l2g_state, U_g2l_obs, &
     40                                  U_init_dim_local, U_init_dim_obs_local, &
     41                                  U_global2local_state, U_local2glocal_state, U_glocal2local_obs, &
    4142                                  U_init_obsvar, U_init_obsvar_local, status)
    4243}}}
     
    112113
    113114This routine is used by all local filter algorithms (LSEIK, LETKF).
     115The routine is only called if the globally adaptive forgetting factor is used (`type_forget=1` in the example implementation). For the local filters there is also the alternative to use locally adaptive forgetting factors (`type_forget=2` in the example implementation)
    114116
    115117The interface for this routine is:
     
    122124}}}
    123125
    124 The routine is called during the analysis step before the loop over the local analysis domains is entered.
    125 It has to provide the full vector of observations in `observation_f` for the current time step.
     126The routine is called during the analysis step before the loop over the local analysis domains is entered. The caller is the routine that computes an adaptive forgetting factor (PDAF_set_forget). It has to provide the full vector of observations in `observation_f` for the current time step.
    126127
    127128Hints:
     
    241242
    242243
     244=== `U_global2local_state` (global2local_state.F90) ===
     245
     246This routine is used by all local filter algorithms (LSEIK, LETKF).
     247
     248The interface for this routine is:
     249{{{
     250SUBROUTINE global2local_state(step, domain_p, dim_p, state_p, dim_l, state_l)
     251
     252  INTEGER, INTENT(in) :: step           ! Current time step
     253  INTEGER, INTENT(in) :: domain_        ! Current local analysis domain
     254  INTEGER, INTENT(in) :: dim_p          ! PE-local full state dimension
     255  INTEGER, INTENT(in) :: dim_l          ! Local state dimension
     256  REAL, INTENT(in)    :: state_p(dim_p) ! PE-local full state vector
     257  REAL, INTENT(out)   :: state_l(dim_l) ! State vector on local analysis domain
     258}}}
     259
     260The routine is called during the loop over the local analysis domains in the analysis step. It has to provide the local state vector `state_l` that corresponds to the local analysis domain with index `domain_p`. With a domain decomposed model, the state vector `state_p` for the local model sub-domain is provided to the routine.
     261
     262Hints:
     263 * In the simple case that a local analysis domain is a single vertical column of the model grid, the operation in this routine would be to take out the data for the vertical column indexed by `domain_p`.
     264
    243265=== `U_init_obsvar` (init_obsvar.F90) ===
    244266