Source code for libra.spectra.phoenix

import os
from astropy.io import fits
import astropy.units as u
import numpy as np

from .spectrum import Spectrum1D

__all__ = ['PHOENIXModel']

m2v_path = os.path.join(os.path.dirname(__file__), os.pardir, 'data', 'phoenix',
                        'lte035.0-4.5-0.0a+0.0.BT-Settl.spec.fits')
k2v_path = os.path.join(os.path.dirname(__file__), os.pardir, 'data', 'phoenix',
                        'lte049.0-4.5-0.0a+0.0.BT-Settl.spec.fits')
m8v_path = os.path.join(os.path.dirname(__file__), os.pardir, 'data', 'phoenix',
                        'lte026.0-4.5-0.0a+0.0.BT-Settl.spec.fits')

spt_to_path = dict(m2v=m2v_path, k2v=k2v_path, m8v=m8v_path)


[docs]class PHOENIXModel(Spectrum1D): def __init__(self, sptype): """ BT-Settle PHOENIX model spectra. Parameters ---------- sptype : {"M8V", "M2V", "K2V"} Spectral type of host star. """ path = spt_to_path[sptype.lower()] f = fits.getdata(path) self.wavelength = f['Wavelength'] * u.um self.flux = f['Flux'] # remove nans self.wavelength = self.wavelength[~np.isnan(self.flux)]
self.flux = self.flux[~np.isnan(self.flux)]