High-Performance RAMSES Data Analysis in Pure Julia
Note: Coverage badge reflects development branch testing coverage
MERA is a Julia package for analyzing RAMSES astrophysical simulation data. Built entirely in Julia, it provides efficient numerical performance through JIT compilation while maintaining high-level language accessibility. MERA handles multi-resolution AMR grids and particle datasets with a unified API designed for computational research workflows.
- Julia-Native Performance: JIT compilation with comprehensive benchmarking framework for validated speed
- Complete RAMSES Workflow: Seamless pipeline from raw AMR output to publication-ready analysis
- Multi-Threaded I/O: Performance-tested parallel operations with system-specific optimization guides
- Extensive Physics Variables: 70+ hydro and 30+ particle derived quantities with Unicode equation support
Additional benefits:
• Interactive Development: Write analysis code in Jupyter notebooks, then scale to production scripts without rewriting
• Memory-Conscious Design: Load only the data you need with spatial and refinement level filtering
• Research Reproducibility: Project.toml/Manifest.jl ensure identical computational environments across systems
• Multi-Threading Out-of-the-Box: gethydro() and projection() automatically use all available cores
• Compressed Archive Format: MERA files dramatically reduce storage needs and provide significantly faster reading compared to original RAMSES files, especially beneficial for large simulations
• Progress Tracking: Built-in progress bars for long-running operations on large datasets
Computational astrophysicists analyzing RAMSES AMR simulation data with MERA.jl's unified Julia workflow
using Pkg
Pkg.add("Mera")
using Mera
# Load simulation metadata
info = getinfo(output=100, path="/path/to/ramses/output")
# Extract hydrodynamic data with spatial filtering (multi-threaded)
hydro = gethydro(info, lmax=10,
xrange=[-10., 10.], yrange=[-10., 10.], zrange=[-5., 5.],
center=[24., 24., 24.], range_unit=:kpc)
# Create high-resolution density projection (multi-threaded)
proj = projection(hydro, :rho,
direction=:z,
pxsize=[10., :pc],
unit=:Msun_pc2)
# Generate publication-ready visualization using Makie
using CairoMakie
heatmap(log10.(proj.maps[:rho]), colormap=:hot,
colorrange=(2, 6), # log₁₀ of [1e2, 1e6] M☉/pc²
axis=(xlabel="x [kpc]", ylabel="y [kpc]", title="Surface Density Σ"))
High-Performance Data Processing
Compressed MERA-files with LZ4/Zlib/Bzip2 compression enable rapid I/O operations. Built on IndexedTables.jl for memory-efficient handling of 100+ GB AMR datasets.
Complete Analysis Toolkit
Native support for projections, phase diagrams, statistical analysis, and VTK export for 3D visualization. All functions designed for both interactive exploration and batch processing.
RAMSES-Optimized Reader
Direct binary reading of RAMSES outputs with automatic unit conversion, ghost cell handling, and multi-level AMR support. Compatible with RAMSES versions from stable-17.09 through stable-19.10, plus RAMSES 2025.05 (beta support).
Julia Ecosystem Integration
Seamless interoperability with the Julia ecosystem enables advanced analyses beyond MERA's core functionality. Data structures integrate naturally with statistical, machine learning, and visualization packages for extended computational workflows.
📚 Complete Documentation - API reference, tutorials, and advanced examples
📖 Jupyter Notebooks - 15+ step-by-step analysis tutorials incorporated into the documentation
📋 Benchmark Suite - Performance testing and optimization guides
- Julia 1.10+ (1.11+ recommended)
- Compatible with RAMSES outputs from stable-17.09 through stable-19.10, and RAMSES 2025.05
- Linux and macOS (Windows not tested)
RAMSES Version | Compatibility Status | Notes |
---|---|---|
stable-17.09 | ✅ Fully Supported | Validated |
stable-18.xx | ✅ Fully Supported | Validated |
stable-19.10 | ✅ Fully Supported | Current stable |
2025.05 | 🧪 Beta Support | Core functionality validated, new features in testing |
⭐ Star this repository to show your support and stay informed about updates
📧 Get release notifications:
- GitHub: Click "Watch" → "Custom" → check "Releases"
- NewReleases.io: Subscribe at newreleases.io for automated email alerts (free)
If MERA contributes to your research, please cite:
- Questions: Email
- Bug Reports: GitHub Issues
- Feature Requests: Email - We welcome ideas for extending MERA!
MERA's modular architecture makes it easy to add support for new simulation codes, analysis methods, or output formats. See our documentation for developer guides.
Ready to accelerate your RAMSES analysis? → Get Started with MERA