tardis.io.atom_data package

Submodules

Module contents

Getting and handling the atomic data.

class tardis.io.atom_data.AtomData(atom_data, ionization_data, levels=None, lines=None, macro_atom_data=None, macro_atom_references=None, zeta_data=None, collision_data=None, collision_data_temperatures=None, synpp_refs=None, photoionization_data=None, yg_data=None, two_photon_data=None, linelist_atoms=None, linelist_molecules=None, decay_radiation_data=None, molecule_data=None)[source]

Bases: object

Class for storing atomic data

Parameters:
atom_datapandas.DataFrame
A DataFrame containing the *basic atomic data* with:

index : atomic_number columns : symbol, name, mass[u].

ionization_datapandas.DataFrame
A DataFrame containing the *ionization data* with:

index : atomic_number, ion_number columns : ionization_energy[eV].

It is important to note here is that `ion_number` describes the *final ion state*
e.g. H I - H II is described with ion=1
levelspandas.DataFrame
A DataFrame containing the *levels data* with:

index : numerical index columns : atomic_number, ion_number, level_number, energy[eV], g[1], metastable.

linespandas.DataFrame
A DataFrame containing the *lines data* with:

index : numerical index columns : line_id, atomic_number, ion_number, level_number_lower, level_number_upper, wavelength[angstrom], nu[Hz], f_lu[1], f_ul[1], B_ul[?], B_ul[?], A_ul[1/s].

macro_atom_data
A DataFrame containing the *macro atom data* with:

index : numerical index columns : atomic_number, ion_number, source_level_number, destination_level_number, transition_line_id, transition_type, transition_probability;

macro_atom_references
A DataFrame containing the *macro atom references* with:

index : numerical index columns : atomic_number, ion_number, source_level_number, count_down, count_up, count_total.

Refer to the docs: http://tardis.readthedocs.io/en/latest/physics/plasma/macroatom.html
collision_data(pandas.DataFrame, np.array)
A DataFrame containing the *electron collisions data* with:

index : atomic_number, ion_number, level_number_lower, level_number_upper columns : e_col_id, delta_e, g_ratio, c_ul;

collision_data_temperaturesnp.array

An array with the collision temperatures.

zeta_data
A DataFrame containing the *zeta data* for the
nebular ionization calculation
(i.e., the fraction of recombinations that go directly to the
ground state) with:

index : atomic_number, ion_charge columns : temperatures[K]

synpp_refs?
photoionization_datapandas.DataFrame
A DataFrame containing the *photoionization data* with:

index : numerical index columns : atomic_number, ion_number, level_number, nu[Hz], x_sect[cm^2]

two_photon_datapandas.DataFrame
A DataFrame containing the *two photon decay data* with:

index: atomic_number, ion_number, level_number_lower, level_number_upper columns: A_ul[1/s], nu0[Hz], alpha, beta, gamma

decay_radiation_datapandas.DataFrame
A dataframe containing the *decay radiation data* with:

index: Isotope names columns: atomic_number, element, Rad energy, Rad intensity decay mode. Curated from nndc

linelist_atomspandas.DataFrame
A DataFrame containing a linelist of input atoms
linelist_moleculespandas.DataFrame
A DataFrame containing a linelist of input molecules
molecule_dataMolecularData
A class containing the *molecular data* with:

equilibrium_constants, partition_functions, dissociation_energies

Attributes:
preparedbool
atom_datapandas.DataFrame
ionization_datapandas.DataFrame
macro_atom_data_allpandas.DataFrame
macro_atom_references_allpandas.DataFrame
collision_datapandas.DataFrame
collision_data_temperaturesnumpy.array
zeta_datapandas.DataFrame
synpp_refspandas.DataFrame
photoionization_datapandas.DataFrame
two_photon_datapandas.DataFrame
decay_radiation_datapandas.DataFrame
linelist_atomspandas.DataFrame
linelist_moleculespandas.DataFrame
molecule_dataMolecularData

Methods

from_hdf:

Function to read the atom data from a TARDIS atom HDF Store

prepare_atom_data:

Prepares the atom data to set the lines, levels and if requested macro atom data. This function mainly cuts the levels and lines by discarding any data that is not needed (any data for atoms that are not needed

Notes

  1. The units of some columns are given in the square brackets. They are NOT the parts of columns’ names!

classmethod from_hdf(fname=None)[source]

Function to read the atom data from a TARDIS atom HDF Store

Parameters:
fnamePath, optional

Path to the HDFStore file or name of known atom data file (default: None)

get_attributes_from_store(store_key)[source]

Gets atom_data attributes, throws error and sets to None if they are not available.

Parameters:
storepd.HDFStore

Data source

store_keystr

HDFStore value to check

hdf_names = ['atom_data', 'ionization_data', 'levels', 'lines', 'macro_atom_data', 'macro_atom_references', 'zeta_data', 'collision_data', 'collision_data_temperatures', 'synpp_refs', 'photoionization_data', 'yg_data', 'two_photon_data', 'linelist_atoms', 'linelist_molecules', 'decay_radiation_data']
prepare_atom_data(selected_atomic_numbers, line_interaction_type, nlte_species, continuum_interaction_species)[source]

Prepares the atom data to set the lines, levels and if requested macro atom data. This function mainly cuts the levels and lines by discarding any data that is not needed (any data for atoms that are not needed

Parameters:
selected_atomsset

set of selected atom numbers, e.g. set([14, 26])

line_interaction_typestr

can be ‘scatter’, ‘downbranch’ or ‘macroatom’

prepare_continuum_interaction_data(continuum_interaction_species)[source]

Prepares the atom data for the continuum interaction

Parameters:
continuum_interactionContinuumInteraction

The continuum interaction object

prepare_line_level_indexes()[source]
prepare_lines()[source]

Prepare line data

prepare_macro_atom_data(line_interaction_type, tmp_lines_lower2level_idx, tmp_lines_upper2level_idx)[source]
related_groups = [('macro_atom_data_all', 'macro_atom_references_all')]
tardis.io.atom_data.download_atom_data(atomic_data_name=None, force_download=False)[source]

Download the atomic data from the repository

Parameters:
atomic_data_namestr

if None

force_downloadbool

if True, force download even if file exists

Returns:
: None
tardis.io.atom_data.export_atom_data_summary(atom_data: AtomData | str | Path, output_path: str | Path, journal: str | Path = 'aas', elements: Iterable[str] | None = None) DataFrame[source]

Export a publication-ready atomic-data summary table.

Parameters:
atom_datatardis.io.atom_data.AtomData or str or pathlib.Path

Loaded TARDIS atomic data or a Carsus/TARDIS atomic HDF file.

output_pathstr or pathlib.Path

Output basename or .tex path. Matching .tex and .txt files are written.

journal{“aa”, “aas”, “mnras”, “nature”} or pathlib.Path, optional

Built-in journal style or path to a custom JSON configuration.

elementscollections.abc.Iterable[str], optional

Element symbols to include. All available elements are included by default.

Returns:
pandas.DataFrame

The summary written to disk.