7 for (MFIter mfi(mf_cons, TilingIfNotGPU()); mfi.isValid(); ++mfi)
9 const Box &bx = mfi.tilebox();
10 amrex::Print() <<
"Box is " << bx <<
"comparing to khi+1 " <<
khi+1 << std::endl;
13 Array4<Real>
const& state = mf_cons.array(mfi);
14 Array4<Real>
const& x_vel = mf_xvel.array(mfi);
15 Array4<Real>
const& y_vel = mf_yvel.array(mfi);
17 Array4<const Real>
const& z_r = remora.vec_z_r[lev]->const_array(mfi);
18 ParallelFor(bx, [=] AMREX_GPU_DEVICE(
int i,
int j,
int k)
noexcept
21 const Real depth = amrex::max(0.0_rt, -z_r(i, j, k));
24 if (depth <= 20.0_rt) {
26 }
else if (depth <= 50.0_rt) {
27 const Real alpha = (depth - 20.0_rt) / (50.0_rt - 20.0_rt);
28 temp = 14.0_rt + alpha * (10.0_rt - 14.0_rt);
29 }
else if (depth <= 300.0_rt) {
30 const Real alpha = (depth - 50.0_rt) / (300.0_rt - 50.0_rt);
31 temp = 10.0_rt + alpha * (6.5_rt - 10.0_rt);
35 if (depth <= 50.0_rt) {
37 }
else if (depth <= 150.0_rt) {
38 const Real alpha = (depth - 50.0_rt) / (150.0_rt - 50.0_rt);
39 salt = 33.5_rt + alpha * (34.3_rt - 33.5_rt);
41 const Real alpha = amrex::min((depth - 150.0_rt) / (300.0_rt - 150.0_rt), 1.0_rt);
42 salt = 34.3_rt + alpha * (34.6_rt - 34.3_rt);
53 const Box& xbx = surroundingNodes(bx,0);
54 const Box& ybx = surroundingNodes(bx,1);
56 ParallelFor(xbx, [=] AMREX_GPU_DEVICE(
int i,
int j,
int k)
noexcept
58 x_vel(i, j, k) = 0.0_rt;
60 ParallelFor(ybx, [=] AMREX_GPU_DEVICE(
int i,
int j,
int k)
noexcept
62 y_vel(i, j, k) = 0.0_rt;