Changeset 2174


Ignore:
Timestamp:
Mar 13, 2017 8:18:57 AM (5 years ago)
Author:
maronga
Message:

nesting extended for cloud physics quantities, bugfixes in nesting, change of default most_method

Location:
palm/trunk/SOURCE
Files:
3 edited

Legend:

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

    r2166 r2174  
    2020! Current revisions:
    2121! ------------------
    22 !
     22! Changed default values for most_method to 'newton'
    2323!
    2424! Former revisions:
     
    895895    CHARACTER (LEN=3)    ::  coupling_char = ''                           !<
    896896    CHARACTER (LEN=5)    ::  write_binary = 'false'                       !<
    897     CHARACTER (LEN=8)    ::  most_method = 'lookup'                       !< NAMELIST parameter defining method to be used to calculate Okukhov length,
     897    CHARACTER (LEN=8)    ::  most_method = 'newton'                       !< NAMELIST parameter defining method to be used to calculate Okukhov length,
    898898    CHARACTER (LEN=8)    ::  run_date                                     !<
    899899    CHARACTER (LEN=8)    ::  run_time                                     !<
  • palm/trunk/SOURCE/pmc_interface_mod.f90

    r2101 r2174  
    2121! Current revisions:
    2222! ------------------
    23 !
     23! Added support for cloud physics quantities, syntax layout improvements. Data
     24! transfer of qc and nc is prepared but currently deactivated until both
     25! quantities become prognostic variables.
     26! Some bugfixes.
    2427!
    2528! Former revisions:
     
    121124! Domain nesting interface routines. The low-level inter-domain communication   
    122125! is conducted by the PMC-library routines.
     126!
     127! @todo Remove array_3d variables from USE statements thate not used in the
     128!       routine
     129! @todo Data transfer of qc and nc is prepared but not activated
    123130!-------------------------------------------------------------------------------!
    124131
    125132#if defined( __nopointer )
    126     USE arrays_3d,                                                              &
    127         ONLY:  dzu, dzw, e, e_p, pt, pt_p, q, q_p, u, u_p, v, v_p, w, w_p, zu,  &
    128                zw, z0
     133    USE arrays_3d,                                                             &
     134        ONLY:  dzu, dzw, e, e_p, nr, pt, pt_p, q, q_p, qr, u, u_p, v, v_p,     &
     135               w, w_p, zu, zw, z0
    129136#else
    130    USE arrays_3d,                                                               &
    131         ONLY:  dzu, dzw, e, e_p, e_1, e_2, pt, pt_p, pt_1, pt_2, q, q_p, q_1,   &
    132                q_2, s, s_2, u, u_p, u_1, u_2, v, v_p, v_1, v_2, w, w_p, w_1,    &
    133                w_2, zu, zw, z0
     137   USE arrays_3d,                                                              &
     138        ONLY:  dzu, dzw, e, e_p, e_1, e_2, nr, nr_2, nr_p, pt, pt_p, pt_1,     &
     139               pt_2, q, q_p, q_1, q_2, qr, qr_2, s, s_2, u, u_p, u_1, u_2, v,  &
     140               v_p, v_1, v_2, w, w_p, w_1, w_2, zu, zw, z0
    134141#endif
    135142
    136143    USE control_parameters,                                                     &
    137         ONLY:  coupling_char, dt_3d, dz, humidity, message_string,              &
    138                nest_bound_l, nest_bound_r, nest_bound_s, nest_bound_n,          &
    139                nest_domain, neutral, passive_scalar, simulated_time,            &
    140                topography, volume_flow
     144        ONLY:  cloud_physics, coupling_char, dt_3d, dz, humidity,               &
     145               message_string, microphysics_seifert, nest_bound_l, nest_bound_r,&
     146               nest_bound_s, nest_bound_n, nest_domain, neutral, passive_scalar,&
     147               simulated_time, topography, volume_flow
    141148
    142149    USE cpulog,                                                                 &
     
    249256    REAL(wp), SAVE, DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  vc   !:
    250257    REAL(wp), SAVE, DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  wc   !:
    251     REAL(wp), SAVE, DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  qc   !:
     258    REAL(wp), SAVE, DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  q_c  !:
     259!     REAL(wp), SAVE, DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  qcc  !:
     260    REAL(wp), SAVE, DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  qrc  !:
     261    REAL(wp), SAVE, DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  nrc  !:
     262!     REAL(wp), SAVE, DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  ncc  !:
    252263    REAL(wp), SAVE, DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  sc   !:
    253264
     
    920931       CALL pmc_set_dataarray_name( 'coarse', 'w'  ,'fine', 'w',  ierr )
    921932       CALL pmc_set_dataarray_name( 'coarse', 'e'  ,'fine', 'e',  ierr )
     933
    922934       IF ( .NOT. neutral )  THEN
    923935          CALL pmc_set_dataarray_name( 'coarse', 'pt' ,'fine', 'pt', ierr )
    924936       ENDIF
     937
    925938       IF ( humidity )  THEN
     939
    926940          CALL pmc_set_dataarray_name( 'coarse', 'q'  ,'fine', 'q',  ierr )
    927        ENDIF
     941
     942          IF ( cloud_physics  .AND.  microphysics_seifert )  THEN
     943!              CALL pmc_set_dataarray_name( 'coarse', 'qc'  ,'fine', 'qc',  ierr ) 
     944             CALL pmc_set_dataarray_name( 'coarse', 'qr'  ,'fine', 'qr',  ierr )
     945!             CALL pmc_set_dataarray_name( 'coarse', 'nc'  ,'fine', 'nc',  ierr )
     946             CALL pmc_set_dataarray_name( 'coarse', 'nr'  ,'fine', 'nr',  ierr )
     947
     948          ENDIF
     949     
     950       ENDIF
     951
    928952       IF ( passive_scalar )  THEN
    929953          CALL pmc_set_dataarray_name( 'coarse', 's'  ,'fine', 's',  ierr )
     
    25412565    IF ( TRIM(name) == "pt" )  p_3d => pt
    25422566    IF ( TRIM(name) == "q"  )  p_3d => q
     2567!     IF ( TRIM(name) == "qc" )  p_3d => qc
     2568    IF ( TRIM(name) == "qr" )  p_3d => qr
     2569    IF ( TRIM(name) == "nr" )  p_3d => nr
     2570!     IF ( TRIM(name) == "nc" )  p_3d => nc
    25432571    IF ( TRIM(name) == "s"  )  p_3d => s
    25442572!
     
    25732601    IF ( TRIM(name) == "pt" )  p_3d_sec => pt_2
    25742602    IF ( TRIM(name) == "q"  )  p_3d_sec => q_2
     2603!     IF ( TRIM(name) == "qc" )  p_3d_sec => qc_2
     2604    IF ( TRIM(name) == "qr" )  p_3d_sec => qr_2
     2605    IF ( TRIM(name) == "nr" )  p_3d_sec => nr_2
     2606!     IF ( TRIM(name) == "nc" )  p_3d_sec => nc_2
    25752607    IF ( TRIM(name) == "s"  )  p_3d_sec => s_2
    25762608
     
    26432675       p_3d => ptc
    26442676    ELSEIF ( TRIM( name ) == "q")  THEN
    2645        IF ( .NOT. ALLOCATED( qc ) ) ALLOCATE( qc(0:nzc+1, js:je, is:ie) )
    2646        p_3d => qc
     2677       IF ( .NOT. ALLOCATED( q_c ) ) ALLOCATE( q_c(0:nzc+1, js:je, is:ie) )
     2678       p_3d => q_c
     2679!     ELSEIF ( TRIM( name ) == "qc")  THEN
     2680!        IF ( .NOT. ALLOCATED( qcc ) ) ALLOCATE( qcc(0:nzc+1, js:je, is:ie) )
     2681!        p_3d => qcc
     2682    ELSEIF ( TRIM( name ) == "qr")  THEN
     2683       IF ( .NOT. ALLOCATED( qrc ) ) ALLOCATE( qrc(0:nzc+1, js:je, is:ie) )
     2684       p_3d => qrc
     2685    ELSEIF ( TRIM( name ) == "nr")  THEN
     2686       IF ( .NOT. ALLOCATED( nrc ) ) ALLOCATE( nrc(0:nzc+1, js:je, is:ie) )
     2687       p_3d => nrc
     2688!     ELSEIF ( TRIM( name ) == "nc")  THEN
     2689!        IF ( .NOT. ALLOCATED( ncc ) ) ALLOCATE( ncc(0:nzc+1, js:je, is:ie) )
     2690!        p_3d => ncc
    26472691    ELSEIF ( TRIM( name ) == "s")  THEN
    26482692       IF ( .NOT. ALLOCATED( sc ) ) ALLOCATE( sc(0:nzc+1, js:je, is:ie) )
     
    27432787       CALL pmci_interp_tril_all ( e,  ec,  ico, jco, kco, r1xo, r2xo, r1yo,    &
    27442788                                   r2yo, r1zo, r2zo, nzb_s_inner, 'e' )
     2789
    27452790       IF ( .NOT. neutral )  THEN
    27462791          CALL pmci_interp_tril_all ( pt, ptc, ico, jco, kco, r1xo, r2xo,       &
    27472792                                      r1yo, r2yo, r1zo, r2zo, nzb_s_inner, 's' )
    27482793       ENDIF
     2794
    27492795       IF ( humidity )  THEN
    2750           CALL pmci_interp_tril_all ( q, qc, ico, jco, kco, r1xo, r2xo, r1yo,   &
     2796
     2797          CALL pmci_interp_tril_all ( q, q_c, ico, jco, kco, r1xo, r2xo, r1yo,   &
    27512798                                      r2yo, r1zo, r2zo, nzb_s_inner, 's' )
    2752        ENDIF
     2799
     2800          IF ( cloud_physics  .AND.  microphysics_seifert )  THEN
     2801!              CALL pmci_interp_tril_all ( qc, qcc, ico, jco, kco, r1xo, r2xo,    &
     2802!                                          r1yo, r2yo, r1zo, r2zo, nzb_s_inner,   &
     2803!                                          's' )
     2804             CALL pmci_interp_tril_all ( qr, qrc, ico, jco, kco, r1xo, r2xo,    &
     2805                                         r1yo, r2yo, r1zo, r2zo, nzb_s_inner,   &
     2806                                         's' )
     2807!             CALL pmci_interp_tril_all ( nc, ncc, ico, jco, kco, r1xo, r2xo,    &
     2808!                                         r1yo, r2yo, r1zo, r2zo, nzb_s_inner,   &
     2809!                                         's' )   
     2810             CALL pmci_interp_tril_all ( nr, nrc, ico, jco, kco, r1xo, r2xo,    &
     2811                                         r1yo, r2yo, r1zo, r2zo, nzb_s_inner,   &
     2812                                         's' )
     2813          ENDIF
     2814
     2815       ENDIF
     2816
    27532817       IF ( passive_scalar )  THEN
    27542818          CALL pmci_interp_tril_all ( s, sc, ico, jco, kco, r1xo, r2xo, r1yo,   &
     
    33783442                                       logc_u_l, logc_ratio_u_l,                &
    33793443                                       nzt_topo_nestbc_l, 'l', 'u' )
     3444
    33803445             CALL pmci_interp_tril_lr( v,  vc,  ico, jcv, kco, r1xo, r2xo,      &
    33813446                                       r1yv, r2yv, r1zo, r2zo, nzb_v_inner,     &
    33823447                                       logc_v_l, logc_ratio_v_l,                &
    33833448                                       nzt_topo_nestbc_l, 'l', 'v' )
     3449
    33843450             CALL pmci_interp_tril_lr( w,  wc,  ico, jco, kcw, r1xo, r2xo,      &
    33853451                                       r1yo, r2yo, r1zw, r2zw, nzb_w_inner,     &
    33863452                                       logc_w_l, logc_ratio_w_l,                &
    33873453                                       nzt_topo_nestbc_l, 'l', 'w' )
     3454
    33883455             CALL pmci_interp_tril_lr( e,  ec,  ico, jco, kco, r1xo, r2xo,      &
    33893456                                       r1yo, r2yo, r1zo, r2zo, nzb_s_inner,     &
    33903457                                       logc_u_l, logc_ratio_u_l,                &
    33913458                                       nzt_topo_nestbc_l, 'l', 'e' )
     3459
    33923460             IF ( .NOT. neutral )  THEN
    33933461                CALL pmci_interp_tril_lr( pt, ptc, ico, jco, kco, r1xo, r2xo,   &
     
    33963464                                          nzt_topo_nestbc_l, 'l', 's' )
    33973465             ENDIF
     3466
    33983467             IF ( humidity )  THEN
    3399                 CALL pmci_interp_tril_lr( q, qc, ico, jco, kco, r1xo, r2xo,     &
     3468
     3469                CALL pmci_interp_tril_lr( q, q_c, ico, jco, kco, r1xo, r2xo,    &
    34003470                                          r1yo, r2yo, r1zo, r2zo, nzb_s_inner,  &
    34013471                                          logc_u_l, logc_ratio_u_l,             &
    34023472                                          nzt_topo_nestbc_l, 'l', 's' )
     3473
     3474
     3475                IF ( cloud_physics  .AND.  microphysics_seifert )  THEN
     3476!                    CALL pmci_interp_tril_lr( qc, qcc, ico, jco, kco, r1xo, r2xo,&
     3477!                                              r1yo, r2yo, r1zo, r2zo,            &
     3478!                                              nzb_s_inner, logc_u_l,             &
     3479!                                              logc_ratio_u_l, nzt_topo_nestbc_l, &
     3480!                                              'l', 's' ) 
     3481
     3482                   CALL pmci_interp_tril_lr( qr, qrc, ico, jco, kco, r1xo, r2xo,&
     3483                                             r1yo, r2yo, r1zo, r2zo,            &
     3484                                             nzb_s_inner, logc_u_l,             &
     3485                                             logc_ratio_u_l, nzt_topo_nestbc_l, &
     3486                                             'l', 's' )
     3487
     3488!                    CALL pmci_interp_tril_lr( nc, ncc, ico, jco, kco, r1xo, r2xo,&
     3489!                                              r1yo, r2yo, r1zo, r2zo,            &
     3490!                                              nzb_s_inner, logc_u_l,             &
     3491!                                              logc_ratio_u_l, nzt_topo_nestbc_l, &
     3492!                                              'l', 's' )
     3493
     3494                   CALL pmci_interp_tril_lr( nr, nrc, ico, jco, kco, r1xo, r2xo,&
     3495                                             r1yo, r2yo, r1zo, r2zo,            &
     3496                                             nzb_s_inner, logc_u_l,             &
     3497                                             logc_ratio_u_l, nzt_topo_nestbc_l, &
     3498                                             'l', 's' )             
     3499                ENDIF
     3500
    34033501             ENDIF
     3502
    34043503             IF ( passive_scalar )  THEN
    34053504                CALL pmci_interp_tril_lr( s, sc, ico, jco, kco, r1xo, r2xo,     &
     
    34103509
    34113510             IF ( TRIM( nesting_mode ) == 'one-way' )  THEN
     3511
    34123512                CALL pmci_extrap_ifoutflow_lr( u, nzb_u_inner, 'l', 'u' )
    34133513                CALL pmci_extrap_ifoutflow_lr( v, nzb_v_inner, 'l', 'v' )
    34143514                CALL pmci_extrap_ifoutflow_lr( w, nzb_w_inner, 'l', 'w' )
    34153515                CALL pmci_extrap_ifoutflow_lr( e, nzb_s_inner, 'l', 'e' )
     3516
    34163517                IF ( .NOT. neutral )  THEN
    34173518                   CALL pmci_extrap_ifoutflow_lr( pt,nzb_s_inner, 'l', 's' )
    34183519                ENDIF
     3520
    34193521                IF ( humidity )  THEN
     3522
    34203523                   CALL pmci_extrap_ifoutflow_lr( q, nzb_s_inner, 'l', 's' )
     3524
     3525                   IF ( cloud_physics  .AND.  microphysics_seifert )  THEN
     3526
     3527!                       CALL pmci_extrap_ifoutflow_lr( qc, nzb_s_inner, 'l', 's' )
     3528                      CALL pmci_extrap_ifoutflow_lr( qr, nzb_s_inner, 'l', 's' )
     3529!                      CALL pmci_extrap_ifoutflow_lr( nc, nzb_s_inner, 'l', 's' )
     3530                      CALL pmci_extrap_ifoutflow_lr( nr, nzb_s_inner, 'l', 's' )
     3531
     3532                   ENDIF
     3533
    34213534                ENDIF
     3535
    34223536                IF ( passive_scalar )  THEN
    34233537                   CALL pmci_extrap_ifoutflow_lr( s, nzb_s_inner, 'l', 's' )
    34243538                ENDIF
     3539
    34253540             ENDIF
    34263541
     
    34303545   !--    Right border pe
    34313546          IF ( nest_bound_r )  THEN
    3432              CALL pmci_interp_tril_lr( u,  uc,  icu, jco, kco, r1xu, r2xu,      &
    3433                                        r1yo, r2yo, r1zo, r2zo, nzb_u_inner,     &
    3434                                        logc_u_r, logc_ratio_u_r,                &
     3547
     3548             CALL pmci_interp_tril_lr( u,  uc,  icu, jco, kco, r1xu, r2xu,     &
     3549                                       r1yo, r2yo, r1zo, r2zo, nzb_u_inner,    &
     3550                                       logc_u_r, logc_ratio_u_r,               &
    34353551                                       nzt_topo_nestbc_r, 'r', 'u' )
    3436              CALL pmci_interp_tril_lr( v,  vc,  ico, jcv, kco, r1xo, r2xo,      &
    3437                                        r1yv, r2yv, r1zo, r2zo, nzb_v_inner,     &
    3438                                        logc_v_r, logc_ratio_v_r,                &
     3552
     3553             CALL pmci_interp_tril_lr( v,  vc,  ico, jcv, kco, r1xo, r2xo,     &
     3554                                       r1yv, r2yv, r1zo, r2zo, nzb_v_inner,    &
     3555                                       logc_v_r, logc_ratio_v_r,               &
    34393556                                       nzt_topo_nestbc_r, 'r', 'v' )
    3440              CALL pmci_interp_tril_lr( w,  wc,  ico, jco, kcw, r1xo, r2xo,      &
    3441                                        r1yo, r2yo, r1zw, r2zw, nzb_w_inner,     &
    3442                                        logc_w_r, logc_ratio_w_r,                &
     3557
     3558             CALL pmci_interp_tril_lr( w,  wc,  ico, jco, kcw, r1xo, r2xo,     &
     3559                                       r1yo, r2yo, r1zw, r2zw, nzb_w_inner,    &
     3560                                       logc_w_r, logc_ratio_w_r,               &
    34433561                                       nzt_topo_nestbc_r, 'r', 'w' )
    3444              CALL pmci_interp_tril_lr( e,  ec,  ico, jco, kco, r1xo, r2xo,      &
    3445                                        r1yo,r2yo, r1zo, r2zo, nzb_s_inner,      &
    3446                                        logc_u_r, logc_ratio_u_r,                &
     3562
     3563             CALL pmci_interp_tril_lr( e,  ec,  ico, jco, kco, r1xo, r2xo,     &
     3564                                       r1yo,r2yo, r1zo, r2zo, nzb_s_inner,     &
     3565                                       logc_u_r, logc_ratio_u_r,               &
    34473566                                       nzt_topo_nestbc_r, 'r', 'e' )
     3567
    34483568             IF ( .NOT. neutral )  THEN
    3449                 CALL pmci_interp_tril_lr( pt, ptc, ico, jco, kco, r1xo, r2xo,   &
    3450                                           r1yo, r2yo, r1zo, r2zo, nzb_s_inner,  &
    3451                                           logc_u_r, logc_ratio_u_r,             &
     3569                CALL pmci_interp_tril_lr( pt, ptc, ico, jco, kco, r1xo, r2xo,  &
     3570                                          r1yo, r2yo, r1zo, r2zo, nzb_s_inner, &
     3571                                          logc_u_r, logc_ratio_u_r,            &
    34523572                                          nzt_topo_nestbc_r, 'r', 's' )
    34533573             ENDIF
     3574
    34543575             IF ( humidity )  THEN
    3455                 CALL pmci_interp_tril_lr( q, qc, ico, jco, kco, r1xo, r2xo,     &
    3456                                           r1yo, r2yo, r1zo, r2zo, nzb_s_inner,  &
    3457                                           logc_u_r, logc_ratio_u_r,             &
     3576
     3577                CALL pmci_interp_tril_lr( q, q_c, ico, jco, kco, r1xo, r2xo,   &
     3578                                          r1yo, r2yo, r1zo, r2zo, nzb_s_inner, &
     3579                                          logc_u_r, logc_ratio_u_r,            &
     3580                                          nzt_topo_nestbc_r, 'r', 's' )
     3581
     3582                IF ( cloud_physics  .AND.  microphysics_seifert )  THEN
     3583
     3584!                    CALL pmci_interp_tril_lr( qc, qcc, ico, jco, kco, r1xo,     &
     3585!                                              r2xo, r1yo, r2yo, r1zo, r2zo,     &
     3586!                                              nzb_s_inner, logc_u_r,            &
     3587!                                              logc_ratio_u_r, nzt_topo_nestbc_r,&
     3588!                                              'r', 's' )
     3589     
     3590                   CALL pmci_interp_tril_lr( qr, qrc, ico, jco, kco, r1xo,     &
     3591                                             r2xo, r1yo, r2yo, r1zo, r2zo,     &
     3592                                             nzb_s_inner, logc_u_r,            &
     3593                                             logc_ratio_u_r, nzt_topo_nestbc_r,&
     3594                                             'r', 's' )
     3595
     3596!                    CALL pmci_interp_tril_lr( nc, ncc, ico, jco, kco, r1xo,     &
     3597!                                              r2xo, r1yo, r2yo, r1zo, r2zo,     &
     3598!                                              nzb_s_inner, logc_u_r,            &
     3599!                                              logc_ratio_u_r, nzt_topo_nestbc_r,&
     3600!                                              'r', 's' )
     3601
     3602                   CALL pmci_interp_tril_lr( nr, nrc, ico, jco, kco, r1xo,     &
     3603                                             r2xo, r1yo, r2yo, r1zo, r2zo,     &
     3604                                             nzb_s_inner, logc_u_r,            &
     3605                                             logc_ratio_u_r, nzt_topo_nestbc_r,&
     3606                                             'r', 's' )
     3607
     3608                ENDIF
     3609
     3610             ENDIF
     3611
     3612             IF ( passive_scalar )  THEN
     3613                CALL pmci_interp_tril_lr( s, sc, ico, jco, kco, r1xo, r2xo,    &
     3614                                          r1yo, r2yo, r1zo, r2zo, nzb_s_inner, &
     3615                                          logc_u_r, logc_ratio_u_r,            &
    34583616                                          nzt_topo_nestbc_r, 'r', 's' )
    34593617             ENDIF
    3460              IF ( passive_scalar )  THEN
    3461                 CALL pmci_interp_tril_lr( s, sc, ico, jco, kco, r1xo, r2xo,     &
    3462                                           r1yo, r2yo, r1zo, r2zo, nzb_s_inner,  &
    3463                                           logc_u_r, logc_ratio_u_r,             &
    3464                                           nzt_topo_nestbc_r, 'r', 's' )
    3465              ENDIF
    34663618
    34673619             IF ( TRIM( nesting_mode ) == 'one-way' )  THEN
     3620
    34683621                CALL pmci_extrap_ifoutflow_lr( u, nzb_u_inner, 'r', 'u' )
    34693622                CALL pmci_extrap_ifoutflow_lr( v, nzb_v_inner, 'r', 'v' )
    34703623                CALL pmci_extrap_ifoutflow_lr( w, nzb_w_inner, 'r', 'w' )
    34713624                CALL pmci_extrap_ifoutflow_lr( e, nzb_s_inner, 'r', 'e' )
     3625
    34723626                IF ( .NOT. neutral )  THEN
    34733627                   CALL pmci_extrap_ifoutflow_lr( pt,nzb_s_inner, 'r', 's' )
    34743628                ENDIF
     3629
    34753630                IF ( humidity )  THEN
     3631
    34763632                   CALL pmci_extrap_ifoutflow_lr( q, nzb_s_inner, 'r', 's' )
     3633
     3634                   IF ( cloud_physics  .AND.  microphysics_seifert )  THEN
     3635!                       CALL pmci_extrap_ifoutflow_lr( qc, nzb_s_inner, 'r', 's' )
     3636                      CALL pmci_extrap_ifoutflow_lr( qr, nzb_s_inner, 'r', 's' )
     3637!                      CALL pmci_extrap_ifoutflow_lr( nc, nzb_s_inner, 'r', 's' ) 
     3638                      CALL pmci_extrap_ifoutflow_lr( nr, nzb_s_inner, 'r', 's' )
     3639                   ENDIF
     3640
    34773641                ENDIF
     3642
    34783643                IF ( passive_scalar )  THEN
    34793644                   CALL pmci_extrap_ifoutflow_lr( s, nzb_s_inner, 'r', 's' )
     
    34863651   !--    South border pe
    34873652          IF ( nest_bound_s )  THEN
    3488              CALL pmci_interp_tril_sn( u,  uc,  icu, jco, kco, r1xu, r2xu,      &
    3489                                        r1yo, r2yo, r1zo, r2zo, nzb_u_inner,     &
    3490                                        logc_u_s, logc_ratio_u_s,                &
     3653             CALL pmci_interp_tril_sn( u,  uc,  icu, jco, kco, r1xu, r2xu,     &
     3654                                       r1yo, r2yo, r1zo, r2zo, nzb_u_inner,    &
     3655                                       logc_u_s, logc_ratio_u_s,               &
    34913656                                       nzt_topo_nestbc_s, 's', 'u' )
    3492              CALL pmci_interp_tril_sn( v,  vc,  ico, jcv, kco, r1xo, r2xo,      &
    3493                                        r1yv, r2yv, r1zo, r2zo, nzb_v_inner,     &
    3494                                        logc_v_s, logc_ratio_v_s,                &
     3657
     3658             CALL pmci_interp_tril_sn( v,  vc,  ico, jcv, kco, r1xo, r2xo,     &
     3659                                       r1yv, r2yv, r1zo, r2zo, nzb_v_inner,    &
     3660                                       logc_v_s, logc_ratio_v_s,               &
    34953661                                       nzt_topo_nestbc_s, 's', 'v' )
    3496              CALL pmci_interp_tril_sn( w,  wc,  ico, jco, kcw, r1xo, r2xo,      &
    3497                                        r1yo, r2yo, r1zw, r2zw, nzb_w_inner,     &
    3498                                        logc_w_s, logc_ratio_w_s,                &
     3662
     3663             CALL pmci_interp_tril_sn( w,  wc,  ico, jco, kcw, r1xo, r2xo,     &
     3664                                       r1yo, r2yo, r1zw, r2zw, nzb_w_inner,    &
     3665                                       logc_w_s, logc_ratio_w_s,               &
    34993666                                       nzt_topo_nestbc_s, 's','w' )
    3500              CALL pmci_interp_tril_sn( e,  ec,  ico, jco, kco, r1xo, r2xo,      &
    3501                                        r1yo, r2yo, r1zo, r2zo, nzb_s_inner,     &
    3502                                        logc_u_s, logc_ratio_u_s,                &
     3667
     3668             CALL pmci_interp_tril_sn( e,  ec,  ico, jco, kco, r1xo, r2xo,     &
     3669                                       r1yo, r2yo, r1zo, r2zo, nzb_s_inner,    &
     3670                                       logc_u_s, logc_ratio_u_s,               &
    35033671                                       nzt_topo_nestbc_s, 's', 'e' )
     3672
    35043673             IF ( .NOT. neutral )  THEN
    3505                 CALL pmci_interp_tril_sn( pt, ptc, ico, jco, kco, r1xo, r2xo,   &
    3506                                           r1yo, r2yo, r1zo, r2zo, nzb_s_inner,  &
    3507                                           logc_u_s, logc_ratio_u_s,             &
     3674                CALL pmci_interp_tril_sn( pt, ptc, ico, jco, kco, r1xo, r2xo,  &
     3675                                          r1yo, r2yo, r1zo, r2zo, nzb_s_inner, &
     3676                                          logc_u_s, logc_ratio_u_s,            &
    35083677                                          nzt_topo_nestbc_s, 's', 's' )
    35093678             ENDIF
     3679
    35103680             IF ( humidity )  THEN
    3511                 CALL pmci_interp_tril_sn( q, qc, ico, jco, kco, r1xo, r2xo,     &
    3512                                           r1yo,r2yo, r1zo, r2zo, nzb_s_inner,   &
    3513                                           logc_u_s, logc_ratio_u_s,             &
     3681
     3682                CALL pmci_interp_tril_sn( q, q_c, ico, jco, kco, r1xo, r2xo,   &
     3683                                          r1yo,r2yo, r1zo, r2zo, nzb_s_inner,  &
     3684                                          logc_u_s, logc_ratio_u_s,            &
     3685                                          nzt_topo_nestbc_s, 's', 's' )
     3686
     3687                IF ( cloud_physics  .AND.  microphysics_seifert )  THEN
     3688
     3689!                    CALL pmci_interp_tril_sn( qc, qcc, ico, jco, kco, r1xo,     &
     3690!                                              r2xo, r1yo,r2yo, r1zo, r2zo,      &
     3691!                                              nzb_s_inner, logc_u_s,            &
     3692!                                              logc_ratio_u_s, nzt_topo_nestbc_s,&
     3693!                                              's', 's' )
     3694
     3695                   CALL pmci_interp_tril_sn( qr, qrc, ico, jco, kco, r1xo,     &
     3696                                             r2xo, r1yo,r2yo, r1zo, r2zo,      &
     3697                                             nzb_s_inner, logc_u_s,            &
     3698                                             logc_ratio_u_s, nzt_topo_nestbc_s,&
     3699                                             's', 's' )
     3700
     3701!                    CALL pmci_interp_tril_sn( nc, ncc, ico, jco, kco, r1xo,     &
     3702!                                              r2xo, r1yo,r2yo, r1zo, r2zo,      &
     3703!                                              nzb_s_inner, logc_u_s,            &
     3704!                                              logc_ratio_u_s, nzt_topo_nestbc_s,&
     3705!                                              's', 's' )
     3706
     3707                   CALL pmci_interp_tril_sn( nr, nrc, ico, jco, kco, r1xo,     &
     3708                                             r2xo, r1yo,r2yo, r1zo, r2zo,      &
     3709                                             nzb_s_inner, logc_u_s,            &
     3710                                             logc_ratio_u_s, nzt_topo_nestbc_s,&
     3711                                             's', 's' )
     3712
     3713                ENDIF
     3714
     3715             ENDIF
     3716
     3717             IF ( passive_scalar )  THEN
     3718                CALL pmci_interp_tril_sn( s, sc, ico, jco, kco, r1xo, r2xo,    &
     3719                                          r1yo,r2yo, r1zo, r2zo, nzb_s_inner,  &
     3720                                          logc_u_s, logc_ratio_u_s,            &
    35143721                                          nzt_topo_nestbc_s, 's', 's' )
    35153722             ENDIF
    3516              IF ( passive_scalar )  THEN
    3517                 CALL pmci_interp_tril_sn( s, sc, ico, jco, kco, r1xo, r2xo,     &
    3518                                           r1yo,r2yo, r1zo, r2zo, nzb_s_inner,   &
    3519                                           logc_u_s, logc_ratio_u_s,             &
    3520                                           nzt_topo_nestbc_s, 's', 's' )
    3521              ENDIF
    35223723
    35233724             IF ( TRIM( nesting_mode ) == 'one-way' )  THEN
     3725
    35243726                CALL pmci_extrap_ifoutflow_sn( u, nzb_u_inner, 's', 'u' )
    35253727                CALL pmci_extrap_ifoutflow_sn( v, nzb_v_inner, 's', 'v' )
    35263728                CALL pmci_extrap_ifoutflow_sn( w, nzb_w_inner, 's', 'w' )
    35273729                CALL pmci_extrap_ifoutflow_sn( e, nzb_s_inner, 's', 'e' )
     3730
    35283731                IF ( .NOT. neutral )  THEN
    35293732                   CALL pmci_extrap_ifoutflow_sn( pt,nzb_s_inner, 's', 's' )
    35303733                ENDIF
     3734
    35313735                IF ( humidity )  THEN
     3736
    35323737                   CALL pmci_extrap_ifoutflow_sn( q, nzb_s_inner, 's', 's' )
     3738
     3739                   IF ( cloud_physics  .AND.  microphysics_seifert )  THEN
     3740!                       CALL pmci_extrap_ifoutflow_sn( qc, nzb_s_inner, 's', 's' )
     3741                      CALL pmci_extrap_ifoutflow_sn( qr, nzb_s_inner, 's', 's' )     
     3742!                       CALL pmci_extrap_ifoutflow_sn( nc, nzb_s_inner, 's', 's' )
     3743                      CALL pmci_extrap_ifoutflow_sn( nr, nzb_s_inner, 's', 's' )
     3744
     3745                   ENDIF
     3746
    35333747                ENDIF
     3748
    35343749                IF ( passive_scalar )  THEN
    35353750                   CALL pmci_extrap_ifoutflow_sn( s, nzb_s_inner, 's', 's' )
    35363751                ENDIF
     3752
    35373753             ENDIF
    35383754
     
    35423758   !--    North border pe
    35433759          IF ( nest_bound_n )  THEN
    3544              CALL pmci_interp_tril_sn( u,  uc,  icu, jco, kco, r1xu, r2xu,      &
    3545                                        r1yo, r2yo, r1zo, r2zo, nzb_u_inner,     &
    3546                                        logc_u_n, logc_ratio_u_n,                &
     3760
     3761             CALL pmci_interp_tril_sn( u,  uc,  icu, jco, kco, r1xu, r2xu,     &
     3762                                       r1yo, r2yo, r1zo, r2zo, nzb_u_inner,    &
     3763                                       logc_u_n, logc_ratio_u_n,               &
    35473764                                       nzt_topo_nestbc_n, 'n', 'u' )
    3548              CALL pmci_interp_tril_sn( v,  vc,  ico, jcv, kco, r1xo, r2xo,      &
    3549                                        r1yv, r2yv, r1zo, r2zo, nzb_v_inner,     &
    3550                                        logc_v_n, logc_ratio_v_n,                &
     3765             CALL pmci_interp_tril_sn( v,  vc,  ico, jcv, kco, r1xo, r2xo,     &
     3766                                       r1yv, r2yv, r1zo, r2zo, nzb_v_inner,    &
     3767                                       logc_v_n, logc_ratio_v_n,               &
    35513768                                       nzt_topo_nestbc_n, 'n', 'v' )
    3552              CALL pmci_interp_tril_sn( w,  wc,  ico, jco, kcw, r1xo, r2xo,      &
    3553                                        r1yo, r2yo, r1zw, r2zw, nzb_w_inner,     &
    3554                                        logc_w_n, logc_ratio_w_n,                &
     3769             CALL pmci_interp_tril_sn( w,  wc,  ico, jco, kcw, r1xo, r2xo,     &
     3770                                       r1yo, r2yo, r1zw, r2zw, nzb_w_inner,    &
     3771                                       logc_w_n, logc_ratio_w_n,               &
    35553772                                       nzt_topo_nestbc_n, 'n', 'w' )
    3556              CALL pmci_interp_tril_sn( e,  ec,  ico, jco, kco, r1xo, r2xo,      &
    3557                                        r1yo, r2yo, r1zo, r2zo, nzb_s_inner,     &
    3558                                        logc_u_n, logc_ratio_u_n,                &
     3773             CALL pmci_interp_tril_sn( e,  ec,  ico, jco, kco, r1xo, r2xo,     &
     3774                                       r1yo, r2yo, r1zo, r2zo, nzb_s_inner,    &
     3775                                       logc_u_n, logc_ratio_u_n,               &
    35593776                                       nzt_topo_nestbc_n, 'n', 'e' )
     3777
    35603778             IF ( .NOT. neutral )  THEN
    3561                 CALL pmci_interp_tril_sn( pt, ptc, ico, jco, kco, r1xo, r2xo,   &
    3562                                           r1yo, r2yo, r1zo, r2zo, nzb_s_inner,  &
    3563                                           logc_u_n, logc_ratio_u_n,             &
     3779                CALL pmci_interp_tril_sn( pt, ptc, ico, jco, kco, r1xo, r2xo,  &
     3780                                          r1yo, r2yo, r1zo, r2zo, nzb_s_inner, &
     3781                                          logc_u_n, logc_ratio_u_n,            &
    35643782                                          nzt_topo_nestbc_n, 'n', 's' )
    35653783             ENDIF
     3784
    35663785             IF ( humidity )  THEN
    3567                 CALL pmci_interp_tril_sn( q, qc, ico, jco, kco, r1xo, r2xo,     &
    3568                                           r1yo, r2yo, r1zo, r2zo, nzb_s_inner,  &
    3569                                           logc_u_n, logc_ratio_u_n,             &
     3786
     3787                CALL pmci_interp_tril_sn( q, q_c, ico, jco, kco, r1xo, r2xo,   &
     3788                                          r1yo, r2yo, r1zo, r2zo, nzb_s_inner, &
     3789                                          logc_u_n, logc_ratio_u_n,            &
     3790                                          nzt_topo_nestbc_n, 'n', 's' )
     3791
     3792                IF ( cloud_physics  .AND.  microphysics_seifert )  THEN
     3793
     3794!                    CALL pmci_interp_tril_sn( qc, qcc, ico, jco, kco, r1xo,     &
     3795!                                              r2xo, r1yo, r2yo, r1zo, r2zo,     &
     3796!                                              nzb_s_inner, logc_u_n,            &
     3797!                                              logc_ratio_u_n, nzt_topo_nestbc_n,&
     3798!                                              'n', 's' )
     3799
     3800                   CALL pmci_interp_tril_sn( qr, qrc, ico, jco, kco, r1xo,     &
     3801                                             r2xo, r1yo, r2yo, r1zo, r2zo,     &
     3802                                             nzb_s_inner, logc_u_n,            &
     3803                                             logc_ratio_u_n, nzt_topo_nestbc_n,&
     3804                                             'n', 's' )
     3805
     3806!                    CALL pmci_interp_tril_sn( nc, ncc, ico, jco, kco, r1xo,     &
     3807!                                              r2xo, r1yo, r2yo, r1zo, r2zo,     &
     3808!                                              nzb_s_inner, logc_u_n,            &
     3809!                                              logc_ratio_u_n, nzt_topo_nestbc_n,&
     3810!                                              'n', 's' )
     3811
     3812                   CALL pmci_interp_tril_sn( nr, nrc, ico, jco, kco, r1xo,     &
     3813                                             r2xo, r1yo, r2yo, r1zo, r2zo,     &
     3814                                             nzb_s_inner, logc_u_n,            &
     3815                                             logc_ratio_u_n, nzt_topo_nestbc_n,&
     3816                                             'n', 's' )
     3817
     3818                ENDIF
     3819
     3820             ENDIF
     3821
     3822             IF ( passive_scalar )  THEN
     3823                CALL pmci_interp_tril_sn( s, sc, ico, jco, kco, r1xo, r2xo,    &
     3824                                          r1yo, r2yo, r1zo, r2zo, nzb_s_inner, &
     3825                                          logc_u_n, logc_ratio_u_n,            &
    35703826                                          nzt_topo_nestbc_n, 'n', 's' )
    35713827             ENDIF
    3572              IF ( passive_scalar )  THEN
    3573                 CALL pmci_interp_tril_sn( s, sc, ico, jco, kco, r1xo, r2xo,     &
    3574                                           r1yo, r2yo, r1zo, r2zo, nzb_s_inner,  &
    3575                                           logc_u_n, logc_ratio_u_n,             &
    3576                                           nzt_topo_nestbc_n, 'n', 's' )
    3577              ENDIF
    35783828
    35793829             IF ( TRIM( nesting_mode ) == 'one-way' )  THEN
     3830
    35803831                CALL pmci_extrap_ifoutflow_sn( u, nzb_u_inner, 'n', 'u' )
    35813832                CALL pmci_extrap_ifoutflow_sn( v, nzb_v_inner, 'n', 'v' )
    35823833                CALL pmci_extrap_ifoutflow_sn( w, nzb_w_inner, 'n', 'w' )
    35833834                CALL pmci_extrap_ifoutflow_sn( e, nzb_s_inner, 'n', 'e' )
     3835
    35843836                IF ( .NOT. neutral )  THEN
    35853837                   CALL pmci_extrap_ifoutflow_sn( pt,nzb_s_inner, 'n', 's' )
    35863838                ENDIF
     3839
    35873840                IF ( humidity )  THEN
     3841
    35883842                   CALL pmci_extrap_ifoutflow_sn( q, nzb_s_inner, 'n', 's' )
     3843
     3844                   IF ( cloud_physics  .AND.  microphysics_seifert )  THEN
     3845!                       CALL pmci_extrap_ifoutflow_sn( qc, nzb_s_inner, 'n', 's' )
     3846                      CALL pmci_extrap_ifoutflow_sn( qr, nzb_s_inner, 'n', 's' )
     3847!                       CALL pmci_extrap_ifoutflow_sn( nc, nzb_s_inner, 'n', 's' )
     3848                      CALL pmci_extrap_ifoutflow_sn( nr, nzb_s_inner, 'n', 's' )
     3849                   ENDIF
     3850
    35893851                ENDIF
     3852
    35903853                IF ( passive_scalar )  THEN
    35913854                   CALL pmci_extrap_ifoutflow_sn( s, nzb_s_inner, 'n', 's' )
     
    36003863!
    36013864!--    All PEs are top-border PEs
    3602        CALL pmci_interp_tril_t( u,  uc,  icu, jco, kco, r1xu, r2xu, r1yo,       &
     3865       CALL pmci_interp_tril_t( u,  uc,  icu, jco, kco, r1xu, r2xu, r1yo,      &
    36033866                                r2yo, r1zo, r2zo, 'u' )
    3604        CALL pmci_interp_tril_t( v,  vc,  ico, jcv, kco, r1xo, r2xo, r1yv,       &
     3867       CALL pmci_interp_tril_t( v,  vc,  ico, jcv, kco, r1xo, r2xo, r1yv,      &
    36053868                                r2yv, r1zo, r2zo, 'v' )
    3606        CALL pmci_interp_tril_t( w,  wc,  ico, jco, kcw, r1xo, r2xo, r1yo,       &
     3869       CALL pmci_interp_tril_t( w,  wc,  ico, jco, kcw, r1xo, r2xo, r1yo,      &
    36073870                                r2yo, r1zw, r2zw, 'w' )
    3608        CALL pmci_interp_tril_t( e,  ec,  ico, jco, kco, r1xo, r2xo, r1yo,       &
     3871       CALL pmci_interp_tril_t( e,  ec,  ico, jco, kco, r1xo, r2xo, r1yo,      &
    36093872                                r2yo, r1zo, r2zo, 'e' )
     3873
    36103874       IF ( .NOT. neutral )  THEN
    3611           CALL pmci_interp_tril_t( pt, ptc, ico, jco, kco, r1xo, r2xo, r1yo,    &
     3875          CALL pmci_interp_tril_t( pt, ptc, ico, jco, kco, r1xo, r2xo, r1yo,   &
    36123876                                   r2yo, r1zo, r2zo, 's' )
    36133877       ENDIF
     3878
    36143879       IF ( humidity )  THEN
    3615           CALL pmci_interp_tril_t( q, qc, ico, jco, kco, r1xo, r2xo, r1yo,      &
     3880
     3881          CALL pmci_interp_tril_t( q, q_c, ico, jco, kco, r1xo, r2xo, r1yo,    &
    36163882                                   r2yo, r1zo, r2zo, 's' )
    3617        ENDIF
     3883
     3884          IF ( cloud_physics  .AND.  microphysics_seifert )  THEN
     3885
     3886!              CALL pmci_interp_tril_t( qc, qcc, ico, jco, kco, r1xo, r2xo, r1yo,&
     3887!                                       r2yo, r1zo, r2zo, 's' )
     3888
     3889             CALL pmci_interp_tril_t( qr, qrc, ico, jco, kco, r1xo, r2xo, r1yo,&
     3890                                      r2yo, r1zo, r2zo, 's' )
     3891
     3892!              CALL pmci_interp_tril_t( nc, ncc, ico, jco, kco, r1xo, r2xo, r1yo,&
     3893!                                       r2yo, r1zo, r2zo, 's' )
     3894
     3895             CALL pmci_interp_tril_t( nr, nrc, ico, jco, kco, r1xo, r2xo, r1yo,&
     3896                                      r2yo, r1zo, r2zo, 's' )
     3897
     3898          ENDIF
     3899
     3900       ENDIF
     3901
    36183902       IF ( passive_scalar )  THEN
    3619           CALL pmci_interp_tril_t( s, sc, ico, jco, kco, r1xo, r2xo, r1yo,      &
     3903          CALL pmci_interp_tril_t( s, sc, ico, jco, kco, r1xo, r2xo, r1yo,     &
    36203904                                   r2yo, r1zo, r2zo, 's' )
    36213905       ENDIF
    36223906
    36233907       IF ( TRIM( nesting_mode ) == 'one-way' )  THEN
     3908
    36243909          CALL pmci_extrap_ifoutflow_t( u,  'u' )
    36253910          CALL pmci_extrap_ifoutflow_t( v,  'v' )
    36263911          CALL pmci_extrap_ifoutflow_t( w,  'w' )
    36273912          CALL pmci_extrap_ifoutflow_t( e,  'e' )
     3913
    36283914          IF ( .NOT. neutral )  THEN
    36293915             CALL pmci_extrap_ifoutflow_t( pt, 's' )
    36303916          ENDIF
     3917
    36313918          IF ( humidity )  THEN
     3919
    36323920             CALL pmci_extrap_ifoutflow_t( q, 's' )
     3921
     3922             IF ( cloud_physics  .AND.  microphysics_seifert )  THEN
     3923!                 CALL pmci_extrap_ifoutflow_t( qc, 's' )
     3924                CALL pmci_extrap_ifoutflow_t( qr, 's' )
     3925!                 CALL pmci_extrap_ifoutflow_t( nc, 's' )
     3926                CALL pmci_extrap_ifoutflow_t( nr, 's' )
     3927
     3928             ENDIF
     3929
    36333930          ENDIF
     3931
    36343932          IF ( passive_scalar )  THEN
    36353933             CALL pmci_extrap_ifoutflow_t( s, 's' )
    36363934          ENDIF
     3935
    36373936       ENDIF
    36383937
     
    36483947      IMPLICIT NONE
    36493948
    3650       CALL pmci_anterp_tophat( u,  uc,  kctu, iflu, ifuu, jflo, jfuo, kflo,     &
     3949      CALL pmci_anterp_tophat( u,  uc,  kctu, iflu, ifuu, jflo, jfuo, kflo,    &
    36513950                               kfuo, ijfc_u, 'u' )
    3652       CALL pmci_anterp_tophat( v,  vc,  kctu, iflo, ifuo, jflv, jfuv, kflo,     &
     3951      CALL pmci_anterp_tophat( v,  vc,  kctu, iflo, ifuo, jflv, jfuv, kflo,    &
    36533952                               kfuo, ijfc_v, 'v' )
    3654       CALL pmci_anterp_tophat( w,  wc,  kctw, iflo, ifuo, jflo, jfuo, kflw,     &
     3953      CALL pmci_anterp_tophat( w,  wc,  kctw, iflo, ifuo, jflo, jfuo, kflw,    &
    36553954                               kfuw, ijfc_s, 'w' )
     3955
    36563956      IF ( .NOT. neutral )  THEN
    3657          CALL pmci_anterp_tophat( pt, ptc, kctu, iflo, ifuo, jflo, jfuo, kflo,  &
     3957         CALL pmci_anterp_tophat( pt, ptc, kctu, iflo, ifuo, jflo, jfuo, kflo, &
    36583958                                  kfuo, ijfc_s, 's' )
    36593959      ENDIF
     3960
    36603961      IF ( humidity )  THEN
    3661          CALL pmci_anterp_tophat( q, qc, kctu, iflo, ifuo, jflo, jfuo, kflo,    &
     3962
     3963         CALL pmci_anterp_tophat( q, q_c, kctu, iflo, ifuo, jflo, jfuo, kflo,  &
    36623964                                  kfuo, ijfc_s, 's' )
     3965
     3966         IF ( cloud_physics  .AND.  microphysics_seifert )  THEN
     3967
     3968!             CALL pmci_anterp_tophat( qc, qcc, kctu, iflo, ifuo, jflo, jfuo,    &
     3969!                                      kflo, kfuo, ijfc_s, 's' )
     3970
     3971            CALL pmci_anterp_tophat( qr, qrc, kctu, iflo, ifuo, jflo, jfuo,    &
     3972                                     kflo, kfuo, ijfc_s, 's' )
     3973
     3974!             CALL pmci_anterp_tophat( nc, ncc, kctu, iflo, ifuo, jflo, jfuo,    &
     3975!                                      kflo, kfuo, ijfc_s, 's' )
     3976
     3977            CALL pmci_anterp_tophat( nr, nrc, kctu, iflo, ifuo, jflo, jfuo,    &
     3978                                     kflo, kfuo, ijfc_s, 's' )
     3979
     3980         ENDIF
     3981
    36633982      ENDIF
     3983
    36643984      IF ( passive_scalar )  THEN
    3665          CALL pmci_anterp_tophat( s, sc, kctu, iflo, ifuo, jflo, jfuo, kflo,    &
     3985         CALL pmci_anterp_tophat( s, sc, kctu, iflo, ifuo, jflo, jfuo, kflo,   &
    36663986                                  kfuo, ijfc_s, 's' )
    36673987      ENDIF
     
    43894709       INTEGER(iwp) ::  k         !: Fine-grid index
    43904710       INTEGER(iwp) ::  kk        !: Coarse-grid index
    4391        INTEGER(iwp) ::  kcb       !:
     4711       INTEGER(iwp) ::  kcb = 0   !:
    43924712       INTEGER(iwp) ::  nfc       !:
    43934713
     
    44584778             jcnm = jcn - nhln
    44594779          ENDIF
    4460           kcb = 0
    44614780       ENDIF
    44624781       
     
    44854804!
    44864805!--             Block out the fine-grid corner patches from the anterpolation
    4487                 IF ( ( ifl(ii) < nxl ) .OR. ( ifu(ii) > nxr ) )  THEN
    4488                    IF ( ( jfl(jj) < nys ) .OR. ( jfu(jj) > nyn ) )  THEN
    4489                       fra = 0.0_wp
    4490                    ENDIF
    4491                 ENDIF
     4806!                 IF ( ( ifl(ii) < nxl ) .OR. ( ifu(ii) > nxr ) )  THEN
     4807!                    IF ( ( jfl(jj) < nys ) .OR. ( jfu(jj) > nyn ) )  THEN
     4808!                       fra = 0.0_wp
     4809!                    ENDIF
     4810!                 ENDIF
    44924811
    44934812                fc(kk,jj,ii) = ( 1.0_wp - fra ) * fc(kk,jj,ii) +                &
  • palm/trunk/SOURCE/time_integration.f90

    r2119 r2174  
    2020! Current revisions:
    2121! ------------------
    22 !
     22! Added support for nesting with cloud microphysics
    2323!
    2424! Former revisions:
     
    250250
    251251    USE arrays_3d,                                                             &
    252         ONLY:  diss, dzu, e, e_p, nr_p, prho, pt, pt_p, pt_init, q_init, q,    &
    253                ql, ql_c, ql_v, ql_vp, qr_p, q_p, ref_state, rho_ocean, s, s_p, sa_p, &
    254                tend, u, u_p, v, vpt, v_p, w, w_p
     252        ONLY:  diss, dzu, e, e_p, nr, nr_p, prho, pt, pt_p, pt_init, q_init, q,&
     253               ql, ql_c, ql_v, ql_vp, qr, qr_p, q_p, ref_state, rho_ocean,    &
     254               s, s_p, sa_p, tend, u, u_p, v, vpt, v_p, w, w_p
    255255
    256256    USE calc_mean_profile_mod,                                                 &
     
    603603             CALL pmci_datatrans( nesting_mode )
    604604
    605              IF ( TRIM( nesting_mode ) == 'two-way' .OR.                               &
     605             IF ( TRIM( nesting_mode ) == 'two-way' .OR.                       &
    606606                  nesting_mode == 'vertical' )  THEN
    607607!
     
    611611                CALL exchange_horiz( v, nbgp )
    612612                CALL exchange_horiz( w, nbgp )
    613                 IF ( .NOT. neutral            )  CALL exchange_horiz( pt, nbgp )
    614                 IF ( humidity                 )  CALL exchange_horiz( q, nbgp  )
    615                 IF ( passive_scalar           )  CALL exchange_horiz( s, nbgp  )
    616                 IF ( .NOT. constant_diffusion )  CALL exchange_horiz( e, nbgp  )
     613                IF ( .NOT. neutral )  CALL exchange_horiz( pt, nbgp )
     614
     615                IF ( humidity )  THEN
     616
     617                   CALL exchange_horiz( q, nbgp )
     618
     619                   IF ( cloud_physics  .AND.  microphysics_seifert )  THEN
     620!                        CALL exchange_horiz( qc, nbgp )
     621                       CALL exchange_horiz( qr, nbgp )
     622!                        CALL exchange_horiz( nc, nbgp )
     623                       CALL exchange_horiz( nr, nbgp )
     624                   ENDIF
     625
     626                ENDIF
     627
     628                IF ( passive_scalar )  CALL exchange_horiz( s, nbgp )
     629                IF ( .NOT. constant_diffusion )  CALL exchange_horiz( e, nbgp )
    617630             ENDIF
    618631!
     
    686699             CALL calc_liquid_water_content
    687700          ENDIF
    688 ! 
     701!
    689702!--       If required, compute virtual potential temperature
    690703          IF ( humidity )  THEN
Note: See TracChangeset for help on using the changeset viewer.