Skip to content

Commit

Permalink
include ExoMol super lines
Browse files Browse the repository at this point in the history
  • Loading branch information
sigrimm committed Nov 25, 2020
1 parent d89b4bf commit 7278da4
Show file tree
Hide file tree
Showing 20 changed files with 3,014 additions and 280 deletions.
112 changes: 112 additions & 0 deletions AtomNames.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
1 H Hydrogen
2 He Helium
3 Li Lithium
4 Be Beryllium
5 B Boron
6 C Carbon
7 N Nitrogen
8 O Oxygen
9 F Fluorine
10 Ne Neon
11 Na Sodium
12 Mg Magnesium
13 Al Aluminum
14 Si Silicon
15 P Phosphorus
16 S Sulfur
17 Cl Chlorine
18 Ar Argon
19 K Potassium
20 Ca Calcium
21 Sc Scandium
22 Ti Titanium
23 V Vanadium
24 Cr Chromium
25 Mn Manganese
26 Fe Iron
27 Co Cobalt
28 Ni Nickel
29 Cu Copper
30 Zn Zinc
31 Ga Gallium
32 Ge Germanium
33 As Arsenic
34 Se Selenium
35 Br Bromine
36 Kr Krypton
37 Rb Rubidium
38 Sr Strontium
39 Y Yttrium
40 Zr Zirconium
41 Nb Niobium
42 Mo Molybdenum
43 Tc Technetium
44 Ru Ruthenium
45 Rh Rhodium
46 Pd Palladium
47 Ag Silver
48 Cd Cadmium
49 In Indium
50 Sn Tin
51 Sb Antimony
52 Te Tellurium
53 I Iodine
54 Xe Xenon
55 Cs Cesium
56 Ba Barium
57 La Lanthanum
58 Ce Cerium
59 Pr Praseodymium
60 Nd Neodymium
61 Pm Promethium
62 Sm Samarium
63 Eu Europium
64 Gd Gadolinium
65 Tb Terbium
66 Dy Dysprosium
67 Ho Holmium
68 Er Erbium
69 Tm Thulium
70 Yb Ytterbium
71 Lu Lutetium
72 Hf Hafnium
73 Ta Tantalum
74 W Tungsten
75 Re Rhenium
76 Os Osmium
77 Ir Iridium
78 Pt Platinum
79 Au Gold
80 Hg Mercury
81 Tl Thallium
82 Pb Lead
83 Bi Bismuth
84 Po Polonium
85 At Astatine
86 Rn Radon
87 Fr Francium
88 Ra Radium
89 Ac Actinium
90 Th Thorium
91 Pa Protactinium
92 U Uranium
93 Np Neptunium
94 Pu Plutonium
95 Am Americium
96 Cm Curium
97 Bk Berkelium
98 Cf Californium
99 Es Einsteinium
100 Fm Fermium
101 Md Mendelevium
102 No Nobelium
103 Lr Lawrencium
104 Rf Rutherfordium
105 Db Dubnium
106 Sg Seaborgium
107 Bh Bohrium
108 Hs Hassium
109 Mt Meitnerium
110 Ds Darmstadtium
111 Rg Roentgenium
112 Uub Ununbiium
4 changes: 4 additions & 0 deletions ISO.h
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,10 @@ int Init(Molecule &m, Param &param, char (*qFilename)[160]){
sprintf(m.dataFilename[i], "%s%s.", param.path, m.mName);
}
}
if(param.dataBase == 20){
//ExoMol super lines
sprintf(m.dataFilename[i], "%s%s.", param.path, m.mName);
}
if(param.dataBase == 3){
//IAO (CDSD)
if(m.nFiles > 1){
Expand Down
4 changes: 3 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ BUILD_DATA = -DGIT_DESCRIBE=\"$(GIT_DESCRIBE)\" -DBUILD_DATE=\"$(BUILD_DATE)\" -

source = heliosk.cu
headers = define.h ISO.h resample.h host.h voigt.h
all: heliosk hitran prepareExomol
all: heliosk hitran prepareExomol prepareExomolSuper
heliosk: $(source) $(headers)
nvcc $(ARCH) --compiler-options -Wall -o heliosk $(source) $(BUILD_DATA)
# nvcc -ccbin=g++-6 $(ARCH) -o heliosk $(source) $(BUILD_DATA)
Expand All @@ -25,4 +25,6 @@ hitran: hitran.cpp
g++ -o hitran hitran.cpp
prepareExomol: prepareExomol.cpp ISO.h define.h
g++ -o prepareExomol prepareExomol.cpp
prepareExomolSuper: prepareExomolSuper.cpp ISO.h define.h
g++ -o prepareExomolSuper prepareExomolSuper.cpp

4 changes: 3 additions & 1 deletion MakefileW
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,14 @@ BUILD_DATA = -DBUILD_SYSTEM=\"$(BUILD_SYSTEM)\" -DBUILD_SM=\"$(SM)\"

source = heliosk.cu
headers = define.h ISO.h resample.h host.h voigt.h
all: heliosk prepare prepareExomol
all: heliosk prepare prepareExomol prepareExomolSuper
heliosk: $(source) $(headers)
nvcc $(ARCH) -o heliosk $(source) $(BUILD_DATA)

hitran: hitran.cpp
cl hitran.cpp
prepareExomol: prepareExomol.cpp ISO.h define.h
cl prepareExomol.cpp
prepareExomolSuper: prepareExomolSuper.cpp ISO.h define.h
cl prepareExomolSuper.cpp

300 changes: 151 additions & 149 deletions check/TestExomol001/Exomol_species.dat

Large diffs are not rendered by default.

74 changes: 38 additions & 36 deletions check/TestExomol001/Exomol_xsec_species.dat
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
H3_p 1H3_p xsec-MiZATeP 1H3_p__MiZATeP
CH4 12C-1H4 xsec-YT10to10 12C-1H4__YT10to10
NH3 14N-1H3 xsec-VUV-DTU 14N-1H3__VUV-DTU
NH3 14N-1H3 xsec-BYTe 14N-1H3__BYTe
Expand All @@ -13,22 +12,33 @@ CH3Cl 12C-1H3-37Cl xsec-OYT 12C-1
C2H4 12C2-1H4 xsec-VUV-DTU 12C2-1H4__VUV-DTU
C2H4 12C2-1H4 xsec-MaYTY 12C2-1H4__MaYTY
C2H2 12C2-1H2 xsec-aCeTY 12C2-1H2__aCeTY
P2H2 31P2-1H2 xsec-Trans 31P2-1H2__Trans
P2H2 31P2-1H-2H xsec-CiS 31P2-1H-2H__CiS
PH3 31P-1H3 xsec-SAlTY 31P-1H3__SAlTY
CH3 12C-1H3 xsec-AYYJ 12C-1H3__AYYJ
H2O 1H2-16O xsec-POKAZATEL 1H2-16O__POKAZATEL
H2O 1H2-16O xsec-VUV-DTU 1H2-16O__VUV-DTU
H2O 1H-2H-16O xsec-VTT 1H-2H-16O__VTT
CO2 12C-16O2 xsec-VUV-DTU 12C-16O2__VUV-DTU
CO2 12C-16O2 xsec-HITEMP2010 12C-16O2__HITEMP
SO2 32S-16O2 xsec-VUV-DTU 32S-16O2__VUV-DTU
SO2 32S-16O2 xsec-ExoAmes 32S-16O2__ExoAmes
HCN 1H-12C-14N xsec-Harris 1H-12C-14N__Harris
HCN 1H-13C-14N xsec-Larner 1H-13C-14N__Larner
H2S 1H2-32S xsec-AYT2 1H2-32S__AYT2
SiH2 28Si-1H2 xsec-CATS 28Si-1H2__CATS
SiO2 28Si-16O2 xsec-OYT3 28Si-16O2__OYT3
cis-P2H2 cis-31P2-1H2 xsec-Cis cis-31P2-1H2__Cis
trans-P2H2 trans-31P2-1H2 xsec-Trans trans-31P2-1H2__Trans
VO 51V-16O xsec-VOMYT 51V-16O__VOMYT
AlO 27Al-16O xsec-ATP 27Al-16O__ATP
MgO 24Mg-16O xsec-LiTY 24Mg-16O__LiTY
TiO 49Ti-16O xsec-Schwenke 49Ti-16O__Schwenke
TiO 48Ti-16O xsec-Toto 48Ti-16O__Toto
SiO 28Si-16O xsec-Kurucz-SiO 28Si-16O__Kurucz-SiO
CaO 40Ca-16O xsec-VBATHY 40Ca-16O__VBATHY
H3_p 1H3_p xsec-MiZATeP 1H3_p__MiZATeP
H3O_p 1H3-16O_p xsec-eXeL 1H3-16O_p__eXeL
OH 16O-1H xsec-HITEMP2010 16O-1H__HITEMP
HCl 1H-35Cl xsec-HITRAN 1H-35Cl__HITRAN
SiH 28Si-1H xsec-SiGHTLY 28Si-1H__SiGHTLY
SH 32S-1H xsec-GYT 32S-1H__GYT
HF 1H-19F xsec-Coxon-Hajig 1H-19F__Coxon-Hajig
AlH 27Al-1H xsec-AlHambra 27Al-1H__AlHambra
AlH 27Al-2H xsec-AlHambra 27Al-2H__AlHambra
AlH 26Al-1H xsec-AlHambra 26Al-1H__AlHambra
CrH 52Cr-1H xsec-MoLLIST 52Cr-1H__MoLLIST
BeH 9Be-1H xsec-Darby 9Be-1H__Darby
TiH 48Ti-1H xsec-MoLLIST 48Ti-1H__MoLLIST
FeH 56Fe-1H xsec-MoLLIST 56Fe-1H__MoLLIST
LiH 7Li-1H xsec-CLT 7Li-1H__CLT
ScH 45Sc-1H xsec-LYT 45Sc-1H__LYT
PN 31P-14N xsec-YYLT 31P-14N__YYLT
KCl 39K-35Cl xsec-Barton 39K-35Cl__Barton
NaCl 23Na-35Cl xsec-Barton 23Na-35Cl__Barton
Expand All @@ -42,27 +52,19 @@ CP 12C-31P xsec-MoLLIST 12C-3
PS 31P-32S xsec-POPS 31P-32S__POPS
NS 14N-32S xsec-SNaSH 14N-32S__SNaSH
SiS 28Si-32S xsec-UCTY 28Si-32S__UCTY
AlH 27Al-1H xsec-AlHambra 27Al-1H__AlHambra
AlH 27Al-2H xsec-AlHambra 27Al-2H__AlHambra
AlH 26Al-1H xsec-AlHambra 26Al-1H__AlHambra
CrH 52Cr-1H xsec-MoLLIST 52Cr-1H__MoLLIST
BeH 9Be-1H xsec-Darby 9Be-1H__Darby
TiH 48Ti-1H xsec-MoLLIST 48Ti-1H__MoLLIST
FeH 56Fe-1H xsec-MoLLIST 56Fe-1H__MoLLIST
LiH 7Li-1H xsec-CLT 7Li-1H__CLT
ScH 45Sc-1H xsec-LYT 45Sc-1H__LYT
VO 51V-16O xsec-VOMYT 51V-16O__VOMYT
AlO 27Al-16O xsec-ATP 27Al-16O__ATP
MgO 24Mg-16O xsec-LiTY 24Mg-16O__LiTY
TiO 49Ti-16O xsec-Schwenke 49Ti-16O__Schwenke
TiO 48Ti-16O xsec-Toto 48Ti-16O__Toto
SiO 28Si-16O xsec-EBJT 28Si-16O__EBJT
CaO 40Ca-16O xsec-VBATHY 40Ca-16O__VBATHY
OH 16O-1H xsec-HITEMP2010 16O-1H__HITEMP
HCl 1H-35Cl xsec-HITRAN 1H-35Cl__HITRAN
SiH 28Si-1H xsec-SiGHTLY 28Si-1H__SiGHTLY
SH 32S-1H xsec-GYT 32S-1H__GYT
HF 1H-19F xsec-Coxon-Hajig 1H-19F__Coxon-Hajig
CO 12C-16O xsec-Li2015 12C-16O__Li2015
NO 14N-16O xsec-NOname 14N-16O__NOname
PO 31P-16O xsec-POPS 31P-16O__POPS
H2O 1H2-16O xsec-POKAZATEL 1H2-16O__POKAZATEL
H2O 1H2-16O xsec-VUV-DTU 1H2-16O__VUV-DTU
H2O 1H-2H-16O xsec-VTT 1H-2H-16O__VTT
CO2 12C-16O2 xsec-UCL-4000 12C-16O2__UCL-4000
CO2 12C-16O2 xsec-VUV-Venot-2018 12C-16O2__VUV-Venot-2018
CO2 12C-16O2 xsec-VUV-DTU 12C-16O2__VUV-DTU
SO2 32S-16O2 xsec-VUV-DTU 32S-16O2__VUV-DTU
SO2 32S-16O2 xsec-ExoAmes 32S-16O2__ExoAmes
HCN 1H-12C-14N xsec-Harris 1H-12C-14N__Harris
HCN 1H-13C-14N xsec-Larner 1H-13C-14N__Larner
H2S 1H2-32S xsec-AYT2 1H2-32S__AYT2
SiH2 28Si-1H2 xsec-CATS 28Si-1H2__CATS
SiO2 28Si-16O2 xsec-OYT3 28Si-16O2__OYT3
2 changes: 1 addition & 1 deletion check/check.py
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@
if(er == False):
success = 0
os.system('../../heliosk -tuning 0 -name 1')
os.system('../../heliosk -tuning 0 -name 0 -path ../../data/')
os.system('../../heliosk -tuning 0 -name 0')
er = os.system('python3 ../../tools/CompareFiles.py -f0 0 -f1 1')
er1 = os.WEXITSTATUS(er)
print("error", er1)
Expand Down
2 changes: 1 addition & 1 deletion define.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
#endif


#define VERSION 2.05
#define VERSION 2.06


#define def_T0 296.0 //Reference Temperature in K
Expand Down
81 changes: 81 additions & 0 deletions docs/helios_k/exomolSuperlines.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
ExoMol super-lines
------------------


Step 1, Species Properties
~~~~~~~~~~~~~~~~~~~~~~~~~~

The HELIOS-K repository provides a file called ``Exomol_species.dat``.
This file contains all available species from the ExoMol database. The
file format is:

``Molecule name , Isotopologue name, Full name, path on exomol.com, range of *.trans files, number of *.trans files, number of digits in *.trans file ranges.``

The full name of the species contains the isotopologue and the line list
name. This full name should be used when as species name for the
opacity calculation, e.g. ``1H2-16O__BT2``.

The ``Exomol_species.dat`` file can be recreated or updated by running:

::

python3 exomol2.py


Step 2, Download the files and create the ``<species_name>.param`` file
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The ExoMol super line files can be downloaded with the a python script as:

::

python3 exomol.py -M <id> -D 3 -Temp <T>

where ``<id>`` is the full species name e.g. ``1H2-16O__POKAZATEL``.
The ``-D 3`` specifies to download the super-lines instead of the full
transition and states files. The ``<T>`` specifies the temperature of
the super lines in K, e.g. ``-Temp 1000``. When multiple temperatures
are needed, the each temperature file must be downloaded and processed
individually.

The script needs the file ``Exomol_species.dat`` to be availalbe. If this
file needs to be updated, it can be done by running
``python3 exomol2.py``.

The ``exomol.py`` script automatically writes the ``<species_name>.param``
files for each molecule.


Step 3, create the binary files
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The downloaded line list files must be pre-processed into binary files
with the following code:

::

./prepareExomolSuper -M < id >

where < id > is the full super-line file name, e.g. ``1H2-16O__POKAZATEL__00000-41200__1000K_super.``.
After this step, the ``*.super`` files from ExoMol can be deleted.

Step 4, data path
~~~~~~~~~~~~~~~~~

Include the path of the directory, which contains the obtained binary
files, the ``*.pf``\ file and the ``*.param`` file to the HELIOS-K
``param.dat`` file under ``pathToData``.

Running HELIOS-K
~~~~~~~~~~~~~~~~

When running HELIOS-K, the temperature of the calculation must corespond to the
temparture of the super-lines. Otherwise the result is not not correct.



.. figure:: ../../plots/superLine/SuperLine.png
:name: SuperLine

Comparison of the full POKAZATEL 1H2-16O opacity and super-lines for 1000 K.
The voigt profiles are truncated at 100 cm^-1.
3 changes: 2 additions & 1 deletion docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ HELIOS-K
the line lists need to be downloaded and preprocessed into binary files that can be
read from HELIOS-K.
| HELIOS-K provides tools to automatically download and preprocess files from the
ExoMol, HITRAN, HITEMP, NIST and Kurucz databases.
ExoMol, HITRAN, HITEMP, NIST, Kurucz and VALD3 databases.
| HELIOS-K is running on GPUs and require a Nvidia GPU with compute capability of 3.0 or higher.

Expand All @@ -31,6 +31,7 @@ Databases

helios_k/param.rst
helios_k/exomol.rst
helios_k/exomolSuperlines.rst
helios_k/hitran.rst
helios_k/hitemp.rst
helios_k/kurucz.rst
Expand Down

0 comments on commit 7278da4

Please sign in to comment.