def __init__(self, release, groups=[], aliases=[], exclude=[], **kwargs): self.release = release self._groups = groups self._groups.set_parent(self) self.aliases = aliases self._exclude = exclude self.dap_datamodel = kwargs.get('dapdm', None) self.bitmasks = get_maskbits(self.release) self._mode = kwargs.get('mode', config.mode) self._keys = [] self._get_parameters() self._check_datamodels()
from .base import DAPDataModel, Template from .MPL10 import MILESHC_MASTARHC2, SPX, HYB10, VOR10, MPL10_maps, MPL10_models, binid_properties from marvin.utils.datamodel.maskbit import get_maskbits # update Template for MPL-11 MILESHC_MASTARSSP = Template( 'MILESHC-MASTARSSP', description=('Stellar kinematic templates from the MILES library. ' 'Stellar continuum template derived from a subset of the' 'MaStar Simple Stellar Population models; ' 'used during emission-line fits.')) MPL11_maps = copy.deepcopy(MPL10_maps) MPL11_models = copy.deepcopy(MPL10_models) # MPL-11 DapDataModel goes here MPL11 = DAPDataModel('3.1.0', aliases=['MPL-11', 'MPL11'], bintypes=[SPX, HYB10, VOR10], db_only=[HYB10], templates=[MILESHC_MASTARHC2, MILESHC_MASTARSSP], properties=MPL11_maps, models=MPL11_models, bitmasks=get_maskbits('MPL-11'), default_bintype='HYB10', default_template='MILESHC-MASTARSSP', property_table='SpaxelProp11', default_binid=copy.deepcopy(binid_properties[0]), default_mapmask=['NOCOV', 'UNRELIABLE', 'DONOTUSE'], qual_flag='DAPQUAL')
'LSFPRE', 'WAVE', extension_ivar=None, extension_mask='MASK', unit=u.Angstrom, db_column='predisp', scale=1, formats={'string': 'Dispersion pre-pixel'}, description='Broadened pre-pixel dispersion solution (1sigma LSF)') ] MPL4 = DRPCubeDataModel('MPL-4', aliases=['MPL4', 'v1_5_1'], datacubes=MPL4_datacubes, spectra=MPL4_spectra, bitmasks=get_maskbits('MPL-4'), qual_flag='DRP3QUAL') MPL5 = DRPCubeDataModel('MPL-5', aliases=['MPL5', 'v2_0_1'], datacubes=MPL4_datacubes, spectra=MPL4_spectra, bitmasks=get_maskbits('MPL-5'), qual_flag='DRP3QUAL') MPL6 = DRPCubeDataModel('MPL-6', aliases=['MPL6', 'v2_3_1'], datacubes=MPL4_datacubes + MPL6_datacubes, spectra=MPL4_spectra + MPL6_spectra, bitmasks=get_maskbits('MPL-6'), qual_flag='DRP3QUAL')
unit=u.arcsec, formats={'string': 'Fiber X-positions from the IFU center'}, description='Array of fiber X-positions relative to the IFU center'), RSS('ypos', 'YPOS', extension_wave='WAVE', unit=u.arcsec, formats={'string': 'Fiber Y-positions from the IFU center'}, description='Array of fiber Y-positions relative to the IFU center'), ] MPL4 = DRPCubeDataModel('MPL-4', aliases=['MPL4', 'v1_5_1'], datacubes=MPL4_datacubes, spectra=MPL4_spectra, bitmasks=get_maskbits('MPL-4'), qual_flag='DRP3QUAL') MPL5 = DRPCubeDataModel('MPL-5', aliases=['MPL5', 'v2_0_1'], datacubes=MPL4_datacubes, spectra=MPL4_spectra, bitmasks=get_maskbits('MPL-5'), qual_flag='DRP3QUAL') DR14 = DRPCubeDataModel('DR14', aliases=['DR14', 'v2_1_2'], datacubes=MPL4_datacubes, spectra=MPL4_spectra, bitmasks=get_maskbits('MPL-5'), qual_flag='DRP3QUAL')
MultiChannelProperty('specindex_rcnt', ivar=False, mask=False, channels=MPL8_specindex_channels, formats={'string': 'Continuum: red sideband', 'latex': r'Continuum: red sideband'}, description='Continuum level in the red sideband used in ' 'the spectral-index measurement'), MultiChannelProperty('specindex_model', ivar=False, mask=False, channels=MPL8_specindex_channels, formats={'string': 'Best-fit Index Measurement', 'latex': r'Best-fit Index Measurement'}, description='Index measurement made using the best-fitting ' 'stellar continuum model') ] MPL9_maps = updated_maps + new_properties # MPL-9 DapDataModel goes here MPL9 = DAPDataModel('2.4.1', aliases=['MPL-9', 'MPL9'], bintypes=[SPX, HYB10, VOR10], db_only=[HYB10], templates=[MILESHC_MASTARHC], properties=MPL9_maps, models=MPL8_models, bitmasks=get_maskbits('MPL-9'), default_bintype='HYB10', default_template='MILESHC-MASTARHC', property_table='SpaxelProp9', default_binid=copy.deepcopy(binid_properties[0]), default_mapmask=['NOCOV', 'UNRELIABLE', 'DONOTUSE'], qual_flag='DAPQUAL')
description='The best fitting model spectra (sum of the fitted ' 'continuum and emission-line models)', binid=binid_properties[0]), Model('emline_fit', 'EMLINE', 'WAVE', extension_ivar=None, extension_mask=None, unit=u.erg / u.s / (u.cm ** 2) / u.Angstrom / spaxel_unit, scale=1e-17, formats={'string': 'Emission line model spectrum'}, description='The model spectrum with only the emission lines.', binid=binid_properties[3]), Model('stellar_fit', 'STELLAR', 'WAVE', extension_ivar=None, extension_mask='STELLAR_MASK', unit=u.erg / u.s / (u.cm ** 2) / u.Angstrom / spaxel_unit, scale=1e-17, formats={'string': 'Stellar continuum model spectrum'}, description='The model spectrum with only the stellar continuum', binid=binid_properties[1]) ] # MPL-8 DapDataModel goes here MPL8 = DAPDataModel('2.3.0', aliases=['MPL-8', 'MPL8'], bintypes=[SPX, HYB10, VOR10], templates=[MILESHC_MILESHC], properties=MPL8_maps, models=MPL8_models, bitmasks=get_maskbits('MPL-8'), default_bintype='HYB10', default_template='MILESHC-MILESHC', property_table='SpaxelProp8', default_binid=copy.deepcopy(binid_properties[0]), default_mapmask=['NOCOV', 'UNRELIABLE', 'DONOTUSE'], qual_flag='DAPQUAL')
Model('emline_fit', 'EMLINE', 'WAVE', extension_ivar=None, extension_mask='EMLINE_MASK', unit=u.erg / u.s / (u.cm ** 2) / u.Angstrom / spaxel_unit, scale=1e-17, formats={'string': 'Emission line model spectrum'}, description='The model spectrum with only the emission lines.', binid=binid_properties[3]), Model('emline_base_fit', 'EMLINE_BASE', 'WAVE', extension_ivar=None, extension_mask='EMLINE_MASK', unit=u.erg / u.s / (u.cm ** 2) / u.Angstrom / spaxel_unit, scale=1e-17, formats={'string': 'Emission line baseline fit'}, description='The model of the constant baseline fitted beneath the ' 'emission lines.', binid=binid_properties[3]) ] # MPL-6 DapDataModel goes here MPL6 = DAPDataModel('2.1.3', aliases=['MPL-6', 'MPL6'], bintypes=[SPX, HYB10, VOR10, ALL, NRE], db_only=[SPX, HYB10], templates=[GAU_MILESHC], properties=MPL6_maps, models=MPL6_models, bitmasks=get_maskbits('MPL-6'), default_bintype='SPX', default_template='GAU-MILESHC', property_table='SpaxelProp6', default_binid=copy.deepcopy(binid_properties[0]), default_mapmask=['NOCOV', 'UNRELIABLE', 'DONOTUSE'], qual_flag='DAPQUAL')
'spectral_resolution_prepixel', 'PRESPECRES', extension_wave='WAVE', extension_std='PRESPECRESD', unit=u.Angstrom, scale=1, formats={'string': 'Median spectral resolution pre-pixel'}, description='Median pre-pixel spectral resolution as a function of ' 'wavelength for the fibers in this IFU'), ] MPL4 = DRPDataModel('MPL-4', aliases=['MPL4'], datacubes=MPL4_datacubes, spectra=MPL4_spectra, bitmasks=get_maskbits('MPL-4')) MPL5 = DRPDataModel('MPL-5', aliases=['MPL5'], datacubes=MPL4_datacubes, spectra=MPL4_spectra, bitmasks=get_maskbits('MPL-5')) MPL6 = DRPDataModel('MPL-6', aliases=['MPL6'], datacubes=MPL4_datacubes + MPL6_datacubes, spectra=MPL4_spectra + MPL6_spectra, bitmasks=get_maskbits('MPL-6')) datamodel = DRPDataModelList([MPL4, MPL5, MPL6])
# Licensed under a 3-clause BSD license. # # @Author: Brian Cherinka # @Date: 2018-04-04 23:07:41 # @Last modified by: Brian Cherinka # @Last Modified time: 2018-10-18 14:12:38 from __future__ import absolute_import, division, print_function import copy from marvin.utils.datamodel.maskbit import get_maskbits from .base import DAPDataModel from .MPL6 import GAU_MILESHC, HYB10, VOR10, MPL6_maps, MPL6_models, binid_properties # MPL-7 DapDataModel goes here MPL7 = DAPDataModel('2.2.1', aliases=['MPL-7', 'MPL7', 'DR15'], bintypes=[HYB10, VOR10], templates=[GAU_MILESHC], properties=MPL6_maps, models=MPL6_models, bitmasks=get_maskbits('MPL-7'), default_bintype='HYB10', default_template='GAU-MILESHC', property_table='SpaxelProp7', default_binid=copy.deepcopy(binid_properties[0]), default_mapmask=['NOCOV', 'UNRELIABLE', 'DONOTUSE'], qual_flag='DAPQUAL')
extension_mask='EMLINE_MASK', unit=u.erg / u.s / (u.cm**2) / spaxel, scale=1e-17, formats={'string': 'Emission line model spectrum'}, description='The model spectrum with only the emission lines.', binid=binid_property), Model('emline_base_fit', 'EMLINE_BASE', 'WAVE', extension_ivar=None, extension_mask='EMLINE_MASK', unit=u.erg / u.s / (u.cm**2) / spaxel, scale=1e-17, formats={'string': 'Emission line baseline fit'}, description='The model of the constant baseline fitted beneath the ' 'emission lines.', binid=binid_property) ] MPL5 = DAPDataModel('2.0.2', aliases=['MPL-5', 'MPL5'], bintypes=[ALL, NRE, VOR10, SPX], templates=[GAU_MILESHC], properties=MPL5_maps, bitmasks=get_maskbits('MPL-5'), models=MPL5_models, default_bintype='SPX', default_template='GAU-MILESHC', property_table='SpaxelProp5', default_binid=binid_property)
Property('stellar_sigma', ivar=True, mask=True, channel=None, unit=u.km / u.s, formats={ 'string': 'Stellar velocity dispersion', 'latex': r'Stellar $\sigma$' }, description='Stellar velocity dispersion measurements.'), MultiChannelProperty('specindex', ivar=True, mask=True, formats={'string': 'Spectral index'}, channels=MPL4_specindex_channels, description='Measurements of spectral indices.'), binid_property ] MPL4 = DAPDataModel('1.1.1', aliases=['MPL-4', 'MPL4'], bintypes=[NONE, RADIAL, STON], templates=[M11_STELIB_ZSOL, MIUSCAT_THIN, MILES_THIN], properties=MPL4_maps, bitmasks=get_maskbits('MPL-4'), default_bintype='NONE', default_template='MIUSCAT-THIN', property_table='SpaxelProp', default_binid=binid_property, qual_flag=None)
extension_mask='MASK', unit=u.erg / u.s / (u.cm ** 2) / u.Angstrom / spaxel, scale=1e-17, formats={'string': 'Binned flux'}, description='Flux of the binned spectra', binid=binid_property), Model('full_fit', 'MODEL', 'WAVE', extension_ivar=None, extension_mask='MASK', unit=u.erg / u.s / (u.cm ** 2) / u.Angstrom / spaxel, scale=1e-17, formats={'string': 'Best fitting model'}, description='The best fitting model spectra (sum of the fitted ' 'continuum and emission-line models)', binid=binid_property), Model('emline_fit', 'EMLINE', 'WAVE', extension_ivar=None, extension_mask='EMLINE_MASK', unit=u.erg / u.s / (u.cm ** 2) / u.Angstrom / spaxel, scale=1e-17, formats={'string': 'Emission line model spectrum'}, description='The model spectrum with only the emission lines.', binid=binid_property), Model('emline_base_fit', 'EMLINE_BASE', 'WAVE', extension_ivar=None, extension_mask='EMLINE_MASK', unit=u.erg / u.s / (u.cm ** 2) / u.Angstrom / spaxel, scale=1e-17, formats={'string': 'Emission line baseline fit'}, description='The model of the constant baseline fitted beneath the ' 'emission lines.', binid=binid_property) ] MPL5 = DAPDataModel('2.0.2', aliases=['MPL-5', 'MPL5'], bintypes=[ALL, NRE, VOR10, SPX], templates=[GAU_MILESHC], properties=MPL5_maps, bitmasks=get_maskbits('MPL-5'), models=MPL5_models, default_bintype='SPX', default_template='GAU-MILESHC', property_table='SpaxelProp5', default_binid=binid_property, default_mapmask=['NOCOV', 'UNRELIABLE', 'DONOTUSE'], qual_flag='DAPQUAL')