Python package including different extinction laws and dust maps. Useful to
- get E(B-V) for a set of coordinates (or list of coordinates) from different
- distant sources (IRSA, NED)
- local maps (SFD98, Schlafly 2014, Planck 2013, Green 2015)
- compute the ISM transmission for different extincion laws
- CCM89: Cardelli, Clayton and Mathis (http://adsabs.harvard.edu/abs/1989ApJ...345..245C)
- OD94: O'Donnell (http://adsabs.harvard.edu/abs/1994ApJ...422..158O)
- FM98: Fitzpatrick & Massa (1998)
- G08: Goobar (http://adsabs.harvard.edu/abs/2008ApJ...686L.103G)
To install:
git clone https://github.com/nicolaschotard/extinctions.git pip install extinctions/
To install in a local directory mypath
, use:
pip install --prefix='mypath' extinctions/
and do not forget to add it to your PYTHONPATH.
To upgrade to a new version (after a git pull
or a local modification), use:
pip install --upgrade (--prefix='mypath') extinctions/
To install a release version (no release version available yet):
pip install http://github.com/nicolaschotard/extinctions/archive/v0.1.tar.gz
Also works with the master:
pip install (--upgrade) https://github.com/nicolaschotard/extinctions/archive/master.zip
In the future, release versions will be listed at this location.
extinctions has a few python dependencies listed in the requirements file. To install them all, use:
pip install -r requirements.txt
Requirements are:
- numpy==1.11.2
- scipy==0.17.1
- matplotlib==1.5.1
- seaborn==0.7.0
- pyyaml==3.11
- astropy==1.2.1
- requests==2.10.0
- astroquery==0.3.1
- wget==2.2
- healpy==1.9.1
You can automatically download the dust maps listed in the maps.yaml file using the script get_maps.py. It will, by default, put them in $HOME/.extinction/maps, but other locations are of course possible (option --outdir). If you choose to store them in an other diretory, you must set a $MAPSDIR environment variable pointing to it. Already existing maps in the output directory will not be downloaded again.
The available dust maps are:
- SFD98, full sky Healpy format
- SFD98 north and south dust maps
- Planck
- Schlafly 2014
- Green 2015
To download the extinction maps listed above, use the script get_maps.py. The following options are available:
get_maps.py -h usage: get_maps.py [-h] [--outdir OUTDIR] [--update] [--list] [--select SELECT] [--exclude EXCLUDE] optional arguments: -h, --help show this help message and exit --outdir OUTDIR Output directory in where to put the dust maps --update Update the maps directory in case of changes of maps.yaml --list List of available maps and exit --select SELECT Select maps to download (coma separated) --exclude EXCLUDE Exclude map(s) (coma separated).If the select option is used, the exclude option will be ignored.
Here is an example of how to get the value of E(B-V) for a set of coordinates (RA,DEC):
In [1]: ra, dec = 340.83, -9.59 # could also be arrays or list of ra/dec
In [2]: from extinctions import reddening
In [3]: red = reddening.Reddening(ra, dec) # ra dec can also be lists of coordinates
INFO: Loading the maps from local directory /home/chotard/.extinction/maps/
- green is loaded
- schlafly is loaded
- sfd is loaded
- planck is loaded
You can then get E(B-V) from different sources:
# from the local maps
In [4]: red.query_local_map(dustmap='sfd')
Out[4]: 0.047723956233310674
In [5]: red.query_local_map(dustmap='schlafly')
Out[5]: 0.062566755984547445
In [6]: red.query_local_map(dustmap='planck')
Out[6]: 0.052058338535565914
In [7]: red.query_local_map(dustmap='green')
Out[7]: 0.035786284169101318
# from the SFD98 north/south maps using `sncosmo`
In [8]: red.from_sncosmo()
Out[8]: array([ 0.0473752])
# Using astroquery
In [9]: red.from_astroquery()
Downloading http://irsa.ipac.caltech.edu//workspace/TMP_XG1Joz_30445/DUST/340.8300_-9.5900.v0001/extinction.tbl
|==============================================================================================| 4.3k/4.3k (100.00%) 0s
Out[9]: [0.047377326565143825]
To have a look at the different extinction laws amd dust maps, you can use the script extinction_plots.py.