203 Box domain =
m_geom.Domain();
205 amrex::Print () <<
"Noah-MP driver started at time step: " << nstep+1 << std::endl;
210 for (amrex::MFIter mfi(cons_in,
false); mfi.isValid(); ++mfi, ++idb) {
212 const amrex::Box& bx = mfi.tilebox();
215 if (bx.smallEnd(2) == domain.smallEnd(2)) {
219 const amrex::Array4<const amrex::Real>& U_PHY = xvel_in.const_array(mfi);
220 const amrex::Array4<const amrex::Real>& V_PHY = yvel_in.const_array(mfi);
221 const amrex::Array4<const amrex::Real>& QV_TH = cons_in.const_array(mfi);
231 amrex::Array4<amrex::Real> SHBXY = hfx3_out->array(mfi);
232 amrex::Array4<amrex::Real> EVBXY = qfx3_out->array(mfi);
235 ParallelFor(bx, [=] AMREX_GPU_DEVICE (
int i,
int j,
int ) noexcept
237 noahmpio->U_PHY(i,1,j) = 0.5*(U_PHY(i,j,0)+U_PHY(i+1,j,0));
238 noahmpio->V_PHY(i,1,j) = 0.5*(V_PHY(i,j,0)+V_PHY(i,j+1,0));
241 noahmpio->SWDOWN(i,j) = SWDOWN(i,j,0);
242 noahmpio->GLW(i,j) = GLW(i,j,0);
247 noahmpio->itimestep = nstep+1;
248 noahmpio->DriverMain();
251 ParallelFor(bx, [=] AMREX_GPU_DEVICE (
int i,
int j,
int ) noexcept
253 SHBXY(i,j,0) = noahmpio->SHBXY(i,j);
254 EVBXY(i,j,0) = noahmpio->EVBXY(i,j);
255 TSK(i,j,0) = noahmpio->TSK(i,j);
256 EMISS(i,j,0) = noahmpio->EMISS(i,j);
257 ALBSFCDIR_VIS(i,j,0) = noahmpio->ALBSFCDIRXY(i,1,j);
258 ALBSFCDIR_NIR(i,j,0) = noahmpio->ALBSFCDIRXY(i,2,j);
259 ALBSFCDIF_VIS(i,j,0) = noahmpio->ALBSFCDIFXY(i,1,j);
260 ALBSFCDIF_NIR(i,j,0) = noahmpio->ALBSFCDIFXY(i,2,j);
264 noahmpio->WriteLand(nstep+1);
268 amrex::Print () <<
"Noah-MP driver completed" << std::endl;
#define Rho_comp
Definition: ERF_IndexDefines.H:36
#define RhoTheta_comp
Definition: ERF_IndexDefines.H:37
#define RhoQ1_comp
Definition: ERF_IndexDefines.H:42
int m_plot_int_1
Definition: ERF_NOAHMP.H:180
amrex::Array< FabPtr, LsmVar_NOAHMP::NumVars > lsm_fab_vars
Definition: ERF_NOAHMP.H:152
NoahmpIO_vector noahmpio_vect
Definition: ERF_NOAHMP.H:178
amrex::Geometry m_geom
Definition: ERF_NOAHMP.H:134
@ sw_flux_dn
Definition: ERF_NOAHMP.H:31
@ lw_flux_dn
Definition: ERF_NOAHMP.H:32
@ t_sfc
Definition: ERF_NOAHMP.H:25
@ sfc_alb_dif_vis
Definition: ERF_NOAHMP.H:29
@ sfc_alb_dir_vis
Definition: ERF_NOAHMP.H:27
@ sfc_alb_dir_nir
Definition: ERF_NOAHMP.H:28
@ sfc_alb_dif_nir
Definition: ERF_NOAHMP.H:30
@ sfc_emis
Definition: ERF_NOAHMP.H:26