Skip to content

Commit ba33a37

Browse files
committed
For column means, divide column sums by *global* number of columns, not local
1 parent 513e13c commit ba33a37

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

components/eamxx/src/physics/iop_forcing/eamxx_iop_forcing_process_interface.cpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -447,6 +447,7 @@ void IOPForcing::run_impl (const double dt)
447447
const auto u_mean_h = Kokkos::create_mirror_view(u_mean);
448448
const auto v_mean_h = Kokkos::create_mirror_view(v_mean);
449449

450+
const auto num_global_cols = m_grid->get_num_global_dofs();
450451
for (int k=0; k<m_num_levs; ++k) {
451452
if (iop_nudge_tq){
452453
Real& qv_mean_k = qv_mean_h(k/Pack::n)[k%Pack::n];
@@ -461,8 +462,8 @@ void IOPForcing::run_impl (const double dt)
461462
m_comm.all_reduce(&qv_mean_k, 1, MPI_SUM);
462463
m_comm.all_reduce(&t_mean_k, 1, MPI_SUM);
463464

464-
qv_mean_k /= m_num_cols;
465-
t_mean_k /= m_num_cols;
465+
qv_mean_k /= num_global_cols;
466+
t_mean_k /= num_global_cols;
466467
}
467468
if (iop_nudge_uv){
468469
Real& u_mean_k = u_mean_h(k/Pack::n)[k%Pack::n];
@@ -477,10 +478,11 @@ void IOPForcing::run_impl (const double dt)
477478
m_comm.all_reduce(&u_mean_k, 1, MPI_SUM);
478479
m_comm.all_reduce(&v_mean_k, 1, MPI_SUM);
479480

480-
u_mean_k /= m_num_cols;
481-
v_mean_k /= m_num_cols;
481+
u_mean_k /= num_global_cols;
482+
v_mean_k /= num_global_cols;
482483
}
483484
}
485+
484486
Kokkos::deep_copy(qv_mean, qv_mean_h);
485487
Kokkos::deep_copy(t_mean, t_mean_h);
486488
Kokkos::deep_copy(u_mean, u_mean_h);

0 commit comments

Comments
 (0)