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).

_images/atm_models.png

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:

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.