Interstellar Dust Attenuation

dust_attenuation is a python package to provide models of interstellar dust attenuation curves.

Attenuation describes the effects of dust on a group of stars or a star with circumstellar dust. The effects include in attenuation are dust absorption, dust scattering out of the line-of-sight, and dust scattering into the line-of-sight. In general, attenuation models are used to model or correct the effects of dust on observations of galaxies (or regions thereof).

In contrast, dust extinction refers to the effects of dust on measurements of a single star. See Attenuation versus Extinction. For extinction models, see the dust_extinction package.

This package is developed in the astropy affiliated package template and uses the astropy.modeling framework.

User Documentation



GitHub: dust_attenuation

Quick Start

Need to add.

Reporting Issues

If you have found a bug in dust_attenuation please report it by creating a new issue on the dust_attenuation GitHub issue tracker.

Please include an example that demonstrates the issue sufficiently so that the developers can reproduce and fix the problem. You may also be asked to provide information about your operating system and a full Python stack trace. The developers will walk you through obtaining a stack trace if it is necessary.


Like the Astropy project, dust_attenuation is made both by and for its users. We accept contributions at all levels, spanning the gamut from fixing a typo in the documentation to developing a major new feature. We welcome contributors who will abide by the Python Software Foundation Code of Conduct.

dust_attenuation follows the same workflow and coding guidelines as Astropy. The following pages will help you get started with contributing fixes, code, or documentation (no git or GitHub experience necessary):

For the complete list of contributors please see the dust_attenuation contributors page on Github.

Reference API

dust_attenuation.averages Module


C00(*args[, meta, name])

Attenuation curve of Calzetti et al. (2000).

L02(*args[, meta, name])

Attenuation curve of Leitherer et al. (2002).

Class Inheritance Diagram

Inheritance diagram of dust_attenuation.averages.C00, dust_attenuation.averages.L02

dust_attenuation.radiative_transfer Module


WG00(tau_V[, geometry, dust_type, …])

Attenuation curve of Witt & Gordon (2000)

Class Inheritance Diagram

Inheritance diagram of dust_attenuation.radiative_transfer.WG00

dust_attenuation.shapes Module


N09([x0, gamma, ampl, slope, Av])

Attenuation curve using a modified version of the Calzetti law allowing for a varying UV slope and the presence of a UV bump.

SBL18([x0, gamma, ampl, slope, Av])

Attenuation curve using a modified version of the Calzetti law allowing for a varying UV slope and the presence of a UV bump.

Class Inheritance Diagram

Inheritance diagram of dust_attenuation.shapes.N09, dust_attenuation.shapes.SBL18

dust_attenuation.baseclasses Module


BaseAttModel(*args[, meta, name])

Base Attenuation Model.

BaseAttAvModel(*args[, meta, name])

Base attenuation Av Model.

BaseAtttauVModel(*args[, meta, name])

Base attenuation tau_V Model.

Class Inheritance Diagram

Inheritance diagram of dust_attenuation.baseclasses.BaseAttModel, dust_attenuation.baseclasses.BaseAttAvModel, dust_attenuation.baseclasses.BaseAtttauVModel