<p><b>duda</b> 2010-10-22 16:57:52 -0600 (Fri, 22 Oct 2010)</p><p>BRANCH COMMIT<br>
<br>
In order not to break restarts for the hydrostatic model, and to<br>
avoid impacting the sw and ocean models as well, revert the subdriver<br>
to r547, and move the test for restarts to avoid re-computing<br>
diagnostics down into the implementation of mpas_init().<br>
<br>
<br>
M    src/driver/module_subdriver.F<br>
M    src/core_nhyd_atmos/mpas_interface.F<br>
</p><hr noshade><pre><font color="gray">Modified: branches/atmos_nonhydrostatic/src/core_nhyd_atmos/mpas_interface.F
===================================================================
--- branches/atmos_nonhydrostatic/src/core_nhyd_atmos/mpas_interface.F        2010-10-22 19:14:07 UTC (rev 578)
+++ branches/atmos_nonhydrostatic/src/core_nhyd_atmos/mpas_interface.F        2010-10-22 22:57:52 UTC (rev 579)
@@ -23,6 +23,7 @@
    use grid_types
 !   use advection
    use time_integration
+   use configure
 
    implicit none
 
@@ -30,8 +31,10 @@
    type (mesh_type), intent(inout) :: mesh
    real (kind=RKIND), intent(in) :: dt
 
-   call init_coupled_diagnostics( block % state % time_levs(1) % state, block % diag, mesh)
-   call compute_solve_diagnostics(dt, block % state % time_levs(1) % state, block % diag, mesh)
+   if (.not. config_do_restart) then
+      call init_coupled_diagnostics( block % state % time_levs(1) % state, block % diag, mesh)
+      call compute_solve_diagnostics(dt, block % state % time_levs(1) % state, block % diag, mesh)
+   end if
 
 !
 ! Note: The following initialization calls have been moved to mpas_setup_test_case()

Modified: branches/atmos_nonhydrostatic/src/driver/module_subdriver.F
===================================================================
--- branches/atmos_nonhydrostatic/src/driver/module_subdriver.F        2010-10-22 19:14:07 UTC (rev 578)
+++ branches/atmos_nonhydrostatic/src/driver/module_subdriver.F        2010-10-22 22:57:52 UTC (rev 579)
@@ -56,14 +56,12 @@
 
       ! Compute diagnostic fields needed in solve loop, and initialize 
       !    simulation time to 0 for all blocks
-      if (.not. config_do_restart) then
-         block_ptr =&gt; domain % blocklist
-         do while (associated(block_ptr))
-            call mpas_init(block_ptr, block_ptr % mesh, dt)
-            block_ptr % state % time_levs(1) % state % xtime % scalar = 0.0
-            block_ptr =&gt; block_ptr % next
-         end do
-      end if
+      block_ptr =&gt; domain % blocklist
+      do while (associated(block_ptr))
+         call mpas_init(block_ptr, block_ptr % mesh, dt)
+         if (.not. config_do_restart) block_ptr % state % time_levs(1) % state % xtime % scalar = 0.0
+         block_ptr =&gt; block_ptr % next
+      end do
 
       ! Before integrating, write out the initial state
       output_frame = 1

</font>
</pre>