Index: src/mpi_mod.f90
===================================================================
--- src/mpi_mod.f90	(revision 6a678e3fe206788e9704a724ec54e6d3dcc908e7)
+++ src/mpi_mod.f90	(revision db712a8ffdd9c478928d0173162055a7c109b178)
@@ -860,6 +860,4 @@
 !   step
 !
-! TODO
-!   GFS version
 !
 !*******************************************************************************
@@ -922,5 +920,4 @@
 
 ! The non-reader processes need to know if cloud water were read.
-! TODO: only at first step or always?
     call MPI_Bcast(readclouds,1,MPI_LOGICAL,id_read,MPI_COMM_WORLD,mp_ierr)
     if (mp_ierr /= 0) goto 600 
@@ -1017,7 +1014,4 @@
     if (mp_ierr /= 0) goto 600 
 
-    call MPI_Bcast(z0,numclass,mp_sp,id_read,MPI_COMM_WORLD,mp_ierr)
-    if (mp_ierr /= 0) goto 600 
-
     if (mp_measure_time) call mpif_mtime('commtime',1)
 
@@ -1045,6 +1039,4 @@
 !   step
 !
-! TODO
-!   Transfer cloud water/ice if and when available for nested
 !
 !***********************************************************************
@@ -1060,9 +1052,9 @@
 
 ! Common array sizes used for communications
-    integer :: d3_size1 = nxmaxn*nymaxn*nzmax*maxnests
-    integer :: d3_size2 = nxmaxn*nymaxn*nuvzmax*maxnests
-    integer :: d2_size1 = nxmaxn*nymaxn*maxnests
-    integer :: d2_size2 = nxmaxn*nymaxn*maxspec*maxnests
-    integer :: d2_size3 = nxmaxn*nymaxn*maxnests
+    integer :: d3_size1 = nxmaxn*nymaxn*nzmax
+    integer :: d3_size2 = nxmaxn*nymaxn*nuvzmax
+    integer :: d2_size1 = nxmaxn*nymaxn
+    integer :: d2_size2 = nxmaxn*nymaxn*maxspec
+    integer :: d2_size3 = nxmaxn*nymaxn
 
     integer :: d3s1,d3s2,d2s1,d2s2
@@ -1106,4 +1098,8 @@
 !**********************************************************************
 
+! The non-reader processes need to know if cloud water were read.
+    call MPI_Bcast(readclouds_nest,maxnests,MPI_LOGICAL,id_read,MPI_COMM_WORLD,mp_ierr)
+    if (mp_ierr /= 0) goto 600 
+
 ! Static fields/variables sent only at startup
     if (first_call) then
@@ -1120,6 +1116,6 @@
 
 ! MPI prefers contiguous arrays for sending (else a buffer is created),
-! hence the loop
-
+! hence the loop over nests
+!**********************************************************************
     do i=1, numbnests 
 ! 3D fields
@@ -1145,8 +1141,16 @@
       if (mp_ierr /= 0) goto 600 
       call MPI_Bcast(cloudsn(:,:,:,li:ui,i),d3s1,MPI_INTEGER1,id_read,MPI_COMM_WORLD,mp_ierr)
-      if (mp_ierr /= 0) goto 600 
+      if (mp_ierr /= 0) goto 600
+
+! cloud water/ice:
+    if (readclouds_nest(i)) then
+      ! call MPI_Bcast(icloud_stats(:,:,:,li:ui),d2s1*5,mp_sp,id_read,MPI_COMM_WORLD,mp_ierr)
+      ! if (mp_ierr /= 0) goto 600
+      call MPI_Bcast(clw4n(:,:,li:ui,i),d2s1,mp_sp,id_read,MPI_COMM_WORLD,mp_ierr)
+      if (mp_ierr /= 0) goto 600
+    end if
 
 ! 2D fields
-      call MPI_Bcast(cloudsnh(:,:,li:ui,i),d2s1,mp_sp,id_read,MPI_COMM_WORLD,mp_ierr)
+      call MPI_Bcast(cloudshn(:,:,li:ui,i),d2s1,mp_sp,id_read,MPI_COMM_WORLD,mp_ierr)
       if (mp_ierr /= 0) goto 600
       call MPI_Bcast(vdepn(:,:,:,li:ui,i),d2s2,mp_sp,id_read,MPI_COMM_WORLD,mp_ierr)
@@ -1206,5 +1210,4 @@
 !   mind    -- index where to place new fields
 !
-! TODO
 !
 !*******************************************************************************
@@ -1392,5 +1395,4 @@
 !   memstat -- input, used to resolve windfield index being received
 !
-! TODO
 !
 !*******************************************************************************
@@ -2019,5 +2021,4 @@
 ! In the implementation with 3 fields, the processes may have posted
 ! MPI_Irecv requests that should be cancelled here
-!! TODO:
 ! if (.not.lmp_sync) then
 !   r=mp_pid*nvar_async
@@ -2105,5 +2106,4 @@
 !   
 !
-! TODO
 !
 !*******************************************************************************
@@ -2132,5 +2132,5 @@
     uu(:,:,:,li:ui) = 10.0
     vv(:,:,:,li:ui) = 0.0
-    uupol(:,:,:,li:ui) = 10.0 ! TODO check if ok
+    uupol(:,:,:,li:ui) = 10.0
     vvpol(:,:,:,li:ui)=0.0
     ww(:,:,:,li:ui)=0.
@@ -2164,5 +2164,4 @@
     tropopause(:,:,:,li:ui)=10000.
     oli(:,:,:,li:ui)=0.01
-    z0=1.0
  
   end subroutine set_fields_synthetic
