Changes between Version 15 and Version 16 of ImplementAnalysislseik


Ignore:
Timestamp:
Sep 3, 2010, 11:28:30 AM (10 years ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ImplementAnalysislseik

    v15 v16  
    251251
    252252  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
     253  INTEGER, INTENT(in) :: domain_p       ! Current local analysis domain
     254  INTEGER, INTENT(in) :: dim_p          ! State dimension for model sub-domain
    255255  INTEGER, INTENT(in) :: dim_l          ! Local state dimension
    256   REAL, INTENT(in)    :: state_p(dim_p) ! PE-local full state vector
     256  REAL, INTENT(in)    :: state_p(dim_p) ! State vector for model sub-domain
    257257  REAL, INTENT(out)   :: state_l(dim_l) ! State vector on local analysis domain
    258258}}}
    259259
    260 The 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 
    262 Hints:
    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`.
     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`. Provided to the routine is the state vector `state_p`. With a domain decomposed model, this is the state for the local model sub-domain.
     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 of `state_p` the data for the vertical column indexed by `domain_p`.
     264
     265
     266=== `U_local2global_state` (local2global_state.F90) ===
     267
     268This routine is used by all local filter algorithms (LSEIK, LETKF).
     269
     270The interface for this routine is:
     271{{{
     272SUBROUTINE local2global_state(step, domain_p, dim_l, state_l, dim_p, state_p)
     273
     274  INTEGER, INTENT(in) :: step           ! Current time step
     275  INTEGER, INTENT(in) :: domain_p       ! Current local analysis domain
     276  INTEGER, INTENT(in) :: dim_p          ! State dimension for model sub-domain
     277  INTEGER, INTENT(in) :: dim_l          ! Local state dimension
     278  REAL, INTENT(in)    :: state_p(dim_p) ! State vector for model sub-domain
     279  REAL, INTENT(out)   :: state_l(dim_l) ! State vector on local analysis domain
     280}}}
     281
     282The 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`. Provided to the routine is the state vector `state_p`. With a domain decomposed model, this is the state for the local model sub-domain.
     283
     284The routine is called during the loop over the local analysis domains in the analysis step. It has to initialize the part of the global state vector `state_p` that corresponds to the local analysis domain with index `domain_p`. Provided to the routine is the state vector `state_l` for the local analysis domain.
     285
     286Hints:
     287 * 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 write into `state_p` the data for the vertical column indexed by `domain_p`.
     288
    264289
    265290=== `U_init_obsvar` (init_obsvar.F90) ===