Index: /palm/trunk/SOURCE/calc_radiation.f90
===================================================================
--- /palm/trunk/SOURCE/calc_radiation.f90	(revision 1844)
+++ /palm/trunk/SOURCE/calc_radiation.f90	(revision 1845)
@@ -93,5 +93,5 @@
 
        USE indices,                                                            &
-           ONLY:  nxl, nxr, nyn, nys, nzb, nzb_2d, nzt
+           ONLY:  nxl, nxr, nyn, nys, nzb, nzb_s_inner, nzt
 
        USE kinds
@@ -141,5 +141,5 @@
              blackbody_emission(nzb) = sigma * temperature**4
 
-             DO  k = nzb_2d(j,i)+1, nzt
+             DO  k = nzb_s_inner(j,i)+1, nzt
 
                 k_help = ( nzt+nzb+1 ) - k
@@ -167,5 +167,5 @@
              impinging_flux_at_top = blackbody_emission(nzb) - 100.0_wp
 
-             DO  k = nzb_2d(j,i)+1, nzt
+             DO  k = nzb_s_inner(j,i)+1, nzt
 !
 !--             Save some computational time, but this may cause load
@@ -238,5 +238,5 @@
 
        USE indices,                                                            &
-           ONLY:  nzb, nzb_2d, nzt
+           ONLY:  nzb, nzb_s_inner, nzt
 
        USE kinds
@@ -283,5 +283,5 @@
        blackbody_emission(nzb) = sigma * temperature**4
 
-       DO  k = nzb_2d(j,i)+1, nzt
+       DO  k = nzb_s_inner(j,i)+1, nzt
           k_help = ( nzt+nzb+1 ) - k
           lwp_ground(k)   = lwp_ground(k-1) + rho_surface * ql(k,j,i) * dzw(k)
@@ -306,5 +306,5 @@
        impinging_flux_at_top = blackbody_emission(nzb) - 100.0_wp
 
-       DO  k = nzb_2d(j,i)+1, nzt
+       DO  k = nzb_s_inner(j,i)+1, nzt
 !
 !--       Store some computational time,
Index: /palm/trunk/SOURCE/init_3d_model.f90
===================================================================
--- /palm/trunk/SOURCE/init_3d_model.f90	(revision 1844)
+++ /palm/trunk/SOURCE/init_3d_model.f90	(revision 1845)
@@ -19,5 +19,5 @@
 ! Current revisions:
 ! ------------------
-! 
+! nzb_2d replaced by nzb_u|v_inner
 ! 
 ! Former revisions:
@@ -1488,5 +1488,5 @@
           IF ( nxr == nx )  THEN
              DO  j = nys, nyn
-                DO  k = nzb_2d(j,nx)+1, nzt
+                DO  k = nzb_u_inner(j,nx)+1, nzt
                    volume_flow_initial_l(1) = volume_flow_initial_l(1) +       &
                                               u_init(k) * dzw(k)
@@ -1498,5 +1498,5 @@
           IF ( nyn == ny )  THEN
              DO  i = nxl, nxr
-                DO  k = nzb_2d(ny,i)+1, nzt  
+                DO  k = nzb_v_inner(ny,i)+1, nzt
                    volume_flow_initial_l(2) = volume_flow_initial_l(2) + &
                                               v_init(k) * dzw(k)
@@ -1524,5 +1524,5 @@
           IF ( nxr == nx )  THEN
              DO  j = nys, nyn
-                DO  k = nzb_2d(j,nx)+1, nzt
+                DO  k = nzb_u_inner(j,nx)+1, nzt
                    volume_flow_initial_l(1) = volume_flow_initial_l(1) +       &
                                               hom_sum(k,1,0) * dzw(k)
@@ -1534,5 +1534,5 @@
           IF ( nyn == ny )  THEN
              DO  i = nxl, nxr
-                DO  k = nzb_2d(ny,i)+1, nzt  
+                DO  k = nzb_v_inner(ny,i)+1, nzt
                    volume_flow_initial_l(2) = volume_flow_initial_l(2) +       &
                                               hom_sum(k,2,0) * dzw(k)
