<p><b>mpetersen@lanl.gov</b> 2012-02-17 22:11:43 -0700 (Fri, 17 Feb 2012)</p><p>BRANCH COMMIT: Move tracer boundary update in split explicit to repair boundary update problem.<br>
</p><hr noshade><pre><font color="gray">Modified: branches/ocean_projects/boundary/src/core_ocean/mpas_ocn_time_integration_split.F
===================================================================
--- branches/ocean_projects/boundary/src/core_ocean/mpas_ocn_time_integration_split.F        2012-02-18 01:08:19 UTC (rev 1518)
+++ branches/ocean_projects/boundary/src/core_ocean/mpas_ocn_time_integration_split.F        2012-02-18 05:11:43 UTC (rev 1519)
@@ -734,9 +734,12 @@
block % mesh % nVertLevels, block % mesh % nCells, &
block % parinfo % cellsToSend, block % parinfo % cellsToRecv)
- call mpas_dmpar_exch_halo_field3d_real(domain % dminfo, block % tend % tracers % array(:,:,:), &
- block % tend % num_tracers, block % mesh % nVertLevels, block % mesh % nCells, &
- block % parinfo % cellsToSend, block % parinfo % cellsToRecv)
+!!!!!!!!!! mrp 120217 add to test boundary update
+! call mpas_dmpar_exch_halo_field3d_real(domain % dminfo, block % tend % tracers % array(:,:,:), &
+! block % tend % num_tracers, block % mesh % nVertLevels, block % mesh % nCells, &
+! block % parinfo % cellsToSend, block % parinfo % cellsToRecv)
+!!!!!!!!!! mrp 120217 add to test boundary update
+
block => block % next
end do
call mpas_timer_stop("se halo h", timer_halo_h)
@@ -849,6 +852,23 @@
block => block % next
end do
+!!!!!!!!!! mrp 120217 add to test boundary update
+ ! Boundary update on tracers. This is placed here, rather than
+ ! on tend % tracers as in RK4, because I needed to update
+ ! afterwards for the del4 diffusion operator.
+ call mpas_timer_start("se halo tracers", .false., timer_halo_tracers)
+ block => domain % blocklist
+ do while (associated(block))
+
+ call mpas_dmpar_exch_halo_field3d_real(domain % dminfo, block % state % time_levs(2) % state % tracers % array(:,:,:), &
+ block % tend % num_tracers, block % mesh % nVertLevels, block % mesh % nCells, block % parinfo % cellsToSend, block % parinfo % cellsToRecv)
+
+ block => block % next
+ end do
+ call mpas_timer_stop("se halo tracers", timer_halo_tracers)
+
+!!!!!!!!!! mrp 120217 add to test boundary update end
+
end do ! split_explicit_step = 1, config_n_ts_iter
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! END large iteration loop
Modified: branches/ocean_projects/ztilde/src/core_ocean/mpas_ocn_time_integration_split.F
===================================================================
--- branches/ocean_projects/ztilde/src/core_ocean/mpas_ocn_time_integration_split.F        2012-02-18 01:08:19 UTC (rev 1518)
+++ branches/ocean_projects/ztilde/src/core_ocean/mpas_ocn_time_integration_split.F        2012-02-18 05:11:43 UTC (rev 1519)
@@ -753,10 +753,6 @@
block % mesh % nVertLevels, block % mesh % nCells, &
block % parinfo % cellsToSend, block % parinfo % cellsToRecv)
- call mpas_dmpar_exch_halo_field3d_real(domain % dminfo, block % tend % tracers % array(:,:,:), &
- block % tend % num_tracers, block % mesh % nVertLevels, block % mesh % nCells, &
- block % parinfo % cellsToSend, block % parinfo % cellsToRecv)
-
if (config_vert_grid_type.eq.'ztilde') then
call mpas_dmpar_exch_halo_field2d_real(domain % dminfo, block % tend % hHighFreq % array(:,:), &
@@ -885,6 +881,23 @@
block => block % next
end do
+!!!!!!!!!! mrp 120217 add to test boundary update
+ ! Boundary update on tracers. This is placed here, rather than
+ ! on tend % tracers as in RK4, because I needed to update
+ ! afterwards for the del4 diffusion operator.
+ call mpas_timer_start("se halo tracers", .false., timer_halo_tracers)
+ block => domain % blocklist
+ do while (associated(block))
+
+ call mpas_dmpar_exch_halo_field3d_real(domain % dminfo, block % state % time_levs(2) % state % tracers % array(:,:,:), &
+ block % tend % num_tracers, block % mesh % nVertLevels, block % mesh % nCells, block % parinfo % cellsToSend, block % parinfo % cellsToRecv)
+
+ block => block % next
+ end do
+ call mpas_timer_stop("se halo tracers", timer_halo_tracers)
+
+!!!!!!!!!! mrp 120217 add to test boundary update end
+
end do ! split_explicit_step = 1, config_n_ts_iter
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! END large iteration loop
</font>
</pre>