"""
Text
"""
import os
import urllib.request
import numpy as np
from astropy.io import fits
[docs]def add_vega(input_path,
database):
"""
Function for adding a flux-calibrated spectrum of Vega to the database.
Parameters
----------
input_path : str
Path of the data folder.
database : h5py._hl.files.File
Database.
Returns
-------
NoneType
None
"""
data_file = os.path.join(input_path, 'alpha_lyr_stis_008.fits')
url = 'http://ssb.stsci.edu/cdbs/calspec/alpha_lyr_stis_008.fits'
if not os.path.isfile(data_file):
print('Downloading Vega spectrum (270 kB)...', end='', flush=True)
urllib.request.urlretrieve(url, data_file)
print(' [DONE]')
if 'spectra/calibration' not in database:
database.create_group('spectra/calibration')
if 'spectra/calibration/vega' in database:
del database['spectra/calibration/vega']
hdu = fits.open(data_file)
data = hdu[1].data
wavelength = data['WAVELENGTH'] # (Angstrom)
flux = data['FLUX'] # (erg s-1 cm-2 A-1)
error_stat = data['STATERROR'] # (erg s-1 cm-2 A-1)
error_sys = data['SYSERROR'] # (erg s-1 cm-2 A-1)
hdu.close()
wavelength *= 1e-4 # (Angstrom) -> (um)
flux *= 1.e-3*1e4 # (erg s-1 cm-2 A-1) -> (W m-2 um-1)
error_stat *= 1.e-3*1e4 # (erg s-1 cm-2 A-1) -> (W m-2 um-1)
error_sys *= 1.e-3*1e4 # (erg s-1 cm-2 A-1) -> (W m-2 um-1)
print('Adding Vega spectrum...', end='', flush=True)
database.create_dataset('spectra/calibration/vega',
data=np.vstack((wavelength, flux, error_stat)))
print(' [DONE]')