HajimeKawahara/exojax

View on GitHub
documents/userguide/atomll.rst

Summary

Maintainability
Test Coverage
VALD3
--------------

*Dec 1 (2021) Hiroyuki T. Ishikawa* (need to update)


See ":doc:`../tutorials/metals`" (forward) and ":doc:`../tutorials/retvald`" (retrieval) as the tutorial to compute a cross section profile using VALD3.


Atomic Database
======================

`VALD3 <http://vald.astro.uu.se/>`_ provides atomic line database of various elements
from `some references <https://www.astro.uu.se/valdwiki/VALD3linelists>`_.
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 <http://vald.astro.uu.se/~vald/php/vald.php?docpage=contact.html>`_.

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 <https://www.astro.uu.se/valdwiki/Restrictions%20on%20extraction%20size>`_).
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) <https://ui.adsabs.harvard.edu/abs/1955psmb.book.....U>`_

2. atomll.gamma_uns
    Use the gamma estimated with the classical approximation by `Unsoeld (1955) <https://ui.adsabs.harvard.edu/abs/1955psmb.book.....U>`_

3. atomll.gamma_KA3
    Use the gamma caluculated with the 3rd equation in p.4 of `Kurucz & Avrett (1981) <https://ui.adsabs.harvard.edu/abs/1981SAOSR.391.....K>`_

4. atomll.gamma_KA4
    Use the gamma caluculated with the 4th equation in p.4 of `Kurucz & Avrett (1981) <https://ui.adsabs.harvard.edu/abs/1981SAOSR.391.....K>`_

5. atomll.gamma_KA3s
    Use the gamma caluculated with the 3rd equation in p.4 of `Kurucz & Avrett (1981) <https://ui.adsabs.harvard.edu/abs/1981SAOSR.391.....K>`_ 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)