1 #ifndef ERF_AEROSOL_OPTICAL_DEPTH_H_
2 #define ERF_AEROSOL_OPTICAL_DEPTH_H_
4 #include <AMReX_GpuControl.H>
5 #include <AMReX_Math.H>
6 #include <AMReX_FArrayBox.H>
41 AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
45 if (!amrex::Math::isfinite(tau_aerosol_const)) {
51 if (tau_clipped < 0.0) tau_clipped = 0.0;
52 if (tau_clipped > 100.0) tau_clipped = 100.0;
76 AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
82 if (!amrex::Math::isfinite(z_level) || !amrex::Math::isfinite(
dz) ||
83 !amrex::Math::isfinite(tau_surface) || !amrex::Math::isfinite(scale_height_m)) {
86 if (scale_height_m <= 0.0 ||
dz <= 0.0) {
89 if (tau_surface < 0.0) {
103 amrex::Real tau_aerosol = (tau_surface / scale_height_m) *
dz * std::exp(arg);
105 if (tau_aerosol < 0.0) tau_aerosol = 0.0;
106 if (tau_aerosol > 100.0) tau_aerosol = 100.0;
122 AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real diagnose_tau_aerosol_constant(amrex::Real tau_aerosol_const)
Diagnose aerosol optical depth for Constant profile.
Definition: ERF_AerosolOpticalDepth.H:42
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real diagnose_tau_aerosol_exponential(amrex::Real z_level, amrex::Real dz, amrex::Real tau_surface, amrex::Real scale_height_m)
Diagnose aerosol optical depth for Exponential profile.
Definition: ERF_AerosolOpticalDepth.H:77
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real diagnose_tau_aerosol_table(int k)
Diagnose aerosol optical depth for the Table profile.
Definition: ERF_AerosolOpticalDepth.H:123
amrex::Real Real
Definition: ERF_ShocInterface.H:19
@ dz
Definition: ERF_AdvanceWDM6.cpp:272