3 #include <configure.hpp>
9 #include <application/exceptions.hpp>
19 throw NotFoundError(
"MwrAbsorberNH3",
"parameter 'xHe'");
23 throw NotFoundError(
"MwrAbsorberNH3",
"parameter 'power'");
29 Real P = var.
w[IPR] / 1.E5;
30 Real P_idl = var.
w[IPR] / 1.E5;
33 for (
int i = 1; i <= NVAPOR; ++i) xdry -= var.
w[i];
35 Real XHe = GetPar<Real>(
"xHe") * xdry;
36 Real XH2 = xdry - XHe;
41 Real wave = (wave1 + wave2) / 2.;
54 GetPar<Real>(
"power"));
56 throw NotFoundError(
"MwrAbsorberNH3::GetAttenuation",
model_name_);
double attenuation_NH3_Hanley(double freq, double P, double P_idl, double T, double XH2, double XHe, double XNH3, double XH2O=0, double power=0.)
double attenuation_NH3_Bellotti(double freq, double P, double P_idl, double T, double XH2, double xHe, double XNH3, double XH2O=0)
double attenuation_NH3_Bellotti_switch(double freq, double P, double P_idl, double T, double XH2, double xHe, double XNH3, double XH2O=0)
double attenuation_NH3_Devaraj(double freq, double P, double P_idl, double T, double XH2, double XHe, double XNH3, double XH2O=0, int version=0)
double attenuation_NH3_radtran(double freq, double P, double T, double XH2, double XHe, double XNH3)
std::string model_name_
absorption model model
void CheckFail() const override
This function fails if the check fails.
Real GetAttenuation(Real wave1, Real wave2, AirParcel const &var) const override
Get attenuation coefficient [1/m].
bool HasPar(std::string const &name) const
Check if a parameter exists.
int GetSpeciesIndex(int n) const
This file contains declaration of Absorber.