Atmosphere Model Object¶
Stellar atmosphere models are defined as functions in
popstar/atmospheres.py
. These can be called by:
from popstar import atmospheres
atmo = atmospheres.<function_name>
To call an atmosphere for a particular star, user must define the metallicity ([Z]), temperature (in K), and gravity (in cgs):
spectrum = atmo(metallicity=0, temperature=5800, gravity=4)
wave = spectrum.wave # Wavelength in Angstroms
flux = spectrum.flux # Flux in ergs s^-1 cm^-2 Angstrom^-1
(pysynphot Flam units)
The atmosphere function is an input for the Isochrone Object, and will automatically be used to define the spectrum of each star in the isochrone model.
PopStar uses the pysynphot framework to extract the model atmosphere, and the the output spectrum is a pysynphot.Icat object.
Below is a table of atmosphere model grids currently supported by SPISEA. Note that the resolution column reports the original resolution of the atmosphere model grid. These are available in the spisea_cdbs_highres.tar.gz file on the installation page. However, the default grid SPISEA uses has degraded the resolution of all atmosphere grids to R = 250 (the spisea_cdbs.tar.gz file).
Model Atmosphere Classes¶
- atmospheres.get_merged_atmosphere(metallicity=0, temperature=20000, gravity=4.5, verbose=False, rebin=True)¶
Return a stellar atmosphere from a suite of different model grids, depending on the input temperature, (all values in K).
- Parameters
- metallicity: float
The stellar metallicity, in terms of [Z]
- temperature: float
The stellar temperature, in units of K
- gravity: float
The stellar gravity, in cgs units
- rebin: boolean
If true, rebins the atmospheres so that they are the same resolution as the Castelli+04 atmospheres. Default is False, which is often sufficient synthetic photometry in most cases.
- verbose: boolean
True for verbose output
Notes
The underlying stellar model grid used changes as a function of stellar temperature (in K):
T > 20,000: ATLAS
5500 <= T < 20,000: ATLAS
5000 <= T < 5500: ATLAS/PHOENIXv16 merge
3800 <= T < 5000: PHOENIXv16
For T < 3800, there is an additional gravity and metallicity dependence:
If T < 3800 and [M/H] = 0:
T < 3800, logg < 2.5: PHOENIX v16
3200 <= T < 3800, logg > 2.5: BTSettl_CIFITS2011_2015/PHOENIXV16 merge
3200 < T <= 1200, logg > 2.5: BTSettl_CIFITS2011_2015
Otherwise, if T < 3800 and [M/H] != 0:
T < 3800: PHOENIX v16
References:
ATLAS: ATLAS9 models (Castelli & Kurucz 2004)
PHOENIXv16 (Husser et al. 2013)
BTSettl_CIFITS2011_2015: Baraffee+15, Allard+ (https://phoenix.ens-lyon.fr/Grids/BT-Settl/CIFIST2011_2015/SPECTRA/)
LTE WARNING:
The ATLAS atmospheres are calculated with LTE, and so they are less accurate when non-LTE conditions apply (e.g. T > 20,000 K). Ultimately we’d like to add a non-LTE atmosphere grid for the hottest stars in the future.
HOW BOUNDARIES BETWEEN MODELS ARE TREATED:
At the boundary between two models grids a temperature range is defined where the resulting atmosphere is a weighted average between the two grids. Near one boundary one model is weighted more heavily, while at the other boundary the other model is weighted more heavily. These are calculated in the temperature ranges where we switch between model grids, to ensure a smooth transition.
- atmospheres.get_wd_atmosphere(metallicity=0, temperature=20000, gravity=4, verbose=False)¶
Return the white dwarf atmosphere from Koester et al. 2010. If desired parameters are outside of grid, return a blackbody spectrum instead
- Parameters
- metallicity: float
The stellar metallicity, in terms of [Z]
- temperature: float
The stellar temperature, in units of K
- gravity: float
The stellar gravity, in cgs units
- rebin: boolean
If true, rebins the atmospheres so that they are the same resolution as the Castelli+04 atmospheres. Default is False, which is often sufficient synthetic photometry in most cases.
- verbose: boolean
True for verbose output
- atmospheres.get_bb_atmosphere(metallicity=None, temperature=20000, gravity=None, verbose=False, rebin=None, wave_min=500, wave_max=50000, wave_num=20000)¶
Return a blackbody spectrum
- Parameters
- temperature: float, default=20_000
The stellar temperature, in units of K
- wave_min: float, default=500
Sets the minimum wavelength (in Angstroms) of the wavelength range for the blackbody spectrum
- wave_max: float, default=50_000
Sets the maximum wavelength (in Angstroms) of the wavelength range for the blackbody spectrum
- wave_num: int, default=20_000
Sets the number of wavelength points in the wavelength range Note: the wavelength range is evenly spaced in log space
- atmospheres.get_castelli_atmosphere(metallicity=0, temperature=20000, gravity=4, rebin=False)¶
Return atmospheres from the pysynphot ATLAS9 atlas (Castelli & Kurucz 2004).
Grid Range:
Teff: 3500 - 50000 K
gravity: 0 - 5.0 cgs
[M/H]: -2.5 - 0.2
- Parameters
- metallicity: float
The stellar metallicity, in terms of [Z]
- temperature: float
The stellar temperature, in units of K
- gravity: float
The stellar gravity, in cgs units
- rebin: boolean
If true, rebins the atmospheres so that they are the same resolution as the Castelli+04 atmospheres. Default is False, which is often sufficient synthetic photometry in most cases.
- verbose: boolean
True for verbose output
- atmospheres.get_phoenixv16_atmosphere(metallicity=0, temperature=4000, gravity=4, rebin=True)¶
Return PHOENIX v16 atmospheres from Husser et al. 2013.
Models originally downloaded via ftp. Solar metallicity and [alpha/Fe] is used.
Grid Range:
Teff: 2300 - 7000 K, steps of 100 K; 7000 - 12000 in steps of 200 K
gravity: 0.0 - 6.0 cgs, steps of 0.5
[M/H]: -4.0 - 1.0
- Parameters
- metallicity: float
The stellar metallicity, in terms of [Z]
- temperature: float
The stellar temperature, in units of K
- gravity: float
The stellar gravity, in cgs units
- rebin: boolean
If true, rebins the atmospheres so that they are the same resolution as the Castelli+04 atmospheres. Default is False, which is often sufficient synthetic photometry in most cases.
- atmospheres.get_BTSettl_2015_atmosphere(metallicity=0, temperature=2500, gravity=4, rebin=True)¶
Return atmosphere from CIFIST2011_2015 grid (Allard et al. 2012, Baraffe et al. 2015 )
Grid originally downloaded from website.
Grid Range:
Teff: 1200 - 7000 K
gravity: 2.5 - 5.5 cgs
[M/H] = 0
- Parameters
- metallicity: float
The stellar metallicity, in terms of [Z]
- temperature: float
The stellar temperature, in units of K
- gravity: float
The stellar gravity, in cgs units
- rebin: boolean
If true, rebins the atmospheres so that they are the same resolution as the Castelli+04 atmospheres. Default is False, which is often sufficient synthetic photometry in most cases.
- atmospheres.get_BTSettl_atmosphere(metallicity=0, temperature=2500, gravity=4.5, rebin=True)¶
Return atmosphere from CIFIST2011 grid (Allard et al. 2012)
Grid originally downloaded here
- Parameters
- metallicity: float
The stellar metallicity, in terms of [Z]
- temperature: float
The stellar temperature, in units of K
- gravity: float
The stellar gravity, in cgs units
- rebin: boolean
If true, rebins the atmospheres so that they are the same resolution as the Castelli+04 atmospheres. Default is False, which is often sufficient synthetic photometry in most cases.
Notes
Grid Range:
[M/H] = -2.5, -2.0, -1.5, -1.0, -0.5, 0, 0.5
Teff and gravity ranges depend on metallicity:
[M/H] = -2.5
Teff: 2600 - 4600 K
gravity: 4.5 - 5.5
[M/H] = -2.0
Teff: 2600 - 7000
gravity: 4.5 - 5.5
[M/H] = -1.5
Teff: 2600 - 7000
gravity: 4.5 - 5.5
[M/H] = -1.0
Teff: 2600 - 7000
gravity: Teff < 3200 –> 4.5 - 5.5; Teff > 3200 –> 2.5 - 5.5
[M/H] = -0.5
Teff: 1000 -7000
gravity: Teff < 3000 –> 4.5 - 5.5; Teff > 3000 –> 3.0 - 6.0
[M/H] = 0
Teff: 750 - 7000
gravity: Teff < 2500 –> 3.5 - 5.5; Teff > 2500 –> 0 - 5.5
[M/H] = 0.5
Teff: 1000 - 5000
gravity: 3.5 - 5.0
Alpha enhancement:
[M/H]= -0.0, +0.5 no anhancement
[M/H]= -0.5 with [alpha/H]=+0.2
[M/H]= -1.0, -1.5, -2.0, -2.5 with [alpha/H]=+0.4
- atmospheres.get_wdKoester_atmosphere(metallicity=0, temperature=20000, gravity=7)¶
Return white dwarf atmospheres from Koester et al. 2010
- Parameters
- metallicity: float
The stellar metallicity, in terms of [Z]
- temperature: float
The stellar temperature, in units of K
- gravity: float
The stellar gravity, in cgs units
- rebin: boolean
If true, rebins the atmospheres so that they are the same resolution as the Castelli+04 atmospheres. Default is False, which is often sufficient synthetic photometry in most cases.
- atmospheres.get_kurucz_atmosphere(metallicity=0, temperature=20000, gravity=4, rebin=False)¶
Return atmosphere from the Kurucz pysnphot grid (Kurucz 1993).
Grid Range:
Teff: 3000 - 50000 K
gravity: 0 - 5 cgs
metallicity: -5.0 - 1.0
- Parameters
- metallicity: float
The stellar metallicity, in terms of [Z]
- temperature: float
The stellar temperature, in units of K
- gravity: float
The stellar gravity, in cgs units
- rebin: boolean
Always false for this particular function
- atmospheres.get_phoenix_atmosphere(metallicity=0, temperature=5000, gravity=4, rebin=False)¶
Return atmosphere from the pysynphot PHOENIX atlas.
- Parameters
- metallicity: float
The stellar metallicity, in terms of [Z]
- temperature: float
The stellar temperature, in units of K
- gravity: float
The stellar gravity, in cgs units
- rebin: boolean
If true, rebins the atmospheres so that they are the same resolution as the Castelli+04 atmospheres. Default is False, which is often sufficient synthetic photometry in most cases.