mcyc / mufasa

MUlti-component Fitter for Astrophysical Spectral Applications
GNU General Public License v3.0
0 stars 2 forks source link

ammonia_multi_v only accepts frequency-formatted spectral axes #33

Open taiwithers opened 8 months ago

taiwithers commented 8 months ago

For ease of use and consistency with Pyspeckit ammonia functions, the ammonia_multi_v function should allow the use of velocity-formatted axes.

Example:

from mufasa.ammonia_multiv import ammonia_multi_v
from pyspeckit.spectrum.units import SpectroscopicAxis
from astropy import units as u
import numpy as np

ammonia_args = (0, 0.2, 15, 0.2)

xarr_frequency = SpectroscopicAxis(np.linspace(23.6903e9, 23.6982e9, 100), unit=u.Hz)
# the following line executes without issue as expected
ammonia_frequency = ammonia_multi_v(xarr_frequency, *ammonia_args)

xarr_velocity = SpectroscopicAxis(np.linspace(-20, 20, 100), unit=u.km / u.s)
# the following line throws a unit conversion error as by default velocity and frequency are not convertible
ammonia_velocity = ammonia_multi_v(xarr_velocity, *ammonia_args)
taiwithers commented 8 months ago

Potentially related, the nh3_multi_v_model_generator requests that fitting be done with the unit as Hz. I'm not sure if this would also need changing as I'm not familiar with the fitunit keyword of Pyspeckit model generators.