tardis.io.atom_data package
Submodules
- tardis.io.atom_data.atom_web_download module
- tardis.io.atom_data.atomic_data_summary module
- tardis.io.atom_data.base module
- tardis.io.atom_data.collision_data module
- tardis.io.atom_data.macro_atom_data module
- tardis.io.atom_data.nlte_data module
- tardis.io.atom_data.parse_atom_data module
- tardis.io.atom_data.util module
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:
objectClass 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
levelsandlinesby discarding any data that is not needed (any data for atoms that are not neededNotes
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
levelsandlinesby 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_macro_atom_data(line_interaction_type, tmp_lines_lower2level_idx, tmp_lines_upper2level_idx)[source]
- 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
.texpath. Matching.texand.txtfiles 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.