Changeset 2293 for palm/trunk


Ignore:
Timestamp:
Jun 22, 2017 12:59:12 PM (7 years ago)
Author:
suehring
Message:

In anterpolation, exclude grid points used for interpolation from parent to child

File:
1 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SOURCE/pmc_interface_mod.f90

    r2292 r2293  
    2626! -----------------
    2727! $Id$
     28! In anterpolation, exclude grid points which are used for interpolation.
     29! This avoids the accumulation of numerical errors leading to increased
     30! variances for shallow child domains. 
     31!
     32! 2292 2017-06-20 09:51:42Z schwenkel
    2833! Implementation of new microphysic scheme: cloud_scheme = 'morrison'
    2934! includes two more prognostic equations for cloud drop concentration (nc) 
     
    54215426!--    Define the index bounds iclp, icrm, jcsp and jcnm.
    54225427!--    Note that kcb is simply zero and kct enters here as a parameter and it is
    5423 !--    determined in pmci_init_anterp_tophat
    5424 
     5428!--    determined in pmci_init_anterp_tophat.
     5429!--    Please note, grid points used also for interpolation (from parent to
     5430!--    child) are excluded in anterpolation, e.g. anterpolation is only from
     5431!--    nzb:kct-1, as kct is used for interpolation. Following this approach
     5432!--    avoids numerical problems which may accumulate, particularly for shallow
     5433!--    child domain, leading to increased velocity variances. A more
     5434!--    comprehensive explanation for this is still pending.
    54255435       IF ( nesting_mode == 'vertical' )  THEN
    54265436          IF ( nest_bound_l )  THEN
     
    54395449          IF ( nest_bound_l )  THEN
    54405450             IF ( var == 'u' )  THEN
     5451                iclp = icl + nhll + 1 + 1
     5452             ELSE
    54415453                iclp = icl + nhll + 1
    5442              ELSE
    5443                 iclp = icl + nhll
    54445454             ENDIF
    54455455          ENDIF
    54465456          IF ( nest_bound_r )  THEN
    5447              icrm = icr - nhlr
     5457             icrm = icr - nhlr - 1
    54485458          ENDIF
    54495459
    54505460          IF ( nest_bound_s )  THEN
    54515461             IF ( var == 'v' )  THEN
     5462                jcsp = jcs + nhls + 1 + 1
     5463             ELSE
    54525464                jcsp = jcs + nhls + 1
    5453              ELSE
    5454                 jcsp = jcs + nhls
    54555465             ENDIF
    54565466          ENDIF
    54575467          IF ( nest_bound_n )  THEN
    5458              jcnm = jcn - nhln
     5468             jcnm = jcn - nhln - 1
    54595469          ENDIF
    54605470       ENDIF
     
    54685478!--          For simplicity anterpolate within buildings and under elevated
    54695479!--          terrain too
    5470              DO  kk = kcb, kct
     5480             DO  kk = kcb, kct - 1
    54715481!
    54725482!--             ijfc and kfc are precomputed in pmci_init_anterp_tophat
Note: See TracChangeset for help on using the changeset viewer.