Skip to content
@HERMES-SkyMaps

HERMES

HERMES is an open-source computational framework for modelling Galactic radiative processes and producing high-energy, HEALPix-compatible sky maps.
HERMES rainbow banner Animated HERMES introduction

HERMES is an open-source C++17 and Python framework for modelling Galactic radiative processes and producing reproducible, HEALPix-compatible sky maps.


HERMES CI C++ 17 Python HEALPix GPL-3.0 license


🌈 The HERMES constellation

Four repositories, one reproducible route from physical ingredients to publication-ready products.

Repository What lives there Jump in
🧠 hermes The C++ engine, Python bindings, physical models, integrators, tests, and packaging. Source
📚 hermes-docs Searchable documentation, concepts, installation, API guidance, scientific practice, and developer notes. Read
🧪 hermes-examples Ready-to-run Python examples for maps, spectra, ingredients, plots, and scientific smoke tests. Run
🗄️ hermes-data Versioned runtime tables and astrophysical datasets, distributed as checksum-verified release archives. Data

🛰️ From ingredients to a sky

flowchart LR
    CR["⚡ Cosmic rays"] --> LOS
    GAS["☁️ Gas densities"] --> LOS
    PF["🌈 Photon fields"] --> LOS
    MF["🧲 Magnetic fields"] --> LOS
    LOS["🧮 Interactions +\nline-of-sight integration"] --> MAP["🗺️ HEALPix maps\nand spectra"]
    MAP --> SCI["🔬 Compare • validate • publish"]

    style CR fill:#00c9ff,stroke:#0077b6,color:#001219
    style GAS fill:#80ffdb,stroke:#00b894,color:#001219
    style PF fill:#ffe66d,stroke:#ff9f1c,color:#001219
    style MF fill:#c77dff,stroke:#7b2cbf,color:#ffffff
    style LOS fill:#ff4d9d,stroke:#c9184a,color:#ffffff
    style MAP fill:#ff9f1c,stroke:#e85d04,color:#001219
    style SCI fill:#70e000,stroke:#38b000,color:#001219
Loading

HERMES combines physical source populations, three-dimensional Galactic ingredients, particle interactions, and robust numerical integration. The same pipeline can be driven from C++ or Python and produces maps that fit naturally into the wider astronomy ecosystem.

🔭 One sky, many messengers

Messenger A few things HERMES can model
🟣 Gamma rays Neutral-pion decay, bremsstrahlung, inverse Compton emission, absorption, and dark matter
🟠 Radio Synchrotron, free-free emission and absorption, dispersion, and Faraday rotation
🔵 Neutrinos & neutrons Hadronic secondary yields and neutron-decay propagation
🟢 Ingredients Cosmic rays, neutral and ionized gas, photon fields, magnetic fields, and Galactic profiles

🧑‍🍳 The cosmic recipe: choose a source population, add Galactic gas and radiation fields, season with an interaction model, integrate along every line of sight, and serve in HEALPix pixels.

🪽 Meet HERMES

HERMES logo: the winged messenger running across a pixelized sky
Fast messenger. Pixelized sky. Very little patience for unit mistakes. ✨

🚀 Launch HERMES

There is no magic pip install spell yet—the current supported route is a CMake build with optional Python bindings:

git clone https://github.com/HERMES-SkyMaps/hermes.git
cd hermes

cmake -S . -B build \
  -DENABLE_PYTHON=ON \
  -DENABLE_TESTING=ON \
  -DDOWNLOAD_DATA=ON

cmake --build build --parallel
ctest --test-dir build --output-on-failure

The runtime dataset is deliberately versioned separately and is downloaded only when requested. For virtual environments, macOS details, offline data, installation, and verification, follow the installation guide.

Start here First map Examples Data

🧪 Science that is difficult to break

  • Runtime data are released independently with explicit versions and SHA-256 verification.
  • Physical units are carried through the C++ type system.
  • Unit, concurrency, analytic, and scientific regression tests guard numerical behaviour.
  • Configurable resolution and integration settings make convergence studies a first-class workflow.
  • Examples and documentation are plain, reviewable files—not knowledge hidden in one person's laptop.

🤝 Join the expedition

Bug reports, physical-model discussions, regression cases, documentation improvements, and new examples are welcome.

  1. Read the developer guide.
  2. Search or open a HERMES issue.
  3. Keep code, tests, documentation, examples, and data changes in their natural repositories.
  4. Send a focused pull request and tell us what scientific result should remain invariant.

📖 Cite HERMES

If HERMES contributes to your work, please cite Dundovic, Evoli, Gaggero & Grasso, “Simulating the Galactic multi-messenger emissions with HERMES” (A&A) and the ASCL entry.

Paper ASCL Stars


Made with C++, Python, photons, and a suspicious amount of coffee. ☕🌌

Rainbow footer

Pinned Loading

  1. hermes hermes Public

    HERMES is a publicly available computational framework for the line of sight integration over galactic radiative processes which creates sky maps in the HEALPix-compatibile format.

    C++ 32 11

  2. hermes-docs hermes-docs Public

    Documentation, user guides, and tutorials for the HERMES high-energy sky-map framework.

    1

Repositories

Showing 5 of 5 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…