Opacities¶
Here we list features and constructs designed specifically to facilitate opacity produciton: computation of cross sections on a large grid of temperatures and pressures.
The method is described in: K. L. Chubb, M. Rocchetto, S. N. Yurchenko, M. Min, I. Waldmann, J. K. Barstow, P. Molliére, A. F. Al-Refaie, M. Phillips, and J. Tennyson. “The ExoMolOP Database: Cross-sections and k-tables for Molecules of Interest in High-Temperature Exoplanet Atmospheres”. A&A, 646:A21, 2020.
Computing cross sections on a grid of temperatures (array job)¶
For opacity productions when cross sections are computed for a large set of temperatures, it can be more efficient to process cross sections for all temperatures simultaneously, similarly how the partition and cooling functions are computed. To this end, the following TEMPERATURE-ARRAY (array) block structure can be used. The saving is due to a reduced IO: the line list files need to be read only ones and used for all the temperatures.
Range 0 5900
Npoints 5901
temperature-array
n 10
tmin 100
tmax 1000
end
absorption
voigt
mass 26
species
air gamma 0.007 n 0.65 t0 296.0
end
pressure 1
output 12C-14N__5000K_test
NCache 500
NPROCS 36
States 12C-14N__MoLLIST.states
Transitions 12C-14N__MoLLIST_10lines.trans
Here
Nis the number of temperature steps (e.g. 10)Tminis the minima temperature in KTmaxis the maximal temperature in K
All cross sections are printed out into a single output file as different columns following the frequency column, e.g.
....
5.88500000E+003 7.97795033E-036 1.72172105E-030 1.50934418E-028 1.84056995E-027 8.75964032E-027 2.47807332E-026 5.14418985E-026
5.88700000E+003 1.17182482E-035 1.75296505E-030 1.32946282E-028 1.57424065E-027 7.50135150E-027 2.14298647E-026 4.51073365E-026
5.88800000E+003 2.12842862E-035 2.98897895E-030 1.56465959E-028 1.28410634E-027 4.90675516E-027 1.23246563E-026 2.40312414E-026
5.88900000E+003 6.41335689E-035 9.31393311E-030 4.36473210E-028 2.97204673E-027 9.52430574E-027 2.08438541E-026 3.65880214E-026
....
It is also possible to use a non-uniform temperature-list by explicitly specifying the temperatures to process similar to the pressure-list as follows
Range 0 5900
Npoints 5901
temperature-list
300
400
1000
end
The main (standard) output will also contain values of the total absorption for each temperature.
The partition function will be recomputed based on the .states file provided.
Warning
This feature works currently only for the basic case of Absorption and Voigt, Gauss, Doppler, with no Filters, non-LTE etc.
Two-step production of cross sections using super-lines¶
For very large line lists, it is more efficient (but less accurate) to (i) compute temperature-dependent super-lines and then use them to produce temperature/pressure-dependent cross-sections. This can be done using the line profile Voigt-super. Everything else is as for the normal case of the Voigt profile. This procedure can only use single line-broadening parameters. By defaults, the cross sections are computed on the same grid as the super-lines, i.e. the grid spacings are the same. Here is a basic example:
Temperature 2000
Range 2000 2100
Npoints 1001
pffile 12C-14N__KTPSYT_500.pf
absorption
voigt-super
mass 26
species
air gamma 0.007 n 0.65 t0 296.0 ratio 1.00 delta 0.000000
end
pressure 1
output 12C-14N__2000K_Voigt
States 12C-14N__MoLLIST.states
Transitions 12C-14N__MoLLIST.trans
It is possible to use the resolving-power grid for super-lines and then mapped it onto an equidistant map of grid of Npoints, for example
Temperature 2000
Range 2000 2100
R 100000
Npoints 10001
pffile 12C-14N__KTPSYT_500.pf
absorption
voigt-super
.....
Here, the super-lines are computed on the \(R=100000\) grid and then transformed to \(N_{\rm points} = 10001\) grid.
Warning
This feature works only currently only for the basic case of Absorption and Voigt with no Filters, non-LTE etc.
Super-lines for an array of temperatures.¶
The Voigt-super can be combined with the Array structure to be processed on a grid of temperatures by adding an Array section, e.g.
Temperature 2000
Range 2000 2100
Npoints 1001
pffile 12C-14N__KTPSYT_500.pf
absorption
voigt-super
array
N 10
tmin 100
tmax 1000
end
mass 26
species
air gamma 0.007 n 0.65 t0 296.0 ratio 1.00 delta 0.000000
end
pressure 1
output 12C-14N__2000K_Voigt
States 12C-14N__MoLLIST.states
Transitions 12C-14N__MoLLIST.trans
Using the super-lines two-step procedure with the Gaussian type profiles¶
The super-lines intermediate step can be used with the Gaussian-type (Gaussian, Gauss0, Doppler, Doppl0 ). This is when the lines are first binned into super-lines at step 1 on a dense grid (can be both equidistant or non-equidistant) which are then dressed with the corresponding line profiles. The latter cannot be quantum number dependent, only wavenumber-dependent. This option can be activated by simply adding the keyword super to the associated profile keyword, e.g.:
Range 0 20000
Npoints 20000
temperature-list
300
400
500
end
absorption
gaussian
output 16O2__SWYT
States 16O2__SWYT.states
transitions
16O2__SWYT__E2.trans
16O2__SWYT__M1.trans
end
Using the Gaussian profile with the particle-in-the-box broadening¶
The the particle-in-the-box broadening model is used to provide a non-uniform line broadening for the photoabsorption and photodissociation calculations as part of the continuum spectra. In these calculations, the continuum is computed as quasi-continuum, discretised lines and the redisrtibuted using a large-width Gaussian. The broadening depends on the “vibrational” quantum number \(v\) (specified in the block QN) and technically cannot be used with super-lines. Instead, ExoCross maps the \(v\) dependence on the wavenumber grid by taking the intensity weighted average of the line broadening parameter at each wavenumber grid point and each temperature:
where \(\tilde\nu_k\) is the wavenumber grid (centre of the super-line) point, \(i,f\) are the indices of the lower, upper states, respectively for all transitions \(\nu_{i,f}\) that fall into the bin \(\tilde\nu_k \pm \frac{\Delta \nu}{2}\), \(I_{i,f}\) is the associated line intensity, \(\Delta \nu}\) is the bin size, \(\Delta I_{k}(Т)\) is the total line intensity within the bin centred around :amth:`\tilde:\nu_k`, i.e. around the centre of the super-line. That is, the averaged value of the line broadening is based on the weight
The line parameters \(\gamma(\tilde\nu_k,T)\) are then used as broadenings for the corresponding super-lines centered at grid points \(\tilde\nu_k\).
Here is an example of the input file where the Gaussian line profile, particle-in-a-box broadening model and the super-lines procedure are combined:
temperature-list
200
300
end
Range 0.0 83334
npoints 333336
absorption
gaussian super
QN
K 8
end
cutoff 500 (line wing cutoff in cm-1)
output SO_gaussian_super_box
species
particle gamma 1.0 mass 10.6613025642667 Lbox 4.7 model box
end
States SO_SOLIS-plus.states
Transitions SO_SOLIS-plus.trans
Computing cross sections on a list of pressures¶
Note
This feature is currently only available for Absorption and Voigt-super, with or without Array and with no Filters, non-LTE etc.
If the goal is to compute opacities on a list of temperatures and pressures and in order to take the full advantage of the two-step procedure (super-lines+Voigt) Voigt-super, it can be processed for a list of pressures as part of a single cross sections job. To this end, a block structure pressure-list is introduced as given by
pressure-list
1.00000000e-05
2.15443469e-05
4.64158883e-05
1.00000000e-04
2.15443469e-04
4.64158883e-04
1.00000000e-03
end
The result is a set of output files with cross sections written for each of the pressure values given. The filename is appended with a suffix containing the associated value of pressure, e.g. 12C-14N__2000K_Voigt__1.00000000e-05.xsec.
The pressure-list structure can be combined with the array of temperatures block, e.g.
mem 16.0 gb
Temperature 2000
Range 2010 2070
Npoints 90001
R 100000
pffile 12C-14N__KTPSYT_500.pf
absorption
voigt-super
array
n 2
tmin 1000
tmax 2000
end
pressure-list
1.00000000e-05
2.15443469e-05
4.64158883e-05
1.00000000e-04
2.15443469e-04
4.64158883e-04
1.00000000e-03
end
mass 26
species
air gamma 0.007 n 0.65 t0 296.0 ratio 1.00 delta 0.000000
end
pressure 1
output 12C-14N__2000K_Voigt
Ncache 500
NPROCS 36
verbose 4
States 12C-14N__MoLLIST.states
Transitions 12C-14N__MoLLIST_line.trans