Source code for superbol.mag2flux

import numpy as np
from astropy import units as u


[docs]def mag2flux(magnitude, uncertainty, effective_wl, flux_at_zero_mag): """Converts an observed magnitude in a filter band to an average flux. Args: magnitude (float): Apparent magnitude. uncertainty (float): Apparent magnitude uncertainty. effective_wl (float): Effective wavelength of the filter. flux_at_zero_mag (float): Flux at zero magnitude of the filter. Returns: tuple: A tuple of two floats: * the flux in :math:`erg \\; s^{-1} cm^{-2} Angstrom^{-1}` * the flux uncertainty in :math:`erg \\; s^{-1} cm^{-2} Angstrom^{-1}` (flux, flux_uncertainty) """ effective_wl = effective_wl * u.AA flux_at_zero_mag = flux_at_zero_mag * (u.erg / (u.s * u.cm**2 * u.AA)) flux = flux_at_zero_mag * 10**(-0.4 * magnitude) flux_uncertainty = np.abs(flux * -0.4 * np.log(10) * uncertainty) return flux.value, flux_uncertainty.value