G23

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

Bases: BaseExtRvModel

Gordon et al. (2023) 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 et al. (2023, ApJ, in press)

Example showing G23 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 G23

fig, ax = plt.subplots()

# generate the curves and plot them
lam = np.logspace(np.log10(0.0912), np.log10(30.0), num=1000) * u.micron

Rvs = [2.5, 3.1, 4.0, 4.75, 5.5]
for cur_Rv in Rvs:
   ext_model = G23(Rv=cur_Rv)
   ax.plot(lam,ext_model(lam),label='R(V) = ' + str(cur_Rv))

ax.set_xscale('log')
ax.set_yscale('log')

ax.set_xlabel('$\lambda$ [$\mu$m]')
ax.set_ylabel(r'$A(x)/A(V)$')

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

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

../_images/dust_extinction-parameter_averages-G23-1.png

Attributes Summary

Rv_range

x_range

Methods Summary

evaluate(x, Rv)

G23 function

nirmir_intercept(x, params)

Functional form for the NIR/MIR intercept term.

Attributes Documentation

Rv_range = [2.3, 5.6]
x_range = [0.03125, 10.964912280701753]

Methods Documentation

evaluate(x, Rv)[source]

G23 function

Parameters:
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

static nirmir_intercept(x, params)[source]

Functional form for the NIR/MIR intercept term. Based on modifying the G21 shape model to have two power laws instead of one with a break wavelength.

Parameters:
x: float

expects x in wavenumbers [1/micron]

params: floats

paramters of function

Returns:
axav: np array (float)

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