NOCTURNE
A Unified General Relativistic Magnetohydrodynamics (GRMHD) + Polarized General Relativistic Radiative Transfer (GRRT-pol) Code for Near-Horizon Physics in Dynamical Spacetimes
Ronald Gamble, Jr, Ph.D | 2026
Capabilities of NOCTURNE
General Relativistic Magnetohydrodynamics
Ideal GRMHD
Force-Free & Resistive GRMHD (anomalous resistivity)
Evolved electron temperature (thermal & non-thermal populations)
Evolved electric & magnetic fields
SANE/MAD Disk Evolution (out to rg = 1,000M)
Magnetic Reconnection, X-ray Corona, & Radiative heating/cooling
Near-Horizon Physics: Photon Rings, Jet launching, & Horizon Penetrating Magnetic Field.
General Relativistic Radiative transfer
Stokes I, Q, U, V Polarization
Synchrotron, Bremsstrahlung, Self-Synchrotron emission models
Scattering: Thompson, Inverse-Compton, Klein-Nishina
Monte Carlo Sampling for X-ray Scattering
Time-Resolved Imaging
Radio/Sub-mm + soft/hard X-ray Imaging (up to 1 MeV)
Magnetic Reconnection, X-ray Corona, & Radiative heating + cooling + scattering
Tools
3D Visualization of Full GRMHD State (NCONS=13) + Automatic plot generation
Full GRMHD (NCONS=13) Snapshots
Light Curve + SED generation
Time-Resolved Imaging & Animation
Single codebase, single computational grid
GRMHD (GPU-resident) + GRRT-pol (CPU-resident) can run simultaneously
Total Evolved Variables: 13
FORTRAN 08 + C + C/Apple METAL (M-series only)
Runs on Laptop or HPC (Apple cluster if available)
Unified Codebase
one codebase, one grid approach…
The standard GRMHD modeling pipeline is a two-code workflow: a GRMHD code evolves
the magnetohydrodynamic equations of a magnetized plasma and saves snapshots of GRMHD state primitives and/or conserved variables. A separate general relativistic radiative transfer code ray-traces those snapshots, generated by a separate codebase, into images, spectra, and Stokes maps. This division is
practical and has been enormously productive, but it imposes an information bottleneck between two halves of a fully evolved astrophysical system. Sub-grid quantities that are natural to compute while the
plasma is being evolved include the local dissipation rate that sets a non-thermal electron population must instead be reconstructed after the fact from a downsampled snapshot.
NOCTURNE is built on the opposite design choice, which fully emphasizes a new methodology: one codebase, one grid. The GRMHD evolution and the polarized GRRT operate on the same in-memory state container, and the emission coefficients are evaluated from the run's own magnetization, fluid-frame
field, and (optionally) evolved electron temperature. Including resistively-dissipated energy. An offline imaging driver that re-loads an HDF5 snapshot is retained for the ``evolve once, image many'' workflow, so that images at arbitrary frequency, inclination, and field of view can be regenerated without re-running the plasma; but the reference architecture keeps the ray tracer coupled to the live grid.

