<p><b>mhoffman@lanl.gov</b> 2013-03-11 12:20:33 -0600 (Mon, 11 Mar 2013)</p><p>BRANCH COMMIT - land ice<br>
Disabled the velocity solve at the initial time on a restart since we already have it as a restart field.<br>
</p><hr noshade><pre><font color="gray">Modified: branches/land_ice_projects/implement_core/src/core_land_ice/mpas_land_ice_mpas_core.F
===================================================================
--- branches/land_ice_projects/implement_core/src/core_land_ice/mpas_land_ice_mpas_core.F        2013-03-11 18:14:09 UTC (rev 2583)
+++ branches/land_ice_projects/implement_core/src/core_land_ice/mpas_land_ice_mpas_core.F        2013-03-11 18:20:33 UTC (rev 2584)
@@ -252,22 +252,24 @@
       call mpas_timer_stop(&quot;initial state calculation&quot;)
 
       ! Calculate an initial (diagnostic) velocity field consistent with the initial thickness field 
-      ! \todo: skip this step if a velocity field was supplied in the I.C. input file
-      call mpas_timer_start(&quot;initial velocity calculation&quot;)
-      call land_ice_vel_solve(mesh, state, err)
+      ! \todo: skip this step if a velocity field was supplied in the I.C. input file on a cold start
+      ! Don't do this on a restart, because we already have the exact velocity field we need, so don't do the expensive calculationa again.
+      if (.not.(config_do_restart)) then
 
-      ! TODO 
-      ! update halos on velocity
-      call mpas_dmpar_exch_halo_field2d_real(dminfo, state % normalVelocity % array, &amp;
+         call mpas_timer_start(&quot;initial velocity calculation&quot;)
+         call land_ice_vel_solve(mesh, state, err)
+
+         ! TODO 
+         ! update halos on velocity
+         call mpas_dmpar_exch_halo_field2d_real(dminfo, state % normalVelocity % array, &amp;
                                          mesh % nVertLevels, mesh % nEdges, &amp;
                                          block % parinfo % edgesToSend, block % parinfo % edgesToRecv)
 
-         !call mpas_dmpar_exch_halo_field2d_real(domain % dminfo, block % state % time_levs(1) % state % normalVelocity % array, &amp;
-         !                                   block % mesh % nVertLevels, block % mesh % nEdges, &amp;
-         !                                   block % parinfo % edgesToSend, block % parinfo % edgesToRecv)
+         call mpas_timer_stop(&quot;initial velocity calculation&quot;)  ! subsequent timings of the velocity calculation include the reconstruction call below, but we cannot include it here
+      end if
 
-
       ! Calculate reconstructed velocities for the initial time - do this after velocity halo update in case velocities on the 1-halo edge are wrong (depends on velocity solver)
+      ! We still want to do this on a restart since normalVelocity is the only restart field.
       call mpas_reconstruct(mesh, state % normalVelocity % array,&amp;
                        state % uReconstructX % array,            &amp;
                        state % uReconstructY % array,            &amp;
@@ -275,7 +277,6 @@
                        state % uReconstructZonal % array,        &amp;
                        state % uReconstructMeridional % array    &amp;
                       )
-      call mpas_timer_stop(&quot;initial velocity calculation&quot;)
 
       call land_ice_diagnostic_solve_using_velocity(mesh, state, err)  ! Some diagnostic variables require velocity to compute  
 

</font>
</pre>