1 #ifndef ERF_SURFACE_MOISTURE_H_
2 #define ERF_SURFACE_MOISTURE_H_
4 #include <AMReX_Math.H>
5 #include <AMReX_Algorithm.H>
50 AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
65 AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
92 AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
114 AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
123 return cm_psi_h / (kappa * amrex::max(u_star,
amrex::Real(1.0e-3)));
139 AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
153 if (
ustar == unset || !amrex::Math::isfinite(
ustar)) {
154 ustar = kappa * amrex::max(wind, wind_min) /
176 AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
188 return q_air + r_a * (f * (q_sat - q_air) / (r_a +
r_c) +
189 (
amrex::Real(1.0) - f) * (rh * q_sat - q_air) / (r_a + r_soil));
Real z0
Definition: ERF_InitCustomPertVels_ScalarAdvDiff.H:8
Real r_c
Definition: ERF_InitCustomPert_SquallLine.H:49
amrex::Real Real
Definition: ERF_ShocInterface.H:19
@ olen
Definition: ERF_SLM.H:104
@ ustar
Definition: ERF_SLM.H:28
@ beta
Definition: ERF_SLM.H:152
Definition: ERF_SurfaceMoisture.H:21
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real surface_mixing_ratio(const amrex::Real beta, const amrex::Real q_sat, const amrex::Real q_air)
Definition: ERF_SurfaceMoisture.H:52
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real canopy_resistance(const amrex::Real r_c_without_vpd, const amrex::Real hs, const amrex::Real q_sat, const amrex::Real q_air)
Definition: ERF_SurfaceMoisture.H:94
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real surface_layer_aerodynamic_resistance(const similarity_funs &sfuns, const amrex::Real z_ref, const amrex::Real z0, const amrex::Real u_star, const amrex::Real olen, const amrex::Real wind, const amrex::Real wind_min, const amrex::Real kappa, const amrex::Real unset)
Definition: ERF_SurfaceMoisture.H:141
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real two_source_surface_mixing_ratio(const amrex::Real r_a, const amrex::Real r_c, const amrex::Real r_soil, const amrex::Real f_veg, const amrex::Real q_sat, const amrex::Real rh_ground, const amrex::Real q_air)
Definition: ERF_SurfaceMoisture.H:178
constexpr amrex::Real no_flux_resistance
Definition: ERF_SurfaceMoisture.H:79
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real aerodynamic_resistance(const amrex::Real z_ref, const amrex::Real z0, const amrex::Real psi_h, const amrex::Real kappa, const amrex::Real u_star)
Definition: ERF_SurfaceMoisture.H:116
Component
Definition: ERF_SurfaceMoisture.H:31
@ GroundRelativeHumidity
Definition: ERF_SurfaceMoisture.H:36
@ SoilResistance
Definition: ERF_SurfaceMoisture.H:35
@ VegetationFraction
Definition: ERF_SurfaceMoisture.H:33
@ NumComponents
Definition: ERF_SurfaceMoisture.H:37
@ CanopyResistanceWithoutVPD
Definition: ERF_SurfaceMoisture.H:34
@ SoilFactor
Definition: ERF_SurfaceMoisture.H:32
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real vapour_deficit_factor(const amrex::Real hs, const amrex::Real q_sat, const amrex::Real q_air)
Definition: ERF_SurfaceMoisture.H:67
Definition: ERF_MOSTUtils.H:37
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real calc_psi_h2(amrex::Real zeta) const
Definition: ERF_MOSTUtils.H:74