Astrophysix package documentation

PyPI - Version PyPI - Status PyPI - Python Version Read the Docs - Documentation Status PyPI - Wheel PyPI - License

Introduction

The purpose of the astrophysix Python package is to provide computational astrophysicists a generic tool to document their numerical projects, independently of :

  • the astrophysical code they used (RAMSES, AREPO, GADGET, ASH, PLUTO, MAGICS, etc),

  • the hardware/software parameters of their numerical setup,

  • the post-processing software/library they perform their scientific analysis with (Yt, Osyris, PyMSES, RADMC-3D, SAODS9, Paraview, etc.),

  • the type of their scientific analysis (2D column density maps, 3D power spectrum, PPV cubes, statistical analysis, etc.).

astrophysix contains :

_images/IVOA.jpg
  • the astrophysix.units package provides a more generic-purpose physical quantity and units management tool. The most common physical constants used in astrophysics are defined in this module.

With this package, users can create a SimulationStudy in which a single numerical project can be fully documented and :

  • all the reduced datasets (PNG plots, FITS files, etc.) and the experimental configuration files (e.g. RAMSES namelist) can be attached as “binary attachments”,

  • complete catalogs of objects identified in the simulations can be associated to the numerical experiment’s results.

It follows the hierarchical structure :

_images/simdm_hierarchy.png

Galactica database integration

_images/galactica_preview.png

http://www.galactica-simulations.eu

These studies can be saved in persistent and portable HDF5 files and then distributed to other members of the scientific collaboration to be updated. SimulationStudy HDF5 files can be uploaded with a single-click on the Galactica simulation database to automatically deploy web pages for your astrophysical simulation project.

SimulationStudy HDF5 files can be uploaded on the Galactica simulation database several times in order to :

  • Create new project web pages on the web application (creation),

  • Update pages for an existing project (update).

Warning

When you upload a SimulationStudy HDF5 file, the Galactica server will NEVER take the responsibility of deleting any entry from the database related to an item that is missing in your SimulationStudy HDF5 file. In other words, deleting an object from your local SimulationStudy, saving the study into a HDF5 file and uploading the file on Galactica won’t delete the object from the database (only the creation and update behaviours are enabled).

If you wish to remove items from the web application, you MUST do so by hand (it must be an explicit user action) in the Galactica administration interface.

Galactica validity checks

Prior to uploading any Simulation study HDF5 file on the Galactica web application, it is advised to perform some preliminary validity checks on your project to make sure the deployment online will go smoothly. To do so, you may use the galactica_validity_check() method or enable the galactica_checks option in the SimulationStudy.save_HDF5() method. For more details, see How can I check validity for Galactica ?

Online data-processing services (new in version 0.6.0)

The Galactica web application also features online data-processing services through a web form. Authenticated users have the possibility to submit job requests directly on the platform to compute and retrieve post-processed datasets directly, obtained from the raw simulation data :

_images/job_request_form_galactica.png

These job requests are then routed to an ecosystem of data-processing servers (aka Terminus servers) hosting the raw simulation data and the required post-processing libraries. Using the astrophysix package, you have the possibility to define into your SimulationStudy which data-processing service you want to bind to a simulation’s Snapshot or even a Catalog. For more details, see Data-processing services.

Indices and tables