From 9a9e6f5a76018b5892b2a95135ea2c306068012b Mon Sep 17 00:00:00 2001 From: "Karl D. Gordon" Date: Thu, 22 Feb 2024 10:05:28 -0500 Subject: [PATCH] MIRI merging units fixed --- measure_extinction/merge_obsspec.py | 7 ++++--- measure_extinction/modeldata.py | 6 +++--- measure_extinction/stardata.py | 3 --- .../utils/merge_miri_ifu_spec.py | 20 +++++++++++++------ 4 files changed, 21 insertions(+), 15 deletions(-) diff --git a/measure_extinction/merge_obsspec.py b/measure_extinction/merge_obsspec.py index 6aeef57..46fcad7 100644 --- a/measure_extinction/merge_obsspec.py +++ b/measure_extinction/merge_obsspec.py @@ -285,7 +285,7 @@ def merge_gen_obsspec(obstables, wave_range, output_resolution=100): Parameters ---------- obstables : list of astropy Table objects - list of tables containing the observed IRS spectra + list of tables containing the observed spectra usually the result of reading tables wave_range : 2 element float @@ -367,7 +367,7 @@ def merge_irs_obsspec(obstables, output_resolution=150): """ wave_range = [5.0, 40.0] * u.micron otable = merge_gen_obsspec( - obstables, wave_range, output_resolution=output_resolution + obstables, wave_range, output_resolution=output_resolution, ) return otable @@ -421,6 +421,7 @@ def merge_miri_ifu_obsspec(obstables, output_resolution=3000): """ wave_range = [4.8, 29.0] * u.micron otable = merge_gen_obsspec( - obstables, wave_range, output_resolution=output_resolution + obstables, wave_range, output_resolution=output_resolution, ) + return otable diff --git a/measure_extinction/modeldata.py b/measure_extinction/modeldata.py index d81327b..f0fcd2f 100644 --- a/measure_extinction/modeldata.py +++ b/measure_extinction/modeldata.py @@ -209,7 +209,7 @@ def stellar_sed(self, params, velocity=None): return sed - def dust_extinguished_sed_FM90_G23(self, params, sed, velocity=0.0): + def dust_extinguished_sed(self, params, sed, velocity=0.0): """ Dust extinguished sed given the extinction parameters @@ -254,7 +254,7 @@ def dust_extinguished_sed_FM90_G23(self, params, sed, velocity=0.0): params[6], optnir_axav_x.value, optnir_axav_y, - [0.2, 11.0], + [0.033, 11.0], "FM90_G23_measure_extinction", ) ext_sed[cspec] = sed[cspec] * (10 ** (-0.4 * axav * params[0])) @@ -270,7 +270,7 @@ def dust_extinguished_sed_FM90_G23(self, params, sed, velocity=0.0): return ext_sed - def dust_extinguished_sed(self, params, sed, velocity=0.0): + def dust_extinguished_sed_FM04(self, params, sed, velocity=0.0): """ Dust extinguished sed given the extinction parameters diff --git a/measure_extinction/stardata.py b/measure_extinction/stardata.py index fd2827b..7d0bec1 100644 --- a/measure_extinction/stardata.py +++ b/measure_extinction/stardata.py @@ -844,9 +844,6 @@ def read_miri_ifu(self, line, path="./"): """ self.read_spectra(line, path) - # add units - self.fluxes = self.fluxes.value * u.Jy - self.uncs = self.uncs.value * u.Jy self.fluxes = self.fluxes.to( fluxunit, equivalencies=u.spectral_density(self.waves) ) diff --git a/measure_extinction/utils/merge_miri_ifu_spec.py b/measure_extinction/utils/merge_miri_ifu_spec.py index 3575eee..24a6cce 100644 --- a/measure_extinction/utils/merge_miri_ifu_spec.py +++ b/measure_extinction/utils/merge_miri_ifu_spec.py @@ -12,7 +12,7 @@ from measure_extinction.merge_obsspec import merge_miri_ifu_obsspec -fluxunit = u.erg / (u.s * u.cm * u.cm * u.angstrom) +fluxunit = u.erg / (u.cm * u.cm * u.s * u.angstrom) if __name__ == "__main__": @@ -61,7 +61,6 @@ mrs_file = f"{outname}_miri_ifu.fits" rb_mrs.write(f"{args.outpath}/{mrs_file}", overwrite=True) - # plot the original and merged Spectra fontsize = 14 font = {"size": fontsize} @@ -75,19 +74,28 @@ for ctable in stable: gvals = ctable["NPTS"] > 0 + cfluxes = ( + ctable["FLUX"] + .to(fluxunit, equivalencies=u.spectral_density(ctable["WAVELENGTH"])) + .value + ) ax.plot( ctable["WAVELENGTH"][gvals], - ctable["FLUX"][gvals], + cfluxes[gvals], "k-", alpha=0.5, label="orig", ) gvals = rb_mrs["NPTS"] > 0 - cfluxes = rb_mrs["FLUX"][gvals].data * fluxunit - # cfluxes = (rb_mrs["FLUX"][gvals].data * fluxunit).to(u.Jy, equivalencies=u.spectral_density(rb_mrs["WAVELENGTH"].data)).value + cfluxes = ( + rb_mrs["FLUX"] + .to(fluxunit, equivalencies=u.spectral_density(ctable["WAVELENGTH"])) + .value + ) + ax.plot( rb_mrs["WAVELENGTH"][gvals].to(u.micron), - cfluxes, + rb_mrs["FLUX"][gvals], "b-", alpha=0.5, label="merged",