<p><b>dwj07@fsu.edu</b> 2012-10-03 11:44:54 -0600 (Wed, 03 Oct 2012)</p><p><br>
        -- TRUNK COMMIT --<br>
        ocean core only<br>
<br>
        Fixing an issue with rescaling of tracers.<br>
        Previously tracers we rescaled 4 times on each time step.<br>
<br>
        This only effects RK4.<br>
</p><hr noshade><pre><font color="gray">Modified: trunk/mpas/src/core_ocean/mpas_ocn_time_integration_rk4.F
===================================================================
--- trunk/mpas/src/core_ocean/mpas_ocn_time_integration_rk4.F        2012-10-03 17:42:43 UTC (rev 2176)
+++ trunk/mpas/src/core_ocean/mpas_ocn_time_integration_rk4.F        2012-10-03 17:44:54 UTC (rev 2177)
@@ -236,9 +236,8 @@
do iCell=1,block % mesh % nCells
do k=1,block % mesh % maxLevelCell % array(iCell)
block % state % time_levs(2) % state % tracers % array(:,k,iCell) = &
- ( block % state % time_levs(2) % state % tracers % array(:,k,iCell) &
- + rk_weights(rk_step) * block % tend % tracers % array(:,k,iCell) )&
- / block % state % time_levs(2) % state % h % array(k, iCell)
+ block % state % time_levs(2) % state % tracers % array(:,k,iCell) &
+ + rk_weights(rk_step) * block % tend % tracers % array(:,k,iCell)
end do
end do
@@ -256,6 +255,20 @@
! A little clean up at the end: decouple new scalar fields and compute diagnostics for new state
!
call mpas_timer_start("RK4-cleaup phase")
+
+ ! Rescale tracers
+ block => domain % blocklist
+ do while(associated(block))
+ do iCell = 1, block % mesh % nCells
+ do k = 1, block % mesh % maxLevelCell % array(iCell)
+ block % state % time_levs(2) % state % tracers % array(:, k, iCell) = block % state % time_levs(2) % state % tracers % array(:, k, iCell) &
+ / block % state % time_levs(2) % state % h % array(k, iCell)
+ end do
+ end do
+ block => block % next
+ end do
+
+
if (config_implicit_vertical_mix) then
call mpas_timer_start("RK4-implicit vert mix")
block => domain % blocklist
</font>
</pre>