<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 => 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 => block_ptr % next
- end do
- end if
+ block_ptr => 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 => block_ptr % next
+ end do
! Before integrating, write out the initial state
output_frame = 1
</font>
</pre>