Table of Contents
Fetching ...

RotCurves: A PYTHON package for efficient modelling and fitting of galactic rotation curves at high-z

A. Nestor Shachar, A. Sternberg, S. H. Price, N. M. Förster Schreiber, R. Genzel, L. J. Tacconi, H. Übler, C. Barfety, A. Burkert, J. Chen, R. Davies, F. Eisenhauer, J. M. Espejo Salcedo, R. Herrera-Camus, J. B. Jolly, L. L. Lee, T. Naab, S. Pastras, C. Pulsoni, T. T. Shimizu, G. Tozzi

TL;DR

RotCurves presents a fast Python forward-modeling tool for high-redshift galactic rotation curves that corrects beam smearing by projecting the PSF into the disk plane and convolving in the galaxy frame. It builds an axisymmetric mass model with bulge, disk, and a dark-matter halo (NFW, Burkert, Einasto, etc.), includes pressure-support corrections, and fits to data using an MCMC sampler. Benchmarks against dysmalpy show RotCurves achieves typical runtimes of about $\sim 10\,\mathrm{ms}$ per realization, ~200–300× faster, while recovering intrinsic parameters with small biases for well-resolved systems; biases increase at lower S/N or with larger PSFs. The tool is intended for exploratory analyses, rapid parameter studies, and processing large IFU survey samples, with code publicly available on GitHub, enabling efficient testing of mass-model assumptions across cosmic time.

Abstract

Rotation curves are a fundamental tool in the study of galaxies across cosmic time, and with the advent of large integral field unit (IFU) kinematic surveys there is an increasing need for efficient and flexible modelling tools. We present RotCurves, a parametric forward-modeling tool designed for rotation curve analysis at high-z, correcting for ``beam smearing" by projecting and convolving the beam PSF in the plane of the galaxy. We benchmark RotCurves against the established parametric code dysmalpy using synthetic observations. The typical runtime with RotCurves is a few ~10ms, a factor 250 faster than dysmalpy for a single realization. For well-resolved systems (PSF FWHM < Reff), the mock observed rotation and dispersion curves agree to within 5% up to 3Reff, where most of the discrepancies are in the inner disk. whereas in marginally resolved systems (PSF FWHM > 1.5 Reff) discrepancies increase to up to 15%. Using a built-in MCMC fitting procedure, RotCurves recovers well the intrinsic model parameters across a wide range of galaxy properties and accounting for realistic noise patterns. Systematic biases emerge for the effective radius and for low disk masses (Mdisk < 3x10^9 Msun). We show excellent parameter recovery at high signal-to-noise ratios (S/N > 25), with increasing deviations in parameter recovery at lower S/N. RotCurves is best suited for inclinations of 10 < i < 80. RotCurves is built as an exploratory tool for rapid testing of mass model assumptions, parameter studies and for efficiently processing large samples of observational data from large IFU surveys. The code is publicly available on github.

RotCurves: A PYTHON package for efficient modelling and fitting of galactic rotation curves at high-z

TL;DR

RotCurves presents a fast Python forward-modeling tool for high-redshift galactic rotation curves that corrects beam smearing by projecting the PSF into the disk plane and convolving in the galaxy frame. It builds an axisymmetric mass model with bulge, disk, and a dark-matter halo (NFW, Burkert, Einasto, etc.), includes pressure-support corrections, and fits to data using an MCMC sampler. Benchmarks against dysmalpy show RotCurves achieves typical runtimes of about per realization, ~200–300× faster, while recovering intrinsic parameters with small biases for well-resolved systems; biases increase at lower S/N or with larger PSFs. The tool is intended for exploratory analyses, rapid parameter studies, and processing large IFU survey samples, with code publicly available on GitHub, enabling efficient testing of mass-model assumptions across cosmic time.

Abstract

