8 #include <AMReX_FArrayBox.H>
9 #include <AMReX_Geometry.H>
10 #include <AMReX_MultiFabUtil.H>
11 #include <AMReX_Vector.H>
12 #include <AMReX_MFIter.H>
39 using FabPtr = std::shared_ptr<amrex::MultiFab>;
60 const amrex::MultiFab& cons_in,
61 const amrex::Geometry& geom,
67 amrex::MultiFab& cons_in,
68 amrex::MultiFab& xvel_in,
69 amrex::MultiFab& yvel_in,
70 amrex::MultiFab* hfx3_out,
71 amrex::MultiFab* qfx3_out,
73 const int& nstep)
override;
80 AMREX_ALWAYS_ASSERT(lsmIdx < NOAHMP::m_lsm_size && lsmIdx>=0);
89 AMREX_ALWAYS_ASSERT(lsmIdx < NOAHMP::m_lsm_size && lsmIdx>=0);
106 AMREX_ALWAYS_ASSERT(lsmIdx < NOAHMP::m_lsm_size && lsmIdx>=0);
114 std::string lc_varname = amrex::toLower(
varname);
116 if (lc_varname == amrex::toLower(
LsmVarName[idx])) {
amrex::Real Real
Definition: ERF_ShocInterface.H:16
Definition: ERF_NOAHMP.H:37
int khi_lsm
Definition: ERF_NOAHMP.H:143
NOAHMP()
Definition: ERF_NOAHMP.H:43
void Define(SolverChoice &) override
Definition: ERF_NOAHMP.H:50
amrex::Vector< std::string > LsmVarName
Definition: ERF_NOAHMP.H:131
int m_plot_int_1
Definition: ERF_NOAHMP.H:180
amrex::Array< FabPtr, LsmVar_NOAHMP::NumVars > lsm_fab_vars
Definition: ERF_NOAHMP.H:152
amrex::Vector< int > LsmVarMap
Definition: ERF_NOAHMP.H:128
int m_lsm_size
Definition: ERF_NOAHMP.H:125
std::string Lsm_VarName(const int &varIdx) override
Definition: ERF_NOAHMP.H:103
std::shared_ptr< amrex::MultiFab > FabPtr
Definition: ERF_NOAHMP.H:39
void Init(const int &lev, const amrex::MultiFab &cons_in, const amrex::Geometry &geom, const amrex::Real &dt) override
Definition: ERF_NOAHMP.cpp:15
int Lsm_Data_Size() override
Definition: ERF_NOAHMP.H:99
amrex::Geometry Lsm_Geom() override
Definition: ERF_NOAHMP.H:95
NoahmpIO_vector noahmpio_vect
Definition: ERF_NOAHMP.H:178
amrex::Real m_theta_dir
Definition: ERF_NOAHMP.H:172
virtual ~NOAHMP()=default
int Lsm_VarIndex(std::string varname) override
Definition: ERF_NOAHMP.H:111
amrex::Geometry m_lsm_geom
Definition: ERF_NOAHMP.H:137
amrex::Real m_k_soil
Definition: ERF_NOAHMP.H:169
amrex::Array< FabPtr, LsmVar_NOAHMP::NumVars > lsm_fab_flux
Definition: ERF_NOAHMP.H:155
amrex::Real m_d_soil
Definition: ERF_NOAHMP.H:175
int m_nz_lsm
Definition: ERF_NOAHMP.H:160
amrex::MultiFab * Lsm_Data_Ptr(const int &varIdx) override
Definition: ERF_NOAHMP.H:77
amrex::Real m_cp_soil
Definition: ERF_NOAHMP.H:166
void Advance_With_State(const int &lev, amrex::MultiFab &cons_in, amrex::MultiFab &xvel_in, amrex::MultiFab &yvel_in, amrex::MultiFab *hfx3_out, amrex::MultiFab *qfx3_out, const amrex::Real &dt, const int &nstep) override
Definition: ERF_NOAHMP.cpp:194
amrex::Geometry m_geom
Definition: ERF_NOAHMP.H:134
amrex::Real m_dz_lsm
Definition: ERF_NOAHMP.H:163
amrex::MultiFab * Lsm_Flux_Ptr(const int &varIdx) override
Definition: ERF_NOAHMP.H:86
amrex::Real m_dt
Definition: ERF_NOAHMP.H:140
Definition: ERF_NullSurf.H:8
std::string varname
Definition: ERF_NullSurf.H:89
Definition: ERF_NOAHMP.H:22
@ 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
@ NumVars
Definition: ERF_NOAHMP.H:33
@ 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
Definition: ERF_DataStruct.H:123