Appendix A: Catalogs and Spectral Atlases¶
There are several spectral atlases consisting of both observed and model data, which are available in FITS table format for use with stsynphot. They are as tabulated below.
Current descriptions and access to all available
calibration spectra and astronomical catalogs be found at
HLSP Reference Atlases,
which supersedes this documentation in case of conflicting information.
The data files are available at STScI on all science computing clusters in the
$PYSYN_CDBS
directory. Off-site users can obtain these data via
HTTP (see Installation and Setup).
Stellar models:
Atlas/Catalog |
Installation Path |
Interpolatable |
---|---|---|
$PYSYN_CDBS/grid/ck04models |
Yes |
|
$PYSYN_CDBS/grid/k93models |
||
$PYSYN_CDBS/grid/phoenix |
||
$PYSYN_CDBS/calspec |
No |
|
$PYSYN_CDBS/grid/pickles |
||
$PYSYN_CDBS/grid/bkmodels |
||
$PYSYN_CDBS/grid/bz77 |
||
$PYSYN_CDBS/grid/gunnstryker |
||
$PYSYN_CDBS/grid/bpgs |
||
$PYSYN_CDBS/grid/jacobi |
Non-stellar models:
Atlas/Catalog |
Installation Path |
Interpolatable |
---|---|---|
$PYSYN_CDBS/grid/bc95/templates |
No |
|
$PYSYN_CDBS/grid/kc96 |
||
$PYSYN_CDBS/grid/agn |
||
$PYSYN_CDBS/grid/galactic |
||
$PYSYN_CDBS/grid/brown |
||
$PYSYN_CDBS/etc/source |
Castelli-Kurucz Atlas¶
The $PYSYN_CDBS/grid/ck04models
directory contains ATLAS9 stellar
atmosphere models by Castelli & Kurucz 2004. There are about 4300 models for a
wide range of metallicities, effective temperatures and gravities. The ones
available in CRDS are from “the Grids of ATLAS9-ODFNEW Models and Fluxes” from
Dr. F. Castelli’s webpage
(created on January 2007) and also available from
Dr. R. Kurucz’s webpage. See
Castelli-Kurucz 2004 atlas README file
for more details.
The atlas data files are organized in a similar naming convention as
Kurucz Atlas, and are easily accessible using
grid_to_spec()
(also see Catalogs and Spectral Atlases).
The example below generates a spectrum with metallicity [M/H] = +0.1
,
temperature \(T_{\text{eff}} = 10000 \text{K}\), and gravity
\(\log g = 3.0\):
>>> import stsynphot as stsyn
>>> sp = stsyn.grid_to_spec('ck04models', 10000, 0.1, 3.0)
Kurucz Atlas¶
The $PYSYN_CDBS/grid/k93models
directory contains the Kurucz 1993 Atlas
of Model Atmospheres. The atlas contains about 7600 stellar
atmosphere models for a wide range of metallicities, effective temperatures,
and gravities. These LTE models have improved opacities
and are computed with a finer wavelength and temperature resolution
than the Buser-Kurucz Atlas.
The micro-turbulent velocity is 2 km/s.
This atlas is installed in CRDS from the Kurucz database at
Goddard Space Flight Center. The original atlas (CD-ROM No. 13)
was created on August 22, 1993 and can be obtained from Dr. R. Kurucz.
Considering that the entire atlas occupies close to 70 MB of disk space,
many applications could be satisfied by a copy of the solar metallicity
spectra only (Table 2 of the README file).
See
Kurucz 1993 atlas README file
for more details.
The models are in FLAM surface flux units. If the number of counts or the absolute flux is needed, the model spectrum must be renormalized appropriately.
The following example shows the header from one of the atlas data files.
This file contains all the models for a star of metallicity
[M/H] = 0.0
(p00
) and effective temperature
\(T_{\text{eff}} = 8000 \text{K}\) (8000
), which cover a
range of gravities from \(\log g = +1.0\) (g10
) to
\(\log g = +5.0\) (g50
). In this example, \(\log g = +0.0\) and
\(\log g = +0.5\) are unavailable,
thus g00
and g05
are not listed in the header, and their corresponding
columns in the file are filled with zeroes:
>>> import os
>>> from astropy.io import fits
>>> filename = os.path.join(
... os.environ['PYSYN_CDBS'], 'grid', 'k93models',
... 'kp00', 'kp00_8000.fits')
>>> hdr = fits.getheader(filename)
>>> hdr
SIMPLE = T / file does conform to FITS standard
BITPIX = 16 / number of bits per data pixel
NAXIS = 0 / number of data axes
EXTEND = T / FITS dataset may contain extensions
COMMENT FITS (Flexible Image Transport System) format defined in...
COMMENT Astrophysics Supplement Series v44/p363, v44/p371, ...
COMMENT Contact the NASA Science Office of Standards and...
COMMENT FITS Definition document #100 and other FITS information.
ORIGIN = 'STScI-STSDAS/TABLES' / Tables version 1999-03-22
FILENAME= 'kp00_8000.fits' / name of file
TEFF = 8000
LOG_Z = 0.00000000000000E+00
HISTORY g10
HISTORY g15
HISTORY g20
HISTORY g25
HISTORY g30
HISTORY g35
HISTORY g40
HISTORY g45
HISTORY g50
HISTORY Kurucz model atmospheres (1993)
HISTORY Fluxes tabulated in units of erg/s/cm^2/A
HISTORY are surface fluxes. To transform to observed
HISTORY fluxes multiply by (R/D)^2 where R is the
HISTORY radius of the star and D the distance.
HISTORY Each column in the table represents the
HISTORY spectrum of a star for the same metallicity
HISTORY and effective temperature but different gravity.
The example below shows you how to manually select the flux for a specific
model characterized by a given metallicity, effective temperature, and gravity.
The filename kp01_10000
means [M/H] = +0.1
(p01
) and
\(T_{\text{eff}} = 10000 \text{K}\) (10000
). The column name g30
means \(\log g = 3.0\):
>>> filename = os.path.join(
... os.environ['PYSYN_CDBS'], 'grid', 'k93models',
... 'kp01', 'kp01_10000.fits')
>>> spec = fits.getdata(filename)
>>> wave = spec['WAVELENGTH']
>>> flux = spec['g30']
The easier way is to use grid_to_spec()
(also see
Catalogs and Spectral Atlases). Equivalent to the example above:
>>> import stsynphot as stsyn
>>> sp = stsyn.grid_to_spec('k93models', 10000, 0.1, 3.0)
Phoenix Models¶
The $PYSYN_CDBS/grid/phoenix
directory contains models provided by
F. Allard et al. and can be found in the
Star, Brown Dwarf, and Planet Simulator. They use static, spherical symmetric, 1D simulations to
completely describe the atmospheric emission spectrum. The models account for
the formation of molecular bands, such as those of water vapor, methane, or
titanium dioxide, solving for the transfer equation over more than 20,000
wavelength points on average, producing synthetic spectra with 2 Angstrom
resolution. The line selection is repeated at each iteration of the model
until it has converged and the thermal structure obtained. The models here
are calculated with a cloud model, valid across the entire parameter range. See
Phoenix models README file
for more details.
The atlas data files are organized in a similar naming convention as
Kurucz Atlas, and are easily accessible using
grid_to_spec()
(also see
Catalogs and Spectral Atlases).
The example below generates a spectrum with metallicity [M/H] = +0.1
,
temperature \(T_{\text{eff}} = 10000 \text{K}\), and gravity
\(\log g = 3.0\):
>>> import stsynphot as stsyn
>>> sp = stsyn.grid_to_spec('phoenix', 10000, 0.1, 3.0)
HST Calibration Spectra¶
The $PYSYN_CDBS/calspec
directory contains the composite stellar spectra
that are the fundamental flux standards for HST calibrations. All
files are in machine-independent binary FITS table format. Information
about the pedigree of a given spectrum is in the header of the FITS
table file, which can be read using astropy.io.fits
. The example below reads
the header from G191B2B spectrum and then loads it into stsynphot:
>>> import os
>>> from astropy.io import fits
>>> from synphot import SourceSpectrum
>>> filename = os.path.join(
... os.environ['PYSYN_CDBS'], 'calspec', 'g191b2b_mod_010.fits')
>>> hdr = fits.getheader(filename)
>>> hdr
SIMPLE = T / Fits standard
BITPIX = 16 / Bits per pixel
NAXIS = 0 / Number of axes
EXTEND = T / File may contain extensions
ORIGIN = 'NOAO-IRAF FITS Image Kernel July 2003' / FITS file originator
DATE = '2015-01-06T17:00:20' / Date FITS file was generated
IRAF-TLM= '2015-01-06T17:00:24' / Time of last modification
SOURCE = 'Bohlin, Gordon, Tremblay 2014, PASP, 126, 711' /
COMMENT = 'Rauch: METAL LINE BLANKETED NLTE MODEL' /
TEFFGRAV= '59000/7.60' /Teff/log g for model
DESCRIP = 'MODEL Fluxes --------------------------------------------------'
DBTABLE = 'CRSPECTRUM' /
TARGETID= 'G191B2B_MOD' /
AIRMASS = 0.00000 /mean airmass of the observation
USEAFTER= 'Jan 01 2000 00:00:00' /
PEDIGREE= 'MODEL ' /
WMIN = 100.000000000 /Minimum Wavelength
WMAX = 400104.068000 /Maximum Wavelength
FILENAME= 'g191b2b_mod_010.fits' /
HISTORY Model directory: /internal/1/models/rauch/
HISTORY Model 0059000_7.60_ABUND_015_LF_000100-400000
HISTORY Vega Flux at 5557.5A (5556 air) = 3.44e-9 erg s-1 cm-2 A-1
HISTORY Vega & Star elect/s= 12326689.78 237.70
HISTORY Model Reddened by E(B-V)=0.0005
HISTORY Model Normalization factor= 2.1760340e-30
HISTORY Written by newmakstd.pro 23-Dec-2014 10:15:43.00
HISTORY Vacuum Wavelengths
HISTORY UNITS: Wavelength(Angstroms), Flux(erg s-1 cm-2 Ang-1)
HISTORY Vega Flux(5556A)=3.44e-9 (Bohlin 2014, AJ, 147, 127)
HISTORY INPUT FILE: /internal/1/wd/dat/g191.rauch59000-nlte
HISTORY Written by MAKE_MOD_CALSPEC.pro 23-Dec-2014 10:20:09.00
>>> sp = SourceSpectrum.from_file(filename)
Note that in some cases, the calibration spectrum is truncated in the blue or the red at wavelength longer or shorter, respectively, than the sensitivity limit of the instrument. As a result, stsynphot may underestimate the total counts. Users should check that the wavelength range of the spectrum they are using is compatible with the wavelength range of the calculation they require.
See CALSPEC Calibration Database for available spectra and their descriptions.
Pickles Library¶
The $PYSYN_CDBS/grid/pickles
directory contains the stellar spectral flux
library by Pickles (1998).
This library of wide spectral coverage, consists of 131 flux calibrated
stellar spectra, encompassing all normal spectral types and luminosity
classes at solar abundance, and metal-weak and metal-rich F-K dwarf
and G-K giant components. Each spectrum in the library is a combination of
several sources overlapping in wavelength coverage. See
Pickles library README file
for more details.
The library data were obtained from its webpage and divided into two sub-directories below:
dat_uvi
(a.k.a. UVILIB) groups all spectra derived from all UV, optical, and near-IR sources, in the wavelength range 1150-10620 Angstrom. It has complete spectral coverage for all components over this wavelength range. Its data files are named “pickles_ttt.fits”, wherettt
is a number ranging from 1 to 131.dat_uvk
(a.k.a. UVKLIB) groups all spectra that were derived by combining the UVILIB spectra with additional IR data to a long wavelength limit of 25000 Angstrom. Its data files are named “pickles_uk_ttt.fits”, wherettt
is a number ranging from 1 to 131.
The example below loads a source spectrum of spectral type G5V from the UVKLIB subset of the library:
>>> import os
>>> from synphot import SourceSpectrum
>>> filename = os.path.join(
... os.environ['PYSYN_CDBS'], 'grid', 'pickles',
... 'dat_uvk', 'pickles_uk_27.fits')
>>> sp = SourceSpectrum.from_file(filename)
Buser-Kurucz Atlas¶
The $PYSYN_CDBS/grid/bkmodels
directory contains an extensive collection
of Kurucz model atmosphere spectra provided by R. Buser, covering a wide range
in metallicity, effective temperature, and gravity. For all the spectra, fluxes
are given mostly with a resolution of 25 Angstrom on a uniform grid of
wavelengths from the UV to the IR. Thus, the atlas is especially suited for
synthetic photometry applications, including the calibration and the
interpretation of HST observations
(Koornneef et al. 1986).
The atlas is grouped into different “blocks” (A, B, C, D, M, and S),
corresponding to the physical distinctions of their underlying model
atmospheres. It consists of 1434 files, each of which represents a metal-line
blanketed flux spectrum for a theoretical stellar model atmosphere.
Data files are named “bk_mnnnn.fits”, where m
is the block code and
nnnn
the sequence number. See
Buser-Kurucz atlas README file
for more details, in including the mapping of filenames to their respective
parameter specifications.
The example below loads Block S (models for the Sun and Vega) with \(T_{\text{eff}} = 5770 \text{K}\) and gravity \(\log g = 4.44\):
>>> import os
>>> from synphot import SourceSpectrum
>>> filename = os.path.join(
... os.environ['PYSYN_CDBS'], 'grid', 'bkmodels', 'bk_s0001.fits')
>>> sp = SourceSpectrum.from_file(filename)
Bruzual Atlas¶
The $PYSYN_CDBS/grid/bz77
directory contains 77 stellar spectra that are
frequently used in the synthesis of galaxy spectra. They were provided by
Gustavo Bruzual. Each spectrum is stored in a table named “bz_nn.fits”,
where nn
runs from 1 to 77. See
Bruzual atlas README file
for a mapping of filenames to their respective spectral types.
The example below loads a source spectrum of spectral type G5V from the atlas:
>>> import os
>>> from synphot import SourceSpectrum
>>> filename = os.path.join(
... os.environ['PYSYN_CDBS'], 'grid', 'bz77', 'bz_27.fits')
>>> sp = SourceSpectrum.from_file(filename)
Gunn-Stryker Atlas¶
The $PYSYN_CDBS/grid/gunnstryker
contains the optical spectrophotometric
catalog of 175 stars, covering a complete range of spectral types and
luminosity classes from the observations of
Gunn & Stryker (1983).
The spectra cover the wavelength range 3130 to 10800 Angstrom.
Each spectrum is stored in a table named “gs_nnn.fits”,
where nnn
runs from 1 to 175. See
Gunn-Stryker atlas README file
for a mapping of filenames to their respective spectral types.
The example below loads a source spectrum of spectral type G5V from the atlas:
>>> import os
>>> from synphot import SourceSpectrum
>>> filename = os.path.join(
... os.environ['PYSYN_CDBS'], 'grid', 'gunnstryker', 'gs_44.fits')
>>> sp = SourceSpectrum.from_file(filename)
Bruzual-Persson-Gunn-Stryker Atlas¶
The $PYSYN_CDBS/grid/bpgs
directory contains the extension of
Gunn-Stryker Atlas, where the spectral data have been extended into
both the UV and the IR. The IR data are from
Strecker et al. (1979) and other unpublished
sources. The IR and the optical data are tied together by the \(V – K\)
colors.
Each spectrum is stored in a table named “bpgs_nnn.fits”,
where nnn
runs from 1 to 175. See
Bruzual-Persson-Gunn-Stryker atlas README file
for a mapping of filenames to their respective spectral types.
Note that the spectral data for all of the stars in this atlas have been arbitrarily renormalized to a V magnitude of zero. Therefore, in order to use these data for calculations of absolute photometry, they must be renormalized to their appropriate absolute levels. In addition, the magnitudes and colors stored in their header keywords are not on the standard UBVRI system, but rather “scanner” magnitudes and colors that were synthesized by the authors from the observed spectra (see Gunn & Stryker 1983).
The example below loads a source spectrum of spectral type G5V from the atlas:
>>> import os
>>> from synphot import SourceSpectrum
>>> filename = os.path.join(
... os.environ['PYSYN_CDBS'], 'grid', 'bpgs', 'bpgs_44.fits')
>>> sp = SourceSpectrum.from_file(filename)
Jacoby-Hunter-Christian Atlas¶
The $PYSYN_CDBS/grid/jacobi
directory contains the optical
spectrophotometric atlas of 161 stars having spectral classes O through M,
and luminosity classes V, III, and I. The data are from the observations of
Jacoby, Hunter, & Christian (1984).
They cover the wavelength range 3510 to 7427 Angstroms at a resolution of
approximately 4.5 Angstrom.
Each spectrum is stored in a table named “jc_nnn.fits”,
where nnn
runs from 1 to 161. See
Jacoby-Hunter-Christian atlas README file
for a mapping of filenames to their respective spectral types.
The example below loads a source spectrum of spectral type G0V from the atlas:
>>> import os
>>> from synphot import SourceSpectrum
>>> filename = os.path.join(
... os.environ['PYSYN_CDBS'], 'grid', 'jacobi', 'jc_43.fits')
>>> sp = SourceSpectrum.from_file(filename)
Bruzual-Charlot Atlas¶
The $PYSYN_CDBS/grid/bc95/templates
directory contains a library of galaxy
spectra computed using the Isochrone Synthesis Spectral Evolutionary Code from
Bruzual & Charlot (December 1995 version). The spectra represent bursts
characterized by a Salpeter IMF with different ranges in lower and upper
mass limits, and at several ages after the burst.
Spectra for instantaneous and composite bursts are both available.
Each spectrum has 1187 wavelength points covering the 0.01 to 100 micron range.
The flux unit is solar luminosity per Angstrom.
The nebular contribution to the SED (i.e., emission lines and nebular
continuum) is not included in the spectra. See
Bruzual-Charlot atlas README file
for available spectra and their descriptions.
The example below loads a galaxy spectrum with Salpeter IMF containing mass limits from 0.1-30 \(M_{\odot}\) and \(50 \times 10^{5}\) year-old instantaneous burst:
>>> import os
>>> from synphot import SourceSpectrum
>>> filename = os.path.join(
... os.environ['PYSYN_CDBS'], 'grid', 'bc95',
... 'templates', 'bc95_c_50E5.fits')
>>> sp = SourceSpectrum.from_file(filename)
Kinney-Calzetti Atlas¶
The $PYSYN_CDBS/grid/kc96
directory contains an homogeneous set of
12 spectral templates of galaxies covering the UV, optical, and near-IR
wavelength range up to about 1 micron. Templates include various morphological
types (Kinney et al. 1996) and starburst
galaxies (Calzetti et al. 1994).
The flux of the spectral templates has been normalized to a visual magnitude
of 12.5 STMAG. See
Kinney-Calzetti atlas README file
for more details.
The example below loads a galaxy spectrum from the elliptical template:
>>> import os
>>> from synphot import SourceSpectrum
>>> filename = os.path.join(
... os.environ['PYSYN_CDBS'], 'grid', 'kc96',
... 'elliptical_template.fits')
>>> sp = SourceSpectrum.from_file(filename)
AGN Atlas¶
The $PYSYN_CDBS/grid/agn
directory contains a few spectral templates of
AGN’s ranging from LINER to Seyfert and bright QSO (Calzetti 1995, private
communication; Francis et al. 1991;
J. R. Walsh, private communication).
The flux of the LINER and Seyfert 2 templates is normalized to a Johnson V
magnitude of 12.5 STMAG, while the Seyfert 1 and QSO templates are
normalized to a Johnson B magnitude of 12.5 STMAG. See
AGN atlas README file
for more details.
The example below loads a Seyfert 2 spectrum:
>>> import os
>>> from synphot import SourceSpectrum
>>> filename = os.path.join(
... os.environ['PYSYN_CDBS'], 'grid', 'agn', 'seyfert2_template.fits')
>>> sp = SourceSpectrum.from_file(filename)
Galactic Atlas¶
The $PYSYN_CDBS/grid/galactic
directory contains the model spectra of
Orion nebula and NGC 7009 planetary nebula (J. R. Walsh, private
communication). See
Galactic atlas README file
for more details.
The example below loads the spectrum for Orion nebula:
>>> import os
>>> from synphot import SourceSpectrum
>>> filename = os.path.join(
... os.environ['PYSYN_CDBS'], 'grid', 'galactic',
... 'orion_template.fits')
>>> sp = SourceSpectrum.from_file(filename)
Brown Atlas¶
The $PYSYN_CDBS/grid/brown
directory contains 129 spectral energy
distributions for nearby galaxies, with wavelength coverage spanning from the
ultraviolet to the mid-infrared
(Brown et al. 2014). See
TRDS Brown Atlas
for more details.
The example below loads the spectrum for Arp 256 N:
>>> import os
>>> from synphot import SourceSpectrum
>>> filename = os.path.join(
... os.environ['PYSYN_CDBS'], 'grid', 'brown',
... 'arp_256_n_spec.fits')
>>> sp = SourceSpectrum.from_file(filename)
Other Non-Stellar Objects¶
The $PYSYN_CDBS/etc/source
directory contains spectra for
various non-stellar objects used in ETC.
See Non-stellar objects README file
for more details.
The example below loads a spectrum for Gliese 229B brown dwarf:
>>> import os
>>> from synphot import SourceSpectrum
>>> filename = os.path.join(
... os.environ['PYSYN_CDBS'], 'etc', 'source', 'gl229b_001.dat')
>>> sp = SourceSpectrum.from_file(filename)