Rotation curves are a fundamental tool in the study of galaxies across cosmic time, and with the advent of large integral field unit (IFU) kinematic surveys there is an increasing need for efficient and flexible modelling tools. We present RotCurves, a parametric forward-modeling tool designed for rotation curve analysis at high-z, correcting for ``beam smearing" by projecting and convolving the beam PSF in the plane of the galaxy. We benchmark RotCurves against the established parametric code dysmalpy using synthetic observations. The typical runtime with RotCurves is a few ~10ms, a factor 250 faster than dysmalpy for a single realization. For well-resolved systems (PSF FWHM < Reff), the mock observed rotation and dispersion curves agree to within 5% up to 3Reff, where most of the discrepancies are in the inner disk. whereas in marginally resolved systems (PSF FWHM > 1.5 Reff) discrepancies increase to up to 15%. Using a built-in MCMC fitting procedure, RotCurves recovers well the intrinsic model parameters across a wide range of galaxy properties and accounting for realistic noise patterns. Systematic biases emerge for the effective radius and for low disk masses (Mdisk < 3x10^9 Msun). We show excellent parameter recovery at high signal-to-noise ratios (S/N > 25), with increasing deviations in parameter recovery at lower S/N. RotCurves is best suited for inclinations of 10 < i < 80. RotCurves is built as an exploratory tool for rapid testing of mass model assumptions, parameter studies and for efficiently processing large samples of observational data from large IFU surveys. The code is publicly available on github.
Paper Structure (21 sections, 35 equations, 19 figures, 6 tables)

This paper contains 21 sections, 35 equations, 19 figures, 6 tables.

Figures (19)

  • Figure 1: Illustration of the 2D beam smearing projection for an inclination angle $i$. As the galaxy becomes more edge-on ($i \rightarrow 90^\circ$), it intersects larger areas on the disk plane. The projected ellipse has an axis-ratio of $a/b = 1 / \cos{i}$ (for $i \neq 90^\circ$).
  • Figure 2: Average runtime of RotCurves (red circles) and dysmalpy (grey squares) as a function of the number of pixels on one side of the grid. Runtimes are calculated as the average CPU time from 100 computations. The speedup factor is shown in a dashed line, corresponding to the right side of the figure. RotCurves keeps under $\lesssim100$ms even when resolving finely sampled grids, and is $\approx 300-2500$ faster than dysmalpy.
  • Figure 3: Mock-observed rotation (left) and dispersion (right) curves for RotCurves (red) and dysmalpy (black). The bottom panels show the residuals relative to dysmalpy. A PSF FWHM of $0.25"$ ($0.5 R_{\rm eff}$) is considered, comparable to ground-based high-z spectroscopy. The residuals are $\lesssim 5\%$ for both rotation and dispersion, with largest deviations at $\approx 0.5R_{\rm eff}$. The root mean square error (in km/s) for the full curves is given in the top-left corner.
  • Figure 4: Comparison of the beam-smeared curves generated by RotCurves against dysmalpy for variations in key model parameters. Each panel shows the residual rotation velocity (top figure) or the residual velocity dispersion (bottom figure), defined as $\Delta \equiv \left( \texttt{RotCurves} - \texttt{dysmalpy} \right) / \texttt{dysmalpy}$, at notable apertures: $r = (0.5, 1, 2)\times R_{\rm eff}$ given by the dashed, solid, and dash-dotted lines respectively (in addition the the center $r=0$ for the dispersion, shown as a dotted.). The fiducial value given by the red dashed line. From top left to bottom right, the parameters are: Disk mass $M_{\rm disk}$, bulge mass $M_{\rm bulge}$, dark matter fractions at the effective radius $f_{\rm DM} (R_{\rm eff})$, v-over-sigma ratio $V/\sigma_0$, FWHM of the circular PSF in units of the effective radius, $PSF_{\rm FWHM} / R_{\rm eff}$, and the inclination angle $i$.
  • Figure 5: The best fit results for the fiducial model from the MCMC fitting procedure, fitted with RotCurves for a mock model created with dysmalpy up to 3 times the disk effective radius. Top figure: rotation curve (left) and velocity dispersion (right) with the dysmalpy mock model in black squares extracted in circular apertures given a PSF HWHM of $0.25"$, and the RotCurves best fit is shown in the red solid line. The residuals are shown in the bottom panels for a flat 5% uncertainty on the dysmalpy points for the purpose of the fit. Bottom figure: corresponding corner plot for the 5 fitted parameters: $R_\mathrm{eff}, M_\mathrm{baryon}, M_\mathrm{vir}, \mathrm{B/T}, \sigma_0$ and the inferred dark matter fractions $f_\mathrm{DM}(R_\mathrm{eff})$. The median and MAP of the posterior is shown in the red and green lines, respectively, and the true value of the model in a pink line. the dashed lines show the 16$^{\rm th}$ and 84$^{\rm th}$ percentiles. The covariance panels show some degeneracies between the model parameters, namely between the halo mass and both baryon mass and disk size, or the halo mass and the B/T ratio.
  • ...and 14 more figures