LCOV - code coverage report
Current view: top level - atmosphere/ATM - ATMRefractiveIndex.h (source / functions) Hit Total Coverage
Test: casacpp_coverage.info Lines: 15 15 100.0 %
Date: 2024-10-10 15:00:01 Functions: 8 8 100.0 %

          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       49910 :   inline std::complex<double> getRefractivity_o3(double temperature, double pressure, double frequency, double numberdensity)
     154       49910 :     {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       49910 :   inline std::complex<double> getSpecificRefractivity_co(double temperature,double pressure,double frequency)
     306       49910 :     {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       49910 :   inline std::complex<double> getSpecificRefractivity_n2o(double temperature,double pressure,double frequency)
     339       49910 :     {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       49910 :   inline std::complex<double> getSpecificRefractivity_no2(double temperature,double pressure,double frequency)
     371       49910 :     {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       49910 :   inline std::complex<double> getSpecificRefractivity_so2(double temperature,double pressure,double frequency)
     403       49910 :     {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       49910 :   inline std::complex<double> getSpecificRefractivity_cnth2o(double temperature,double pressure,double wvpressure,double frequency)
     435       49910 :     {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       49910 :   inline std::complex<double> getSpecificRefractivity_cntdry(double temperature,double pressure,double wvpressure,double frequency)
     455       49910 :     {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      199640 :   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*/

Generated by: LCOV version 1.16