  A new code for astrophysical magnetohydrodynamics (MHD) is described. The
code has been designed to be easily extensible for use with static and adaptive
mesh refinement. It combines higher-order Godunov methods with the constrained
transport (CT) technique to enforce the divergence-free constraint on the
magnetic field. Discretization is based on cell-centered volume-averages for
mass, momentum, and energy, and face-centered area-averages for the magnetic
field. Novel features of the algorithm include (1) a consistent framework for
computing the time- and edge-averaged electric fields used by CT to evolve the
magnetic field from the time- and area-averaged Godunov fluxes, (2) the
extension to MHD of spatial reconstruction schemes that involve a
dimensionally-split time advance, and (3) the extension to MHD of two different
dimensionally-unsplit integration methods. Implementation of the algorithm in
both C and Fortran95 is detailed, including strategies for parallelization
using domain decomposition. Results from a test suite which includes problems
in one-, two-, and three-dimensions for both hydrodynamics and MHD are given,
not only to demonstrate the fidelity of the algorithms, but also to enable
comparisons to other methods. The source code is freely available for download
on the web.
