Line data Source code
1 : #ifndef _ATM_REFRACTIVEINDEX_H
2 : #define _ATM_REFRACTIVEINDEX_H
3 : /*******************************************************************************
4 : * ALMA - Atacama Large Millimiter Array
5 : * (c) Instituto de Estructura de la Materia, 2009
6 : *
7 : * This library is free software; you can redistribute it and/or
8 : * modify it under the terms of the GNU Lesser General Public
9 : * License as published by the Free Software Foundation; either
10 : * version 2.1 of the License, or (at your option) any later version.
11 : *
12 : * This library is distributed in the hope that it will be useful,
13 : * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 : * Lesser General Public License for more details.
16 : *
17 : * You should have received a copy of the GNU Lesser General Public
18 : * License along with this library; if not, write to the Free Software
19 : * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 : *
21 : * "@(#) $Id: ATMRefractiveIndex.h Exp $"
22 : *
23 : * who when what
24 : * -------- -------- ----------------------------------------------
25 : * pardo 24/03/09 created
26 : */
27 :
28 : #ifndef __cplusplus
29 : #error This is a C++ include file and cannot be used from plain C
30 : #endif
31 :
32 : #include "ATMCommon.h"
33 : #include <complex>
34 :
35 :
36 :
37 : ATM_NAMESPACE_BEGIN
38 :
39 : /*! \brief RefractiveIndex allows to extract absorption and Phase coefficient(s) at
40 : * a given frequency and P/T/gas densities.
41 : *
42 : * \anchor definitions Definitions to intepret the outputs:
43 : * - Phase and amplitude response of a plane wave propagating a distance \f$z\f$ at frequency \f$\nu\f$:
44 : * \f$E(z)=e^{ikz(1+N)}E(0)\f$
45 : * - \f$k=2\pi\nu/c\f$ is the <b>free space wave number</b>.
46 : * - \f$N=(n-1)=(N_r+iN_i)\f$ is the <b>Refractivity</b> (\f$n\f$ is the <b>Refraction Index</b>). <br>
47 : * - \f$N=N_{g1}+N_{g2}+N_{g3}+ ...\f$ (\f$gi\f$ are atmospheric gases or account for other mechanisms
48 : * that modify the refractivity such as <br> collision-induced absorption by \f$O_2-N_2\f$, \f$N_2-N_2\f$,
49 : * \f$O_2-O_2\f$, \f$O_2-H_2O\f$ or \f$N_2-H_2O\f$ pairs.
50 : * - For a given gas \f$g\f$:
51 : * -# \f$N_g=(N_{rg}+iN_{ig})\f$ is the <b>Refractivity</b> of that gas.
52 : * -# \f$N_g/\rho_g\f$, where \f$\rho_g\f$ is the <b>number density</b> of gas \f$g\f$, is the <b>Specific Refractivity</b> of that gas.
53 : * -# \f$2\pi\nu N_{rg}/c=\phi_g\f$ \f$(rad\cdot m^{-1})\f$ is the <b>Phase Dispersion Coefficient</b> of gas \f$g\f$
54 : * -# \f$2\pi\nu N_{ig}/c=\kappa_g\f$ \f$(m^{-1})\f$ is the <b>Absorption Coefficient</b> of gas \f$g\f$
55 : * -# \f$2\pi\nu N_{rg}/(c\rho_g)=\phi_g/\rho_{g}\f$ \f$(rad\cdot m^2)\f$ is the <b>Specific Phase Dispersion Coefficient</b> of gas \f$g\f$
56 : * -# \f$2\pi\nu N_{ig}/(c\rho_g)=\kappa_g/\rho_{g}\f$ \f$(m^2)\f$ is the <b>Specific Absorption Coefficient</b> of gas \f$g\f$.
57 : * -# \f$(2\pi\nu/c)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{-1},m^{-1})\f$ is the result of <b>getRefractivity</b> operators for gas \f$g\f$.
58 : * -# \f$[2\pi\nu/(c\rho_g)]\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^2,m^2)\f$ is the result og <b>getSpecificRefractivity</b> operators for gas \f$g\f$.
59 : * - Therefore in order to obtain Phase Dispersion and Absorption Coefficients:
60 : * -# Absorption Coefficient (\f$m^{-1}\f$) = Imaginary part of the result of the <b>getRefractivity</b> operator.
61 : * -# Phase Dispersion Coefficient (\f$rad\cdot m^{-1}\f$) = Real part of the result of the <b>getRefractivity</b> operator.
62 : * -# Specific Absorption Coefficient (\f$m^2\f$) = Imaginary part of the result of the <b>getSpecificRefractivity</b> operator.
63 : * -# Specific Phase Dispersion Coefficient (\f$rad\cdot m^2\f$) = Real part of the result of the <b>getSpecificRefractivity</b> operator.
64 : *
65 : * - <b>species \f$(g)\f$ codes: <b>
66 : * -# \f$^{16}O^{16}O\f$
67 : * -# \f$^{16}O^{16}O vib\f$
68 : * -# \f$^{16}O^{18}O\f$
69 : * -# \f$^{16}O^{17}O\f$
70 : * -# \f$CO \f$
71 : * -# \f$N_2O\f$
72 : * -# \f$NO_2\f$
73 : * -# \f$SO_2\f$
74 : * -# \f$CNTH2O \f$
75 : * -# \f$CNTDRY \f$
76 : * -# \f$HH^{16}O \f$
77 : * -# \f$HH^{16}O v2 \f$
78 : * -# \f$HH^{18}O \f$
79 : * -# \f$HH^{17}O \f$
80 : * -# \f$HDO\f$
81 : * -# \f$^{16}O^{16}O^{16}O\f$
82 : * -# \f$^{16}O^{16}O^{16}O v2\f$
83 : * -# \f$^{16}O^{16}O^{16}O v1\f$
84 : * -# \f$^{16}O^{16}O^{16}O v3 \f$
85 : * -# \f$^{16}O^{16}O^{18}O \f$
86 : * -# \f$^{16}O^{16}O^{17}O \f$
87 : * -# \f$^{16}O^{18}O^{16}O \f$
88 : * -# \f$^{16}O^{17}O^{16}O \f$
89 : */
90 : class RefractiveIndex
91 : {
92 : public:
93 :
94 : //@{
95 :
96 : /** The constructor has no arguments */
97 : RefractiveIndex();
98 :
99 : virtual ~RefractiveIndex();
100 :
101 : //@}
102 :
103 : //@{
104 :
105 :
106 :
107 : /** It returns \f$(2\pi\nu/c)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{-1},m^{-1})\f$ for \f$g=O_2\f$ (see \ref definitions) <br>
108 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>wvpressure</b> (water vapor partial pressure) in hPa,
109 : and <b>frequency</b> in GHz. */
110 : std::complex<double> getRefractivity_o2(double temperature,double pressure, double wvpressure,double frequency);
111 :
112 : /** It returns \f$(2\pi\nu/c)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{-1},m^{-1})\f$ for \f$g=O_2\f$ (see \ref definitions) <br>
113 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>wvpressure</b> (water vapor partial pressure) in hPa,
114 : <b>frequency</b> in GHz, <b>width</b> (channel width around <b>frequency</b>) in GHz,
115 : and <b>n</b> (number of frequency points for averaging within <b>width</b>). */
116 : std::complex<double> getRefractivity_o2(double temperature,double pressure,double wvpressure,
117 : double frequency,double width,unsigned int n);
118 :
119 :
120 :
121 : /** It returns \f$(2\pi\nu/c)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{-1},m^{-1})\f$ for \f$g=H_2O\f$ (see \ref definitions) <br>
122 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>wvpressure</b> (water vapor partial pressure) in hPa,
123 : and <b>frequency</b> in GHz. */
124 : std::complex<double> getRefractivity_h2o(double temperature, double pressure, double wvpressure, double frequency);
125 :
126 : /** It returns \f$(2\pi\nu/c)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{-1},m^{-1})\f$ for \f$g=H_2O\f$ (see \ref definitions) <br>
127 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>wvpressure</b> (water vapor partial pressure) in hPa,
128 : <b>frequency</b> in GHz, <b>width</b> (channel width around <b>frequency</b>) in GHz,
129 : and <b>n</b> (number of frequency points for averaging within <b>width</b>). */
130 : std::complex<double> getRefractivity_h2o(double temperature,double pressure,double wvpressure,
131 : double frequency,double width,unsigned int n);
132 :
133 :
134 :
135 :
136 :
137 :
138 :
139 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for \f$g=O_3\f$ (see \ref definitions) <br>
140 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, and <b>frequency</b> in GHz, */
141 : std::complex<double> getSpecificRefractivity_o3(double temperature,double pressure,double frequency);
142 :
143 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for \f$g=O_3\f$ (see \ref definitions) <br>
144 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>frequency</b> in GHz,
145 : <b>width</b> (channel width around <b>frequency</b>) in GHz, and <b>n</b> (number of frequency points for averaging within <b>width</b>) */
146 : std::complex<double> getSpecificRefractivity_o3(double temperature,double pressure,double frequency,
147 : double width,unsigned int n);
148 :
149 :
150 : /** It returns \f$(2\pi\nu/c)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{-1},m^{-1})\f$ for \f$g=O_3\f$ (see \ref definitions) <br>
151 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>frequency</b> in GHz,
152 : and <b>numberdensity</b> in molecules of \f$O_3\f$ m\f$^{-3}\f$ */
153 52910 : inline std::complex<double> getRefractivity_o3(double temperature, double pressure, double frequency, double numberdensity)
154 52910 : {return getSpecificRefractivity_o3(temperature, pressure, frequency) * numberdensity;}
155 :
156 :
157 : /** It returns \f$(2\pi\nu/c)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{-1},m^{-1})\f$ for \f$g=O_3\f$ (see \ref definitions) <br>
158 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>frequency</b> in GHz,
159 : <b>width</b> (channel width around <b>frequency</b>) in GHz, <b>n</b> (number of frequency points for averaging within <b>width</b>),
160 : and <b>numberdensity</b> in molecules of \f$O_3\f$ m\f$^{-3}\f$ */
161 : std::complex<double> getRefractivity_o3(double temperature,double pressure,double frequency,
162 : double width,unsigned int n,double numberdensity)
163 : {return getSpecificRefractivity_o3(temperature, pressure, frequency, width, n) * numberdensity;}
164 :
165 :
166 :
167 : /************************** 16o16o (species 1) **************************************************************/
168 :
169 :
170 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for \f$^{16}O^{16}O\f$ (see \ref definitions) <br>
171 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>wvpressure</b> (water vapor partial pressure) in hPa, and <b>frequency</b> in GHz. */
172 : inline std::complex<double> getSpecificRefractivity_16o16o(double temperature,double pressure,double wvpressure,double frequency)
173 : {unsigned int species=1; return mkSpecificRefractivity(species, temperature, pressure, wvpressure, frequency);}
174 :
175 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for \f$^{16}O^{16}O\f$ (see \ref definitions) <br>
176 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>wvpressure</b> (water vapor partial pressure) in hPa, <b>frequency</b> in GHz,
177 : <b>width</b> (channel width around <b>frequency</b>) in GHz, and <b>n</b> (number of frequency points for averaging within <b>width</b>). */
178 : inline std::complex<double> getSpecificRefractivity_16o16o(double temperature,double pressure,double wvpressure,double frequency,double width,unsigned int n)
179 : {unsigned int species=1; return mkSpecificRefractivity(species, temperature, pressure, wvpressure, frequency, width, n);}
180 :
181 :
182 :
183 : /** It returns \f$(2\pi\nu/c)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{-1},m^{-1})\f$ for \f$^{16}O^{16}O\f$ (see \ref definitions) <br>
184 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>wvpressure</b> (water vapor partial pressure) in hPa, <b>frequency</b> in GHz,
185 : and <b>numberdensity</b> in molecules of \f$^{16}O^{16}O\f$ m\f$^{-3}\f$. */
186 : inline std::complex<double> getRefractivity_16o16o(double temperature,double pressure,double wvpressure,double frequency,double numberdensity)
187 : {return getSpecificRefractivity_16o16o(temperature, pressure, wvpressure, frequency)* numberdensity;}
188 :
189 : /** It returns \f$(2\pi\nu/c)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{-1},m^{-1})\f$ for \f$^{16}O^{16}O\f$ (see \ref definitions) <br>
190 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>wvpressure</b> (water vapor partial pressure) in hPa, <b>frequency</b> in GHz,
191 : <b>width</b> (channel width around <b>frequency</b>) in GHz, <b>n</b> (number of frequency points for averaging within <b>width</b>),
192 : and <b>numberdensity</b> in molecules of \f$^{16}O^{16}O\f$ m\f$^{-3}\f$. */
193 : std::complex<double> getRefractivity_16o16o(double temperature,double pressure,double wvpressure,double frequency,double width,unsigned int n,double numberdensity)
194 : {return getSpecificRefractivity_16o16o(temperature, pressure, wvpressure, frequency, width, n)* numberdensity;}
195 :
196 : /*************************************************************************************************************/
197 :
198 :
199 : /************************** 16o16o_vib (species 2) ***********************************************************/
200 :
201 :
202 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for the first vibrationally excited state
203 : of \f$^{16}O^{16}O\f$ (see \ref definitions) <br>
204 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>wvpressure</b> (water vapor partial pressure) in hPa, and <b>frequency</b> in GHz. */
205 : inline std::complex<double> getSpecificRefractivity_16o16o_vib(double temperature,double pressure,double wvpressure,double frequency)
206 : {unsigned int species=2; return mkSpecificRefractivity(species, temperature, pressure, wvpressure, frequency);}
207 :
208 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for the first vibrationally excited state
209 : of \f$^{16}O^{16}O\f$ (see \ref definitions) <br>
210 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>wvpressure</b> (water vapor partial pressure) in hPa, <b>frequency</b> in GHz,
211 : <b>width</b> (channel width around <b>frequency</b>) in GHz, and <b>n</b> (number of frequency points for averaging within <b>width</b>). */
212 : inline std::complex<double> getSpecificRefractivity_16o16o_vib(double temperature,double pressure,double wvpressure,double frequency,double width,unsigned int n)
213 : {unsigned int species=2; return mkSpecificRefractivity(species, temperature, pressure, wvpressure, frequency, width, n);}
214 :
215 :
216 :
217 : /** It returns \f$(2\pi\nu/c)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{-1},m^{-1})\f$ for the first vibrationally excited state
218 : of \f$^{16}O^{16}O\f$ (see \ref definitions) <br>
219 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>wvpressure</b> (water vapor partial pressure) in hPa, <b>frequency</b> in GHz,
220 : and <b>numberdensity</b> in molecules of vibrationally excited \f$^{16}O^{16}O\f$ m\f$^{-3}\f$. */
221 : inline std::complex<double> getRefractivity_16o16o_vib(double temperature,double pressure,double wvpressure,double frequency,double numberdensity)
222 : {return getSpecificRefractivity_16o16o_vib(temperature, pressure, wvpressure, frequency)* numberdensity;}
223 :
224 : /** It returns \f$(2\pi\nu/c)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{-1},m^{-1})\f$ for the first vibrationally excited state
225 : of \f$^{16}O^{16}O\f$ (see \ref definitions) <br>
226 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>wvpressure</b> (water vapor partial pressure) in hPa, <b>frequency</b> in GHz,
227 : <b>width</b> (channel width around <b>frequency</b>) in GHz, <b>n</b> (number of frequency points for averaging within <b>width</b>),
228 : and <b>numberdensity</b> in molecules of vibrationally excited \f$^{16}O^{16}O\f$ m\f$^{-3}\f$. */
229 : std::complex<double> getRefractivity_16o16o_vib(double temperature,double pressure,double wvpressure,double frequency,double width,unsigned int n,double numberdensity)
230 : {return getSpecificRefractivity_16o16o_vib(temperature, pressure, wvpressure, frequency, width, n)* numberdensity;}
231 :
232 : /*************************************************************************************************************/
233 :
234 :
235 : /************************** 16o18o (species 3) ***************************************************************/
236 :
237 :
238 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for \f$^{16}O^{18}O\f$ (see \ref definitions) <br>
239 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>wvpressure</b> (water vapor partial pressure) in hPa, and <b>frequency</b> in GHz. */
240 : inline std::complex<double> getSpecificRefractivity_16o18o(double temperature,double pressure,double wvpressure,double frequency)
241 : {unsigned int species=3; return mkSpecificRefractivity(species, temperature, pressure, wvpressure, frequency);}
242 :
243 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for \f$^{16}O^{18}O\f$ (see \ref definitions) <br>
244 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>wvpressure</b> (water vapor partial pressure) in hPa, <b>frequency</b> in GHz,
245 : <b>width</b> (channel width around <b>frequency</b>) in GHz, and <b>n</b> (number of frequency points for averaging within <b>width</b>). */
246 : inline std::complex<double> getSpecificRefractivity_16o18o(double temperature,double pressure,double wvpressure,double frequency,double width,unsigned int n)
247 : {unsigned int species=3; return mkSpecificRefractivity(species, temperature, pressure, wvpressure, frequency, width, n);}
248 :
249 :
250 :
251 : /** It returns \f$(2\pi\nu/c)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{-1},m^{-1})\f$ for \f$^{16}O^{18}O\f$ (see \ref definitions) <br>
252 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>wvpressure</b> (water vapor partial pressure) in hPa, <b>frequency</b> in GHz,
253 : and <b>numberdensity</b> in molecules of \f$^{16}O^{18}O\f$ m\f$^{-3}\f$. */
254 : inline std::complex<double> getRefractivity_16o18o(double temperature,double pressure,double wvpressure,double frequency,double numberdensity)
255 : {return getSpecificRefractivity_16o18o(temperature, pressure, wvpressure, frequency)* numberdensity;}
256 :
257 : /** It returns \f$(2\pi\nu/c)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{-1},m^{-1})\f$ for \f$^{16}O^{18}O\f$ (see \ref definitions) <br>
258 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>wvpressure</b> (water vapor partial pressure) in hPa, <b>frequency</b> in GHz,
259 : <b>width</b> (channel width around <b>frequency</b>) in GHz, <b>n</b> (number of frequency points for averaging within <b>width</b>),
260 : and <b>numberdensity</b> in molecules of \f$^{16}O^{18}O\f$ m\f$^{-3}\f$. */
261 : std::complex<double> getRefractivity_16o18o(double temperature,double pressure,double wvpressure,double frequency,double width,unsigned int n,double numberdensity)
262 : {return getSpecificRefractivity_16o18o(temperature, pressure, wvpressure, frequency, width, n)* numberdensity;}
263 :
264 : /*************************************************************************************************************/
265 :
266 :
267 : /************************** 16o17o (species 4) ***************************************************************/
268 :
269 :
270 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for \f$^{16}O^{17}O\f$ (see \ref definitions) <br>
271 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>wvpressure</b> (water vapor partial pressure) in hPa, and <b>frequency</b> in GHz. */
272 : inline std::complex<double> getSpecificRefractivity_16o17o(double temperature,double pressure,double wvpressure,double frequency)
273 : {unsigned int species=4; return mkSpecificRefractivity(species, temperature, pressure, wvpressure, frequency);}
274 :
275 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for \f$^{16}O^{17}O\f$ (see \ref definitions) <br>
276 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>wvpressure</b> (water vapor partial pressure) in hPa, <b>frequency</b> in GHz,
277 : <b>width</b> (channel width around <b>frequency</b>) in GHz, and <b>n</b> (number of frequency points for averaging within <b>width</b>). */
278 : inline std::complex<double> getSpecificRefractivity_16o17o(double temperature,double pressure,double wvpressure,double frequency,double width,unsigned int n)
279 : {unsigned int species=4; return mkSpecificRefractivity(species, temperature, pressure, wvpressure, frequency, width, n);}
280 :
281 :
282 :
283 : /** It returns \f$(2\pi\nu/c)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{-1},m^{-1})\f$ for \f$^{16}O^{17}O\f$ (see \ref definitions) <br>
284 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>wvpressure</b> (water vapor partial pressure) in hPa, <b>frequency</b> in GHz,
285 : and <b>numberdensity</b> in molecules of \f$^{16}O^{17}O\f$ m\f$^{-3}\f$. */
286 : inline std::complex<double> getRefractivity_16o17o(double temperature,double pressure,double wvpressure,double frequency,double numberdensity)
287 : {return getSpecificRefractivity_16o17o(temperature, pressure, wvpressure, frequency)* numberdensity;}
288 :
289 : /** It returns \f$(2\pi\nu/c)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{-1},m^{-1})\f$ for \f$^{16}O^{17}O\f$ (see \ref definitions) <br>
290 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>wvpressure</b> (water vapor partial pressure) in hPa, <b>frequency</b> in GHz,
291 : <b>width</b> (channel width around <b>frequency</b>) in GHz, <b>n</b> (number of frequency points for averaging within <b>width</b>),
292 : and <b>numberdensity</b> in molecules of \f$^{16}O^{17}O\f$ m\f$^{-3}\f$. */
293 : std::complex<double> getRefractivity_16o17o(double temperature,double pressure,double wvpressure,double frequency,double width,unsigned int n,double numberdensity)
294 : {return getSpecificRefractivity_16o17o(temperature, pressure, wvpressure, frequency, width, n)* numberdensity;}
295 :
296 : /*************************************************************************************************************/
297 :
298 :
299 :
300 : /************************** co (species 5) *******************************************************************/
301 :
302 :
303 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for \f$CO\f$ (see \ref definitions) <br>
304 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, and <b>frequency</b> in GHz. */
305 52910 : inline std::complex<double> getSpecificRefractivity_co(double temperature,double pressure,double frequency)
306 52910 : {unsigned int species=5; return mkSpecificRefractivity(species, temperature, pressure, frequency);}
307 :
308 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for \f$CO\f$ (see \ref definitions) <br>
309 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>frequency</b> in GHz,
310 : <b>width</b> (channel width around <b>frequency</b>) in GHz, and <b>n</b> (number of frequency points for averaging within <b>width</b>). */
311 : std::complex<double> getSpecificRefractivity_co(double temperature,double pressure,double frequency,double width,unsigned int n)
312 : {unsigned int species=5; return mkSpecificRefractivity(species, temperature, pressure, frequency, width, n);}
313 :
314 :
315 :
316 : /** It returns \f$(2\pi\nu/c)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{-1},m^{-1})\f$ for \f$CO\f$ (see \ref definitions) <br>
317 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>frequency</b> in GHz,
318 : and <b>numberdensity</b> in molecules of \f$CO\f$ m\f$^{-3}\f$. */
319 : inline std::complex<double> getRefractivity_co(double temperature,double pressure,double frequency,double numberdensity)
320 : {return getSpecificRefractivity_co(temperature, pressure, frequency)* numberdensity;}
321 :
322 : /** It returns \f$(2\pi\nu/c)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{-1},m^{-1})\f$ for \f$CO\f$ (see \ref definitions) <br>
323 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>frequency</b> in GHz,
324 : <b>width</b> (channel width around <b>frequency</b>) in GHz, <b>n</b> (number of frequency points for averaging within <b>width</b>),
325 : and <b>numberdensity</b> in molecules of \f$CO\f$ m\f$^{-3}\f$. */
326 : std::complex<double> getRefractivity_co(double temperature,double pressure,double frequency,double width,unsigned int n,double numberdensity)
327 : {return getSpecificRefractivity_co(temperature, pressure, frequency, width, n)* numberdensity;}
328 :
329 : /*************************************************************************************************************/
330 :
331 :
332 :
333 : /************************** n2o (species 6) *******************************************************************/
334 :
335 :
336 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for \f$N_2O\f$ (see \ref definitions) <br>
337 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, and <b>frequency</b> in GHz. */
338 52910 : inline std::complex<double> getSpecificRefractivity_n2o(double temperature,double pressure,double frequency)
339 52910 : {unsigned int species=6; return mkSpecificRefractivity(species, temperature, pressure, frequency);}
340 :
341 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for \f$N_2O\f$ (see \ref definitions) <br>
342 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>frequency</b> in GHz,
343 : <b>width</b> (channel width around <b>frequency</b>) in GHz, and <b>n</b> (number of frequency points for averaging within <b>width</b>). */
344 : std::complex<double> getSpecificRefractivity_n2o(double temperature,double pressure,double frequency,double width,unsigned int n)
345 : {unsigned int species=6; return mkSpecificRefractivity(species, temperature, pressure, frequency, width, n);}
346 :
347 :
348 : /** It returns \f$(2\pi\nu/c)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{-1},m^{-1})\f$ for \f$N_2O\f$ (see \ref definitions) <br>
349 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>frequency</b> in GHz,
350 : and <b>numberdensity</b> in molecules of \f$N_2O\f$ m\f$^{-3}\f$. */
351 : inline std::complex<double> getRefractivity_n2o(double temperature,double pressure,double frequency,double numberdensity)
352 : {return getSpecificRefractivity_no2(temperature, pressure, frequency)* numberdensity;}
353 :
354 : /** It returns \f$(2\pi\nu/c)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{-1},m^{-1})\f$ for \f$N_2O\f$ (see \ref definitions) <br>
355 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>frequency</b> in GHz,
356 : <b>width</b> (channel width around <b>frequency</b>) in GHz, <b>n</b> (number of frequency points for averaging within <b>width</b>),
357 : and <b>numberdensity</b> in molecules of \f$N_2O\f$ m\f$^{-3}\f$. */
358 : std::complex<double> getRefractivity_n2o(double temperature,double pressure,double frequency,double width,unsigned int n,double numberdensity)
359 : {return getSpecificRefractivity_no2(temperature, pressure, frequency, width, n)* numberdensity;}
360 :
361 : /*************************************************************************************************************/
362 :
363 :
364 :
365 : /************************** no2 (species 7) ******************************************************************/
366 :
367 :
368 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for \f$NO_2\f$ (see \ref definitions) <br>
369 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, and <b>frequency</b> in GHz. */
370 52910 : inline std::complex<double> getSpecificRefractivity_no2(double temperature,double pressure,double frequency)
371 52910 : {unsigned int species=7; return mkSpecificRefractivity(species, temperature, pressure, frequency);}
372 :
373 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for \f$NO_2\f$ (see \ref definitions) <br>
374 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>frequency</b> in GHz,
375 : <b>width</b> (channel width around <b>frequency</b>) in GHz, and <b>n</b> (number of frequency points for averaging within <b>width</b>). */
376 : std::complex<double> getSpecificRefractivity_no2(double temperature,double pressure,double frequency,double width,unsigned int n)
377 : {unsigned int species=7; return mkSpecificRefractivity(species, temperature, pressure, frequency, width, n);}
378 :
379 :
380 :
381 : /** It returns \f$(2\pi\nu/c)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{-1},m^{-1})\f$ for \f$NO_2\f$ (see \ref definitions) <br>
382 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>frequency</b> in GHz,
383 : and <b>numberdensity</b> in molecules of \f$NO_2\f$ m\f$^{-3}\f$. */
384 : inline std::complex<double> getRefractivity_no2(double temperature,double pressure,double frequency,double numberdensity)
385 : {return getSpecificRefractivity_no2(temperature, pressure, frequency)* numberdensity;}
386 :
387 : /** It returns \f$(2\pi\nu/c)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{-1},m^{-1})\f$ for \f$NO_2\f$ (see \ref definitions) <br>
388 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>frequency</b> in GHz,
389 : <b>width</b> (channel width around <b>frequency</b>) in GHz, <b>n</b> (number of frequency points for averaging within <b>width</b>),
390 : and <b>numberdensity</b> in molecules of \f$NO_2\f$ m\f$^{-3}\f$. */
391 : std::complex<double> getRefractivity_no2(double temperature,double pressure,double frequency,double width,unsigned int n,double numberdensity)
392 : {return getSpecificRefractivity_no2(temperature, pressure, frequency, width, n)* numberdensity;}
393 :
394 : /*************************************************************************************************************/
395 :
396 :
397 : /************************** so2 (species 8) ******************************************************************/
398 :
399 :
400 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for \f$SO_2\f$ (see \ref definitions) <br>
401 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, and <b>frequency</b> in GHz. */
402 52910 : inline std::complex<double> getSpecificRefractivity_so2(double temperature,double pressure,double frequency)
403 52910 : {unsigned int species=8; return mkSpecificRefractivity(species, temperature, pressure, frequency);}
404 :
405 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for \f$SO_2\f$ (see \ref definitions) <br>
406 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>frequency</b> in GHz,
407 : <b>width</b> (channel width around <b>frequency</b>) in GHz, and <b>n</b> (number of frequency points for averaging within <b>width</b>). */
408 : std::complex<double> getSpecificRefractivity_so2(double temperature,double pressure,double frequency,double width,unsigned int n)
409 : {unsigned int species=8; return mkSpecificRefractivity(species, temperature, pressure, frequency, width, n);}
410 :
411 :
412 : /** It returns \f$(2\pi\nu/c)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{-1},m^{-1})\f$ for \f$SO_2\f$ (see \ref definitions) <br>
413 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>frequency</b> in GHz,
414 : and <b>numberdensity</b> in molecules of \f$SO_2\f$ m\f$^{-3}\f$. */
415 : inline std::complex<double> getRefractivity_so2(double temperature,double pressure,double frequency,double numberdensity)
416 : {return getSpecificRefractivity_so2(temperature, pressure, frequency)* numberdensity;}
417 :
418 : /** It returns \f$(2\pi\nu/c)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{-1},m^{-1})\f$ for \f$SO_2\f$ (see \ref definitions) <br>
419 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>frequency</b> in GHz,
420 : <b>width</b> (channel width around <b>frequency</b>) in GHz, <b>n</b> (number of frequency points for averaging within <b>width</b>),
421 : and <b>numberdensity</b> in molecules of \f$SO_2\f$ m\f$^{-3}\f$. */
422 : std::complex<double> getRefractivity_so2(double temperature,double pressure,double frequency,double width,unsigned int n,double numberdensity)
423 : {return getSpecificRefractivity_so2(temperature, pressure, frequency, width, n)* numberdensity;}
424 :
425 : /*************************************************************************************************************/
426 :
427 :
428 :
429 : /************************** cnth2o (species 9) ***************************************************************/
430 :
431 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ corresponding to the contribution of
432 : the "wet" collision induced (\f$O_2-H_2O\f$ and \f$N_2-H_2O\f$) processes (see \ref definitions) <br>
433 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>wvpressure</b> (water vapor partial pressure) in hPa, and <b>frequency</b> in GHz. */
434 52910 : inline std::complex<double> getSpecificRefractivity_cnth2o(double temperature,double pressure,double wvpressure,double frequency)
435 52910 : {unsigned int species=9; return mkSpecificRefractivity(species, temperature, pressure, wvpressure, frequency);}
436 :
437 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ corresponding to the contribution of
438 : the "wet" collision induced (\f$O_2-H_2O\f$ and \f$N_2-H_2O\f$) processes (see \ref definitions) <br>
439 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>wvpressure</b> (water vapor partial pressure) in hPa, <b>frequency</b> in GHz,
440 : <b>width</b> (channel width around <b>frequency</b>) in GHz, and <b>n</b> (number of frequency points for averaging within <b>width</b>). */
441 : std::complex<double> getSpecificRefractivity_cnth2o(double temperature,double pressure,double wvpressure,double frequency,double width,unsigned int n)
442 : {unsigned int species=9; return mkSpecificRefractivity(species, temperature, pressure, wvpressure, frequency, width, n);}
443 :
444 : /*************************************************************************************************************/
445 :
446 :
447 :
448 : /************************** cntdry (species 10) **************************************************************/
449 :
450 :
451 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ corresponding to the contribution of
452 : the "dry" collision induced (\f$O_2-O_2\f$, \f$N_2-N_2\f$ and \f$N_2-O_2\f$) processes (see \ref definitions) <br>
453 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>wvpressure</b> (water vapor partial pressure) in hPa, and <b>frequency</b> in GHz. */
454 52910 : inline std::complex<double> getSpecificRefractivity_cntdry(double temperature,double pressure,double wvpressure,double frequency)
455 52910 : {unsigned int species=10; return mkSpecificRefractivity(species, temperature, pressure, wvpressure, frequency);}
456 :
457 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ corresponding to the contribution of
458 : the "dry" collision induced (\f$O_2-O_2\f$, \f$N_2-N_2\f$ and \f$N_2-O_2\f$) processes (see \ref definitions) <br>
459 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>wvpressure</b> (water vapor partial pressure) in hPa, <b>frequency</b> in GHz,
460 : <b>width</b> (channel width around <b>frequency</b>) in GHz, and <b>n</b> (number of frequency points for averaging within <b>width</b>). */
461 : std::complex<double> getSpecificRefractivity_cntdry(double temperature,double pressure,double wvpressure,double frequency,double width,unsigned int n)
462 : {unsigned int species=10; return mkSpecificRefractivity(species, temperature, pressure, wvpressure, frequency, width, n);}
463 :
464 : /*************************************************************************************************************/
465 :
466 :
467 :
468 : /************************** hh16o (species 11) ***************************************************************/
469 :
470 :
471 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for \f$H_2^{16}\f$ (see \ref definitions) <br>
472 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>wvpressure</b> (water vapor partial pressure) in hPa, and <b>frequency</b> in GHz. */
473 : inline std::complex<double> getSpecificRefractivity_hh16o(double temperature,double pressure,double wvpressure,double frequency)
474 : {unsigned int species=11; return mkSpecificRefractivity(species, temperature, pressure, wvpressure, frequency);}
475 :
476 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for \f$H_2^{16}\f$ (see \ref definitions) <br>
477 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>wvpressure</b> (water vapor partial pressure) in hPa, <b>frequency</b> in GHz,
478 : <b>width</b> (channel width around <b>frequency</b>) in GHz, and <b>n</b> (number of frequency points for averaging within <b>width</b>). */
479 : std::complex<double> getSpecificRefractivity_hh16o(double temperature,double pressure,double wvpressure,double frequency,double width,unsigned int n)
480 : {unsigned int species=11; return mkSpecificRefractivity(species, temperature, pressure, wvpressure, frequency, width, n);}
481 :
482 : /*************************************************************************************************************/
483 :
484 :
485 : /************************** hh16o_v2 (species 12) *************************************************************/
486 :
487 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for the v2 vibrational state of \f$H_2^{16}\f$ (see \ref definitions) <br>
488 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>wvpressure</b> (water vapor partial pressure) in hPa, and <b>frequency</b> in GHz. */
489 : inline std::complex<double> getSpecificRefractivity_hh16o_v2(double temperature,double pressure,double wvpressure,double frequency)
490 : {unsigned int species=12; return mkSpecificRefractivity(species, temperature, pressure, wvpressure, frequency);}
491 :
492 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for the v2 vibrational state of \f$H_2^{16}\f$ (see \ref definitions) <br>
493 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>wvpressure</b> (water vapor partial pressure) in hPa, <b>frequency</b> in GHz,
494 : <b>width</b> (channel width around <b>frequency</b>) in GHz, and <b>n</b> (number of frequency points for averaging within <b>width</b>). */
495 : std::complex<double> getSpecificRefractivity_hh16o_v2(double temperature,double pressure,double wvpressure,double frequency,double width,unsigned int n)
496 : {unsigned int species=12; return mkSpecificRefractivity(species, temperature, pressure, wvpressure, frequency, width, n);}
497 :
498 : /*************************************************************************************************************/
499 :
500 :
501 : /************************** hh18o (species 13) ***************************************************************/
502 :
503 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for \f$H_2^{18}\f$ (see \ref definitions) <br>
504 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>wvpressure</b> (water vapor partial pressure) in hPa, and <b>frequency</b> in GHz. */
505 : inline std::complex<double> getSpecificRefractivity_hh18o(double temperature,double pressure,double wvpressure,double frequency)
506 : {unsigned int species=13; return mkSpecificRefractivity(species, temperature, pressure, wvpressure, frequency);}
507 :
508 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for \f$H_2^{18}\f$ (see \ref definitions) <br>
509 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>wvpressure</b> (water vapor partial pressure) in hPa, <b>frequency</b> in GHz,
510 : <b>width</b> (channel width around <b>frequency</b>) in GHz, and <b>n</b> (number of frequency points for averaging within <b>width</b>). */
511 : std::complex<double> getSpecificRefractivity_hh18o(double temperature,double pressure,double wvpressure,double frequency,double width,unsigned int n)
512 : {unsigned int species=13; return mkSpecificRefractivity(species, temperature, pressure, wvpressure, frequency, width, n);}
513 :
514 :
515 : /*************************************************************************************************************/
516 :
517 :
518 : /************************** hh17o (species 14) ***************************************************************/
519 :
520 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for \f$H_2^{17}\f$ (see \ref definitions) <br>
521 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>wvpressure</b> (water vapor partial pressure) in hPa, and <b>frequency</b> in GHz. */
522 : inline std::complex<double> getSpecificRefractivity_hh17o(double temperature,double pressure,double wvpressure,double frequency)
523 : {unsigned int species=14; return mkSpecificRefractivity(species, temperature, pressure, wvpressure, frequency);}
524 :
525 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for \f$H_2^{17}\f$ (see \ref definitions) <br>
526 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>wvpressure</b> (water vapor partial pressure) in hPa, <b>frequency</b> in GHz,
527 : <b>width</b> (channel width around <b>frequency</b>) in GHz, and <b>n</b> (number of frequency points for averaging within <b>width</b>). */
528 : std::complex<double> getSpecificRefractivity_hh17o(double temperature,double pressure,double wvpressure,double frequency,double width,unsigned int n)
529 : {unsigned int species=14; return mkSpecificRefractivity(species, temperature, pressure, wvpressure, frequency, width, n);}
530 :
531 :
532 : /*************************************************************************************************************/
533 :
534 :
535 : /************************** hdo (species 15) *****************************************************************/
536 :
537 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for \f$HDO\f$ (see \ref definitions) <br>
538 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>wvpressure</b> (water vapor partial pressure) in hPa, and <b>frequency</b> in GHz. */
539 : inline std::complex<double> getSpecificRefractivity_hdo(double temperature,double pressure,double wvpressure,double frequency)
540 : {unsigned int species=15; return mkSpecificRefractivity(species, temperature, pressure, wvpressure, frequency);}
541 :
542 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for \f$HDO\f$ (see \ref definitions) <br>
543 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>wvpressure</b> (water vapor partial pressure) in hPa, <b>frequency</b> in GHz,
544 : <b>width</b> (channel width around <b>frequency</b>) in GHz, and <b>n</b> (number of frequency points for averaging within <b>width</b>). */
545 : std::complex<double> getSpecificRefractivity_hdo(double temperature,double pressure,double wvpressure,double frequency,double width,unsigned int n)
546 : {unsigned int species=15; return mkSpecificRefractivity(species, temperature, pressure, wvpressure, frequency, width, n);}
547 :
548 :
549 : /*************************************************************************************************************/
550 :
551 :
552 :
553 : /************************** 16o16o16o (species 16) ************************************************************/
554 :
555 :
556 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for \f$^{16}O^{16}O^{16}O\f$ (see \ref definitions) <br>
557 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, and <b>frequency</b> in GHz. */
558 : inline std::complex<double> getSpecificRefractivity_16o16o16o(double temperature,double pressure,double frequency)
559 : {unsigned int species=16; return mkSpecificRefractivity(species, temperature, pressure, frequency);}
560 :
561 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for \f$^{16}O^{16}O^{16}O\f$ (see \ref definitions) <br>
562 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>frequency</b> in GHz,
563 : <b>width</b> (channel width around <b>frequency</b>) in GHz, and <b>n</b> (number of frequency points for averaging within <b>width</b>). */
564 : std::complex<double> getSpecificRefractivity_16o16o16o(double temperature,double pressure,double frequency,double width,unsigned int n)
565 : {unsigned int species=16; return mkSpecificRefractivity(species, temperature, pressure, frequency, width, n);}
566 :
567 :
568 :
569 : /** It returns \f$(2\pi\nu/c)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{-1},m^{-1})\f$ for \f$^{16}O^{16}O^{16}O\f$ (see \ref definitions) <br>
570 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>frequency</b> in GHz,
571 : and <b>numberdensity</b> in molecules of \f$O_3\f$ m\f$^{-3}\f$. */
572 : inline std::complex<double> getRefractivity_16o16o16o(double temperature,double pressure,double frequency,double numberdensity)
573 : {return getSpecificRefractivity_16o16o16o(temperature, pressure, frequency)* numberdensity;}
574 :
575 :
576 : /** It returns \f$(2\pi\nu/c)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{-1},m^{-1})\f$ for \f$^{16}O^{16}O^{16}O\f$ (see \ref definitions) <br>
577 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>frequency</b> in GHz,
578 : <b>width</b> (channel width around <b>frequency</b>) in GHz, <b>n</b> (number of frequency points for averaging within <b>width</b>),
579 : and <b>numberdensity</b> in molecules of \f$O_3\f$ m\f$^{-3}\f$. */
580 : std::complex<double> getRefractivity_16o16o16o(double temperature,double pressure,double frequency,double width,unsigned int n,double numberdensity)
581 : {return getSpecificRefractivity_16o16o16o(temperature, pressure, frequency, width, n)* numberdensity;}
582 :
583 : /*************************************************************************************************************/
584 :
585 :
586 :
587 : /************************** 16o16o16o v2 (species 17) *********************************************************/
588 :
589 :
590 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for vibrationally excited (v2 state)
591 : \f$^{16}O^{16}O^{16}O\f$ (see \ref definitions) <br>
592 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, and <b>frequency</b> in GHz. */
593 : inline std::complex<double> getSpecificRefractivity_16o16o16o_v2(double temperature,double pressure,double frequency)
594 : {unsigned int species=17; return mkSpecificRefractivity(species, temperature, pressure, frequency);}
595 :
596 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for vibrationally excited (v2 state)
597 : \f$^{16}O^{16}O^{16}O\f$ (see \ref definitions) <br>
598 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>frequency</b> in GHz,
599 : <b>width</b> (channel width around <b>frequency</b>) in GHz, and <b>n</b> (number of frequency points for averaging within <b>width</b>). */
600 : std::complex<double> getSpecificRefractivity_16o16o16o_v2(double temperature,double pressure,double frequency,double width,unsigned int n)
601 : {unsigned int species=17; return mkSpecificRefractivity(species, temperature, pressure, frequency, width, n);}
602 :
603 :
604 : /** It returns \f$(2\pi\nu/c)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{-1},m^{-1})\f$ for vibrationally excited (v2 state)
605 : \f$^{16}O^{16}O^{16}O\f$ (see \ref definitions) <br>
606 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>frequency</b> in GHz,
607 : and <b>numberdensity</b> in molecules of \f$^{16}O^{16}O^{16}O\f$ \f$v=2\f$ m\f$^{-3}\f$. */
608 : inline std::complex<double> getRefractivity_16o16o16o_v2(double temperature,double pressure,double frequency,double numberdensity)
609 : {return getSpecificRefractivity_16o16o16o_v2(temperature, pressure, frequency)* numberdensity;}
610 :
611 : /** It returns \f$(2\pi\nu/c)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{-1},m^{-1})\f$ for vibrationally excited (v2 state)
612 : \f$^{16}O^{16}O^{16}O\f$ (see \ref definitions) <br>
613 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>frequency</b> in GHz,
614 : <b>width</b> (channel width around <b>frequency</b>) in GHz, <b>n</b> (number of frequency points for averaging within <b>width</b>),
615 : and <b>numberdensity</b> in molecules of \f$^{16}O^{16}O^{16}O\f$ \f$v=2\f$ m\f$^{-3}\f$. */
616 : std::complex<double> getRefractivity_16o16o16o_v2(double temperature,double pressure,double frequency,double width,unsigned int n,double numberdensity)
617 : {return getSpecificRefractivity_16o16o16o_v2(temperature, pressure, frequency, width, n)* numberdensity;}
618 :
619 : /*************************************************************************************************************/
620 :
621 :
622 :
623 : /************************** 16o16o16o v1 (species 18) *********************************************************/
624 :
625 :
626 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for vibrationally excited (v1 state)
627 : \f$^{16}O^{16}O^{16}O\f$ (see \ref definitions) <br>
628 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, and <b>frequency</b> in GHz. */
629 : inline std::complex<double> getSpecificRefractivity_16o16o16o_v1(double temperature,double pressure,double frequency)
630 : {unsigned int species=18; return mkSpecificRefractivity(species, temperature, pressure, frequency);}
631 :
632 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for vibrationally excited (v1 state)
633 : \f$^{16}O^{16}O^{16}O\f$ (see \ref definitions) <br>
634 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>frequency</b> in GHz,
635 : <b>width</b> (channel width around <b>frequency</b>) in GHz, and <b>n</b> (number of frequency points for averaging within <b>width</b>). */
636 : std::complex<double> getSpecificRefractivity_16o16o16o_v1(double temperature,double pressure,double frequency,double width,unsigned int n)
637 : {unsigned int species=18; return mkSpecificRefractivity(species, temperature, pressure, frequency, width, n);}
638 :
639 :
640 : /** It returns \f$(2\pi\nu/c)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{-1},m^{-1})\f$ for vibrationally excited (v1 state)
641 : \f$^{16}O^{16}O^{16}O\f$ (see \ref definitions) <br>
642 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>frequency</b> in GHz,
643 : and <b>numberdensity</b> in molecules of \f$^{16}O^{16}O^{16}O\f$ \f$v=1\f$ m\f$^{-3}\f$. */
644 : inline std::complex<double> getRefractivity_16o16o16o_v1(double temperature,double pressure,double frequency,double numberdensity)
645 : {return getSpecificRefractivity_16o16o16o_v1(temperature, pressure, frequency)* numberdensity;}
646 :
647 : /** It returns \f$(2\pi\nu/c)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{-1},m^{-1})\f$ for vibrationally excited (v1 state)
648 : \f$^{16}O^{16}O^{16}O\f$ (see \ref definitions) <br>
649 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>frequency</b> in GHz,
650 : <b>width</b> (channel width around <b>frequency</b>) in GHz, <b>n</b> (number of frequency points for averaging within <b>width</b>),
651 : and <b>numberdensity</b> in molecules of \f$^{16}O^{16}O^{16}O\f$ \f$v=1\f$ m\f$^{-3}\f$. */
652 : std::complex<double> getRefractivity_16o16o16o_v1(double temperature,double pressure,double frequency,double width,unsigned int n,double numberdensity)
653 : {return getSpecificRefractivity_16o16o16o_v1(temperature, pressure, frequency, width, n)* numberdensity;}
654 :
655 : /*************************************************************************************************************/
656 :
657 :
658 :
659 : /************************** 16o16o16o v3 (species 19) *********************************************************/
660 :
661 :
662 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for vibrationally excited (v3 state)
663 : \f$^{16}O^{16}O^{16}O\f$ (see \ref definitions) <br>
664 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, and <b>frequency</b> in GHz. */
665 : inline std::complex<double> getSpecificRefractivity_16o16o16o_v3(double temperature,double pressure,double frequency)
666 : {unsigned int species=19; return mkSpecificRefractivity(species, temperature, pressure, frequency);}
667 :
668 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for vibrationally excited (v3 state)
669 : \f$^{16}O^{16}O^{16}O\f$ (see \ref definitions) <br>
670 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>frequency</b> in GHz,
671 : <b>width</b> (channel width around <b>frequency</b>) in GHz, and <b>n</b> (number of frequency points for averaging within <b>width</b>). */
672 : std::complex<double> getSpecificRefractivity_16o16o16o_v3(double temperature,double pressure,double frequency,double width,unsigned int n)
673 : {unsigned int species=19; return mkSpecificRefractivity(species, temperature, pressure, frequency, width, n);}
674 :
675 : /** It returns \f$(2\pi\nu/c)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{-1},m^{-1})\f$ for vibrationally excited (v3 state)
676 : \f$^{16}O^{16}O^{16}O\f$ (see \ref definitions) <br>
677 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>frequency</b> in GHz,
678 : and <b>numberdensity</b> in molecules of \f$^{16}O^{16}O^{16}O\f$ \f$v=3\f$ m\f$^{-3}\f$. */
679 : inline std::complex<double> getRefractivity_16o16o16o_v3(double temperature,double pressure,double frequency,double numberdensity)
680 : {return getSpecificRefractivity_16o16o16o_v3(temperature, pressure, frequency)* numberdensity;}
681 :
682 : /** It returns \f$(2\pi\nu/c)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{-1},m^{-1})\f$ for vibrationally excited (v3 state)
683 : \f$^{16}O^{16}O^{16}O\f$ (see \ref definitions) <br>
684 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>frequency</b> in GHz,
685 : <b>width</b> (channel width around <b>frequency</b>) in GHz, <b>n</b> (number of frequency points for averaging within <b>width</b>),
686 : and <b>numberdensity</b> in molecules of \f$^{16}O^{16}O^{16}O\f$ \f$v=3\f$ m\f$^{-3}\f$. */
687 : std::complex<double> getRefractivity_16o16o16o_v3(double temperature,double pressure,double frequency,double width,unsigned int n,double numberdensity)
688 : {return getSpecificRefractivity_16o16o16o_v3(temperature, pressure, frequency, width, n)* numberdensity;}
689 :
690 : /*************************************************************************************************************/
691 :
692 :
693 :
694 : /************************** 16o16o18o (species 20) *********************************************************/
695 :
696 :
697 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for
698 : \f$^{16}O^{16}O^{18}O\f$ (see \ref definitions) <br>
699 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, and <b>frequency</b> in GHz. */
700 : inline std::complex<double> getSpecificRefractivity_16o16o18o(double temperature,double pressure,double frequency)
701 : {unsigned int species=20; return mkSpecificRefractivity(species, temperature, pressure, frequency);}
702 :
703 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for
704 : \f$^{16}O^{16}O^{18}O\f$ (see \ref definitions) <br>
705 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>frequency</b> in GHz,
706 : <b>width</b> (channel width around <b>frequency</b>) in GHz, and <b>n</b> (number of frequency points for averaging within <b>width</b>). */
707 : std::complex<double> getSpecificRefractivity_16o16o18o(double temperature,double pressure,double frequency,double width,unsigned int n)
708 : {unsigned int species=20; return mkSpecificRefractivity(species, temperature, pressure, frequency, width, n);}
709 :
710 :
711 : /** It returns \f$(2\pi\nu/c)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{-1},m^{-1})\f$ for
712 : \f$^{16}O^{16}O^{18}O\f$ (see \ref definitions) <br>
713 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>frequency</b> in GHz,
714 : and <b>numberdensity</b> in molecules of \f$^{16}O^{16}O^{18}O\f$ m\f$^{-3}\f$. */
715 : inline std::complex<double> getRefractivity_16o16o18o(double temperature,double pressure,double frequency,double numberdensity)
716 : {return getSpecificRefractivity_16o16o18o(temperature, pressure, frequency)* numberdensity;}
717 :
718 : /** It returns \f$(2\pi\nu/c)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{-1},m^{-1})\f$ for
719 : \f$^{16}O^{16}O^{18}O\f$ (see \ref definitions) <br>
720 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>frequency</b> in GHz,
721 : <b>width</b> (channel width around <b>frequency</b>) in GHz, <b>n</b> (number of frequency points for averaging within <b>width</b>),
722 : and <b>numberdensity</b> in molecules of \f$^{16}O^{16}O^{18}O\f$ m\f$^{-3}\f$. */
723 : std::complex<double> getRefractivity_16o16o18o(double temperature,double pressure,double frequency,double width,unsigned int n,double numberdensity)
724 : {return getSpecificRefractivity_16o16o18o(temperature, pressure, frequency, width, n)* numberdensity;}
725 :
726 : /*************************************************************************************************************/
727 :
728 :
729 :
730 : /************************** 16o16o17o (species 21) *********************************************************/
731 :
732 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for
733 : \f$^{16}O^{16}O^{17}O\f$ (see \ref definitions) <br>
734 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, and <b>frequency</b> in GHz. */
735 : inline std::complex<double> getSpecificRefractivity_16o16o17o(double temperature,double pressure,double frequency)
736 : {unsigned int species=21; return mkSpecificRefractivity(species, temperature, pressure, frequency);}
737 :
738 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for
739 : \f$^{16}O^{16}O^{17}O\f$ (see \ref definitions) <br>
740 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>frequency</b> in GHz,
741 : <b>width</b> (channel width around <b>frequency</b>) in GHz, and <b>n</b> (number of frequency points for averaging within <b>width</b>). */
742 : std::complex<double> getSpecificRefractivity_16o16o17o(double temperature,double pressure,double frequency,double width,unsigned int n)
743 : {unsigned int species=21; return mkSpecificRefractivity(species, temperature, pressure, frequency, width, n);}
744 :
745 :
746 : /** It returns \f$(2\pi\nu/c)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{-1},m^{-1})\f$ for
747 : \f$^{16}O^{16}O^{17}O\f$ (see \ref definitions) <br>
748 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>frequency</b> in GHz,
749 : and <b>numberdensity</b> in molecules of \f$^{16}O^{16}O^{17}O\f$ m\f$^{-3}\f$. */
750 : inline std::complex<double> getRefractivity_16o16o17o(double temperature,double pressure,double frequency,double numberdensity)
751 : {return getSpecificRefractivity_16o16o17o(temperature, pressure, frequency)* numberdensity;}
752 :
753 : /** It returns \f$(2\pi\nu/c)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{-1},m^{-1})\f$ for
754 : \f$^{16}O^{16}O^{17}O\f$ (see \ref definitions) <br>
755 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>frequency</b> in GHz,
756 : <b>width</b> (channel width around <b>frequency</b>) in GHz, <b>n</b> (number of frequency points for averaging within <b>width</b>),
757 : and <b>numberdensity</b> in molecules of \f$^{16}O^{16}O^{17}O\f$ m\f$^{-3}\f$. */
758 : std::complex<double> getRefractivity_16o16o17o(double temperature,double pressure,double frequency,double width,unsigned int n,double numberdensity)
759 : {return getSpecificRefractivity_16o16o17o(temperature, pressure, frequency, width, n)* numberdensity;}
760 :
761 : /*************************************************************************************************************/
762 :
763 :
764 :
765 : /************************** 16o18o16o (species 22) *********************************************************/
766 :
767 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for
768 : \f$^{16}O^{18}O^{16}O\f$ (see \ref definitions) <br>
769 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, and <b>frequency</b> in GHz. */
770 : inline std::complex<double> getSpecificRefractivity_16o18o16o(double temperature,double pressure,double frequency)
771 : {unsigned int species=22; return mkSpecificRefractivity(species, temperature, pressure, frequency);}
772 :
773 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for
774 : \f$^{16}O^{18}O^{16}O\f$ (see \ref definitions) <br>
775 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>frequency</b> in GHz,
776 : <b>width</b> (channel width around <b>frequency</b>) in GHz, and <b>n</b> (number of frequency points for averaging within <b>width</b>). */
777 : std::complex<double> getSpecificRefractivity_16o18o16o(double temperature,double pressure,double frequency,double width,unsigned int n)
778 : {unsigned int species=22; return mkSpecificRefractivity(species, temperature, pressure, frequency, width, n);}
779 :
780 : /** It returns \f$(2\pi\nu/c)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{-1},m^{-1})\f$ for
781 : \f$^{16}O^{18}O^{16}O\f$ (see \ref definitions) <br>
782 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>frequency</b> in GHz,
783 : and <b>numberdensity</b> in molecules of \f$^{16}O^{18}O^{16}O\f$ m\f$^{-3}\f$. */
784 : inline std::complex<double> getRefractivity_16o18o16o(double temperature,double pressure,double frequency,double numberdensity)
785 : {return getSpecificRefractivity_16o18o16o(temperature, pressure, frequency)* numberdensity;}
786 :
787 : /** It returns \f$(2\pi\nu/c)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{-1},m^{-1})\f$ for
788 : \f$^{16}O^{18}O^{16}O\f$ (see \ref definitions) <br>
789 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>frequency</b> in GHz,
790 : <b>width</b> (channel width around <b>frequency</b>) in GHz, <b>n</b> (number of frequency points for averaging within <b>width</b>),
791 : and <b>numberdensity</b> in molecules of \f$^{16}O^{18}O^{16}O\f$ m\f$^{-3}\f$. */
792 : std::complex<double> getRefractivity_16o18o16o(double temperature,double pressure,double frequency,double width,unsigned int n,double numberdensity)
793 : {return getSpecificRefractivity_16o18o16o(temperature, pressure, frequency, width, n)* numberdensity;}
794 :
795 : /*************************************************************************************************************/
796 :
797 :
798 :
799 : /************************** 16o17o16o (species 23) *********************************************************/
800 :
801 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for
802 : \f$^{16}O^{17}O^{16}O\f$ (see \ref definitions) <br>
803 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, and <b>frequency</b> in GHz. */
804 : inline std::complex<double> getSpecificRefractivity_16o17o16o(double temperature,double pressure,double frequency)
805 : {unsigned int species=22; return mkSpecificRefractivity(species, temperature, pressure, frequency);}
806 :
807 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for
808 : \f$^{16}O^{17}O^{16}O\f$ (see \ref definitions) <br>
809 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>frequency</b> in GHz,
810 : <b>width</b> (channel width around <b>frequency</b>) in GHz, and <b>n</b> (number of frequency points for averaging within <b>width</b>). */
811 : std::complex<double> getSpecificRefractivity_16o17o16o(double temperature,double pressure,double frequency,double width,unsigned int n)
812 : {unsigned int species=22; return mkSpecificRefractivity(species, temperature, pressure, frequency, width, n);}
813 :
814 : /** It returns \f$(2\pi\nu/c)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{-1},m^{-1})\f$ for
815 : \f$^{16}O^{17}O^{16}O\f$ (see \ref definitions) <br>
816 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>frequency</b> in GHz,
817 : and <b>numberdensity</b> in molecules of \f$^{16}O^{17}O^{16}O\f$ m\f$^{-3}\f$. */
818 : inline std::complex<double> getRefractivity_16o17o16o(double temperature,double pressure,double frequency,double numberdensity)
819 : {return getSpecificRefractivity_16o17o16o(temperature, pressure, frequency)* numberdensity;}
820 :
821 : /** It returns \f$(2\pi\nu/c)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{-1},m^{-1})\f$ for
822 : \f$^{16}O^{17}O^{16}O\f$ (see \ref definitions) <br>
823 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>frequency</b> in GHz,
824 : <b>width</b> (channel width around <b>frequency</b>) in GHz, <b>n</b> (number of frequency points for averaging within <b>width</b>),
825 : and <b>numberdensity</b> in molecules of \f$^{16}O^{17}O^{16}O\f$ m\f$^{-3}\f$. */
826 : std::complex<double> getRefractivity_16o17o16o(double temperature,double pressure,double frequency,double width,unsigned int n,double numberdensity)
827 : {return getSpecificRefractivity_16o17o16o(temperature, pressure, frequency, width, n)* numberdensity;}
828 :
829 : /*************************************************************************************************************/
830 :
831 : /** It returns \f$(2\pi\nu/c)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{-1},m^{-1})\f$ for
832 : \f$species\f$ (see \ref definitions) <br>
833 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, <b>frequency</b> in GHz,
834 : and <b>numberdensity</b> in molecules of \f$species\f$ m\f$^{-3}\f$. */
835 : std::complex<double> getRefractivity(unsigned int species,double temperature,double pressure,double frequency,double numberdensity)
836 : {return getSpecificRefractivity(species, temperature, pressure, frequency)* numberdensity;}
837 :
838 : /** It returns \f$(2\pi\nu/c\rho_g)\cdot(N_{rg}+iN_{ig})\f$ with units \f$(rad\cdot m^{2},m^{2})\f$ for
839 : \f$species\f$ (see \ref definitions) <br>
840 : The parameters are <b>temperature</b> in K, <b>pressure</b> in hPa, and <b>frequency</b> in GHz. */
841 : std::complex<double> getSpecificRefractivity(unsigned int species,double temperature,double pressure,double frequency)
842 : {return mkSpecificRefractivity(species, temperature, pressure, frequency);}
843 :
844 :
845 :
846 : //@}
847 :
848 : private:
849 :
850 : std::complex<double> mkSpecificRefractivity(unsigned int species, // species --> 1 to 23
851 : double temperature,
852 : double pressure,
853 : double wvpressure,
854 : double frequency);
855 :
856 211640 : std::complex<double> mkSpecificRefractivity(unsigned int species, double temperature, double pressure, double frequency){return mkSpecificRefractivity(species, temperature, pressure, double(0.0), frequency);}
857 :
858 : std::complex<double> mkSpecificRefractivity(unsigned int species, // species --> 1 to 23
859 : double temperature,
860 : double pressure,
861 : double wvpressure,
862 : double frequency,
863 : double width,
864 : unsigned int n);
865 :
866 : std::complex<double> mkSpecificRefractivity(unsigned int species, double temperature, double pressure, double frequency, double width, unsigned int n){return mkSpecificRefractivity(species, temperature, pressure, double(0.0), frequency, width, n);}
867 :
868 : std::complex<double> mkSpecificRefractivity_16o16o(double temperature, /// 1
869 : double pressure,
870 : double wvpressure,
871 : double frequency);
872 : std::complex<double> mkSpecificRefractivity_16o16o_vib(double temperature, /// 2
873 : double pressure,
874 : double wvpressure,
875 : double frequency);
876 : std::complex<double> mkSpecificRefractivity_16o18o(double temperature, /// 3
877 : double pressure,
878 : double wvpressure,
879 : double frequency);
880 : std::complex<double> mkSpecificRefractivity_16o17o(double temperature, /// 4
881 : double pressure,
882 : double wvpressure,
883 : double frequency);
884 : std::complex<double> mkSpecificRefractivity_co(double temperature, /// 5
885 : double pressure,
886 : double frequency);
887 : std::complex<double> mkSpecificRefractivity_n2o(double temperature, /// 6
888 : double pressure,
889 : double frequency);
890 : std::complex<double> mkSpecificRefractivity_no2(double temperature, /// 7
891 : double pressure,
892 : double frequency);
893 : std::complex<double> mkSpecificRefractivity_so2(double temperature, /// 8
894 : double pressure,
895 : double frequency);
896 : std::complex<double> mkSpecificRefractivity_cnth2o(double temperature, /// 9
897 : double pressure,
898 : double wvpressure,
899 : double frequency);
900 : std::complex<double> mkSpecificRefractivity_cntdry(double temperature, /// 10
901 : double pressure,
902 : double wvpressure,
903 : double frequency);
904 : std::complex<double> mkSpecificRefractivity_hh16o(double temperature, /// 11
905 : double pressure,
906 : double wvpressure,
907 : double frequency);
908 : std::complex<double> mkSpecificRefractivity_hh16o_v2(double temperature, /// 12
909 : double pressure,
910 : double wvpressure,
911 : double frequency);
912 : std::complex<double> mkSpecificRefractivity_hh18o(double temperature, /// 13
913 : double pressure,
914 : double wvpressure,
915 : double frequency);
916 : std::complex<double> mkSpecificRefractivity_hh17o(double temperature, /// 14
917 : double pressure,
918 : double wvpressure,
919 : double frequency);
920 : std::complex<double> mkSpecificRefractivity_hdo(double temperature, /// 15
921 : double pressure,
922 : //double wvpressure, // unused parameter
923 : double frequency);
924 : std::complex<double> mkSpecificRefractivity_16o16o16o(double temperature, /// 16
925 : double pressure,
926 : double frequency);
927 : std::complex<double> mkSpecificRefractivity_16o16o16o_v2(double temperature, /// 17
928 : double pressure,
929 : double frequency);
930 : std::complex<double> mkSpecificRefractivity_16o16o16o_v1(double temperature, /// 18
931 : double pressure,
932 : double frequency);
933 : std::complex<double> mkSpecificRefractivity_16o16o16o_v3(double temperature, /// 19
934 : double pressure,
935 : double frequency);
936 : std::complex<double> mkSpecificRefractivity_16o16o18o(double temperature, /// 20
937 : double pressure,
938 : double frequency);
939 : std::complex<double> mkSpecificRefractivity_16o16o17o(double temperature, /// 21
940 : double pressure,
941 : double frequency);
942 : std::complex<double> mkSpecificRefractivity_16o18o16o(double temperature, /// 22
943 : double pressure,
944 : double frequency);
945 : std::complex<double> mkSpecificRefractivity_16o17o16o(double temperature, /// 23
946 : double pressure,
947 : double frequency);
948 :
949 : unsigned int vpIndex(double nu);
950 : double linebroadening(double frequency,
951 : double temperature,
952 : double pressure,
953 : double mmol,
954 : double dv0_lines,
955 : double texp_lines);
956 : double linebroadening_water(double frequency,
957 : double temperature,
958 : double pressure,
959 : double wvpressure,
960 : double ensanche1,
961 : double ensanche2,
962 : double ensanche3,
963 : double ensanche4);
964 : double linebroadening_hh18o_hh17o(double temperature,
965 : double pressure,
966 : double ph2o,
967 : double dv0,
968 : double dvlm,
969 : double temp_exp);
970 : double linebroadening_o2(double frequency,
971 : double temperature,
972 : double pressure,
973 : double ph2o,
974 : double mmol,
975 : double ensanche1,
976 : double ensanche2);
977 : double interf_o2(double temperature,
978 : double pressure,
979 : double ensanche3,
980 : double ensanche4);
981 : std::complex<double> lineshape(double frequency,
982 : double linefreq,
983 : double linebroad,
984 : double interf);
985 :
986 : }; // class RefractiveIndex
987 :
988 : ATM_NAMESPACE_END
989 :
990 : #endif /*!_ATM_REFRACTIVEINDEX_H*/
|