GCC09

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

Bases: BaseExtRvModel

Grodon, Cartledge, & Clayton (2009) Milky Way R(V) dependent model

Parameters:
Rv: float

R(V) = A(V)/E(B-V) = total-to-selective extinction

Raises:
InputParameterError

Input Rv values outside of defined range

Notes

From Gordon, Cartledge, & Clayton (2009, ApJ, 705, 1320) Including erratum: 2014, ApJ, 781, 128

This model applies to the UV spectral region all the way to 912 A. This model was not derived for the optical or NIR.

Example showing GCC09 curves for a range of R(V) values.

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

from dust_extinction.parameter_averages import GCC09

fig, ax = plt.subplots()

# generate the curves and plot them
x = np.arange(3.3, 11, 0.1)/u.micron

Rvs = ['2.0','3.0','4.0','5.0','6.0']
for cur_Rv in Rvs:
   ext_model = GCC09(Rv=cur_Rv)
   ax.plot(x,ext_model(x),label='R(V) = ' + str(cur_Rv))

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.09, 0.1, 0.12, 0.15, 0.2, 0.3])
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-parameter_averages-GCC09-1.png

Attributes Summary

Rv_range

x_range

Methods Summary

evaluate(in_x, Rv)

GCC09 function

Attributes Documentation

Rv_range = [2.0, 6.0]
x_range = [3.3, 11.0]

Methods Documentation

static evaluate(in_x, Rv)[source]

GCC09 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