Changeset 1845


Ignore:
Timestamp:
Apr 8, 2016 8:29:13 AM (8 years ago)
Author:
raasch
Message:

nzb_2d replaced by nzb_..._inner, Kessler precipitation stored on surface grid point

Location:
palm/trunk/SOURCE
Files:
7 edited

Legend:

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

    r1818 r1845  
    9393
    9494       USE indices,                                                            &
    95            ONLY:  nxl, nxr, nyn, nys, nzb, nzb_2d, nzt
     95           ONLY:  nxl, nxr, nyn, nys, nzb, nzb_s_inner, nzt
    9696
    9797       USE kinds
     
    141141             blackbody_emission(nzb) = sigma * temperature**4
    142142
    143              DO  k = nzb_2d(j,i)+1, nzt
     143             DO  k = nzb_s_inner(j,i)+1, nzt
    144144
    145145                k_help = ( nzt+nzb+1 ) - k
     
    167167             impinging_flux_at_top = blackbody_emission(nzb) - 100.0_wp
    168168
    169              DO  k = nzb_2d(j,i)+1, nzt
     169             DO  k = nzb_s_inner(j,i)+1, nzt
    170170!
    171171!--             Save some computational time, but this may cause load
     
    238238
    239239       USE indices,                                                            &
    240            ONLY:  nzb, nzb_2d, nzt
     240           ONLY:  nzb, nzb_s_inner, nzt
    241241
    242242       USE kinds
     
    283283       blackbody_emission(nzb) = sigma * temperature**4
    284284
    285        DO  k = nzb_2d(j,i)+1, nzt
     285       DO  k = nzb_s_inner(j,i)+1, nzt
    286286          k_help = ( nzt+nzb+1 ) - k
    287287          lwp_ground(k)   = lwp_ground(k-1) + rho_surface * ql(k,j,i) * dzw(k)
     
    306306       impinging_flux_at_top = blackbody_emission(nzb) - 100.0_wp
    307307
    308        DO  k = nzb_2d(j,i)+1, nzt
     308       DO  k = nzb_s_inner(j,i)+1, nzt
    309309!
    310310!--       Store some computational time,
  • palm/trunk/SOURCE/init_3d_model.f90

    r1834 r1845  
    1919! Current revisions:
    2020! ------------------
    21 !
     21! nzb_2d replaced by nzb_u|v_inner
    2222!
    2323! Former revisions:
     
    14881488          IF ( nxr == nx )  THEN
    14891489             DO  j = nys, nyn
    1490                 DO  k = nzb_2d(j,nx)+1, nzt
     1490                DO  k = nzb_u_inner(j,nx)+1, nzt
    14911491                   volume_flow_initial_l(1) = volume_flow_initial_l(1) +       &
    14921492                                              u_init(k) * dzw(k)
     
    14981498          IF ( nyn == ny )  THEN
    14991499             DO  i = nxl, nxr
    1500                 DO  k = nzb_2d(ny,i)+1, nzt 
     1500                DO  k = nzb_v_inner(ny,i)+1, nzt
    15011501                   volume_flow_initial_l(2) = volume_flow_initial_l(2) + &
    15021502                                              v_init(k) * dzw(k)
     
    15241524          IF ( nxr == nx )  THEN
    15251525             DO  j = nys, nyn
    1526                 DO  k = nzb_2d(j,nx)+1, nzt
     1526                DO  k = nzb_u_inner(j,nx)+1, nzt
    15271527                   volume_flow_initial_l(1) = volume_flow_initial_l(1) +       &
    15281528                                              hom_sum(k,1,0) * dzw(k)
     
    15341534          IF ( nyn == ny )  THEN
    15351535             DO  i = nxl, nxr
    1536                 DO  k = nzb_2d(ny,i)+1, nzt 
     1536                DO  k = nzb_v_inner(ny,i)+1, nzt
    15371537                   volume_flow_initial_l(2) = volume_flow_initial_l(2) +       &
    15381538                                              hom_sum(k,2,0) * dzw(k)
     
    15601560          IF ( nxr == nx )  THEN
    15611561             DO  j = nys, nyn
    1562                 DO  k = nzb_2d(j,nx)+1, nzt
     1562                DO  k = nzb_u_inner(j,nx)+1, nzt
    15631563                   volume_flow_initial_l(1) = volume_flow_initial_l(1) + &
    15641564                                              u(k,j,nx) * dzw(k)
     
    15701570          IF ( nyn == ny )  THEN
    15711571             DO  i = nxl, nxr
    1572                 DO  k = nzb_2d(ny,i)+1, nzt 
     1572                DO  k = nzb_v_inner(ny,i)+1, nzt
    15731573                   volume_flow_initial_l(2) = volume_flow_initial_l(2) +       &
    15741574                                              v(k,ny,i) * dzw(k)
  • palm/trunk/SOURCE/init_grid.f90

    r1818 r1845  
    1919! Current revisions:
    2020! -----------------
    21 !
     21! nzb_2d removed
    2222!
    2323! Former revisions:
     
    180180        ONLY:  flags, nbgp, nx, nxl, nxlg, nxlu, nxl_mg, nxr, nxrg, nxr_mg,    &
    181181               ny, nyn, nyng, nyn_mg, nys, nysv, nys_mg, nysg, nz, nzb,        &
    182                nzb_2d, nzb_diff, nzb_diff_s_inner, nzb_diff_s_outer,           &
    183                nzb_diff_u, nzb_diff_v, nzb_max, nzb_s_inner, nzb_s_outer,      &
    184                nzb_u_inner, nzb_u_outer, nzb_v_inner, nzb_v_outer,             &
    185                nzb_w_inner, nzb_w_outer, nzt, nzt_diff, nzt_mg, rflags_invers, &
     182               nzb_diff, nzb_diff_s_inner, nzb_diff_s_outer, nzb_diff_u,       &
     183               nzb_diff_v, nzb_max, nzb_s_inner, nzb_s_outer, nzb_u_inner,     &
     184               nzb_u_outer, nzb_v_inner, nzb_v_outer, nzb_w_inner,             &
     185               nzb_w_outer, nzt, nzt_diff, nzt_mg, rflags_invers,              &
    186186               rflags_s_inner, wall_flags_0, wall_flags_00, wall_flags_1,      &
    187187               wall_flags_10, wall_flags_2, wall_flags_3,  wall_flags_4,       &
     
    470470              nzb_diff_u(nysg:nyng,nxlg:nxrg),                              &
    471471              nzb_diff_v(nysg:nyng,nxlg:nxrg),                              &
    472               nzb_2d(nysg:nyng,nxlg:nxrg),                                  &
    473472              rflags_s_inner(nzb:nzt+2,nysg:nyng,nxlg:nxrg),                &
    474473              rflags_invers(nysg:nyng,nxlg:nxrg,nzb:nzt+2),                 &
     
    967966
    968967    ENDIF
    969 
    970 !
    971 !-- Preliminary: to be removed after completion of the topography code!
    972 !-- Set the former default k index arrays nzb_2d
    973     nzb_2d      = nzb
    974968
    975969!
  • palm/trunk/SOURCE/interaction_droplets_ptq.f90

    r1823 r1845  
    1919! Current revisions:
    2020! -----------------
    21 !
     21! nzb_2d replaced by nzb_s_inner
    2222!
    2323! Former revisions:
     
    9191           
    9292       USE indices,                                                            &
    93            ONLY:  nxl, nxr, nyn, nys, nzb_2d, nzt
     93           ONLY:  nxl, nxr, nyn, nys, nzb_s_inner, nzt
    9494           
    9595       USE kinds
     
    106106       DO  i = nxl, nxr
    107107          DO  j = nys, nyn
    108              DO  k = nzb_2d(j,i)+1, nzt
     108             DO  k = nzb_s_inner(j,i)+1, nzt
    109109                q_p(k,j,i)  = q_p(k,j,i)  - ql_c(k,j,i)
    110110                pt_p(k,j,i) = pt_p(k,j,i) + l_d_cp * ql_c(k,j,i) * pt_d_t(k)
     
    130130
    131131       USE indices,                                                            &
    132            ONLY:  nzb_2d, nzt
     132           ONLY:  nzb_s_inner, nzt
    133133
    134134       USE kinds,                                                              &
     
    144144
    145145
    146        DO  k = nzb_2d(j,i)+1, nzt
     146       DO  k = nzb_s_inner(j,i)+1, nzt
    147147          q_p(k,j,i)  = q_p(k,j,i)  - ql_c(k,j,i)
    148148          pt_p(k,j,i) = pt_p(k,j,i) + l_d_cp * ql_c(k,j,i) * pt_d_t(k)
  • palm/trunk/SOURCE/microphysics.f90

    r1832 r1845  
    1919! Current revisions:
    2020! ------------------
    21 !
     21! nzb_2d replaced by nzb_s_inner, Kessler precipitation is stored at surface
     22! point (instead of one point above surface)
    2223!
    2324! Former revisions:
     
    451452
    452453       USE indices,                                                            &
    453            ONLY:  nxl, nxr, nyn, nys, nzb_2d, nzt
     454           ONLY:  nxl, nxr, nyn, nys, nzb_s_inner, nzt
    454455
    455456       USE kinds
     
    466467       DO  i = nxl, nxr
    467468          DO  j = nys, nyn
    468              DO  k = nzb_2d(j,i)+1, nzt
     469             DO  k = nzb_s_inner(j,i)+1, nzt
    469470
    470471                IF ( qc(k,j,i) > ql_crit )  THEN
     
    476477                qc(k,j,i) = qc(k,j,i) - dqdt_precip * dt_micro
    477478                q(k,j,i)  = q(k,j,i)  - dqdt_precip * dt_micro
    478                 pt(k,j,i) = pt(k,j,i) + dqdt_precip * dt_micro * l_d_cp * pt_d_t(k)
    479 
    480 !
    481 !--             Compute the rain rate
    482                 prr(nzb_2d(j,i)+1,j,i) = prr(nzb_2d(j,i)+1,j,i) + dqdt_precip * dzw(k)
     479                pt(k,j,i) = pt(k,j,i) + dqdt_precip * dt_micro * l_d_cp *      &
     480                                        pt_d_t(k)
     481
     482!
     483!--             Compute the rain rate (stored on surface grid point)
     484                prr(nzb_s_inner(j,i),j,i) = prr(nzb_s_inner(j,i),j,i) +        &
     485                                            dqdt_precip * dzw(k)
    483486
    484487             ENDDO
     
    14571460
    14581461       USE indices,                                                            &
    1459            ONLY:  nzb_2d, nzt
     1462           ONLY:  nzb_s_inner, nzt
    14601463
    14611464       USE kinds
     
    14701473       REAL(wp)    ::  dqdt_precip !<
    14711474
    1472        DO  k = nzb_2d(j,i)+1, nzt
     1475       DO  k = nzb_s_inner(j,i)+1, nzt
    14731476
    14741477          IF ( qc_1d(k) > ql_crit )  THEN
     
    14831486
    14841487!
    1485 !--       Compute the rain rate
    1486           prr(nzb_2d(j,i)+1,j,i) = prr(nzb_2d(j,i)+1,j,i) +                    &
    1487                                    dqdt_precip * dzw(k)
     1488!--       Compute the rain rate (stored on surface grid point)
     1489          prr(nzb_s_inner(j,i),j,i) = prr(nzb_s_inner(j,i),j,i) +              &
     1490                                      dqdt_precip * dzw(k)
    14881491
    14891492       ENDDO
  • palm/trunk/SOURCE/modules.f90

    r1834 r1845  
    1919! Current revisions:
    2020! ------------------
    21 !
    22 ! 
     21! -nzb_2d
     22!
    2323! Former revisions:
    2424! -----------------
     
    10371037                   nzb_diff_v, nzb_inner, nzb_outer, nzb_s_inner, nzb_s_outer,    &
    10381038                   nzb_u_inner, nzb_u_outer, nzb_v_inner, nzb_v_outer,            &
    1039                    nzb_w_inner, nzb_w_outer, nzb_2d
     1039                   nzb_w_inner, nzb_w_outer
    10401040
    10411041    INTEGER(iwp), DIMENSION(:,:,:), POINTER ::  flags
  • palm/trunk/SOURCE/pres.f90

    r1818 r1845  
    1919! Current revisions:
    2020! ------------------
    21 !
     21! nzb_2d replace by nzb_u|v_inner
    2222!
    2323! Former revisions:
     
    119119        ONLY:  nbgp, ngp_2dh_outer, nx, nxl, nxlg, nxl_mg, nxr, nxrg, nxr_mg,  &
    120120               ny, nys, nysg, nys_mg, nyn, nyng, nyn_mg, nzb, nzb_s_inner,     &
    121                nzb_u_inner, nzb_v_inner, nzb_w_inner, nzb_2d, nzt, nzt_mg,     &
     121               nzb_u_inner, nzb_v_inner, nzb_w_inner, nzt, nzt_mg,             &
    122122               rflags_s_inner
    123123
     
    212212!
    213213!--       Sum up the volume flow through the south/north boundary
    214           DO  k = nzb_2d(j,i)+1, nzt
     214          DO  k = nzb_u_inner(j,i)+1, nzt
    215215             volume_flow_l(1) = volume_flow_l(1) + u(k,j,i) * dzw(k)
    216216          ENDDO
     
    228228
    229229       DO  j = nysg, nyng
    230           DO  k = nzb_2d(j,i)+1, nzt
     230          DO  k = nzb_u_inner(j,i)+1, nzt
    231231             u(k,j,i) = u(k,j,i) + volume_flow_offset(1)
    232232          ENDDO
     
    251251!
    252252!--       Sum up the volume flow through the south/north boundary
    253           DO  k = nzb_2d(j,i)+1, nzt
     253          DO  k = nzb_v_inner(j,i)+1, nzt
    254254             volume_flow_l(2) = volume_flow_l(2) + v(k,j,i) * dzw(k)
    255255          ENDDO
     
    648648       DO  j = nys, nyn
    649649          !$OMP CRITICAL
    650           DO  k = nzb_2d(j,nx) + 1, nzt
     650          DO  k = nzb_u_inner(j,nx) + 1, nzt
    651651             volume_flow_l(1) = volume_flow_l(1) + u(k,j,nx) * dzw(k)
    652652          ENDDO
     
    664664       DO  i = nxl, nxr
    665665          !$OMP CRITICAL
    666           DO  k = nzb_2d(ny,i) + 1, nzt
     666          DO  k = nzb_v_inner(ny,i) + 1, nzt
    667667             volume_flow_l(2) = volume_flow_l(2) + v(k,ny,i) * dzw(k)
    668668           ENDDO
     
    695695                u(k,j,i) = u(k,j,i) + volume_flow_offset(1)
    696696             ENDDO
    697              DO k = nzb_v_inner(j,i) + 1, nzt
     697             DO  k = nzb_v_inner(j,i) + 1, nzt
    698698                v(k,j,i) = v(k,j,i) + volume_flow_offset(2)
    699699             ENDDO
Note: See TracChangeset for help on using the changeset viewer.