How jp-duminy/octavius works
Octavius analyzes hydrodynamical simulation snapshots in parallel and writes HDF5 catalogues of halo and galaxy properties and particle membership. The principal workflow is configuration and snapshot reading, halo assignment and redistribution, optional 6D galaxy finding, configured property and photometry stages, then catalogue packing and writing. Users can also load catalogues and recompute selected analyses through a standalone analyser. The graph follows the documented workflow and sampled dispatch; internal links without direct call evidence are omitted.
Main entry points: run_octavius.py Analysis orchestrator · properties_photometry.py Photometry stage · properties_core.py Core properties · pack_catalogue_data.py Catalogue packing
Components 29
Input and distribution
- Configuration
octavius/data_management/conventions.py - Snapshot readers
octavius/data_management/snapshot_readers.py - Reader base
octavius/data_management/snapshot_readers_base.py - Halo sources
octavius/external_halo_sources/halo_data_structures.py - Halo formats
octavius/external_halo_sources - Parallel reading
octavius/data_management/parallel_reading.py
Analysis stages
- Stage management
octavius/data_management/pipeline_management.py - 6D galaxy finding
octavius/galaxy_finding/galaxy_finding.py - FOF6D algorithm
octavius/galaxy_finding/fof6d_algorithm.py - Core properties
octavius/aggregate_properties/properties_core.py - Aggregate computations
octavius/aggregate_properties/aggregate_computations.py - Aggregate helpers
octavius/aggregate_properties/aggregate_helpers.py - Group linking
octavius/aggregate_properties/group_linking.py - Local properties
octavius/aggregate_properties/properties_local_environment.py - Particle-type properties
octavius/aggregate_properties/properties_ptype_specific.py - Photometry stage
octavius/photometry/properties_photometry.py - Photometry computations
octavius/photometry/photometry_computations.py - Photometry helpers
octavius/photometry/photometry_helpers.py - Dust curves
octavius/photometry/dust_curves.py - Photometry tables
octavius/photometry/photometry_tables.py - Analysis orchestrator
octavius/run_octavius.py
Catalogue data
- Particle and group stores
octavius/data_management/data_structures.py - Catalogue packing
octavius/data_management/pack_catalogue_data.py - Parallel catalogue writing
octavius/data_management/parallel_writing.py - HDF5 catalogue
- Format version
octavius/version.py
User analysis API
- Catalogue loader
octavius/utils/loader.py - Standalone analyser
octavius/utils/dynamic_analyser.py
Other components
- Analyst
Connections 31
- Analyst → Configuration: configures
README.md - Analyst → Analysis orchestrator: runs analysis
README.md - Analysis orchestrator → Snapshot readers: builds reader
octavius/run_octavius.py - Analysis orchestrator → Halo sources: builds halo source
octavius/run_octavius.py - Halo sources → Halo formats: dispatches source
octavius/external_halo_sources/halo_data_structures.py - Snapshot readers → Reader base: uses reader base
octavius/data_management/snapshot_readers.py - Analysis orchestrator → Parallel reading: redistributes data
octavius/run_octavius.py - Analysis orchestrator → Particle and group stores: builds stores
octavius/run_octavius.py - Analysis orchestrator → Stage management: resolves stages
octavius/run_octavius.py - Analysis orchestrator → 6D galaxy finding: finds galaxies
octavius/run_octavius.py - 6D galaxy finding → FOF6D algorithm: calls algorithm
octavius/galaxy_finding/galaxy_finding.py - Analysis orchestrator → Core properties: dispatches stage
octavius/run_octavius.py - Core properties → Aggregate computations: computes quantities
octavius/aggregate_properties/properties_core.py - Core properties → Aggregate helpers: uses helpers
octavius/aggregate_properties/properties_core.py - Analysis orchestrator → Particle-type properties: dispatches stage
octavius/run_octavius.py - Analysis orchestrator → Local properties: dispatches stage
octavius/run_octavius.py - Analysis orchestrator → Photometry stage: dispatches stage
octavius/run_octavius.py - Photometry stage → Photometry computations: calls computations
octavius/photometry/properties_photometry.py - Photometry computations → Photometry helpers: uses helpers
octavius/photometry/photometry_computations.py - Photometry stage → Dust curves: uses attenuation
octavius/photometry/properties_photometry.py - Photometry stage → Photometry tables: reads table
octavius/photometry/properties_photometry.py - Analysis orchestrator → Catalogue packing: packs results
octavius/run_octavius.py - Catalogue packing → Parallel catalogue writing: passes packed data
octavius/data_management/parallel_writing.py - Parallel catalogue writing → HDF5 catalogue: writes HDF5
README.md - Analyst → Catalogue loader: loads catalogue
README.md - HDF5 catalogue → Catalogue loader: reads catalogue
README.md - Analyst → Standalone analyser: requests subset analysis
README.md - Standalone analyser → Catalogue loader: uses catalogue API
octavius/utils/dynamic_analyser.py - Standalone analyser → Photometry stage: recomputes photometry
octavius/utils/dynamic_analyser.py - Catalogue packing → Format version: records format version
octavius/data_management/pack_catalogue_data.py - Group linking → Aggregate helpers: uses helpers
octavius/aggregate_properties/group_linking.py