1 #ifndef ERF_MOISTUTILS_H_
2 #define ERF_MOISTUTILS_H_
19 const amrex::Array4<amrex::Real const>& cell_data,
28 if (moisture_indices.
qv >= 0) {
29 qv = cell_data(i,j,k,moisture_indices.
qv)/cell_data(i,j,k,
Rho_comp);
33 if (moisture_indices.
qc >= 0) {
34 qc_liquid = cell_data(i,j,k,moisture_indices.
qc)/cell_data(i,j,k,
Rho_comp);
38 if (moisture_indices.
qi >= 0) {
39 qc_ice = cell_data(i,j,k,moisture_indices.
qi)/cell_data(i,j,k,
Rho_comp);
44 if (moisture_indices.
qr >= 0) {
45 qc_liquid += cell_data(i,j,k,moisture_indices.
qr)/cell_data(i,j,k,
Rho_comp);
47 if (moisture_indices.
qs >= 0) {
48 qc_ice += cell_data(i,j,k,moisture_indices.
qs)/cell_data(i,j,k,
Rho_comp);
50 if (moisture_indices.
qg >= 0) {
51 qc_ice += cell_data(i,j,k,moisture_indices.
qg)/cell_data(i,j,k,
Rho_comp);
62 const amrex::Array4<amrex::Real const>& cell_data,
69 qv = (moisture_indices.
qv >= 0) ? cell_data(i,j,k,moisture_indices.
qv) /
rho :
zero;
70 qc_liquid = (moisture_indices.
qc >= 0) ? cell_data(i,j,k,moisture_indices.
qc) /
rho :
zero;
71 qc_ice = (moisture_indices.
qi >= 0) ? cell_data(i,j,k,moisture_indices.
qi) /
rho :
zero;
94 const amrex::Array4<amrex::Real const>& cell_data,
128 const amrex::Array4<amrex::Real const>& cell_data,
constexpr amrex::Real epsv
Definition: ERF_Constants.H:56
constexpr amrex::Real Cp_d
Definition: ERF_Constants.H:51
constexpr amrex::Real L_v
Definition: ERF_Constants.H:67
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real getTgivenRandRTh(const amrex::Real rho, const amrex::Real rhotheta, const amrex::Real qv=amrex::Real(0))
Definition: ERF_EOS.H:46
#define Rho_comp
Definition: ERF_IndexDefines.H:53
#define RhoTheta_comp
Definition: ERF_IndexDefines.H:54
Physical constants and tuning parameters used only by the moisture and cloud-physics code.
constexpr amrex::Real lsub
Definition: ERF_MicrophysicsConstants.H:111
AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real GetThetav(const int &i, const int &j, const int &k, const amrex::Array4< amrex::Real const > &cell_data, const MoistureComponentIndices &moisture_indices)
Definition: ERF_MoistUtils.H:93
AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real ComputeVirtualPotentialTemperature(const amrex::Real &theta, const amrex::Real &qv, const amrex::Real &qc_liquid, const amrex::Real &qc_ice)
Definition: ERF_MoistUtils.H:79
AMREX_GPU_DEVICE AMREX_FORCE_INLINE void GetMoistureVars(int i, int j, int k, const amrex::Array4< amrex::Real const > &cell_data, amrex::Real &qv, amrex::Real &qc_liquid, amrex::Real &qc_ice, const MoistureComponentIndices &moisture_indices)
Definition: ERF_MoistUtils.H:18
AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real ComputeLiquidWaterPotentialTemperature(const amrex::Real &theta, const amrex::Real &T, const amrex::Real &qc_liquid, const amrex::Real &qc_ice)
Definition: ERF_MoistUtils.H:112
AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real GetThetal(const int &i, const int &j, const int &k, const amrex::Array4< amrex::Real const > &cell_data, const MoistureComponentIndices &moisture_indices)
Definition: ERF_MoistUtils.H:127
AMREX_GPU_DEVICE AMREX_FORCE_INLINE void GetCloudMoistureVars(int i, int j, int k, const amrex::Array4< amrex::Real const > &cell_data, amrex::Real &qv, amrex::Real &qc_liquid, amrex::Real &qc_ice, const MoistureComponentIndices &moisture_indices)
Definition: ERF_MoistUtils.H:61
constexpr amrex::Real one
Definition: ERF_NumericalConstants.H:37
constexpr amrex::Real zero
Definition: ERF_NumericalConstants.H:36
amrex::Real Real
Definition: ERF_ShocInterface.H:19
@ qcl
Definition: ERF_Kessler.H:32
@ rho
Definition: ERF_Kessler.H:25
@ theta
Definition: ERF_Kessler.H:26
@ qv
Definition: ERF_Kessler.H:31
@ qci
Definition: ERF_Morrison.H:39
@ T
Definition: ERF_IndexDefines.H:168
The moisture data carried by the active microphysics scheme.
Definition: ERF_DataStruct.H:251
int qs
snow
Definition: ERF_DataStruct.H:266
int qr
rain
Definition: ERF_DataStruct.H:265
int qi
cloud ice
Definition: ERF_DataStruct.H:264
int qv
water vapor
Definition: ERF_DataStruct.H:262
int qc
cloud liquid water
Definition: ERF_DataStruct.H:263
int qg
graupel
Definition: ERF_DataStruct.H:267