VALD3
Dec 1 (2021) Hiroyuki T. Ishikawa (need to update)
See “../tutorials/metals” (forward) and “../tutorials/retvald” (retrieval) as the tutorial to compute a cross section profile using VALD3.
Atomic Database
VALD3 provides atomic line database of various elements from some references. You need to manually acquire the dataset you need via the request form as below. Note that the data access is free but requires registration through the Contact form.
After the registration, you can login and select the “Extract All” or “Extract Element” mode. If you want to cover all transitions, select “Extract All”; if you want to focus only on transitions of a given element (or neutral atoms or ionic species), select “Extract Element”.
For example, if you want a linelist of neutral iron (Fe I), the request form in the “Extract Element” mode should be filled as:
Starting wavelength : 1500
Ending wavelength : 100000
Element [ + ionization ] : Fe 1
Extraction format : Long format
Retrieve data via : FTP
Linelist configuration : Default
Unit selection: Energy unit: eV - Medium: vacuum - Wavelength unit: angstrom - VdW syntax: default
If you want a linelist of all the species that VALD handles, you should fill in the request form in the “Extract All” mode, which have all the same fields other than “Element [ + ionization ]” in the above example.
You can download the requested data via the FTP URL on an email sent by VALD (Sometimes it takes a few hours to half a day to receive it). Note that the number of spectral lines that can be extracted in a single request is limited to 1000 in VALD (reference). See https://www.astro.uu.se/valdwiki/presformat_output for the detail of the format.
An example to use the VALD3 database for a given species (“Extract Element”) from exojax is like that:
>>> from exojax.spec import moldb
>>> from exojax.utils.grids import wavenumber_grid
>>> nus = 1e8/np.array([1e5, 1500.])
>>> filepath_VALD3 = '.database/vald2600.gz'
>>> adbFe = moldb.AdbVald(filepath_VALD3, nus)
Reading VALD file
Another example to use the VALD3 database for multiple species (“Extract All”) while separating the data by species is like that:
>>> from exojax.spec import moldb
>>> from exojax.utils.grids import wavenumber_grid
>>> nus, wav, res = wavenumber_grid(10398, 10406, 2000, unit="AA", xsmode="modit")
>>> filepath = '.database/vald4214450.gz'
>>> adb = moldb.AdbVald(filepath, nus, crit = 1e-100)
>>> asdb = moldb.AdbSepVald(adb)
Reading VALD file
Broadening Parameters
The doppler broadening is calculated for example as:
>>> from exojax.spec.hitran import doppler_sigma
>>> T = 3000 #temperature
>>> Amol=np.float64( adbFe.atomicmass[0] ) #atomic mass
>>> sigmaD = doppler_sigma(adbFe.nu_lines, T, Amol)
For the pressure width gamma (HWHM of Lorentzian (cm-1) caluculated as gamma/(4*pi*c) [cm-1]), you can choose from five types of handling.
- atomll.gamma_vald3
Use the van der Waals gamma in the line list (VALD or Kurucz), otherwise estimated according to the Unsoeld (1955)
- atomll.gamma_uns
Use the gamma estimated with the classical approximation by Unsoeld (1955)
- atomll.gamma_KA3
Use the gamma caluculated with the 3rd equation in p.4 of Kurucz & Avrett (1981)
- atomll.gamma_KA4
Use the gamma caluculated with the 4th equation in p.4 of Kurucz & Avrett (1981)
- atomll.gamma_KA3s
Use the gamma caluculated with the 3rd equation in p.4 of Kurucz & Avrett (1981) but without discriminating iron group elements
The example is as:
>>> from exojax.spec.lpf import auto_xsection, moldb, atomll
>>> gammaL = atomll.gamma_vald3(T, PH, PHH, PHe, adbFe.ielem, adbFe.iion, \
adbFe.dev_nu_lines, adbFe.elower, adbFe.eupper, adbFe.atomicmass, adbFe.ionE, \
adbFe.gamRad, adbFe.gamSta, adbFe.vdWdamp, enh_damp=1.0)