lineshapes
index
/users/schrei_f/src/py4CAtS/lite/src/lineshapes.py

Line profile functions normalized to 1.0 with wavenumber (array) and position, strengths, and width(s) as input variables.

 
Functions
       
Gauss(vGrid, vLine=0.0, S=1.0, gammaD=1.0)
Doppler broadening:  Gauss profile normalized to one, multiplied with line strength.
Lorentz(vGrid, vLine=0.0, S=1.0, gammaL=1.0)
Pressure broadening: Lorentz profile normalized to one, multiplied with line strength.
LorentzMix(vGrid, vLine=0.0, S=1.0, gammaL=1.0, yMix=0.0)
Pressure broadening: Lorentz profile incl. line mixing, normalized to one, multiplied with line strength.
See D. Edwards, SPIE Vol. 928 (1986), Eq. (4.5)
Rautian(vGrid, vLine=0.0, S=1.0, gammaL=1.0, gammaD=1.0, gammaN=1.0)
Rautian profile normalized to one, multiplied with line strength.
Broadening by thermal motion and state-perturbing collisions;
hard collision model for velocity-changing collisions; collisional perturbations uncorrelated
 
Philip L. Varghese and Ronald K. Hanson:
Collisional narrowing effects on spectral line shapes measured at high resolution [AO 23(14), 2376-2385, 1984]
Voigt(vGrid, vLine=0.0, S=1.0, gammaL=1.0, gammaD=1.0)
Voigt profile normalized to one, multiplied with line strength.
VoigtMix(vGrid, vLine=0.0, S=1.0, gammaL=1.0, gammaD=1.0, yMix=0.0)
Voigt profile normalized to one, multiplied with line strength.
Voigt_Kuntz_Humlicek1(vGrid, vLine=0.0, S=1.0, gammaL=1.0, gammaD=1.0)
Voigt profile normalized to one, multiplied with line strength.
Rational approximation for asymptotic region for large |x|+y.
Real part only using Kuntz (JQSRT, 1997) implementation with Ruyten's (JQSRT, 2003) correction.
speedVoigt(vGrid, vLine=0.0, S=1.0, gammaL=1.0, gammaD=1.0, gamma2=1.0)
Speed-dependent profile normalized to one, multiplied with line strength.
 
Boone, Walker, Bernath (JQSRT 112, 2011):
An efficient analytical approach for calculating line mixing in atmospheric remote sensing applications
 
Schreier (JQSRT 187, 2017): Computational Aspects of Speed-Dependent Voigt Profiles
speedVoigtMix(vGrid, vLine=0.0, S=1.0, gammaL=1.0, gammaD=1.0, gamma2=1.0, yMix=0.0)
Speed-dependent profile including Rosenkranz line mixing normalized to one, multiplied with line strength.
 
Boone, Walker, Bernath (JQSRT 112, 2011):
An efficient analytical approach for calculating line mixing in atmospheric remote sensing applications
 
F. Schreier (JQSRT 187, 2017):  Computational aspects of speed-dependent Voigt profiles
sqrt(...)
sqrt(x)
 
Return the square root of x.
vanVleckHuber(vGrid, vLine=0.0, S=1.0, gammaL=1.0, temp=250.0)
Pressure broadening: VanVleck-Huber lineshape with tanh prefactor, multiplied with line strength.
See D. Edwards, SPIE Vol. 928 (1986), Eq. (4.3)
ARTS --- Buehler, Eriksson et al., JQSRT Vol. 91 (2005), Table 2
vanVleckWeisskopf(vGrid, vLine=0.0, S=1.0, gammaL=1.0)
Pressure broadening: VanVleck-Weisskopf lineshape without tanh prefactor, multiplied with line strength.
ARTS manual, eq. (3.12)
ARTS --- Buehler, Eriksson et al., JQSRT Vol. 91 (2005), Eq. (7)
See D. Edwards, SPIE Vol. 928 (1986), Eq. (4.3)
voigtWidth(gammaL=1.0, gammaD=1.0)
Half width half maximum (HWHM) of Voigt profile (Whiting's approximation).

 
Data
        c = 29979245800.0
h = 6.62606896e-27
k = 1.3806504e-16
ln2 = 0.6931471805599453
pi = 3.141592653589793
recSqrt2 = 0.7071067811865475
recSqrtLn2 = 1.2011224087864498
recSqrtPi = 0.5641895835477563
sqrtLn2 = 0.8325546111576977
sqrtLn2overPi = 0.46971863934982566
sqrtPi = 1.7724538509055159