8 #include <AMReX_FArrayBox.H>
9 #include <AMReX_Geometry.H>
10 #include <AMReX_MultiFabUtil.H>
39 using FabPtr = std::shared_ptr<amrex::MultiFab>;
77 void Init(
const amrex::MultiFab& cons_in,
78 const amrex::BoxArray& grids,
79 const amrex::Geometry& geom,
81 std::unique_ptr<amrex::MultiFab>& z_phys_nd,
82 std::unique_ptr<amrex::MultiFab>& detJ_cc)
override;
97 const amrex::MultiFab& )
override
116 std::vector<int>& a_idx,
117 std::vector<std::string>& a_names)
const override
120 a_names = {
"RainAccum",
"SnowAccum",
"GraupAccum"};
constexpr amrex::Real rhoh2o
Definition: ERF_Constants.H:136
AMREX_ALWAYS_ASSERT(bx.length()[2]==khi+1)
amrex::Real Real
Definition: ERF_ShocInterface.H:19
Definition: ERF_NullMoist.H:9
virtual void Update_Micro_Vars(amrex::MultiFab &)
Definition: ERF_NullMoist.H:35
Definition: ERF_WSM6.H:38
amrex::Real m_g5pbgo2
Definition: ERF_WSM6.H:172
std::shared_ptr< amrex::MultiFab > FabPtr
Definition: ERF_WSM6.H:39
amrex::Real m_roqimax
Definition: ERF_WSM6.H:166
amrex::Real m_dzmin
Definition: ERF_WSM6.H:142
amrex::Real m_bvts3
Definition: ERF_WSM6.H:167
amrex::MultiFab * m_z_phys_nd
Definition: ERF_WSM6.H:148
amrex::Real m_rslopesbmax
Definition: ERF_WSM6.H:175
static constexpr amrex::Real avtr
Definition: ERF_WSM6.H:55
bool m_hail_opt
Definition: ERF_WSM6.H:155
static constexpr amrex::Real dicon
Definition: ERF_WSM6.H:65
amrex::Real m_rslopes2max
Definition: ERF_WSM6.H:176
amrex::Real m_rsloper2max
Definition: ERF_WSM6.H:176
amrex::Real m_bvtr1
Definition: ERF_WSM6.H:163
static constexpr amrex::Real qcrmin
Definition: ERF_WSM6.H:69
amrex::Real m_g4pbs
Definition: ERF_WSM6.H:168
amrex::Real m_g1pbg
Definition: ERF_WSM6.H:172
amrex::Real m_rslopermax
Definition: ERF_WSM6.H:174
amrex::MultiFab * m_detJ_cc
Definition: ERF_WSM6.H:149
amrex::Real m_pacrc
Definition: ERF_WSM6.H:170
static constexpr amrex::Real pfrz1
Definition: ERF_WSM6.H:67
void Qmoist_Restart_Vars(const SolverChoice &, std::vector< int > &a_idx, std::vector< std::string > &a_names) const override
Definition: ERF_WSM6.H:115
amrex::Real m_rsloperbmax
Definition: ERF_WSM6.H:175
amrex::Real m_g4pbg
Definition: ERF_WSM6.H:172
amrex::Real m_g5pbro2
Definition: ERF_WSM6.H:164
amrex::Real m_g3pbr
Definition: ERF_WSM6.H:164
amrex::Real m_bvtg1
Definition: ERF_WSM6.H:171
amrex::Real m_pi_wsm6
Definition: ERF_WSM6.H:161
amrex::Real m_bvts4
Definition: ERF_WSM6.H:167
static constexpr amrex::Real n0smax
Definition: ERF_WSM6.H:73
amrex::Real m_deng
Definition: ERF_WSM6.H:156
int zlo
Definition: ERF_WSM6.H:143
bool m_do_cond
Definition: ERF_WSM6.H:145
amrex::Real m_pidn0s
Definition: ERF_WSM6.H:170
static constexpr amrex::Real dimax
Definition: ERF_WSM6.H:66
int nlev
Definition: ERF_WSM6.H:143
int zhi
Definition: ERF_WSM6.H:143
static constexpr amrex::Real pfrz2
Definition: ERF_WSM6.H:68
int m_qmoist_size
Definition: ERF_WSM6.H:134
static constexpr amrex::Real alpha_wsm6
Definition: ERF_WSM6.H:75
int m_axis
Definition: ERF_WSM6.H:144
amrex::Real m_g3pbg
Definition: ERF_WSM6.H:172
amrex::Real m_pvtg
Definition: ERF_WSM6.H:173
int n_qstate_moist_size
Definition: ERF_WSM6.H:135
static constexpr amrex::Real lamdasmax
Definition: ERF_WSM6.H:64
amrex::Real m_bvtr6
Definition: ERF_WSM6.H:163
amrex::Real m_bvtr2
Definition: ERF_WSM6.H:163
amrex::Real m_qck1
Definition: ERF_WSM6.H:162
amrex::Real m_precg2
Definition: ERF_WSM6.H:173
amrex::Real m_bvts1
Definition: ERF_WSM6.H:167
amrex::Real m_pacrs
Definition: ERF_WSM6.H:169
amrex::Real m_precg1
Definition: ERF_WSM6.H:173
void Update_State_Vars(amrex::MultiFab &cons_in, const amrex::MultiFab &) override
Definition: ERF_WSM6.H:96
amrex::Real m_rsloper3max
Definition: ERF_WSM6.H:177
static constexpr amrex::Real n0s
Definition: ERF_WSM6.H:74
amrex::Real m_eacrr
Definition: ERF_WSM6.H:165
amrex::Real m_precr2
Definition: ERF_WSM6.H:166
void Init(const amrex::MultiFab &cons_in, const amrex::BoxArray &grids, const amrex::Geometry &geom, const amrex::Real &dt_advance, std::unique_ptr< amrex::MultiFab > &z_phys_nd, std::unique_ptr< amrex::MultiFab > &detJ_cc) override
Definition: ERF_InitWSM6.cpp:9
amrex::Real m_g1pbs
Definition: ERF_WSM6.H:168
amrex::Real m_lamdagmax
Definition: ERF_WSM6.H:156
static constexpr amrex::Real n0r
Definition: ERF_WSM6.H:54
MoistureType m_moisture_type
Definition: ERF_WSM6.H:146
amrex::Real m_n0g
Definition: ERF_WSM6.H:156
void Update_Micro_Vars(amrex::MultiFab &cons_in) override
Definition: ERF_WSM6.H:91
amrex::Real m_pidn0g
Definition: ERF_WSM6.H:173
void Define(SolverChoice &sc) override
Definition: ERF_WSM6.H:45
static constexpr amrex::Real dens_snow
Definition: ERF_WSM6.H:71
void initialize_coeffs()
Definition: ERF_InitWSM6.cpp:87
static constexpr amrex::Real dtcldcr
Definition: ERF_WSM6.H:53
amrex::Real m_rslopegmax
Definition: ERF_WSM6.H:174
amrex::Real m_bvtg2
Definition: ERF_WSM6.H:171
static constexpr amrex::Real bvts
Definition: ERF_WSM6.H:62
static constexpr amrex::Real r0
Definition: ERF_WSM6.H:57
amrex::Real m_g6pbr
Definition: ERF_WSM6.H:164
amrex::MultiFab * Qmoist_Ptr(const int &varIdx) override
Definition: ERF_WSM6.H:105
void Advance(const amrex::Real &dt_advance, const SolverChoice &solverChoice) override
Definition: ERF_AdvanceWSM6.cpp:842
amrex::Real m_pacrg
Definition: ERF_WSM6.H:173
amrex::Real m_precs2
Definition: ERF_WSM6.H:169
amrex::Real m_bvtg4
Definition: ERF_WSM6.H:171
void Copy_Micro_to_State(amrex::MultiFab &cons_in) override
Definition: ERF_UpdateWSM6.cpp:7
amrex::Real m_bvtr4
Definition: ERF_WSM6.H:163
int n_qstate_moist_numconc_size
Definition: ERF_WSM6.H:136
amrex::Real m_rslopeg3max
Definition: ERF_WSM6.H:177
amrex::Real m_bvts2
Definition: ERF_WSM6.H:167
amrex::Real m_pvts
Definition: ERF_WSM6.H:169
amrex::Real m_rslopegbmax
Definition: ERF_WSM6.H:175
static constexpr amrex::Real qs0
Definition: ERF_WSM6.H:72
amrex::Real m_bvtg3
Definition: ERF_WSM6.H:171
amrex::Geometry m_geom
Definition: ERF_WSM6.H:140
amrex::Real m_pidnc
Definition: ERF_WSM6.H:162
amrex::Real m_precs1
Definition: ERF_WSM6.H:169
amrex::Real dt
Definition: ERF_WSM6.H:141
amrex::Real m_g3pbs
Definition: ERF_WSM6.H:168
static constexpr amrex::Real lamdarmax
Definition: ERF_WSM6.H:63
int Qstate_Moist_Size() override
Definition: ERF_WSM6.H:112
static constexpr amrex::Real xncr
Definition: ERF_WSM6.H:59
static constexpr amrex::Real bvtr
Definition: ERF_WSM6.H:56
amrex::Real m_rslopesmax
Definition: ERF_WSM6.H:174
int Qstate_Moist_NumConc_Size() override
Definition: ERF_WSM6.H:113
amrex::Real m_avtg
Definition: ERF_WSM6.H:156
void Copy_State_to_Micro(const amrex::MultiFab &cons_in) override
Definition: ERF_InitWSM6.cpp:47
amrex::Real m_qc0
Definition: ERF_WSM6.H:162
amrex::Real m_g4pbr
Definition: ERF_WSM6.H:164
amrex::Vector< int > MicVarMap
Definition: ERF_WSM6.H:138
amrex::Real m_g1pbr
Definition: ERF_WSM6.H:164
amrex::Array< FabPtr, MicVar_WSM6::NumVars > mic_fab_vars
Definition: ERF_WSM6.H:151
WSM6()
Definition: ERF_WSM6.H:42
amrex::Real m_bvtg
Definition: ERF_WSM6.H:156
static constexpr amrex::Real peaut
Definition: ERF_WSM6.H:58
amrex::Real m_pvtr
Definition: ERF_WSM6.H:165
amrex::Real m_pacrr
Definition: ERF_WSM6.H:165
static constexpr amrex::Real avts
Definition: ERF_WSM6.H:61
amrex::Real m_precr1
Definition: ERF_WSM6.H:166
amrex::Real m_pidn0r
Definition: ERF_WSM6.H:170
static constexpr amrex::Real eacrc
Definition: ERF_WSM6.H:70
amrex::Real m_rslopes3max
Definition: ERF_WSM6.H:177
SurfacePrecipAccumulationSources Get_Surface_Precip_Accumulation_Ptrs(const int &) const override
Definition: ERF_WSM6.H:124
amrex::Real m_g5pbso2
Definition: ERF_WSM6.H:168
amrex::Real m_xlv1
Definition: ERF_WSM6.H:161
static constexpr amrex::Real xmyu
Definition: ERF_WSM6.H:60
amrex::Real m_rslopeg2max
Definition: ERF_WSM6.H:176
void Set_dzmin(const amrex::Real dz_min) override
Definition: ERF_WSM6.H:84
amrex::Real m_bvtr3
Definition: ERF_WSM6.H:163
int Qmoist_Size() override
Definition: ERF_WSM6.H:111
Definition: ERF_WSM6.H:19
@ qr
Definition: ERF_WSM6.H:28
@ qi
Definition: ERF_WSM6.H:27
@ theta
Definition: ERF_WSM6.H:22
@ qs
Definition: ERF_WSM6.H:29
@ qv
Definition: ERF_WSM6.H:25
@ qc
Definition: ERF_WSM6.H:26
@ rain_accum
Definition: ERF_WSM6.H:31
@ snow_accum
Definition: ERF_WSM6.H:32
@ rho
Definition: ERF_WSM6.H:21
@ graup_accum
Definition: ERF_WSM6.H:33
@ qg
Definition: ERF_WSM6.H:30
@ pres
Definition: ERF_WSM6.H:24
@ NumVars
Definition: ERF_WSM6.H:34
@ tabs
Definition: ERF_WSM6.H:23
Definition: ERF_WSM6.H:180
@ pigen
Definition: ERF_WSM6.H:205
@ pgacw
Definition: ERF_WSM6.H:223
@ paacw
Definition: ERF_WSM6.H:227
@ pgacr
Definition: ERF_WSM6.H:225
@ delz
Definition: ERF_WSM6.H:192
@ rslope2_s
Definition: ERF_WSM6.H:253
@ psacw
Definition: ERF_WSM6.H:220
@ rslopeb_s
Definition: ERF_WSM6.H:255
@ qrs_tmp_g
Definition: ERF_WSM6.H:256
@ psaut
Definition: ERF_WSM6.H:214
@ pseml
Definition: ERF_WSM6.H:230
@ prevp
Definition: ERF_WSM6.H:208
@ psacr
Definition: ERF_WSM6.H:222
@ den
Definition: ERF_WSM6.H:190
@ denqrs1
Definition: ERF_WSM6.H:240
@ rslope3_g
Definition: ERF_WSM6.H:254
@ qg
Definition: ERF_WSM6.H:189
@ fall_s
Definition: ERF_WSM6.H:258
@ workr
Definition: ERF_WSM6.H:199
@ pracw
Definition: ERF_WSM6.H:217
@ qsatw
Definition: ERF_WSM6.H:251
@ rslope2_g
Definition: ERF_WSM6.H:253
@ falk_r
Definition: ERF_WSM6.H:257
@ q
Definition: ERF_WSM6.H:184
@ n0sfac
Definition: ERF_WSM6.H:244
@ denqci
Definition: ERF_WSM6.H:243
@ pgaut
Definition: ERF_WSM6.H:215
@ rslope3_s
Definition: ERF_WSM6.H:254
@ workdiffi
Definition: ERF_WSM6.H:260
@ delz_tmp
Definition: ERF_WSM6.H:202
@ denqrs2
Definition: ERF_WSM6.H:241
@ qsati
Definition: ERF_WSM6.H:251
@ workdiffw
Definition: ERF_WSM6.H:260
@ psaci
Definition: ERF_WSM6.H:221
@ worka
Definition: ERF_WSM6.H:200
@ falkc
Definition: ERF_WSM6.H:196
@ pgevp
Definition: ERF_WSM6.H:210
@ work2
Definition: ERF_WSM6.H:237
@ pgacs
Definition: ERF_WSM6.H:226
@ rslope2_r
Definition: ERF_WSM6.H:253
@ psdep
Definition: ERF_WSM6.H:211
@ xl
Definition: ERF_WSM6.H:235
@ rslope_r
Definition: ERF_WSM6.H:252
@ work1_g
Definition: ERF_WSM6.H:259
@ praci
Definition: ERF_WSM6.H:218
@ qc
Definition: ERF_WSM6.H:185
@ qi
Definition: ERF_WSM6.H:186
@ pcond
Definition: ERF_WSM6.H:207
@ cpm
Definition: ERF_WSM6.H:236
@ denqrs3
Definition: ERF_WSM6.H:242
@ qs
Definition: ERF_WSM6.H:188
@ falk_g
Definition: ERF_WSM6.H:257
@ NumInds
Definition: ERF_WSM6.H:262
@ rslope3_r
Definition: ERF_WSM6.H:254
@ qsum
Definition: ERF_WSM6.H:234
@ rslope_s
Definition: ERF_WSM6.H:252
@ psmlt
Definition: ERF_WSM6.H:228
@ fall_g
Definition: ERF_WSM6.H:258
@ pgeml
Definition: ERF_WSM6.H:231
@ qrs_tmp_s
Definition: ERF_WSM6.H:256
@ psevp
Definition: ERF_WSM6.H:209
@ den_tmp
Definition: ERF_WSM6.H:201
@ work1c
Definition: ERF_WSM6.H:197
@ work2c
Definition: ERF_WSM6.H:198
@ pgmlt
Definition: ERF_WSM6.H:229
@ rhi
Definition: ERF_WSM6.H:250
@ t
Definition: ERF_WSM6.H:183
@ piacr
Definition: ERF_WSM6.H:216
@ pgaci
Definition: ERF_WSM6.H:224
@ work1_s
Definition: ERF_WSM6.H:259
@ pracs
Definition: ERF_WSM6.H:219
@ qr
Definition: ERF_WSM6.H:187
@ p
Definition: ERF_WSM6.H:191
@ rhw
Definition: ERF_WSM6.H:250
@ work1_r
Definition: ERF_WSM6.H:259
@ fallc
Definition: ERF_WSM6.H:195
@ qrs_tmp_r
Definition: ERF_WSM6.H:256
@ rslopeb_g
Definition: ERF_WSM6.H:255
@ rslopeb_r
Definition: ERF_WSM6.H:255
@ pidep
Definition: ERF_WSM6.H:206
@ praut
Definition: ERF_WSM6.H:213
@ pgdep
Definition: ERF_WSM6.H:212
@ denfac
Definition: ERF_WSM6.H:238
@ rslope_g
Definition: ERF_WSM6.H:252
@ fall_r
Definition: ERF_WSM6.H:258
@ falk_s
Definition: ERF_WSM6.H:257
@ xni
Definition: ERF_WSM6.H:239
Definition: ERF_DataStruct.H:241
MoistureType moisture_type
Moisture or microphysics model.
Definition: ERF_DataStruct.H:1604
int ave_plane
Averaging plane index used by diagnostics.
Definition: ERF_DataStruct.H:1618
bool uses_shoc_family() const noexcept
Query whether any SHOC-family PBL scheme is active.
Definition: ERF_DataStruct.H:1566
Definition: ERF_SurfacePrecipitation.H:21
SurfacePrecipAccumulationSource snow
Definition: ERF_SurfacePrecipitation.H:24
SurfacePrecipAccumulationSource total
Definition: ERF_SurfacePrecipitation.H:22
SurfacePrecipAccumulationSource graupel
Definition: ERF_SurfacePrecipitation.H:25