@@ -1560,5 +1560,5 @@
           IF ( nxr == nx )  THEN
              DO  j = nys, nyn
-                DO  k = nzb_2d(j,nx)+1, nzt
+                DO  k = nzb_u_inner(j,nx)+1, nzt
                    volume_flow_initial_l(1) = volume_flow_initial_l(1) + &
                                               u(k,j,nx) * dzw(k)
@@ -1570,5 +1570,5 @@
           IF ( nyn == ny )  THEN
              DO  i = nxl, nxr
-                DO  k = nzb_2d(ny,i)+1, nzt  
+                DO  k = nzb_v_inner(ny,i)+1, nzt
                    volume_flow_initial_l(2) = volume_flow_initial_l(2) +       &
                                               v(k,ny,i) * dzw(k)
Index: /palm/trunk/SOURCE/init_grid.f90
===================================================================
--- /palm/trunk/SOURCE/init_grid.f90	(revision 1844)
+++ /palm/trunk/SOURCE/init_grid.f90	(revision 1845)
@@ -19,5 +19,5 @@
 ! Current revisions:
 ! -----------------
-! 
+! nzb_2d removed
 ! 
 ! Former revisions:
@@ -180,8 +180,8 @@
         ONLY:  flags, nbgp, nx, nxl, nxlg, nxlu, nxl_mg, nxr, nxrg, nxr_mg,    &
                ny, nyn, nyng, nyn_mg, nys, nysv, nys_mg, nysg, nz, nzb,        &
-               nzb_2d, nzb_diff, nzb_diff_s_inner, nzb_diff_s_outer,           &
-               nzb_diff_u, nzb_diff_v, nzb_max, nzb_s_inner, nzb_s_outer,      &
-               nzb_u_inner, nzb_u_outer, nzb_v_inner, nzb_v_outer,             &
-               nzb_w_inner, nzb_w_outer, nzt, nzt_diff, nzt_mg, rflags_invers, &
+               nzb_diff, nzb_diff_s_inner, nzb_diff_s_outer, nzb_diff_u,       &
+               nzb_diff_v, nzb_max, nzb_s_inner, nzb_s_outer, nzb_u_inner,     &
+               nzb_u_outer, nzb_v_inner, nzb_v_outer, nzb_w_inner,             &
+               nzb_w_outer, nzt, nzt_diff, nzt_mg, rflags_invers,              &
                rflags_s_inner, wall_flags_0, wall_flags_00, wall_flags_1,      &
                wall_flags_10, wall_flags_2, wall_flags_3,  wall_flags_4,       &
@@ -470,5 +470,4 @@
               nzb_diff_u(nysg:nyng,nxlg:nxrg),                              &
               nzb_diff_v(nysg:nyng,nxlg:nxrg),                              &
-              nzb_2d(nysg:nyng,nxlg:nxrg),                                  &
               rflags_s_inner(nzb:nzt+2,nysg:nyng,nxlg:nxrg),                &
               rflags_invers(nysg:nyng,nxlg:nxrg,nzb:nzt+2),                 &
@@ -967,9 +966,4 @@
 
     ENDIF
-
-!
-!-- Preliminary: to be removed after completion of the topography code!
-!-- Set the former default k index arrays nzb_2d
-    nzb_2d      = nzb
 
 !
Index: /palm/trunk/SOURCE/interaction_droplets_ptq.f90
===================================================================
--- /palm/trunk/SOURCE/interaction_droplets_ptq.f90	(revision 1844)
+++ /palm/trunk/SOURCE/interaction_droplets_ptq.f90	(revision 1845)
@@ -19,5 +19,5 @@
 ! Current revisions:
 ! -----------------
-!
+! nzb_2d replaced by nzb_s_inner
 !
 ! Former revisions:
@@ -91,5 +91,5 @@
            
        USE indices,                                                            &
-           ONLY:  nxl, nxr, nyn, nys, nzb_2d, nzt
+           ONLY:  nxl, nxr, nyn, nys, nzb_s_inner, nzt
            
        USE kinds
