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