Example #1
0
    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()
Example #2
0
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')
Example #3
0
        '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')
Example #4
0
File: MPL.py Project: rgcl/marvin
        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')
Example #5
0
    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')
Example #6
0
File: MPL8.py Project: zpace/marvin
          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')
Example #7
0
File: MPL6.py Project: zpace/marvin
    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')
Example #8
0
        '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])
Example #9
0
# 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')
Example #10
0
          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)
Example #11
0
    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)
Example #12
0
File: MPL5.py Project: zpace/marvin
          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')