Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mysterious MIRI "lim_fluxes" column #44

Open
janerigby opened this issue Dec 16, 2022 · 1 comment
Open

Mysterious MIRI "lim_fluxes" column #44

janerigby opened this issue Dec 16, 2022 · 1 comment

Comments

@janerigby
Copy link

The Pandeia verification files have an intriguing 'lim_fluxes' column for MIRI, but not the other SIs. I asked Klaus P. -- he didn't know where that lim_fluxes data came from, or whether to trust it. Can anyone pls help me track down what that column is, and whether to trust it? It gives numbers similar to, but different than, the point source limiting line flux that I compute using the resolution curves and the assumption that a spectrally unresolved line is critically sampled.

@janerigby janerigby changed the title Mysterious MIRI "lim_flux" column Mysterious MIRI "lim_fluxes" column Dec 16, 2022
@ariedel
Copy link
Contributor

ariedel commented Jan 11, 2023

Apologies for the late reply.

I am not sure what's going on here. lim_fluxes should be present in the files for all of the instruments. It's a standard output of our code corresponding to the flux in millijanskies at which our standard setup (for that instrument) reaches an SNR of 10 in 10,000 seconds.

There are line fluxes, which appear to determine the minimum resolved line width and use the lim_flux value to determine the minimum line flux. Those only show up for MIRI, despite the fact that they're supposed to be keyed off of whether the lim_flux values are arrays which ought to be true of any spectroscopic mode.

        # Calculate line sensitivities, assuming unresolved lines.
        if lim_flx.shape[0]>1:
            sat_limit = np.min(sat_limit_detector,0)
            r = report.signal.current_instrument.get_resolving_power(wavelength)
            px_width_micron = np.abs(wavelength-np.roll(wavelength,1))
            px_width_micron[:1] = px_width_micron[1]

            freqs = 2.99792458e14/wavelength
            px_width_hz = np.abs(freqs-np.roll(freqs,1))
            px_width_hz[:1] = px_width_hz[1]

            line_width_px = wavelength/r/px_width_micron
            line_limit = lim_flx*1e-3*1e-26 * px_width_hz * line_width_px / np.sqrt(line_width_px)
            line_limits.append(line_limit)
        else:
            sat_limit = np.min(sat_limit_detector)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants