Index: palm/trunk/SOURCE/check_parameters.f90
===================================================================
--- palm/trunk/SOURCE/check_parameters.f90	(revision 2177)
+++ palm/trunk/SOURCE/check_parameters.f90	(revision 2178)
@@ -3603,4 +3603,6 @@
           dist_nxl    = MAX( inflow_disturbance_begin, nxl )
           dist_nxr(1) = MIN( inflow_disturbance_end, nxr )
+       ELSEIF ( bc_lr == 'nested' )  THEN
+          dist_nxl = MAX( inflow_disturbance_begin, nxl )
        ENDIF
        IF ( bc_ns == 'dirichlet/radiation' )  THEN
@@ -3610,4 +3612,6 @@
           dist_nys    = MAX( inflow_disturbance_begin, nys )
           dist_nyn(1) = MIN( inflow_disturbance_end, nyn )
+       ELSEIF ( bc_ns == 'nested' )  THEN
+          dist_nys = MAX( inflow_disturbance_begin, nys )
        ENDIF
     ELSE
Index: palm/trunk/SOURCE/init_pegrid.f90
===================================================================
--- palm/trunk/SOURCE/init_pegrid.f90	(revision 2177)
+++ palm/trunk/SOURCE/init_pegrid.f90	(revision 2178)
@@ -261,8 +261,11 @@
        numproc_sqr = SQRT( REAL( numprocs, KIND=wp ) )
        pdims(1)    = MAX( numproc_sqr , 1 )
-       DO  WHILE ( MOD( numprocs , pdims(1) ) /= 0 )
+       pdims(2) = numprocs / pdims(1)
+       DO  WHILE ( MOD( numprocs , pdims(1) ) /= 0  .OR.                        &
+              MOD( nx+1, pdims(1) ) /= 0  .OR.                                  &
+              MOD( ny+1, pdims(2) ) /= 0 ) 
           pdims(1) = pdims(1) - 1
+          pdims(2) = numprocs / pdims(1)
        ENDDO
-       pdims(2) = numprocs / pdims(1)
 
     ELSEIF ( npex /= -1  .AND.  npey /= -1 )  THEN
Index: palm/trunk/SOURCE/palm.f90
===================================================================
--- palm/trunk/SOURCE/palm.f90	(revision 2177)
+++ palm/trunk/SOURCE/palm.f90	(revision 2178)
@@ -161,8 +161,9 @@
 
     USE control_parameters,                                                    &
-        ONLY:  constant_diffusion, coupling_char, coupling_mode,               &
+        ONLY:  cloud_physics, constant_diffusion, coupling_char, coupling_mode,&
                do2d_at_begin, do3d_at_begin, humidity, initializing_actions,   &
                io_blocks, io_group,                                            &
-               large_scale_forcing, message_string, nest_domain, neutral,      &
+               large_scale_forcing, message_string, microphysics_seifert,      &
+               nest_domain, neutral,                                           &
                nudging, passive_scalar, simulated_time, simulated_time_chr,    &
                urban_surface,                                                  &
@@ -203,5 +204,6 @@
     USE pmc_interface,                                                         &
         ONLY:  cpl_id, nested_run, pmci_child_initialize, pmci_init,           &
-               pmci_modelconfiguration, pmci_parent_initialize
+               pmci_modelconfiguration, pmci_parent_initialize,                &
+               pmci_ensure_nest_mass_conservation
 
     USE radiation_model_mod,                                                   &
@@ -352,17 +354,28 @@
 !--       Send initial condition data from parent to children
           CALL pmci_parent_initialize
-       END IF
 !
 !--    Exchange_horiz is needed after the nest initialization
-       IF ( nest_domain )  THEN
-          CALL exchange_horiz( u, nbgp )
-          CALL exchange_horiz( v, nbgp )
-          CALL exchange_horiz( w, nbgp )
-          IF ( .NOT. neutral )  THEN
-             CALL exchange_horiz( pt, nbgp )
+          IF ( nest_domain )  THEN
+             CALL exchange_horiz( u, nbgp )
+             CALL exchange_horiz( v, nbgp )
+             CALL exchange_horiz( w, nbgp )
+             IF ( .NOT. neutral )  THEN
+                CALL exchange_horiz( pt, nbgp )
+             ENDIF
+             IF ( .NOT. constant_diffusion )  CALL exchange_horiz( e, nbgp )
+             IF ( humidity )  THEN
+                CALL exchange_horiz( q, nbgp )
+                IF ( cloud_physics  .AND.  microphysics_seifert )  THEN
+!                   CALL exchange_horiz( qc, nbgp )
+                   CALL exchange_horiz( qr, nbgp ) 
+!                   CALL exchange_horiz( nc, nbgp )
+                   CALL exchange_horiz( nr, nbgp )
+                ENDIF
+             ENDIF
+             IF ( passive_scalar )  CALL exchange_horiz( s, nbgp )
+
+             CALL pmci_ensure_nest_mass_conservation
+             CALL pres
           ENDIF
-          IF ( .NOT. constant_diffusion )  CALL exchange_horiz( e, nbgp )
-          IF ( humidity       )  CALL exchange_horiz( q, nbgp )
-          IF ( passive_scalar )  CALL exchange_horiz( s, nbgp )
        ENDIF
 
Index: palm/trunk/SOURCE/time_integration.f90
===================================================================
--- palm/trunk/SOURCE/time_integration.f90	(revision 2177)
+++ palm/trunk/SOURCE/time_integration.f90	(revision 2178)
@@ -676,5 +676,6 @@
                    CALL disturb_field( nzb_u_inner, tend, u )
                    CALL disturb_field( nzb_v_inner, tend, v )
-                ELSEIF ( .NOT. bc_lr_cyc  .OR.  .NOT. bc_ns_cyc )  THEN
+                ELSEIF ( ( .NOT. bc_lr_cyc  .OR.  .NOT. bc_ns_cyc )            &
+                     .AND. .NOT. nest_domain )  THEN
 !
 !--                Runs with a non-cyclic lateral wall need perturbations
