9 #include <AMReX_FArrayBox.H>
10 #include <AMReX_Geometry.H>
11 #include <AMReX_MultiFabUtil.H>
12 #include <AMReX_Vector.H>
13 #include <AMReX_MFIter.H>
87 using FabPtr = std::shared_ptr<amrex::MultiFab>;
105 Init (
const int& lev,
106 const amrex::MultiFab& cons_in,
107 const amrex::Geometry& geom,
113 amrex::MultiFab& cons_in,
114 amrex::MultiFab& xvel_in,
115 amrex::MultiFab& yvel_in,
116 amrex::MultiFab* hfx3_out,
117 amrex::MultiFab* qfx3_out,
120 const int& nstep)
override;
169 std::string lc_varname = amrex::toLower(varname);
192 std::string lc_varname = amrex::toLower(varname);
215 noahmpio.itimestep = step;
227 const_cast<NoahmpIO_type&
>(noahmpio).WriteRestart(dir);
235 noahmpio.ReadRestart(dir);
constexpr amrex::Real one
Definition: ERF_Constants.H:9
AMREX_ALWAYS_ASSERT(bx.length()[2]==khi+1)
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE int idx(int i, int j, int k, int nx, int ny)
Definition: ERF_InitForEnsemble.cpp:287
amrex::Real Real
Definition: ERF_ShocInterface.H:19
Definition: ERF_NOAHMP.H:85
int Lsm_DataIndex(std::string varname) override
Definition: ERF_NOAHMP.H:166
std::string Lsm_DataName(const int &varIdx) override
Definition: ERF_NOAHMP.H:157
int khi_lsm
Definition: ERF_NOAHMP.H:277
NOAHMP()
Definition: ERF_NOAHMP.H:91
void Define(SolverChoice &) override
Definition: ERF_NOAHMP.H:98
std::string Lsm_FluxName(const int &varIdx) override
Definition: ERF_NOAHMP.H:180
int m_plot_int_1
Definition: ERF_NOAHMP.H:299
void Plot_Landfile(const int &nstep) override
Definition: ERF_NOAHMP.cpp:256
int Lsm_FluxIndex(std::string varname) override
Definition: ERF_NOAHMP.H:189
amrex::Array< FabPtr, LsmFlux_NOAHMP::NumVars > lsm_fab_flux
Definition: ERF_NOAHMP.H:289
int Get_LSM_Step() const override
Definition: ERF_NOAHMP.H:205
void Write_Lsm_Restart(const std::string &dir) const override
Definition: ERF_NOAHMP.H:224
amrex::Vector< std::string > LsmDataName
Definition: ERF_NOAHMP.H:253
std::shared_ptr< amrex::MultiFab > FabPtr
Definition: ERF_NOAHMP.H:87
amrex::Vector< int > LsmDataMap
Definition: ERF_NOAHMP.H:247
amrex::Vector< std::unique_ptr< amrex::FArrayBox > > noahmp_output_tmp
Definition: ERF_NOAHMP.H:296
amrex::Vector< std::unique_ptr< amrex::FArrayBox > > noahmp_input_tmp
Definition: ERF_NOAHMP.H:295
void Init(const int &lev, const amrex::MultiFab &cons_in, const amrex::Geometry &geom, const amrex::Real &dt) override
Definition: ERF_NOAHMP.cpp:19
int Lsm_Flux_Size() override
Definition: ERF_NOAHMP.H:153
int Lsm_Data_Size() override
Definition: ERF_NOAHMP.H:149
amrex::Geometry Lsm_Geom() override
Definition: ERF_NOAHMP.H:145
void Read_Lsm_Restart(const std::string &dir) override
Definition: ERF_NOAHMP.H:232
NoahmpIO_vector noahmpio_vect
Definition: ERF_NOAHMP.H:292
int m_lsm_data_size
Definition: ERF_NOAHMP.H:241
virtual ~NOAHMP()=default
amrex::Geometry m_lsm_geom
Definition: ERF_NOAHMP.H:262
int m_itimestep
Definition: ERF_NOAHMP.H:270
amrex::Array< FabPtr, LsmData_NOAHMP::NumVars > lsm_fab_data
Definition: ERF_NOAHMP.H:286
int m_nz_lsm
Definition: ERF_NOAHMP.H:280
int m_lsm_flux_size
Definition: ERF_NOAHMP.H:244
amrex::Real m_dtbl
Definition: ERF_NOAHMP.H:274
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 &elapsed_time, const amrex::Real &dt, const int &nstep) override
Definition: ERF_NOAHMP.cpp:264
amrex::Vector< int > LsmFluxMap
Definition: ERF_NOAHMP.H:250
void Set_LSM_Step(int step) override
Definition: ERF_NOAHMP.H:211
amrex::MultiFab * Lsm_Data_Ptr(const int &varIdx) override
Definition: ERF_NOAHMP.H:127
amrex::Vector< std::string > LsmFluxName
Definition: ERF_NOAHMP.H:256
amrex::Geometry m_geom
Definition: ERF_NOAHMP.H:259
amrex::Real m_dz_lsm
Definition: ERF_NOAHMP.H:283
amrex::MultiFab * Lsm_Flux_Ptr(const int &varIdx) override
Definition: ERF_NOAHMP.H:136
amrex::Real m_dt
Definition: ERF_NOAHMP.H:265
Definition: ERF_NullSurf.H:8
Definition: ERF_NOAHMP.H:23
@ sw_flux_dn
Definition: ERF_NOAHMP.H:33
@ sfc_emis
Definition: ERF_NOAHMP.H:27
@ sfc_alb_dir_vis
Definition: ERF_NOAHMP.H:28
@ sw_flux_dn_dif_nir
Definition: ERF_NOAHMP.H:37
@ sfc_alb_dif_nir
Definition: ERF_NOAHMP.H:31
@ sw_flux_dn_dir_vis
Definition: ERF_NOAHMP.H:34
@ sw_flux_dn_dir_nir
Definition: ERF_NOAHMP.H:35
@ lw_flux_dn
Definition: ERF_NOAHMP.H:38
@ cos_zenith_angle
Definition: ERF_NOAHMP.H:32
@ t_sfc
Definition: ERF_NOAHMP.H:26
@ NumVars
Definition: ERF_NOAHMP.H:39
@ sw_flux_dn_dif_vis
Definition: ERF_NOAHMP.H:36
@ sfc_alb_dir_nir
Definition: ERF_NOAHMP.H:29
@ sfc_alb_dif_vis
Definition: ERF_NOAHMP.H:30
Definition: ERF_NOAHMP.H:43
@ t_flux
Definition: ERF_NOAHMP.H:46
@ tau13
Definition: ERF_NOAHMP.H:48
@ q_flux
Definition: ERF_NOAHMP.H:47
@ NumVars
Definition: ERF_NOAHMP.H:50
@ tau23
Definition: ERF_NOAHMP.H:49
Definition: ERF_NOAHMP.H:69
@ hfx
Definition: ERF_NOAHMP.H:71
@ tau_ns
Definition: ERF_NOAHMP.H:74
@ tau_ew
Definition: ERF_NOAHMP.H:73
@ tsk
Definition: ERF_NOAHMP.H:75
@ albsfcdir_vis
Definition: ERF_NOAHMP.H:77
@ NumComps
Definition: ERF_NOAHMP.H:81
@ albsfcdif_nir
Definition: ERF_NOAHMP.H:80
@ emiss
Definition: ERF_NOAHMP.H:76
@ albsfcdif_vis
Definition: ERF_NOAHMP.H:79
@ albsfcdir_nir
Definition: ERF_NOAHMP.H:78
@ lh
Definition: ERF_NOAHMP.H:72
Definition: ERF_DataStruct.H:141