1 #ifndef ERF_TWO_STREAM_LW_H_
2 #define ERF_TWO_STREAM_LW_H_
4 #include <AMReX_GpuControl.H>
5 #include <AMReX_Math.H>
6 #include <AMReX_FArrayBox.H>
7 #include <AMReX_REAL.H>
91 AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
122 AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
129 return std::exp(-tau_lw);
154 AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
162 return F_up_below * transmit + I_layer * absorb;
186 AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
194 return F_down_above * transmit + I_layer * absorb;
234 AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
239 if (
dz <= 0.0 ||
rho <= 0.0 ||
cp <= 0.0) {
247 if (!amrex::Math::isfinite(heating)) {
amrex::Real sigma
Definition: ERF_InitCustomPert_DataAssimilation_ISV.H:11
amrex::Real Real
Definition: ERF_ShocInterface.H:19
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real compute_lw_flux_down(amrex::Real F_down_above, amrex::Real T_layer, amrex::Real sigma, amrex::Real tau_lw)
Compute downwelling LW flux in one layer of a two-stream sweep.
Definition: ERF_TwoStreamLW.H:188
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real compute_thermal_intensity(amrex::Real T, amrex::Real sigma)
Compute thermal (LW) intensity for a given temperature.
Definition: ERF_TwoStreamLW.H:93
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real compute_lw_transmit(amrex::Real tau_lw)
Compute transmission coefficient through an absorbing layer.
Definition: ERF_TwoStreamLW.H:124
constexpr amrex::Real stefan_boltzmann
Stefan-Boltzmann constant [W/(m^2 K^4)] used by the two-stream LW model.
Definition: ERF_TwoStreamLW.H:11
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real compute_lw_heating_rate(amrex::Real F_net_top, amrex::Real F_net_bot, amrex::Real dz, amrex::Real rho, amrex::Real cp)
Compute LW heating rate from net flux divergence.
Definition: ERF_TwoStreamLW.H:236
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real compute_lw_flux_up(amrex::Real F_up_below, amrex::Real T_layer, amrex::Real sigma, amrex::Real tau_lw)
Compute upwelling LW flux in one layer of a two-stream sweep.
Definition: ERF_TwoStreamLW.H:156
@ rho
Definition: ERF_Kessler.H:25
@ T
Definition: ERF_IndexDefines.H:128
@ dz
Definition: ERF_AdvanceWDM6.cpp:272
real(c_double), parameter cp
Definition: ERF_module_model_constants.F90:22