VALD3 -------------- *Dec 1 (2021) Hiroyuki T. Ishikawa* See ":doc:`../tutorials/metals`" (forward) and ":doc:`../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: .. code:: python >>> 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: .. code:: python >>> 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: .. code:: python >>> 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. 1. atomll.gamma_vald3 Use the van der Waals gamma in the line list (VALD or Kurucz), otherwise estimated according to the `Unsoeld (1955) `_ 2. atomll.gamma_uns Use the gamma estimated with the classical approximation by `Unsoeld (1955) `_ 3. atomll.gamma_KA3 Use the gamma caluculated with the 3rd equation in p.4 of `Kurucz & Avrett (1981) `_ 4. atomll.gamma_KA4 Use the gamma caluculated with the 4th equation in p.4 of `Kurucz & Avrett (1981) `_ 5. 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: .. code:: python >>> 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)