<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("initial state calculation")
! 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("initial velocity calculation")
- 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, &
+ call mpas_timer_start("initial velocity calculation")
+ call land_ice_vel_solve(mesh, state, err)
+
+ ! TODO
+ ! update halos on velocity
+ call mpas_dmpar_exch_halo_field2d_real(dminfo, state % normalVelocity % array, &
mesh % nVertLevels, mesh % nEdges, &
block % parinfo % edgesToSend, block % parinfo % edgesToRecv)
- !call mpas_dmpar_exch_halo_field2d_real(domain % dminfo, block % state % time_levs(1) % state % normalVelocity % array, &
- ! block % mesh % nVertLevels, block % mesh % nEdges, &
- ! block % parinfo % edgesToSend, block % parinfo % edgesToRecv)
+ call mpas_timer_stop("initial velocity calculation") ! 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,&
state % uReconstructX % array, &
state % uReconstructY % array, &
@@ -275,7 +277,6 @@
state % uReconstructZonal % array, &
state % uReconstructMeridional % array &
)
- call mpas_timer_stop("initial velocity calculation")
call land_ice_diagnostic_solve_using_velocity(mesh, state, err) ! Some diagnostic variables require velocity to compute
</font>
</pre>