From fb85b421ed4289e759e34a419f4ffe47cd5d236f Mon Sep 17 00:00:00 2001 From: Andrew Fullard Date: Tue, 3 Sep 2024 12:21:42 -0400 Subject: [PATCH] Fixes init of dataclass and shows more clearly which properties are required --- tardis/io/atom_data/base.py | 5 ++-- tardis/io/data/tardis_data.py | 48 +++++++++++++++++------------------ 2 files changed, 27 insertions(+), 26 deletions(-) diff --git a/tardis/io/atom_data/base.py b/tardis/io/atom_data/base.py index f4b69758f04..9917175137c 100644 --- a/tardis/io/atom_data/base.py +++ b/tardis/io/atom_data/base.py @@ -294,8 +294,6 @@ def __init__( ): self.prepared = False - self.tardis_data = TARDISData - # CONVERT VALUES TO CGS UNITS # Convert atomic masses to CGS @@ -308,6 +306,9 @@ def __init__( # Convert ionization energies to CGS ionization_data = ionization_data.squeeze() ionization_data[:] = Quantity(ionization_data[:], "eV").cgs.value + + # init dataclass + self.tardis_data = TARDISData(atom_data, ionization_data) # Convert energy to CGS levels.loc[:, "energy"] = Quantity( diff --git a/tardis/io/data/tardis_data.py b/tardis/io/data/tardis_data.py index 7bc4a37d226..1a239eef3bf 100644 --- a/tardis/io/data/tardis_data.py +++ b/tardis/io/data/tardis_data.py @@ -14,36 +14,36 @@ class TARDISData: atom_data: pd.DataFrame #rename # atomic structure - levels: pd.DataFrame ionization_data: pd.DataFrame - nlte_data: NLTEData + levels: pd.DataFrame = None + nlte_data: NLTEData = None # lines - lines: pd.DataFrame - photoionization_data: pd.DataFrame - photo_ion_block_references = None - photo_ion_unique_index = None - two_photon_data: pd.DataFrame - decay_radiation_data: pd.DataFrame - synpp_refs: pd.DataFrame #remove? - zeta_data: pd.DataFrame + lines: pd.DataFrame = None + photoionization_data: pd.DataFrame = None + photo_ion_block_references: pd.DataFrame = None + photo_ion_unique_index: pd.DataFrame = None + two_photon_data: pd.DataFrame = None + decay_radiation_data: pd.DataFrame = None + synpp_refs: pd.DataFrame = None #remove? + zeta_data: pd.DataFrame = None # ChiantiCollisionData | CMFGENCollisionData - collision_data: pd.DataFrame - collision_data_temperatures: pd.DataFrame - yg_data: pd.DataFrame + collision_data: pd.DataFrame = None + collision_data_temperatures: pd.DataFrame = None + yg_data: pd.DataFrame = None # MacroAtomData - transition_probability_data: pd.DataFrame - block_reference_data: pd.DataFrame + transition_probability_data: pd.DataFrame = None + block_reference_data: pd.DataFrame = None # additional - selected_atomic_numbers: list - lines_upper2macro_reference_idx: list - lines_lower2macro_reference_idx: list + selected_atomic_numbers: list = None + lines_upper2macro_reference_idx: list = None + lines_lower2macro_reference_idx: list = None # versioning - uuid1 = str - md5 = str - version = str + uuid1: str = None + md5: str = None + version: str = None # STARDIS - linelist_atoms: pd.DataFrame - linelist_molecules: pd.DataFrame - molecule_data: MoleculeData + linelist_atoms: pd.DataFrame = None + linelist_molecules: pd.DataFrame = None + molecule_data: MoleculeData = None