tardis.io.model.readers.snec.snec_output module

class tardis.io.model.readers.snec.snec_output.SNECOutput(xg_data: XGData, initial_composition: DataFrame, initial_quantities: DataFrame, em_output: DataFrame)[source]

Bases: object

SNECOutput holds the results from a SNEC supernova explosion simulation.

Attributes:
xg_dataXGData

The X-ray/gamma-ray transport output as a function of time and spatial cell.

initial_compositionpandas.DataFrame

Initial elemental composition for each cell, indexed by cell_id.

initial_quantitiespandas.DataFrame

Initial physical quantities (e.g., density, temperature) for each cell, indexed by cell_id.

em_outputpandas.DataFrame

Time series of emission properties, indexed by time.

Methods

to_xr_dataset()

Convert all stored outputs into a single xarray.Dataset.

em_output: DataFrame
initial_composition: DataFrame
initial_quantities: DataFrame
to_xr_dataset() Dataset[source]

Convert SNECOutput to an xarray.Dataset by merging multiple data sources.

This method builds a unified Dataset with: - xg_data: Base dataset obtained from self.xg_data.to_xr_dataset(). - em_output: Emission output indexed by time and reindexed to match xg_data.time,

using nearest-neighbor interpolation.

  • initial_composition: Initial composition data merged over cell_id as coordinates

    and data variables.

  • initial_quantities: Initial quantities data merged over cell_id as coordinates

    and data variables.

Returns:
xr.Dataset

An xarray.Dataset containing the combined data from xg_data, em_output, initial_composition, and initial_quantities, all aligned along common dimensions (e.g., time, cell_id).

xg_data: XGData
tardis.io.model.readers.snec.snec_output.read_snec_dat_output(snec_output_dir: Path, snec_dat_names: list[str], first_column_name: str) DataFrame[source]

Load the initial composition data from SNEC output.

Parameters:
snec_output_dirPath

Path to the directory containing the SNEC output files.

Returns:
pd.DataFrame

DataFrame containing the initial composition for each cell, indexed by cell ID.

tardis.io.model.readers.snec.snec_output.read_snec_em_output(snec_output_dir: Path) DataFrame[source]

Load the output quantities data from SNEC output.

Parameters:
snec_output_dirPath

Path to the directory containing the SNEC output files.

Returns:
pd.DataFrame

DataFrame containing the output quantities for each cell, indexed by cell ID.

tardis.io.model.readers.snec.snec_output.read_snec_initial_composition(snec_output_dir: Path) DataFrame[source]

Load the initial composition data from SNEC output.

Parameters:
snec_output_dirPath

Path to the directory containing the SNEC output files.

Returns:
pd.DataFrame

DataFrame containing the initial composition for each cell, indexed by cell ID.

tardis.io.model.readers.snec.snec_output.read_snec_initial_quantities(snec_output_dir: Path) DataFrame[source]

Load the initial quantities data from SNEC output.

Parameters:
snec_output_dirPath

Path to the directory containing the SNEC output files.

Returns:
pd.DataFrame

DataFrame containing the initial quantities for each cell, indexed by cell ID.

tardis.io.model.readers.snec.snec_output.read_snec_output(snec_output_dir: Path) SNECOutput[source]

Read SNEC output files and return a SNECOutput dataclass instance.

Parameters:
snec_output_dirPath

Path to the directory containing the SNEC output files.

show_progressbool, optional

If True, show progress for reading xg files. Default is False.

Returns:
SNECOutput

Dataclass instance containing the SNEC output data.

tardis.io.model.readers.snec.snec_output.read_snec_output_xg(snec_output_dir: Path | str, show_progress: bool = True) XGData[source]

Read SNEC output .xg files and merge them into a unified XGData object.

Parameters:
snec_output_dirpathlib.Path or str

Path to the directory containing the SNEC output files. Expects an “output” subdirectory with files named “mass.xg” and “{quantity}.xg”.

show_progressbool, optional

If True, display a progress bar when reading each .xg file. Default is True.

Returns:
XGData

An object with the following attributes: - timestamps : numpy.ndarray

Array of time stamps common to all quantities.

  • data_blockslist of pandas.DataFrame

    A list of data frames, one per time stamp, each containing columns [‘radius’, ‘enclosed_mass’, *quantities].

  • metadatadict

    Mapping from each quantity name to its associated metadata (taken from SNEC_XG_OUTPUT_METADATA).

Raises:
FileNotFoundError

If the mass.xg or any “{quantity}.xg” file is missing in the expected “output” directory.

AssertionError

If the time stamps in mass.xg do not match those in another quantity file.