Study and projects


class astrophysix.simdm.SimulationStudy(project=None)

HDF5 simulation study file for Project tree structure persistency


project (Project) – study main project

property creation_time

Study creation date/time (datetime.datetime).

property last_modification_time

Study last modification date/time (datetime.datetime).

classmethod load_HDF5(study_file_path)

Loads a new or existing SimulationStudy from a HDF5 (*.h5) file


study_file_path (string) – SimulationStudy HDF5 (existing) file path


study – Study loaded from HDF5 file.

Return type


property project

Study main project

save_HDF5(study_fname=None, dry_run=False, callback=None, galactica_checks=False)

Save the SimulationStudy into a HDF5 (*.h5) file

  • study_fname (string) – Simulation study HDF5 filename.

  • dry_run (bool) – perform a dry run ? Default False.

  • callback (callable) – method to execute upon saving each item of the study.

  • galactica_checks (bool) – Perform Galactica database validity checks and display warning in case of invalid content for upload on Galactica. Default False (quiet mode).

property study_filepath

Simulation study HDF5 file path

property uid

Study UUID

Project and ProjectCategory

class astrophysix.simdm.ProjectCategory(value)

Project category enum


>>> cat = ProjectCategory.PlanetaryAtmospheres
>>> cat.verbose_name
"Planetary atmospheres"
Cosmology = ('COSMOLOGY', 'Cosmology')
GalaxyFormation = ('GAL_FORMATION', 'Galaxy formation')
GalaxyMergers = ('GAL_MERGERS', 'Galaxy mergers')
PlanetaryAtmospheres = ('PLANET_ATMO', 'Planetary atmospheres')
SolarMHD = ('SOLAR_MHD', 'Solar Magnetohydrodynamics')
StarFormation = ('STAR_FORM', 'Star formation')
StarPlanetInteractions = ('STAR_PLANET_INT', 'Star-planet interactions')
Supernovae = ('SUPERNOVAE', 'Supernovae')
property alias

Project category alias

classmethod from_alias(alias)

alias (string) – project category alias


c – Project category matching the requested alias.

Return type



ValueError – if requested alias does not match any project category.


>>> c = ProjectCategory.from_alias("STAR_FORM")
>>> c.verbose_name
"Star formation"
>>> c2 = ProjectCategory.from_alias("MY_UNKNOWN_CATEGORY")
ValuerError: No ProjectCategory defined with the alias 'MY_UNKNOWN_CATEGORY'.
property verbose_name

Project category verbose name

class astrophysix.simdm.Project(Simulation data model)
  • category (ProjectCategory or string) – project category or project category alias (mandatory)

  • project_title (string) – project title (mandatory)

  • alias (string) – Project alias (if defined, 16 max characters is recommended)

  • short_description (string) – project short description

  • general_description (string) – (long) project description

  • data_description (string) – available data description in the project

  • directory_path (string) – project directory path


Project comparison method

other: Project

project to compare to.


String representation of the instance

property alias
property category
property data_description

Data description available in this project

property directory_path

Project data directory path


Perform validity checks on this instance and eventually log warning messages.


kwargs (dict) – keyword arguments (optional)

property general_description

General description of the project

property project_title
property short_description

Short description of the project

property simulations

Project Simulation list (ObjectList)