27 #ifndef ERF_SAT_METHOD_H_
28 #define ERF_SAT_METHOD_H_
51 AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
68 AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
91 AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
103 es = std::min(es,
p);
114 AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
126 es = std::min(es,
p);
136 AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
159 AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
182 AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
214 AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
229 AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
243 AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
257 AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
283 AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
293 auto f = f1 + f2 + f3 + f4 + f5;
302 AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
307 return amrex::Real(575.185606e10)*exp(-(term1 + term2 + term3));
323 AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
constexpr amrex::Real epsilo
Definition: ERF_Constants.H:48
constexpr amrex::Real omeps
Definition: ERF_Constants.H:49
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE int idx(int i, int j, int k, int nx, int ny)
Definition: ERF_InitForEnsemble.cpp:396
Physical constants and tuning parameters used only by the moisture and cloud-physics code.
constexpr amrex::Real tboil
Definition: ERF_MicrophysicsConstants.H:124
constexpr amrex::Real tmelt
Definition: ERF_MicrophysicsConstants.H:122
constexpr amrex::Real ttrice
Definition: ERF_MicrophysicsConstants.H:125
constexpr amrex::Real h2otrip
Definition: ERF_MicrophysicsConstants.H:123
amrex::Real Real
Definition: ERF_ShocInterface.H:19
Methods for estimating the saturation vapor pressure of water.
Definition: ERF_SatMethods.H:41
AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE void wv_sat_qsat_trans(const amrex::Real &t, const amrex::Real &p, amrex::Real &es, amrex::Real &qs, const int idx=1)
Calculate transition SVP and saturation specific humidity.
Definition: ERF_SatMethods.H:115
AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::Real Bolton_svp_water(const amrex::Real &t)
Bolton (1980) saturation vapor pressure over water.
Definition: ERF_SatMethods.H:324
AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::Real OldGoffGratch_svp_ice(const amrex::Real &t)
Old CAM implementation of Goff & Gratch (1946) SVP over ice.
Definition: ERF_SatMethods.H:303
AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::Real wv_sat_svp_water(const amrex::Real &t, const int idx=1)
Dispatcher for saturation vapor pressure over water.
Definition: ERF_SatMethods.H:137
AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::Real wv_sat_svp_to_qsat(const amrex::Real &es, const amrex::Real &p)
Get saturation specific humidity given pressure and SVP.
Definition: ERF_SatMethods.H:52
AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::Real GoffGratch_svp_water(const amrex::Real &t)
Goff & Gratch (1946) saturation vapor pressure over water.
Definition: ERF_SatMethods.H:215
AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE void wv_sat_qsat_water(const amrex::Real &t, const amrex::Real &p, amrex::Real &es, amrex::Real &qs, const int idx=1)
Calculate SVP over water and saturation specific humidity.
Definition: ERF_SatMethods.H:69
AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE void wv_sat_qsat_ice(const amrex::Real &t, const amrex::Real &p, amrex::Real &es, amrex::Real &qs, const int idx=1)
Calculate SVP over ice and saturation specific humidity.
Definition: ERF_SatMethods.H:92
Type
Definition: ERF_SatMethods.H:334
@ MurphyKoop
Definition: ERF_SatMethods.H:338
@ Invalid
Definition: ERF_SatMethods.H:335
@ Bolton
Definition: ERF_SatMethods.H:339
@ GoffGratch
Definition: ERF_SatMethods.H:337
@ OldGoffGratch
Definition: ERF_SatMethods.H:336
AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::Real OldGoffGratch_svp_water(const amrex::Real &t)
Old CAM implementation of Goff & Gratch (1946) SVP over water.
Definition: ERF_SatMethods.H:284
AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::Real MurphyKoop_svp_ice(const amrex::Real &t)
Murphy & Koop (2005) saturation vapor pressure over ice.
Definition: ERF_SatMethods.H:258
AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::Real GoffGratch_svp_ice(const amrex::Real &t)
Goff & Gratch (1946) saturation vapor pressure over ice.
Definition: ERF_SatMethods.H:230
AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::Real MurphyKoop_svp_water(const amrex::Real &t)
Murphy & Koop (2005) saturation vapor pressure over water.
Definition: ERF_SatMethods.H:244
AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::Real wv_sat_svp_trans(const amrex::Real &t, const int idx=1)
Calculate transition saturation vapor pressure.
Definition: ERF_SatMethods.H:183
AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::Real wv_sat_svp_ice(const amrex::Real &t, const int idx=1)
Dispatcher for saturation vapor pressure over ice.
Definition: ERF_SatMethods.H:160
@ qs
Definition: ERF_WDM6.H:30
@ t
Definition: ERF_WSM6.H:272
@ p
Definition: ERF_WSM6.H:280
real(c_double), parameter c2
Definition: ERF_module_model_constants.F90:35
real(c_double), private c1
Definition: ERF_module_mp_morr_two_moment.F90:212