Dace Database
The DACE Opacity Database (https://dace.unige.ch) contain a large number of calculated Opacities. Most species from the EXOMOL, HITRAN, NIST, VALD, and Kurucz databases are available there.
This section shows how to calculate new opacities in the same format as in DACE.
Step 1: Download and prepare the linelists.
Follow the instructions on the section about the different linelist databse ExoMol HITRAN, HITEMP, Kurucz Database, NIST Database, and VALD3 Database. This step will create the binary line lists and the species.param files needed to run Helios-k
Step 2: Create a runscript to run Helios-k for all desired T P and nu values.
The values for the tmeperature, pressure and wavenumbers in DACE are set in the following way:
wavenumber \(\nu\): from zero to the maximum available wavenuumber of the individual line list. Round up the maximum to the next step of 1000 \(cm^{-1}\).
Temperature T: Check the maximum available temperature in the corresponding partition function file. The DACE database uses the following temperatures:
50, 100, 150, 200, 250, 300, 350, 400, 450, 500, 550, 600, (step = 50K) 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, (step = 100K) 1700, 1900, 2100, 2300, 2500, 2700, 2900, ... (step = 200K)
Pressure p: The DACE database uses the following pressure values wiht the corresponding notation:
n800 :math:`10^{-8.00} bar = 9.8692326700000007768e-09 atm n766 :math:`10^{-7.66} bar = 2.1262617228243976416e-08 atm n733 :math:`10^{-7.33} bar = 4.5808920157398465827e-08 atm n700 :math:`10^{-7.00} bar = 9.8692326699999991224e-08 atm n666 :math:`10^{-6.66} bar = 2.1262617228243975093e-07 atm n633 :math:`10^{-6.33} bar = 4.580892015739846318e-07 atm n600 :math:`10^{-6.00} bar = 9.8692326700000004459e-07 atm n566 :math:`10^{-5.66} bar = 2.1262617228243974034e-06 atm n533 :math:`10^{-5.33} bar = 4.5808920157398460004e-06 atm n500 :math:`10^{-5.00} bar = 9.8692326700000012929e-06 atm n466 :math:`10^{-4.66} bar = 2.1262617228243976575e-05 atm n433 :math:`10^{-4.33} bar = 4.5808920157398456616e-05 atm n400 :math:`10^{-4.00} bar = 9.8692326700000002765e-05 atm n366 :math:`10^{-3.66} bar = 0.00021262617228243998937 atm n333 :math:`10^{-3.33} bar = 0.00045808920157398413248 atm n300 :math:`10^{-3.00} bar = 0.00098692326700000002765 atm n266 :math:`10^{-2.66} bar = 0.0021262617228243996768 atm n233 :math:`10^{-2.33} bar = 0.0045808920157398413248 atm n200 :math:`10^{-2.00} bar = 0.0098692326700000002765 atm n166 :math:`10^{-1.66} bar = 0.021262617228243983758 atm n133 :math:`10^{-1.33} bar = 0.045808920157398416717 atm n100 :math:`10^{-1.00} bar = 0.098692326699999999295 atm n066 :math:`10^{-0.66} bar = 0.21262617228243987921 atm n033 :math:`10^{-0.33} bar = 0.45808920157398430595 atm p000 :math:`10^{0.00} bar = 0.98692326699999999295 atm p033 :math:`10^{0.33} bar = 2.1262617228243989587 atm p066 :math:`10^{0.66} bar = 4.5808920157398427264 atm p100 :math:`10^{1.00} bar = 9.8692326700000005957 atm p133 :math:`10^{1.33} bar = 21.262617228243986034 atm p166 :math:`10^{1.66} bar = 45.808920157398411277 atm p200 :math:`10^{2.00} bar = 98.692326699999995299 atm p233 :math:`10^{2.33} bar = 212.62617228243999534 atm p266 :math:`10^{2.66} bar = 458.0892015739841554 atm p300 :math:`10^{3.00} bar = 986.92326700000000983 atm
This can be done with the initialPressure code (available in the repository tools directory).
Choose the maximum temperature according to the maximum value in the partition function file and the wavenumber to the maximum available range in steps of 1000 \(cm^{-1}\):
./initialPressure -M 27_1_hit -nMax 4 -TMax 38
Step 3: Create a new folder
Create a new folder with the name of the species e.g. 12C2-1H6__HITRAN_e2
The ending indicates a resolution of 10^-2 in binary format.
Step 4: Copy files
Copy the generated run sript, heliosk, and param.dat into that folder.
Make sure that the pathToData points to the correct folder with the generated binary line list files.
Make sure that doStoreFullK is set to 2 to generated binary opacity files.
Other relevant parameters are overwritten by the runscript.
The param.dat file should look like this:
name = i
T = 100.0
P = 1.0
PFile = -
Species Name = 01_hit16
SpeciesFile = -
ciaSystem = -
pathToData = /home/sigrimm/exogp0/sigrimm/EXOMOL/
numin = 0.0
numax = 1000.0
dnu = 0.01
Nnu per bin = 0
cutMode = 0
cut = 100.0
doResampling = 0
nC = 20
doTransmission = 0
nTr = 1000
dTr = 0.05
doStoreFullK = 2
pathToK =
doStoreSK = 0
nbins = 1
binsFile = -
OutputEdgesFile = -
kmin = 0.0
qalphaL = 1.0
gammaF = 1.0
doMean = 0
Units = 0
ReplaceFiles = 1
profile = 1
subLorentzianfile = -
removePlinth = 0
doTuning = 1
Run script:
bash script<name>
This will run Helios-K for all necessary input parameters.
Step 5: Merge Wavenumber Files
The calculated opacity files are split into wavenumber bins of 1000 \(cm^{-1}\). The reason is that some large line list files can not even be fully stored on some GPU machines.
The output files can no be merged together into single wavenumber files.
Create a new directory with ending _e2b, e.g.:
mkdir 12C2-1H6__HITRAN_e2b
run:
./reduce -b 1 -reduce 1 -dnu 0.01 -numin 0 -numax 4000 -Tmin 0 -Tmax 4900 -indir 12C2-1H6__HITRAN_e2 -outdir 12C2-1H6__HITRAN_e2b
The reduce code is available in the tools directory of the Helios-K repository.
Step 6: Downsample files and produce text format output files.
Create a new directory with ending _e0DAT, e.g.:
mkdir 12C2-1H6__HITRAN_e0DAT
run:
./reduce -b 0 -reduce 100 -dnu 0.01 -numin 0 -numax 4000 -Tmin 0 -Tmax 4900 -indir 12C2-1H6__HITRAN_e2 -outdir 12C2-1H6__HITRAN_e0Dat
The reduce code is available in the tools directory of the Helios-K repository.
Step 7: Add folders to the Opacity Database folder
At ETHZ, the opacity database folders are stored here:
exogp0.dhcp-int.phys.ethz.ch:/storage/Opacity3/
Copy new calculated opacities to this folder.
Add an entry in the Molecules2.txt file.
The columns in this file are:
minimum wavenumber
maximum wavenumber
maximum temperature
name of folders
name of line list files
version of the calculated opacities