<p><b>duda</b> 2012-07-19 15:53:22 -0600 (Thu, 19 Jul 2012)</p><p>BRANCH COMMIT<br>
<br>
Move some halo exchanges outside a routine that is called in a block loop;<br>
no effect on cold-start results.<br>
<br>
<br>
M src/core_nhyd_atmos/mpas_atm_mpas_core.F<br>
</p><hr noshade><pre><font color="gray">Modified: branches/omp_blocks/multiple_blocks/src/core_nhyd_atmos/mpas_atm_mpas_core.F
===================================================================
--- branches/omp_blocks/multiple_blocks/src/core_nhyd_atmos/mpas_atm_mpas_core.F        2012-07-19 20:41:47 UTC (rev 2037)
+++ branches/omp_blocks/multiple_blocks/src/core_nhyd_atmos/mpas_atm_mpas_core.F        2012-07-19 21:53:22 UTC (rev 2038)
@@ -46,6 +46,8 @@
call atm_simulation_clock_init(domain, dt, startTimeStamp)
+ call mpas_dmpar_exch_halo_field(domain % blocklist % state % time_levs(1) % state % u)
+
block => domain % blocklist
do while (associated(block))
call atm_mpas_init_block(domain % dminfo, block, block % mesh, dt)
@@ -53,6 +55,10 @@
block => block % next
end do
+ call mpas_dmpar_exch_halo_field(domain % blocklist % diag % pv_edge)
+ call mpas_dmpar_exch_halo_field(domain % blocklist % diag % ru)
+ call mpas_dmpar_exch_halo_field(domain % blocklist % diag % rw)
+
current_outfile_frames = 0
if (config_sfc_update_interval /= "none") then
@@ -160,20 +166,12 @@
type (block_type), intent(inout) :: block
type (mesh_type), intent(inout) :: mesh
real (kind=RKIND), intent(in) :: dt
-
- call mpas_dmpar_exch_halo_field(block % state % time_levs(1) % state % u)
if (.not. config_do_restart .or. (config_do_restart .and. config_do_DAcycling)) then
call atm_init_coupled_diagnostics( block % state % time_levs(1) % state, block % diag, mesh)
end if
call atm_compute_solve_diagnostics(dt, block % state % time_levs(1) % state, block % diag, mesh)
- call mpas_dmpar_exch_halo_field(block % diag % pv_edge)
-
- call mpas_dmpar_exch_halo_field(block % diag % ru)
-
- call mpas_dmpar_exch_halo_field(block % diag % rw)
-
call mpas_rbf_interp_initialize(mesh)
call mpas_init_reconstruct(mesh)
call mpas_reconstruct(mesh, block % state % time_levs(1) % state % u % array, &
</font>
</pre>