How dnarayanan/caesar works
CAESAR analyzes cosmological-simulation snapshots: users load data through yt, identify halos and galaxies (and clouds when applicable), compute object properties, and save a portable catalog. The main orchestration path is visible in caesar/main.py; it selects a group-finding route, then assigns and links group types. The README also documents loading, units, and broad simulation-format support. Photometry, visualization, progenitor analysis, and zoom-region utilities are distinct product capabilities; their exact runtime wiring is only partly evidenced in the supplied excerpts.
Main entry points: main.py CAESAR orchestrator · fubar_halo.py Halo finding · __init__.py Public API · fubar.py Group finding
Components 25
Snapshot analysis
- CAESAR orchestrator
caesar/main.py - Dataset properties
caesar/property_manager.py - Simulation metadata
caesar/simulation_attributes.py - Particle data
caesar/data_manager.py - Halo finding
caesar/fubar_halo.py - Group finding
caesar/fubar.py - 6D FOF
caesar/fof6d.py
Catalog and groups
- Group assignment
caesar/assignment.py - Group linking
caesar/linking.py - Halo galaxy cloud objects
caesar/group.py - Object properties
caesar/group.py - Catalog writer
caesar/saver.py - Lazy catalog reader
caesar/loader.py - Legacy catalog reader
caesar/old_loader.py
Analysis extensions
- Progenitor analysis
caesar/progen.py - Synthetic photometry
caesar/pyloser/pyloser.py - Dust attenuation laws
caesar/pyloser/atten_laws.py - VTK visualization
caesar/vtk_vis.py - VTK data functions
caesar/vtk_funcs.py - Zoom-region tools
caesar/zoom_funcs.py
User interfaces
- Public API
caesar/__init__.py - Command line
caesar/command_line.py - Analysis driver
caesar/driver.py
Other components
- Analyst
- yt dataset
Connections 30
- Analyst → Public API: uses
README.rst - Public API → CAESAR orchestrator: exports
caesar/__init__.py - Public API → Analysis driver: exports
caesar/__init__.py - Analyst → Command line: invokes
- Command line → CAESAR orchestrator: dispatches
caesar/command_line.py - Analysis driver → CAESAR orchestrator: runs
- Analyst → yt dataset: provides snapshot
README.rst - CAESAR orchestrator → yt dataset: accepts dataset
caesar/main.py - CAESAR orchestrator → Dataset properties: uses
caesar/main.py - CAESAR orchestrator → Simulation metadata: creates attributes
caesar/main.py - CAESAR orchestrator → Particle data: loads particles
caesar/main.py - Particle data → Dataset properties: reads fields
caesar/data_manager.py - CAESAR orchestrator → Halo finding: runs
caesar/main.py - CAESAR orchestrator → Group finding: runs
caesar/main.py - Halo finding → 6D FOF: runs
caesar/fubar_halo.py - Group finding → 6D FOF: runs
caesar/fubar.py - Halo finding → Group finding: gets separation
caesar/fubar_halo.py - Halo finding → Object properties: computes
caesar/fubar_halo.py - CAESAR orchestrator → Group assignment: assigns groups
caesar/main.py - CAESAR orchestrator → Group linking: links groups
caesar/main.py - CAESAR orchestrator → Halo galaxy cloud objects: creates groups
caesar/main.py - Analyst → Catalog writer: saves catalog
- Analyst → Lazy catalog reader: loads catalog
- Analyst → Legacy catalog reader: loads legacy catalog
- Analyst → Progenitor analysis: analyzes histories
- Analyst → Synthetic photometry: computes photometry
- Synthetic photometry → Dust attenuation laws: uses laws
caesar/pyloser/pyloser.py - Analyst → VTK visualization: explores groups
- Analyst → VTK data functions: uses visualization tools
- Analyst → Zoom-region tools: selects zoom regions