217 Box domain =
m_geom.Domain();
219 Print () <<
"Noah-MP driver started at time step: " << nstep+1 << std::endl;
224 for (MFIter mfi(cons_in,
false); mfi.isValid(); ++mfi, ++idb) {
226 const Box& bx = mfi.tilebox();
229 if (bx.smallEnd(2) == domain.smallEnd(2)) {
233 const Array4<const Real>& U_PHY = xvel_in.const_array(mfi);
234 const Array4<const Real>& V_PHY = yvel_in.const_array(mfi);
235 const Array4<const Real>& QV_TH = cons_in.const_array(mfi);
257 ParallelFor(bx, [=] AMREX_GPU_DEVICE (
int i,
int j,
int ) noexcept
259 noahmpio->U_PHY(i,1,j) = 0.5*(U_PHY(i,j,0)+U_PHY(i+1,j ,0));
260 noahmpio->V_PHY(i,1,j) = 0.5*(V_PHY(i,j,0)+V_PHY(i ,j+1,0));
263 noahmpio->SWDOWN(i,j) = SWDOWN(i,j,0);
264 noahmpio->GLW(i,j) = GLW(i,j,0);
265 noahmpio->COSZEN(i,j) = COSZEN(i,j,0);
270 noahmpio->itimestep = nstep+1;
271 noahmpio->DriverMain();
274 ParallelFor(bx, [=] AMREX_GPU_DEVICE (
int i,
int j,
int ) noexcept
276 q_flux_arr(i,j,0) = noahmpio->SHBXY(i,j);
277 t_flux_arr(i,j,0) = noahmpio->EVBXY(i,j);
278 TSK(i,j,0) = noahmpio->TSK(i,j);
279 EMISS(i,j,0) = noahmpio->EMISS(i,j);
280 ALBSFCDIR_VIS(i,j,0) = noahmpio->ALBSFCDIRXY(i,1,j);
281 ALBSFCDIR_NIR(i,j,0) = noahmpio->ALBSFCDIRXY(i,2,j);
282 ALBSFCDIF_VIS(i,j,0) = noahmpio->ALBSFCDIFXY(i,1,j);
283 ALBSFCDIF_NIR(i,j,0) = noahmpio->ALBSFCDIFXY(i,2,j);
287 noahmpio->WriteLand(nstep+1);
291 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:208
amrex::Array< FabPtr, LsmFlux_NOAHMP::NumVars > lsm_fab_flux
Definition: ERF_NOAHMP.H:202
NoahmpIO_vector noahmpio_vect
Definition: ERF_NOAHMP.H:205
amrex::Array< FabPtr, LsmData_NOAHMP::NumVars > lsm_fab_data
Definition: ERF_NOAHMP.H:199
amrex::Geometry m_geom
Definition: ERF_NOAHMP.H:181
@ sw_flux_dn
Definition: ERF_NOAHMP.H:32
@ sfc_emis
Definition: ERF_NOAHMP.H:26
@ sfc_alb_dir_vis
Definition: ERF_NOAHMP.H:27
@ sfc_alb_dif_nir
Definition: ERF_NOAHMP.H:30
@ lw_flux_dn
Definition: ERF_NOAHMP.H:33
@ cos_zenith_angle
Definition: ERF_NOAHMP.H:31
@ t_sfc
Definition: ERF_NOAHMP.H:25
@ sfc_alb_dir_nir
Definition: ERF_NOAHMP.H:28
@ sfc_alb_dif_vis
Definition: ERF_NOAHMP.H:29
@ t_flux
Definition: ERF_NOAHMP.H:42
@ q_flux
Definition: ERF_NOAHMP.H:41