G03_SMCBar

class dust_extinction.averages.G03_SMCBar(*args, meta=None, name=None, **kwargs)[source]

Bases: BaseExtModel

Gordon et al (2003) SMCBar Average Extinction Curve

Parameters:
None
Raises:
None

Notes

From Gordon et al. (2003, ApJ, 594, 279)

The observed A(lambda)/A(V) values at 2.198 and 1.25 microns were changed to provide smooth interpolation as noted in Gordon et al. (2016, ApJ, 826, 104)

Example showing the average curve

import numpy as np
import matplotlib.pyplot as plt
import astropy.units as u

from dust_extinction.averages import G03_SMCBar

fig, ax = plt.subplots()

# define the extinction model
ext_model = G03_SMCBar()

# generate the curves and plot them
x = np.arange(ext_model.x_range[0], ext_model.x_range[1],0.1)/u.micron

ax.plot(x,ext_model(x),label='G03 SMCBar')
ax.plot(ext_model.obsdata_x, ext_model.obsdata_axav, 'ko',
        label='obsdata')

ax.set_xlabel(r'$x$ [$\mu m^{-1}$]')
ax.set_ylabel(r'$A(x)/A(V)$')

# for 2nd x-axis with lambda values
axis_xs = np.array([0.1, 0.12, 0.15, 0.2, 0.3, 0.5, 1.0])
new_ticks = 1 / axis_xs
new_ticks_labels = ["%.2f" % z for z in axis_xs]
tax = ax.twiny()
tax.set_xlim(ax.get_xlim())
tax.set_xticks(new_ticks)
tax.set_xticklabels(new_ticks_labels)
tax.set_xlabel(r"$\lambda$ [$\mu$m]")

ax.legend(loc='best')
plt.show()

(Source code, png, hires.png, pdf)

../_images/dust_extinction-averages-G03_SMCBar-1.png

Attributes Summary

Rv

obsdata_axav

obsdata_tolerance

obsdata_x

x_range

Methods Summary

evaluate(in_x)

G03 SMCBar function

Attributes Documentation

Rv = 2.74
obsdata_axav = array([0.11 , 0.169, 0.25 , 0.567, 0.801, 1.   , 1.374, 1.672, 2.   ,        2.22 , 2.428, 2.661, 2.947, 3.161, 3.293, 3.489, 3.637, 3.866,        4.013, 4.243, 4.472, 4.776, 5.   , 5.272, 5.575, 5.795, 6.074,        6.297, 6.436, 6.992])
obsdata_tolerance = 0.06
obsdata_x = array([0.455, 0.606, 0.8  , 1.235, 1.538, 1.818, 2.273, 2.703, 3.375,        3.625, 3.875, 4.125, 4.375, 4.625, 4.875, 5.125, 5.375, 5.625,        5.875, 6.125, 6.375, 6.625, 6.875, 7.125, 7.375, 7.625, 7.875,        8.125, 8.375, 8.625])
x_range = [0.3, 10.0]

Methods Documentation

evaluate(in_x)[source]

G03 SMCBar function

Parameters:
in_x: float

expects either x in units of wavelengths or frequency or assumes wavelengths in wavenumbers [1/micron]

internally wavenumbers are used

Returns:
axav: np array (float)

A(x)/A(V) extinction curve [mag]

Raises:
ValueError

Input x values outside of defined range