Package ComboCode :: Package cc :: Package modeling :: Package tools :: Module Reddening
[hide private]
[frames] | no frames]

Module Reddening

source code

Toolbox for interstellar Reddening of models or dereddening of data, and interstellar extinction laws.

Author: R. Lombaert

How does reddening in ComboCode work?

First and foremost, we define the interstellar extinction in the Johnson K band. The magnitude of extinction, Ak, is derived from extinction models. Either from Marshall et al. 2006, or from Schlegel et al. 1998 if not available from the former. Ak requires the distance to be given, before it can be applied to a model. All of our modeling requires a distance as input, so this is not an issue in practice. If needed, the extinction model can be changed to a different 3d galactic map from marshall (or Schlegel), see getAk.

A note on the extinction models. Schlegel et al say that they could not verify their values at |bb| < 5 degrees, so they should not be trusted. However, Sans Fuentes et al 2014 checked those values by comparing them with OGLE maps for the |ll| < 10 degrees region and found a very good match. Common practice is to compare model values with measurements, in -- for instance -- the IRSA catalog. http://irsa.ipac.caltech.edu/applications/DUST/ (based on COBE/DIRBE maps) Here, you can find total extinction in several bands. This then needs to be converted to the distance you're looking at for your source. It is more convenient to use galactic 3D models and do this exercise once for a given direction to see how accurate the models are.

The interstellar extinction law of preference is that of Chiar and Tielens 2006. This law is given normalized per Ak and can be directly combined with the interstellar extinction given from Marshall or Schlegel. We use the curve for the local ISM. The alternative is a curve for the galactic center, but even in the direction of the galactic center the local ISM doesn't change much in terms of dust extinction, except at very large distances on the order of 5kpc or more. We don't work with sources at those distances for now, so we can safely ignore it. For completeness, the GC curve is made as well and provided as an option in the reddening module of IvS repo.

However, while Marshall gives Ak and presents no issue, other maps give Av. To convert Av to Ak, we have to convert the V-band normalization of Drimmel to K-band normalization. Chiar and Tielens, however, derived a law only in the IR hence no V-band normalization can be defined. We need a different interstellar reddening law in V-band to be compared with the infrared law of the former. The most recent V-band reddening law is given by Fitzpatrick 2004.

We therefore created our own interstellar reddening law from the combination of Fitzpatrick 2004 up to the wavelength where Chiar and Tielens 2006 begins. They match almost identically in the overlapping region, following a power law of the form lambda**-1.8. From there, the combined law follows Chiar and Tielens, and is extrapolated to further wavelengths with the same power law with power -1.8 as mentioned by Chiar & Tielens 2006 between 2 and 5 micron. At long wavelengths, the extinction becomes negligible, so the extrapolation is barely noticeable, but maintains consistency.

To convert Fitzpatrick 2004 to Ak, we do need to assume a Av to Ak conversion that does not take into account Chiar and Tielens. The latter suggest their law can be converted back to Av with a factor of ak/av = 0.09, which is in very good agreement with the factor derived from fitzpatrick 2004 itself: 0.088.

Using this self-constructed reddening law, we can now convert Av to Ak from Drimmel, and then apply that Ak together with the self-constructed reddening law to redden our models. We use the IvS repository for the reddening.

Functions [hide private]
float
getAk(ll, bb, distance=None, map='marshall', law='fitz2004chiar2006', lawtype='ism')
Find the Johnson K-band interstellar extinction at given longitude and latitude for a given galactic extinction model.
source code
array
redden(wave, flux, ak, law='Fitz2004Chiar2006', lawtype='ism')
Redden model fluxes, correcting for interstellar extinction.
source code
 
combineRedLaw(ofn, chiar_curve='ism', power=-1.8)
A method to combine the Fitzpatrick 2004 and Chiar & Tielens 2006 reddening laws as well as to extrapolate Chiar and Tielens 2006 to longer wavelengths.
source code
Variables [hide private]
  __package__ = 'ComboCode.cc.modeling.tools'
Function Details [hide private]

getAk(ll, bb, distance=None, map='marshall', law='fitz2004chiar2006', lawtype='ism')

source code 

Find the Johnson K-band interstellar extinction at given longitude and latitude for a given galactic extinction model.

Default is marshall, and if not available there, schlegel. When marshall is requested, schlegel is always returned for ll and bb outside the range of marshall.

Alternatives are arenou, drimmel and schlegel, see ivs repo.

Parameters:
  • ll (float) - The galactic longitude of the star
  • bb (float) - The galactic latitude of the star
  • distance (float) - Distance to the star. Default is None, in which case the full extinction to infinity in a given direction is returned

    (default: None)

  • map (str) - The galactic 3d extinction model.

    (default: 'marshall')

  • law (str) - The reddening law

    (default: 'fitz2004chiar2006')

  • lawtype (str) - The type of Chiar & Tielens reddening law (either ism or gc). Only when relevant.

    (default: 'ism')

Returns: float
The interstellar extinction magnitude in K-band

redden(wave, flux, ak, law='Fitz2004Chiar2006', lawtype='ism')

source code 

Redden model fluxes, correcting for interstellar extinction.

Flux is assumed to be flux, and not magnitudes!

For dereddening, pass -ak instead.

The reddening law can be chosen, but should probably be Fitz2004Chiar2006 as it was tailored to infrared reddening of AGB sources in the Solar neighbourhood.

Parameters:
  • wave (array) - The wavelength grid
  • flux (array) - The flux from the models
  • ak (float) - The interstellar reddening magnitude in Johnson K-band
  • law (str) - The reddening law

    (default: 'Fitz2004Chiar2006')

  • lawtype (str) - The type of Chiar & Tielens reddening law (either ism or gc)

    (default: 'ism')

Returns: array
The reddened fluxes

combineRedLaw(ofn, chiar_curve='ism', power=-1.8)

source code 

A method to combine the Fitzpatrick 2004 and Chiar & Tielens 2006 reddening laws as well as to extrapolate Chiar and Tielens 2006 to longer wavelengths.

The result is saved in a file and used by the IvS repository as a valid reddening law.

Parameters:
  • ofn (str) - The output filename with path
  • chiar_curve (str) - The curve type for Chiar & Tielens 2004. Either 'gc' or 'ism'.

    (default: 'ism')

  • power (float) - The power for the power law extrapolation. Default is taken from Chiar and Tielens 2006, as a typical value for local ISM between 2 and 5 micron. gc may require different value but not very important.

    (default: -1.8)