@@ -106,5 +106,5 @@
        DO  i = nxl, nxr
           DO  j = nys, nyn
-             DO  k = nzb_2d(j,i)+1, nzt
+             DO  k = nzb_s_inner(j,i)+1, nzt
                 q_p(k,j,i)  = q_p(k,j,i)  - ql_c(k,j,i)
                 pt_p(k,j,i) = pt_p(k,j,i) + l_d_cp * ql_c(k,j,i) * pt_d_t(k)
@@ -130,5 +130,5 @@
 
        USE indices,                                                            &
-           ONLY:  nzb_2d, nzt
+           ONLY:  nzb_s_inner, nzt
 
        USE kinds,                                                              &
@@ -144,5 +144,5 @@
 
 
-       DO  k = nzb_2d(j,i)+1, nzt
+       DO  k = nzb_s_inner(j,i)+1, nzt
           q_p(k,j,i)  = q_p(k,j,i)  - ql_c(k,j,i)
           pt_p(k,j,i) = pt_p(k,j,i) + l_d_cp * ql_c(k,j,i) * pt_d_t(k)
Index: /palm/trunk/SOURCE/microphysics.f90
===================================================================
--- /palm/trunk/SOURCE/microphysics.f90	(revision 1844)
+++ /palm/trunk/SOURCE/microphysics.f90	(revision 1845)
@@ -19,5 +19,6 @@
 ! Current revisions:
 ! ------------------
-!
+! nzb_2d replaced by nzb_s_inner, Kessler precipitation is stored at surface
+! point (instead of one point above surface)
 !
 ! Former revisions:
@@ -451,5 +452,5 @@
 
        USE indices,                                                            &
-           ONLY:  nxl, nxr, nyn, nys, nzb_2d, nzt
+           ONLY:  nxl, nxr, nyn, nys, nzb_s_inner, nzt
 
        USE kinds
@@ -466,5 +467,5 @@
        DO  i = nxl, nxr
           DO  j = nys, nyn
-             DO  k = nzb_2d(j,i)+1, nzt
+             DO  k = nzb_s_inner(j,i)+1, nzt
 
                 IF ( qc(k,j,i) > ql_crit )  THEN
@@ -476,9 +477,11 @@
                 qc(k,j,i) = qc(k,j,i) - dqdt_precip * dt_micro
                 q(k,j,i)  = q(k,j,i)  - dqdt_precip * dt_micro
-                pt(k,j,i) = pt(k,j,i) + dqdt_precip * dt_micro * l_d_cp * pt_d_t(k)
-
-!
-!--             Compute the rain rate
-                prr(nzb_2d(j,i)+1,j,i) = prr(nzb_2d(j,i)+1,j,i) + dqdt_precip * dzw(k)
+                pt(k,j,i) = pt(k,j,i) + dqdt_precip * dt_micro * l_d_cp *      &
+                                        pt_d_t(k)
+
+!
+!--             Compute the rain rate (stored on surface grid point)
+                prr(nzb_s_inner(j,i),j,i) = prr(nzb_s_inner(j,i),j,i) +        &
+                                            dqdt_precip * dzw(k)
 
              ENDDO
@@ -1457,5 +1460,5 @@
 
        USE indices,                                                            &
-           ONLY:  nzb_2d, nzt
+           ONLY:  nzb_s_inner, nzt
 
        USE kinds
@@ -1470,5 +1473,5 @@
        REAL(wp)    ::  dqdt_precip !<
 
-       DO  k = nzb_2d(j,i)+1, nzt
+       DO  k = nzb_s_inner(j,i)+1, nzt
 
           IF ( qc_1d(k) > ql_crit )  THEN
@@ -1483,7 +1486,7 @@
 
 !
-!--       Compute the rain rate
-          prr(nzb_2d(j,i)+1,j,i) = prr(nzb_2d(j,i)+1,j,i) +                    &
-                                   dqdt_precip * dzw(k)
+!--       Compute the rain rate (stored on surface grid point)
+          prr(nzb_s_inner(j,i),j,i) = prr(nzb_s_inner(j,i),j,i) +              &
+                                      dqdt_precip * dzw(k)
 
        ENDDO
