Changes between Version 13 and Version 14 of ImplementAnalysislseik


Ignore:
Timestamp:
Sep 1, 2010, 5:37:08 PM (10 years ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ImplementAnalysislseik

    v13 v14  
    219219
    220220
     221=== `U_init_dim_obs_local` (init_dim_obs_local.F90) ===
     222
     223This routine is used by all local filter algorithms (LSEIK, LETKF).
     224
     225The interface for this routine is:
     226{{{
     227SUBROUTINE init_dim_obs_local(domain_p, step, dim_obs_f, dim_obs_l)
     228
     229  INTEGER, INTENT(in)  :: domain_p   ! Current local analysis domain
     230  INTEGER, INTENT(in)  :: step       ! Current time step
     231  INTEGER, INTENT(in)  :: dim_obs_f  ! Full dimension of observation vector
     232  INTEGER, INTENT(out) :: dim_obs_l  ! Local dimension of observation vector
     233}}}
     234
     235The routine is called during the loop over the local analysis domains in the analysis step.
     236It has to initialize in `dim_obs_l` the size of the observation vector used for the local analysis domain with index `domain_p`.
     237
     238Some hints:
     239 * Usually, the observation to be considered for a local analysis are those which reside within some distance from the local analysis domain. Thus, if the local analysis domain is a single vertical column of the model grid and if the model grid is a regular ij-grid, then one could use some range of i/j indices to select the observations and determine the local number of them. More generally, one can compute the physical distance of an observation from the local analysis domain and decide on this basis, if the observation has to be considered.
     240 * In the loop over the local analysis domains, the routine is always called before `init_obs_local` is executed. Thus, as `init_dim_obs_local` has to check which observations should be used for the local analysis domain, one can already initialize an integer array that stores the index of observations to be considered. This index should be the position of the observation in the array `observation_f`. With this, the initialization of the local observation vector in `init_obs_local` can be sped up.
     241
    221242
    222243=== `U_init_obsvar` (init_obsvar.F90) ===