Index: /palm/trunk/SOURCE/modules.f90
===================================================================
--- /palm/trunk/SOURCE/modules.f90	(revision 1844)
+++ /palm/trunk/SOURCE/modules.f90	(revision 1845)
@@ -19,6 +19,6 @@
 ! Current revisions:
 ! ------------------
-! 
-! 
+! -nzb_2d
+!
 ! Former revisions:
 ! -----------------
@@ -1037,5 +1037,5 @@
                    nzb_diff_v, nzb_inner, nzb_outer, nzb_s_inner, nzb_s_outer,    &
                    nzb_u_inner, nzb_u_outer, nzb_v_inner, nzb_v_outer,            &
-                   nzb_w_inner, nzb_w_outer, nzb_2d
+                   nzb_w_inner, nzb_w_outer
 
     INTEGER(iwp), DIMENSION(:,:,:), POINTER ::  flags
Index: /palm/trunk/SOURCE/pres.f90
===================================================================
--- /palm/trunk/SOURCE/pres.f90	(revision 1844)
+++ /palm/trunk/SOURCE/pres.f90	(revision 1845)
@@ -19,5 +19,5 @@
 ! Current revisions:
 ! ------------------
-! 
+! nzb_2d replace by nzb_u|v_inner
 ! 
 ! Former revisions:
@@ -119,5 +119,5 @@
         ONLY:  nbgp, ngp_2dh_outer, nx, nxl, nxlg, nxl_mg, nxr, nxrg, nxr_mg,  &
                ny, nys, nysg, nys_mg, nyn, nyng, nyn_mg, nzb, nzb_s_inner,     &
-               nzb_u_inner, nzb_v_inner, nzb_w_inner, nzb_2d, nzt, nzt_mg,     &
+               nzb_u_inner, nzb_v_inner, nzb_w_inner, nzt, nzt_mg,             &
                rflags_s_inner
 
@@ -212,5 +212,5 @@
 !
 !--       Sum up the volume flow through the south/north boundary
-          DO  k = nzb_2d(j,i)+1, nzt
+          DO  k = nzb_u_inner(j,i)+1, nzt
              volume_flow_l(1) = volume_flow_l(1) + u(k,j,i) * dzw(k)
           ENDDO
@@ -228,5 +228,5 @@
 
        DO  j = nysg, nyng
-          DO  k = nzb_2d(j,i)+1, nzt
+          DO  k = nzb_u_inner(j,i)+1, nzt
              u(k,j,i) = u(k,j,i) + volume_flow_offset(1)
           ENDDO
@@ -251,5 +251,5 @@
 !
 !--       Sum up the volume flow through the south/north boundary
-          DO  k = nzb_2d(j,i)+1, nzt
+          DO  k = nzb_v_inner(j,i)+1, nzt
              volume_flow_l(2) = volume_flow_l(2) + v(k,j,i) * dzw(k)
           ENDDO
@@ -648,5 +648,5 @@
        DO  j = nys, nyn
           !$OMP CRITICAL
-          DO  k = nzb_2d(j,nx) + 1, nzt
+          DO  k = nzb_u_inner(j,nx) + 1, nzt
              volume_flow_l(1) = volume_flow_l(1) + u(k,j,nx) * dzw(k)
           ENDDO
@@ -664,5 +664,5 @@
        DO  i = nxl, nxr
           !$OMP CRITICAL
-          DO  k = nzb_2d(ny,i) + 1, nzt
+          DO  k = nzb_v_inner(ny,i) + 1, nzt
              volume_flow_l(2) = volume_flow_l(2) + v(k,ny,i) * dzw(k)
            ENDDO
@@ -695,5 +695,5 @@
                 u(k,j,i) = u(k,j,i) + volume_flow_offset(1)
              ENDDO
-             DO k = nzb_v_inner(j,i) + 1, nzt
+             DO  k = nzb_v_inner(j,i) + 1, nzt
                 v(k,j,i) = v(k,j,i) + volume_flow_offset(2)
              ENDDO
