diff --git a/gem2caom2/builder.py b/gem2caom2/builder.py index caf1f89e..ed72a366 100644 --- a/gem2caom2/builder.py +++ b/gem2caom2/builder.py @@ -68,13 +68,15 @@ # import logging +import traceback +from caom2pipe import astro_composable as ac from caom2pipe import manage_composable as mc from caom2pipe import name_builder_composable as nbc from gem2caom2 import gem_name, external_metadata -__all__ = ['EduQueryBuilder', 'GemObsIDBuilder'] +__all__ = ['EduQueryBuilder', 'GemObsIDBuilder', 'get_instrument'] class EduQueryBuilder(nbc.Builder): @@ -112,7 +114,8 @@ def build(self, entry): external_metadata.get_obs_metadata( gem_name.GemName.remove_extensions(entry)) - storage_name = gem_name.GemName(file_name=entry) + instrument = get_instrument() + storage_name = gem_name.GemName(file_name=entry, instrument=instrument) return storage_name @@ -133,10 +136,49 @@ def build(self, entry): :return: an instance of StorageName for use in execute_composable. """ self._logger.debug(f'Build a StorageName instance for {entry}.') - if (mc.TaskType.INGEST_OBS in self._config.task_types and - '.fits' not in entry): - result = gem_name.GemName(obs_id=entry) - else: - result = gem_name.GemName(file_name=entry) - self._logger.debug('Done build.') - return result + try: + if (mc.TaskType.INGEST_OBS in self._config.task_types and + '.fits' not in entry): + # anything that is NOT ALOPEKE/ZORRO, which are the only + # two instruments that change the behaviour of the + # GemName constructor - and yeah, that abstraction is leaking + # like a sieve. + self._logger.debug('INGEST_OBS, hard-coded instrument.') + instrument = external_metadata.Inst.CIRPASS + result = gem_name.GemName(obs_id=entry, instrument=instrument) + elif (mc.TaskType.SCRAPE in self._config.task_types or + self._config.use_local_files): + self._logger.debug( + 'Use a local file to read instrument from the headers.') + headers = ac.read_fits_headers( + f'{self._config.working_dir}/{entry}') + instrument = external_metadata.Inst(headers[0].get('INSTRUME')) + result = gem_name.GemName( + file_name=entry, instrument=instrument) + elif self._config.features.use_file_names: + self._logger.debug('Read instrument from archive.gemini.edu.') + file_id = gem_name.GemName.remove_extensions(entry) + external_metadata.get_obs_metadata(file_id) + instrument = get_instrument() + result = gem_name.GemName( + file_name=entry, instrument=instrument) + else: + raise mc.CadcException('The need has not been encountered ' + 'in the real world yet.') + self._logger.debug('Done build.') + return result + except Exception as e: + self._logger.error(e) + self._logger.debug(traceback.format_exc()) + raise mc.CadcException(e) + + +def get_instrument(): + inst = external_metadata.om.get('instrument') + if inst == 'ALOPEKE': + # because the value in JSON is a different case than the value in + # the FITS header + inst = 'Alopeke' + if inst == 'ZORRO': + inst = 'Zorro' + return external_metadata.Inst(inst) diff --git a/gem2caom2/external_metadata.py b/gem2caom2/external_metadata.py index 25c08255..09ec7301 100644 --- a/gem2caom2/external_metadata.py +++ b/gem2caom2/external_metadata.py @@ -159,6 +159,7 @@ class Inst(Enum): PHOENIX = 'PHOENIX' TEXES = 'TEXES' TRECS = 'TReCS' + ZORRO = 'Zorro' def get_obs_metadata(file_id): @@ -300,6 +301,17 @@ def _repair_filter_name_for_svo(instrument, filter_names): separated by '+' :return filter_name the SVO version """ + # Alopeke/ZORRO == FOX in Hawaiian and Spanish + FILTER_REPAIR_FOX = {'Red-832': 'EO_832', + 'Blue-u': 'u_sdss', + 'Blue-466': 'EO_466', + 'Blue-g': 'g_sdss', + 'Blue-562': 'EO_562', + 'Blue-r': 'r_sdss', + 'Blue-Halpha': 'Halpha', + 'Red-716': 'EO_716', + 'Red-i': 'i_sdss', + 'Red-z': 'z_sdss'} FILTER_REPAIR_NICI = {'CH4-H4S': 'ED451', 'CH4-H4L': 'ED449', 'CH4-H1S': 'ED286', @@ -416,6 +428,8 @@ def _repair_filter_name_for_svo(instrument, filter_names): elif instrument is Inst.GSAOI: if temp in FILTER_REPAIR_GSAOI: temp = FILTER_REPAIR_GSAOI[temp] + elif instrument in [Inst.ALOPEKE, Inst.ZORRO]: + temp = FILTER_REPAIR_FOX.get(temp) elif instrument is Inst.F2: if temp == 'J-lo': temp = 'Jlow' @@ -473,7 +487,7 @@ def tap_client(self, value): self._tap_client = value def get_obs_id(self, file_id): - self._logger.error(f'Entering get_obs_id for {file_id}.') + self._logger.debug(f'Entering get_obs_id for {file_id}.') result = super(CachingObsFileRelationship, self).get_obs_id(file_id) if result is None: if self._use_local_files: @@ -498,7 +512,7 @@ def _get_obs_id_from_gemini(self, file_id): # using the global om structure to look up and store # metadata will modify the internal index of the class - maintain # that index here with a save/restore - self._logger.error(f'Begin _get_obs_id_from_gemini for {file_id}') + self._logger.debug(f'Begin _get_obs_id_from_gemini for {file_id}') global om current_file_id = om.current get_obs_metadata(file_id) diff --git a/gem2caom2/gem_name.py b/gem2caom2/gem_name.py index f0f4d339..2e1a4ea2 100644 --- a/gem2caom2/gem_name.py +++ b/gem2caom2/gem_name.py @@ -89,50 +89,108 @@ class GemName(mc.StorageName): mixed-case obs id values - the case the inputs are provided in are assumed to be correct. - support uncompressed files in storage + + ALOPEKE/ZORRO:: + + DB 31-08-20 + DATALAB can NOT be used for the CAOM2 Observation ID since it appears that + the DATALAB value is identical for all files obtained for a single + program. e.g. if the program ID is GN-2020A-DD-115 then the DATALAB value + is always GN-2020A-DD-115-0-0. + + Instead, use the root of the filename as the observation ID. e.g. + N20200819A0003r.fits and N20200819A0003b.fits are two files generated from + a single observation (r = red channel, b = blue channel). Use + N20200819A0003 as the observation ID with two planes given by the two + colours of data. + + DB 01-09-20 + Gemini has kludged the headers so that every observation for a single + program has the same DATALAB in the header. This is what we usually use + for the observation ID. Each single ‘observation’ actually produces two + files (not a single MEF file) for the red and blue channels so to me it + would make the most sense to group these two files as a single observation + with two artifacts given by uri’s pointing to the two files. And this is + a single plane, correct? + + PD 01-09-20 + What is the meaning of red and blue channels? different energy bands? + + DB 02-09-20 + Yes. there’s a dichroic that directs light shortward of 675nm to one + detector (through one of several possible filters) and light longward of + 675nm to a second detector (through another filter). But instead of + generating a single MEF file they generate two files, e.g. + N20191219A0004b.fits and N20191219A0004r.fits. + + PD 02-09-20 + This seems very much like MACHO... if those two files are images in the + normal sense then it could make sense to create separate planes with + dataProductType = image that end up with the correct (distinct) energy + metadata. It is OK for an observation to create two sibling products and + two planes probably captures the goal of this instrument/observing mode + more directly. """ GEM_NAME_PATTERN = '*' def __init__(self, fname_on_disk=None, file_name=None, obs_id=None, - file_id=None): + file_id=None, instrument=None): logging.debug('parameters fname_on_disk {} file_name {}' ' obs id {} file id {}'.format(fname_on_disk, file_name, obs_id, file_id)) - # try to set the file name, if that information is available - - # file_name is assumed to be the file name in ad - # because the GEM files are stored uncompressed, - # while the files available from Gemini are bz2. - self._file_name = None - self._file_id = None - if file_name is not None: - self._file_id = GemName.get_file_id(file_name) - self.file_name = file_name - if fname_on_disk is not None: - self._file_id = GemName.get_file_id(fname_on_disk) - self.file_name = fname_on_disk - if obs_id is not None: - self._obs_id = obs_id - super(GemName, self).__init__( - obs_id=obs_id, collection=ARCHIVE, - collection_pattern=GemName.GEM_NAME_PATTERN, - fname_on_disk=self.file_name, - scheme=SCHEME) - if self._obs_id is None: - temp = em.get_gofr().get_obs_id(self._file_id) - if temp is not None: - self._obs_id = GemName.remove_extensions(temp) - if (self._fname_on_disk is None and self._file_name is None and - self._obs_id is None): - raise mc.CadcException('Require a name.') - if (self._file_id is None and self._obs_id is None and - file_id is not None): - self._file_id = file_id - self._obs_id = file_id - if file_id is not None: - self._file_id = file_id + if instrument in [em.Inst.ALOPEKE, em.Inst.ZORRO]: + if file_name is None and fname_on_disk is None: + raise mc.CadcException(f'Need a file name of some sort.') + if file_name is None: + self._file_name = fname_on_disk + else: + self._file_name = file_name + self._file_id = GemName.remove_extensions(self._file_name) + self._obs_id = self._file_id[:-1] + self._product_id = self._file_id + super(GemName, self).__init__( + obs_id=self._obs_id, collection=ARCHIVE, + collection_pattern=GemName.GEM_NAME_PATTERN, + fname_on_disk=self._file_name, + scheme=SCHEME) + else: + # try to set the file name, if that information is available + + # file_name is assumed to be the file name in ad + # because the GEM files are stored uncompressed, + # while the files available from Gemini are bz2. + self._file_name = None + self._file_id = None + if file_name is not None: + self._file_id = GemName.get_file_id(file_name) + self.file_name = file_name + if fname_on_disk is not None: + self._file_id = GemName.get_file_id(fname_on_disk) + self.file_name = fname_on_disk + if obs_id is not None: + self._obs_id = obs_id + super(GemName, self).__init__( + obs_id=obs_id, collection=ARCHIVE, + collection_pattern=GemName.GEM_NAME_PATTERN, + fname_on_disk=self.file_name, + scheme=SCHEME) + if self._obs_id is None: + temp = em.get_gofr().get_obs_id(self._file_id) + if temp is not None: + self._obs_id = GemName.remove_extensions(temp) + if (self._fname_on_disk is None and self._file_name is None and + self._obs_id is None): + raise mc.CadcException('Require a name.') + if (self._file_id is None and self._obs_id is None and + file_id is not None): + self._file_id = file_id + self._obs_id = file_id + if file_id is not None: + self._file_id = file_id + self._product_id = self._file_id self._logger = logging.getLogger(__name__) self._logger.debug(self) @@ -175,7 +233,7 @@ def file_id(self, value): @property def lineage(self): - return mc.get_lineage(ARCHIVE, self._file_id, self._file_name, + return mc.get_lineage(ARCHIVE, self.product_id, self._file_name, self.scheme) @property @@ -184,7 +242,7 @@ def external_urls(self): @property def product_id(self): - return self._file_id + return self._product_id @property def thumb_uri(self): diff --git a/gem2caom2/main_app.py b/gem2caom2/main_app.py index 0f38f973..607de0df 100644 --- a/gem2caom2/main_app.py +++ b/gem2caom2/main_app.py @@ -114,6 +114,8 @@ import gem2caom2.obs_file_relationship as ofr from gem2caom2.gem_name import GemName, COLLECTION from gem2caom2.svofps import FilterMetadata +from gem2caom2.builder import get_instrument + __all__ = ['gem_main_app', 'to_caom2', 'update', 'APPLICATION'] @@ -158,7 +160,7 @@ def get_time_delta(header): def get_calibration_level(uri): result = CalibrationLevel.RAW_STANDARD reduction = em.om.get('reduction') - instrument = _get_instrument() + instrument = get_instrument() if ((reduction is not None and (('PROCESSED' in reduction) or ('PREPARED' in reduction))) or (instrument is em.Inst.TEXES and @@ -197,7 +199,7 @@ def get_art_product_type(header): else: result = ProductType.SCIENCE else: - instrument = _get_instrument() + instrument = get_instrument() if instrument is not None: if instrument is em.Inst.PHOENIX: if _is_phoenix_calibration(header): @@ -231,7 +233,7 @@ def get_art_product_type(header): def get_cd11(header): - instrument = _get_instrument() + instrument = get_instrument() if instrument is em.Inst.HOKUPAA: result = _get_pix_scale(header) elif instrument in [em.Inst.OSCIR, em.Inst.TEXES]: @@ -265,7 +267,7 @@ def get_cd11(header): def get_cd22(header): - instrument = _get_instrument() + instrument = get_instrument() if instrument is em.Inst.HOKUPAA: result = _get_pix_scale(header) elif instrument in [em.Inst.OSCIR, em.Inst.TEXES]: @@ -287,7 +289,7 @@ def get_cd22(header): def get_crpix1(header): - instrument = _get_instrument() + instrument = get_instrument() if instrument is em.Inst.HOKUPAA: crpix1 = header.get('CRPIX1') if crpix1 is None: @@ -306,7 +308,7 @@ def get_crpix1(header): def get_crpix2(header): - instrument = _get_instrument() + instrument = get_instrument() if instrument is em.Inst.HOKUPAA: crpix2 = header.get('CRPIX2') if crpix2 is None: @@ -331,7 +333,7 @@ def get_data_product_type(header): :param header: The FITS header for the current extension. :return: The Plane DataProductType, or None if not found. """ - instrument = _get_instrument() + instrument = get_instrument() if instrument is em.Inst.FLAMINGOS: result, ignore = _get_flamingos_mode(header) elif instrument is em.Inst.GNIRS: @@ -345,6 +347,20 @@ def get_data_product_type(header): result = DataProductType.SPECTRUM elif instrument in [em.Inst.CIRPASS, em.Inst.TEXES]: result = DataProductType.SPECTRUM + elif instrument in [em.Inst.ALOPEKE, em.Inst.ZORRO]: + # DB 31-08-20 + # Both cameras are used for speckle imaging. Datasets consist of + # cubes of 256 x 256 x 1000 images. i.e. 1000 short exposures << 1 + # second long with 256 x 256 pixel images (or smaller images if the CCD + # is binned). + # + # So dataProductType = cube + # + # PD 02-09-20 + # if those two files are images in the normal sense then it could make + # sense to create separate planes with dataProductType = image that + # end up with the correct (distinct) energy metadata. + result = DataProductType.IMAGE else: mode = em.om.get('mode') obs_type = _get_obs_type(header) @@ -397,7 +413,7 @@ def get_dec(header): :param header: The FITS header for the current extension. :return: declination, or None if not found. """ - instrument = _get_instrument() + instrument = get_instrument() if instrument is em.Inst.HOKUPAA: ra, dec = _get_sky_coord(header, 'RA', 'DEC') result = dec @@ -429,7 +445,7 @@ def get_exposure(header): :return: The exposure time, or None if not found. """ result = em.om.get('exposure_time') - instrument = _get_instrument() + instrument = get_instrument() if instrument is em.Inst.OSCIR: # DB - 20-02-19 - json ‘exposure_time’ is in minutes, so multiply # by 60.0. @@ -490,7 +506,7 @@ def get_obs_intent(header): """ result = ObservationIntentType.CALIBRATION cal_values = ['GCALflat', 'Bias', 'BIAS', 'Twilight', 'Ar', 'FLAT', - 'flat', 'ARC', 'Domeflat', 'DARK', 'dark', 'gcal'] + 'flat', 'ARC', 'Domeflat', 'DARK', 'dark', 'gcal', 'ZERO'] dl = header.get('DATALAB') lookup = _get_obs_class(header) logging.debug('observation_class is {} for {}'.format(lookup, dl)) @@ -528,7 +544,7 @@ def get_obs_intent(header): if type_lookup in cal_values: result = ObservationIntentType.CALIBRATION else: - instrument = _get_instrument() + instrument = get_instrument() if instrument is not None: if instrument is em.Inst.TRECS: data_label = header.get('DATALAB') @@ -564,7 +580,7 @@ def get_obs_type(header): obs_class = _get_obs_class(header) if obs_class is not None and (obs_class == 'acq' or obs_class == 'acqCal'): result = 'ACQUISITION' - instrument = _get_instrument() + instrument = get_instrument() if instrument is em.Inst.PHOENIX: result = _get_phoenix_obs_type(header) elif instrument is em.Inst.HOKUPAA: @@ -682,7 +698,7 @@ def get_ra(header): :param header: The FITS header for the current extension. :return: ra, or None if not found. """ - instrument = _get_instrument() + instrument = get_instrument() if instrument is em.Inst.HOKUPAA: ra, dec = _get_sky_coord(header, 'RA', 'DEC') result = ra @@ -730,8 +746,9 @@ def get_target_type(uri): """ result = TargetType.FIELD spectroscopy = em.om.get('spectroscopy') - instrument = _get_instrument() - if spectroscopy or instrument is em.Inst.TEXES: + instrument = get_instrument() + if (spectroscopy or + instrument in [em.Inst.ALOPEKE, em.Inst.TEXES, em.Inst.ZORRO]): result = TargetType.OBJECT return result @@ -743,7 +760,7 @@ def get_time_function_val(header): :param header: The FITS header for the current extension (not used). :return: The Time WCS value from JSON Summary Metadata. """ - instrument = _get_instrument() + instrument = get_instrument() if instrument in [em.Inst.FLAMINGOS, em.Inst.OSCIR]: # Another FLAMINGOS correction needed: DATE-OBS in header and # json doesn’t include the time but sets it to 00:00:00. You have @@ -864,15 +881,6 @@ def _get_data_label(): return em.om.get('data_label') -def _get_instrument(): - inst = em.om.get('instrument') - if inst == 'ALOPEKE': - # because the value in JSON is a different case than the value in - # the FITS header - inst = 'Alopeke' - return em.Inst(inst) - - def _get_sky_coord(header, ra_key, dec_key): ra_hours = header.get(ra_key) dec_hours = header.get(dec_key) @@ -966,7 +974,7 @@ def _is_phoenix_calibration(header): def _is_gmos_mask(header): result = False - instrument = _get_instrument() + instrument = get_instrument() if instrument in [em.Inst.GMOSS, em.Inst.GMOSN, em.Inst.GMOS]: obs_type = _get_obs_type(header) if obs_type == 'MASK': @@ -987,7 +995,7 @@ def accumulate_fits_bp(bp, file_id, uri): bp.set('Observation.proposal.id', 'get_proposal_id(header)') bp.clear('Observation.algorithm.name') - instrument = _get_instrument() + instrument = get_instrument() if instrument in [em.Inst.GMOSN, em.Inst.GMOSS, em.Inst.GMOS]: bp.set('Observation.instrument.keywords', 'get_provenance_keywords(uri)') @@ -1012,7 +1020,10 @@ def accumulate_fits_bp(bp, file_id, uri): # Add IMAGESWV for GRACES bp.add_fits_attribute('Plane.provenance.producer', 'IMAGESWV') bp.set_default('Plane.provenance.producer', 'Gemini Observatory') - if instrument is not em.Inst.TEXES: + if instrument in [em.Inst.ALOPEKE, em.Inst.ZORRO]: + bp.set('Plane.provenance.reference', + f'http://archive.gemini.edu/searchform/filepre={file_id}.fits') + elif instrument is not em.Inst.TEXES: data_label = _get_data_label() bp.set('Plane.provenance.reference', 'http://archive.gemini.edu/searchform/{}'.format(data_label)) @@ -1054,7 +1065,7 @@ def accumulate_fits_bp(bp, file_id, uri): # the equinox given at the time specified by the EQUINOX keyword value. bp.clear('Chunk.position.equinox') bp.add_fits_attribute('Chunk.position.equinox', 'EQUINOX') - + bp.configure_time_axis(3) # The Chunk time metadata is calculated using keywords from the @@ -1068,6 +1079,10 @@ def accumulate_fits_bp(bp, file_id, uri): bp.set('Chunk.time.axis.error.syser', '1e-07') bp.set('Chunk.time.axis.error.rnder', '1e-07') bp.set('Chunk.time.axis.function.naxis', '1') + if instrument in [em.Inst.ALOPEKE, em.Inst.ZORRO]: + bp.clear('Chunk.time.axis.function.naxis') + bp.add_fits_attribute('Chunk.time.axis.function.naxis', 'NAXIS3') + bp.set('Chunk.time.axis.function.delta', 'get_time_delta(header)') bp.set('Chunk.time.axis.function.refCoord.pix', '0.5') bp.set('Chunk.time.axis.function.refCoord.val', @@ -1285,6 +1300,12 @@ def update(observation, **kwargs): _update_chunk_energy_texes( c, headers[0], plane.data_product_type, observation.observation_id) + elif instrument in [em.Inst.ALOPEKE, em.Inst.ZORRO]: + _update_chunk_energy_general( + c, instrument, [DataProductType.IMAGE], + plane.data_product_type, + observation.observation_id, + filter_name) # position WCS mode = em.om.get('mode') @@ -1341,6 +1362,9 @@ def update(observation, **kwargs): _update_chunk_position_trecs( c, headers, int(part), observation.observation_id) + elif instrument in [em.Inst.ALOPEKE, em.Inst.ZORRO]: + _update_chunk_position_fox( + c, observation.observation_id) # time WCS if instrument is em.Inst.F2: @@ -1365,6 +1389,10 @@ def update(observation, **kwargs): c.position_axis_2 = None c.time_axis = None c.energy_axis = None + + if instrument in [em.Inst.ALOPEKE, em.Inst.ZORRO]: + _update_chunk_time_fox( + c, header, observation.observation_id) if c.naxis is not None and c.naxis <= 2: if c.position_axis_1 is None: c.naxis = None @@ -1449,10 +1477,9 @@ def _build_chunk_energy(chunk, filter_name, fm): bandpass_name=bandpass_name, resolving_power=fm.resolving_power) chunk.energy = energy - if chunk.naxis > 2: - chunk.energy_axis = 4 - else: - chunk.energy_axis = None + # no chunk energy is derived from FITS file axis metadata, so no cutouts + # to support + chunk.energy_axis = None # values from @@ -3530,6 +3557,15 @@ def _update_position_from_zeroth_header(artifact, headers, instrument, obs_id): chunk.position_axis_2 = 2 +def _update_chunk_position_fox(chunk, obs_id): + logging.debug(f'Begin _update_chunk_position_fox for {obs_id}') + if (chunk is not None and chunk.position is not None and + chunk.position.axis is not None and + chunk.position.axis.axis1.ctype == 'RA--TAN'): + chunk.position.axis.axis1.ctype = 'RA---TAN' + logging.debug(f'End _update_chunk_position_fox.') + + def _update_chunk_position_flamingos(chunk, header, obs_id): # DB - I see nothing in astropy that will do a transformation from crota # form to CD matrix, but this is it: @@ -3757,6 +3793,23 @@ def _update_chunk_time_f2(chunk, obs_id): logging.debug('End _update_chunk_time_f2 {}'.format(obs_id)) +def _update_chunk_time_fox(chunk, header, obs_id): + """ + DB 02-09-20 + Exposure time using JSON values isn’t correct. I know that for this + example Gemini shows the exposure time is 0.02 seconds but there are + 1000 x 0.02-second exposures in the cube. The keyword EXPOSURE gives the + total exposure time (in seconds), time.exposure, or 20 in this case while + the json exposure_time should be the time.resolution. + """ + logging.debug('Begin _update_chunk_time_fox {}'.format(obs_id)) + mc.check_param(chunk, Chunk) + if chunk.time is not None: + chunk.time.exposure = header.get('EXPOSURE') + # chunk.time.resolution already set by blueprint + logging.debug('End _update_chunk_time_fox {}'.format(obs_id)) + + def _update_chunk_time_gmos(chunk, obs_id): """""" logging.debug('Begin _update_chunk_time_gmos {}'.format(obs_id)) diff --git a/gem2caom2/obs_file_relationship.py b/gem2caom2/obs_file_relationship.py index 4f8ff58e..4b600bd7 100644 --- a/gem2caom2/obs_file_relationship.py +++ b/gem2caom2/obs_file_relationship.py @@ -570,10 +570,12 @@ def is_processed(file_name): patterns.""" result = True file_id = gem_name.GemName.remove_extensions(file_name) - if (file_id.startswith(('S', 'N', 'GN', 'GS', 'c', 'abu')) and - file_id.endswith( - ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9'))): - result = False + # ALOPEKE file id ends with 'r' or 'b', so avoid checking that letter + if file_id.startswith(('S', 'N', 'GN', 'GS', 'c', 'abu')): + if file_id.endswith(('0', '1', '2', '3', '4', '5', '6', '7', '8', '9')): + result = False + if file_id[:15].endswith(('b', 'r')): + result = False elif file_id.startswith(('2', '02', '01')): result = False # TEXES naming patterns @@ -628,9 +630,6 @@ def repair_data_label(file_name, data_label): else: removals = removals + suffix - if 'fringe' in removals or 'FRINGE' in removals: - removals = [] - for ii in removals: # rreplace temp = repaired.rsplit(ii, 1) @@ -674,6 +673,10 @@ def repair_data_label(file_name, data_label): prefix = '' suffix = [] + if (prefix == '' and len(suffix) == 1 and + ('FRINGE' in suffix or 'fringe' in suffix)): + suffix = [] + if len(prefix) > 0: if f'-{prefix.upper()}' not in repaired: repaired = f'{repaired}-{prefix.upper()}' diff --git a/gem2caom2/tests/data/F2/S20150101S0261.expected.xml b/gem2caom2/tests/data/F2/S20150101S0261.expected.xml index 5cb6bfe0..602b7955 100644 --- a/gem2caom2/tests/data/F2/S20150101S0261.expected.xml +++ b/gem2caom2/tests/data/F2/S20150101S0261.expected.xml @@ -63,7 +63,6 @@ 3 1 2 - 4 3 diff --git a/gem2caom2/tests/data/F2/S20150103S0148.expected.xml b/gem2caom2/tests/data/F2/S20150103S0148.expected.xml index febc1c79..365ecb92 100644 --- a/gem2caom2/tests/data/F2/S20150103S0148.expected.xml +++ b/gem2caom2/tests/data/F2/S20150103S0148.expected.xml @@ -63,7 +63,6 @@ 3 1 2 - 4 3 diff --git a/gem2caom2/tests/data/F2/S20150113S0186.expected.xml b/gem2caom2/tests/data/F2/S20150113S0186.expected.xml index f0f50b8c..61ef8a15 100644 --- a/gem2caom2/tests/data/F2/S20150113S0186.expected.xml +++ b/gem2caom2/tests/data/F2/S20150113S0186.expected.xml @@ -62,7 +62,6 @@ 3 - 4 3 diff --git a/gem2caom2/tests/data/F2/S20150213S0110.expected.xml b/gem2caom2/tests/data/F2/S20150213S0110.expected.xml index cacefef5..50dbaff1 100644 --- a/gem2caom2/tests/data/F2/S20150213S0110.expected.xml +++ b/gem2caom2/tests/data/F2/S20150213S0110.expected.xml @@ -63,7 +63,6 @@ 3 1 2 - 4 3 diff --git a/gem2caom2/tests/data/F2/S20150622S0011.expected.xml b/gem2caom2/tests/data/F2/S20150622S0011.expected.xml index 4db3a0f6..c7dd0082 100644 --- a/gem2caom2/tests/data/F2/S20150622S0011.expected.xml +++ b/gem2caom2/tests/data/F2/S20150622S0011.expected.xml @@ -64,7 +64,6 @@ 3 1 2 - 4 3 diff --git a/gem2caom2/tests/data/F2/S20150625S0077.expected.xml b/gem2caom2/tests/data/F2/S20150625S0077.expected.xml index 78868ade..f8e5a00d 100644 --- a/gem2caom2/tests/data/F2/S20150625S0077.expected.xml +++ b/gem2caom2/tests/data/F2/S20150625S0077.expected.xml @@ -64,7 +64,6 @@ 3 1 2 - 4 3 diff --git a/gem2caom2/tests/data/F2/S20150625S0230.expected.xml b/gem2caom2/tests/data/F2/S20150625S0230.expected.xml index b73a543d..4b7be6a3 100644 --- a/gem2caom2/tests/data/F2/S20150625S0230.expected.xml +++ b/gem2caom2/tests/data/F2/S20150625S0230.expected.xml @@ -62,7 +62,6 @@ 3 - 4 3 diff --git a/gem2caom2/tests/data/F2/S20160220S0125.expected.xml b/gem2caom2/tests/data/F2/S20160220S0125.expected.xml index 14ac0f5c..6d3d2ff3 100644 --- a/gem2caom2/tests/data/F2/S20160220S0125.expected.xml +++ b/gem2caom2/tests/data/F2/S20160220S0125.expected.xml @@ -63,7 +63,6 @@ 3 1 2 - 4 3 diff --git a/gem2caom2/tests/data/F2/S20160616S0034.expected.xml b/gem2caom2/tests/data/F2/S20160616S0034.expected.xml index 46363e65..0c03a327 100644 --- a/gem2caom2/tests/data/F2/S20160616S0034.expected.xml +++ b/gem2caom2/tests/data/F2/S20160616S0034.expected.xml @@ -63,7 +63,6 @@ 3 1 2 - 4 3 diff --git a/gem2caom2/tests/data/F2/S20170221S0005.expected.xml b/gem2caom2/tests/data/F2/S20170221S0005.expected.xml index d978c765..caa83d27 100644 --- a/gem2caom2/tests/data/F2/S20170221S0005.expected.xml +++ b/gem2caom2/tests/data/F2/S20170221S0005.expected.xml @@ -56,7 +56,6 @@ 3 - 4 3 diff --git a/gem2caom2/tests/data/F2/S20170905S0318.expected.xml b/gem2caom2/tests/data/F2/S20170905S0318.expected.xml index 82abdd76..5b135f4c 100644 --- a/gem2caom2/tests/data/F2/S20170905S0318.expected.xml +++ b/gem2caom2/tests/data/F2/S20170905S0318.expected.xml @@ -63,7 +63,6 @@ 3 1 2 - 4 3 diff --git a/gem2caom2/tests/data/F2/S20171123S0166.expected.xml b/gem2caom2/tests/data/F2/S20171123S0166.expected.xml index bdea14da..d1a7bac3 100644 --- a/gem2caom2/tests/data/F2/S20171123S0166.expected.xml +++ b/gem2caom2/tests/data/F2/S20171123S0166.expected.xml @@ -63,7 +63,6 @@ 3 1 2 - 4 3 diff --git a/gem2caom2/tests/data/F2/S20171123S0216.expected.xml b/gem2caom2/tests/data/F2/S20171123S0216.expected.xml index 5c4840fb..587c4219 100644 --- a/gem2caom2/tests/data/F2/S20171123S0216.expected.xml +++ b/gem2caom2/tests/data/F2/S20171123S0216.expected.xml @@ -63,7 +63,6 @@ 3 1 2 - 4 3 diff --git a/gem2caom2/tests/data/F2/S20171226S0358.expected.xml b/gem2caom2/tests/data/F2/S20171226S0358.expected.xml index 288da739..58192957 100644 --- a/gem2caom2/tests/data/F2/S20171226S0358.expected.xml +++ b/gem2caom2/tests/data/F2/S20171226S0358.expected.xml @@ -63,7 +63,6 @@ 3 1 2 - 4 3 diff --git a/gem2caom2/tests/data/F2/S20181230S0026.expected.xml b/gem2caom2/tests/data/F2/S20181230S0026.expected.xml index 5d47454c..fb0a5bd1 100644 --- a/gem2caom2/tests/data/F2/S20181230S0026.expected.xml +++ b/gem2caom2/tests/data/F2/S20181230S0026.expected.xml @@ -62,7 +62,6 @@ 3 1 2 - 4 3 diff --git a/gem2caom2/tests/data/GS-2019B-Q-222-181-001.expected.xml b/gem2caom2/tests/data/GS-2019B-Q-222-181-001.expected.xml index 7f931677..3d9ff0fc 100644 --- a/gem2caom2/tests/data/GS-2019B-Q-222-181-001.expected.xml +++ b/gem2caom2/tests/data/GS-2019B-Q-222-181-001.expected.xml @@ -59,7 +59,6 @@ 2 1 2 - 4 3 @@ -151,7 +150,6 @@ 2 1 2 - 4 3 @@ -243,7 +241,6 @@ 2 1 2 - 4 3 @@ -335,7 +332,6 @@ 2 1 2 - 4 3 diff --git a/gem2caom2/tests/data/TReCS/S20050102S0024.expected.xml b/gem2caom2/tests/data/TReCS/S20050102S0024.expected.xml index 03af89ee..36548125 100644 --- a/gem2caom2/tests/data/TReCS/S20050102S0024.expected.xml +++ b/gem2caom2/tests/data/TReCS/S20050102S0024.expected.xml @@ -61,7 +61,6 @@ 4 1 2 - 4 3 @@ -153,7 +152,6 @@ 4 1 2 - 4 3 @@ -245,7 +243,6 @@ 4 1 2 - 4 3 @@ -337,7 +334,6 @@ 4 1 2 - 4 3 @@ -429,7 +425,6 @@ 4 1 2 - 4 3 @@ -521,7 +516,6 @@ 4 1 2 - 4 3 diff --git a/gem2caom2/tests/data/TReCS/S20050621S0037.expected.xml b/gem2caom2/tests/data/TReCS/S20050621S0037.expected.xml index 6f3eb20a..1f6fc91c 100644 --- a/gem2caom2/tests/data/TReCS/S20050621S0037.expected.xml +++ b/gem2caom2/tests/data/TReCS/S20050621S0037.expected.xml @@ -63,7 +63,6 @@ 4 1 2 - 4 3 @@ -155,7 +154,6 @@ 4 1 2 - 4 3 @@ -247,7 +245,6 @@ 4 1 2 - 4 3 @@ -339,7 +336,6 @@ 4 1 2 - 4 3 @@ -431,7 +427,6 @@ 4 1 2 - 4 3 @@ -523,7 +518,6 @@ 4 1 2 - 4 3 @@ -615,7 +609,6 @@ 4 1 2 - 4 3 @@ -707,7 +700,6 @@ 4 1 2 - 4 3 @@ -799,7 +791,6 @@ 4 1 2 - 4 3 @@ -891,7 +882,6 @@ 4 1 2 - 4 3 diff --git a/gem2caom2/tests/data/TReCS/S20050918S0058.expected.xml b/gem2caom2/tests/data/TReCS/S20050918S0058.expected.xml index d44b421c..8680b436 100644 --- a/gem2caom2/tests/data/TReCS/S20050918S0058.expected.xml +++ b/gem2caom2/tests/data/TReCS/S20050918S0058.expected.xml @@ -63,7 +63,6 @@ 4 1 2 - 4 3 diff --git a/gem2caom2/tests/data/TReCS/S20120922S0372.expected.xml b/gem2caom2/tests/data/TReCS/S20120922S0372.expected.xml index c7ae252a..33e77c07 100644 --- a/gem2caom2/tests/data/TReCS/S20120922S0372.expected.xml +++ b/gem2caom2/tests/data/TReCS/S20120922S0372.expected.xml @@ -63,7 +63,6 @@ 4 1 2 - 4 3 @@ -155,7 +154,6 @@ 4 1 2 - 4 3 @@ -247,7 +245,6 @@ 4 1 2 - 4 3 @@ -339,7 +336,6 @@ 4 1 2 - 4 3 @@ -431,7 +427,6 @@ 4 1 2 - 4 3 @@ -523,7 +518,6 @@ 4 1 2 - 4 3 @@ -615,7 +609,6 @@ 4 1 2 - 4 3 @@ -707,7 +700,6 @@ 4 1 2 - 4 3 @@ -799,7 +791,6 @@ 4 1 2 - 4 3 @@ -891,7 +882,6 @@ 4 1 2 - 4 3 @@ -983,7 +973,6 @@ 4 1 2 - 4 3 @@ -1075,7 +1064,6 @@ 4 1 2 - 4 3 @@ -1167,7 +1155,6 @@ 4 1 2 - 4 3 @@ -1259,7 +1246,6 @@ 4 1 2 - 4 3 @@ -1351,7 +1337,6 @@ 4 1 2 - 4 3 @@ -1443,7 +1428,6 @@ 4 1 2 - 4 3 @@ -1535,7 +1519,6 @@ 4 1 2 - 4 3 diff --git a/gem2caom2/tests/data/config.yml b/gem2caom2/tests/data/config.yml index c4efe798..8b41babd 100644 --- a/gem2caom2/tests/data/config.yml +++ b/gem2caom2/tests/data/config.yml @@ -8,7 +8,7 @@ todo_file_name: todo.txt # values True False use_local_files: False # values DEBUG INFO WARN ERROR -logging_level: DEBUG +logging_level: INFO # values True False log_to_file: True # fully qualified name for a directory to write log files diff --git a/gem2caom2/tests/data/fix_sc2.sh b/gem2caom2/tests/data/fix_sc2.sh deleted file mode 100755 index 753f256e..00000000 --- a/gem2caom2/tests/data/fix_sc2.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -for ii in GMOS/GN-CAL20150925-2-007.actual.xml GMOS/GN-CAL20150217-2-003.actual.xml GMOS/GN-2015A-Q-91-5-002.actual.xml GMOS/GN-2015A-C-4-24-086.actual.xml GMOS/GN-2015A-C-2-96-002.actual.xml GMOS/GN-2013B-Q-28-150-002.actual.xml -do - obs_id=$(echo $ii | awk -F'/' '{print $2}' | awk -F '.' '{print $1}') - caom2-repo delete --cert $HOME/.ssl/cadcproxy.pem --resource-id ivo://cadc.nrc.ca/sc2repo GEMINI ${obs_id} - caom2-repo create --cert $HOME/.ssl/cadcproxy.pem --resource-id ivo://cadc.nrc.ca/sc2repo ${ii} -done diff --git a/gem2caom2/tests/data/get_check_stuff.sh b/gem2caom2/tests/data/get_check_stuff.sh deleted file mode 100755 index 7ed17e15..00000000 --- a/gem2caom2/tests/data/get_check_stuff.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash - -#instrument="GNIRS" -#for ii in GN-2011B-Q-7-193-010 GN-2011B-Q-63-101-006 GN-2011B-Q-68-116-013 GN-2011B-Q-63-126-005 GN-2011B-Q-7-193-044 GN-2011B-Q-63-126-005 -#instrument="GRACES" -#for ii in GN-2015B-Q-1-12-1003 GN-CAL20150604-1000-1072 GN-CAL20150604-1000-1081 GN-CAL20150807-1000-1035 -#instrument="NIFS" -#for ii in GN-2012B-Q-51-108-001 GN-2012B-Q-73-172-002 GN-2016B-Q-27-31-007 GN-2012A-Q-57-151-005 GN-2011B-Q-59-70-016 GN-2012A-Q-2-22-007 -#instrument="GSAOI" -#for ii in GS-2013B-Q-61-8-008 GS-2012B-SV-499-21-002 GS-2013B-DD-1-13-002 GS-CAL20181023-5-001 GS-CAL20140109-3-009 GS-CAL20130201-3-017 GS-2013B-Q-26-19-004 -#instrument="F2" -#for ii in GS-2014B-Q-60-8-071 GS-2015A-Q-60-126-001 GS-2014B-Q-17-69-002 GS-2014B-Q-17-53-030 GS-2014B-Q-60-11-012 GS-2017A-Q-28-280-012 GS-2016A-FT-18-54-002 GS-2016A-C-1-86-003 GS-2017B-Q-18-96-006 GS-2017B-Q-45-156-079 GS-2015A-Q-63-328-014 GS-2018B-SV-301-144-020 GS-2015A-Q-63-365-016 GS-2015A-Q-63-406-001 -#instrument=GPI -#for ii in GS-2018A-FT-101-5-043 GS-CAL20150410-1-007 GS-CAL20140323-6-014 GS-CAL20160224-12-017 GS-2014A-SV-408-6-003 GS-CAL20140320-7-011 GS-CAL20140315-4-004 GS-CAL20140316-5-012 -#instrument=Michelle -#for ii in GN-2008A-Q-43-6-002 GN-2009B-C-1-62-001 GN-CAL20060413-7-001 GN-CAL20080308-8-016 GN-2006A-Q-58-9-007 GN-2007A-C-11-234-001 GN-2010B-C-3-21-002 GN-2006A-C-14-49-002 -#instrument=TReCS -#for ii in GS-CAL20050102-1-001 GS-2005A-Q-15-1-001 GS-2005B-Q-10-22-003 GS-2012A-Q-7-31-001 GS-2008A-C-5-35-002 -#instrument=bHROS -#for ii in GS-2006B-Q-47-76-003 GS-2006B-Q-7-32-008 GS-2005B-SV-302-20-001 GS-2005B-SV-301-16-005 -#instrument=hrwfs -#for ii in GS-2003A-Q-6-1-002 GS-CAL20030303-7-0006 GS-CAL20030730-10-006 GS-CAL20031218-1-034 GS-CAL20030105-2-0072 -# instrument=Phoenix -# for ii in GS-2006B-C-8-2-0052 GS-2006A-DD-1-1-0073 GS-2003B-Q-51-27-0073 GS-2006A-C-10-1-0258 -# instrument = OSCIR -#for ii in GS-2001B-Q-31-9-007 -# instrument = Flamingos -# for ii in GS-2002B-DD-2-6-0230 -# instrument = HOKUPAA -#for ii in GN-2002A-DD-1-319-591 GN-CAL20020424-1-007 -# instrument = GMOS -for ii in GS-2003B-Q-5-29-003 GS-2005B-Q-27-4-001 GS-CAL20060125-1-002 GS-2005B-Q-27-33-001 GS-2008A-Q-41-26-013 GN2009AQ021-04 GS-2005B-Q-22-17-006 GS-2005B-Q-22-29-004 GS-2005B-Q-54-2-004 GS-2006A-Q-48-15-002 GS-2009A-Q-30-6-007 GN-2009B-Q-121-15-003 GN-2010A-Q-35-10-002 GN-2009B-Q-121-15-001 GN-2007B-Q-112-14-018 -do - echo $ii - # caom2-repo read --cert $HOME/.ssl/cadcproxy.pem --resource-id ivo://cadc.nrc.ca/ams GEMINI $ii > "${ii}.xml" - curl "http://www.cadc-ccda.hia-iha.nrc-cnrc.gc.ca/caom2ops/meta?ID=caom:GEMINI/${ii}" > "${ii}.xml" -done diff --git a/gem2caom2/tests/data/get_programs.sh b/gem2caom2/tests/data/get_programs.sh deleted file mode 100755 index b50e3748..00000000 --- a/gem2caom2/tests/data/get_programs.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash -for ii in $(ls -d *) -do - if [[ -d ${ii} && ${ii} != 'votable' ]] - then - echo " # $ii" -# mkdir -p ${ii}/program -# for jj in $(grep program_id ${ii}/json/* | awk -F'"' '{print $4}') -# do -# echo $jj -# curl "https://archive.gemini.edu/programinfo/${jj}" > ${ii}/program/${jj}.xml -# done - for jj in $(ls ${ii}/*.in.xml) - do - obs_id=$( grep observationID ${jj} | awk -F'>' '{print $2}' | awk -F'<' '{print $1}' ) - file_id=$( grep uri ${jj} | grep fits | awk -F'>' '{print $2}' | awk -F'<' '{print $1}' | awk -F'/' '{print $2}' | awk -F'.' '{print $1"."$2}' ) - program_id=$(grep program_id ${ii}/json/${obs_id}.json | awk -F'"' '{print $4}') - echo " '${file_id}': ['${obs_id}', '${ii}', '${program_id}'], " - done - fi -done -date -exit 0 diff --git a/gem2caom2/tests/data/hrwfs/S20030218S0042.expected.xml b/gem2caom2/tests/data/hrwfs/S20030218S0042.expected.xml index 8bf252ff..5c56769e 100644 --- a/gem2caom2/tests/data/hrwfs/S20030218S0042.expected.xml +++ b/gem2caom2/tests/data/hrwfs/S20030218S0042.expected.xml @@ -12,6 +12,9 @@ GS-2003A-Q-6 Jane Gregorio-Hetem The nature of unidentified X-ray sources in CMa star formation region- Part II + + Moleculear clouds, Neutron stars, T Tauri stars, Young star clusters + src17 diff --git a/gem2caom2/tests/data/json/N20190313A0002b.json b/gem2caom2/tests/data/json/N20190313A0002b.json new file mode 100644 index 00000000..30591a51 --- /dev/null +++ b/gem2caom2/tests/data/json/N20190313A0002b.json @@ -0,0 +1,68 @@ +[ + { + "name": "N20190313A0002b.fits", + "filename": "N20190313A0002b.fits.bz2", + "path": "", + "compressed": true, + "file_size": 37670946, + "data_size": 104872320, + "file_md5": "3a6f57da8634eb170faa83bfd924d44a", + "data_md5": "eb57edfe159d841ee02bafcf0ebfa221", + "lastmod": "2020-06-26 00:35:12.713745+00:00", + "mdready": true, + "entrytime": "2020-06-26 00:35:12.795311+00:00", + "size": 37670946, + "md5": "3a6f57da8634eb170faa83bfd924d44a", + "program_id": "GN-2019A-Q-214", + "engineering": false, + "science_verification": false, + "calibration_program": false, + "observation_id": "GN-2019A-Q-214-0", + "data_label": "GN-2019A-Q-214-0-0", + "telescope": "Gemini-North", + "instrument": "ALOPEKE", + "ut_datetime": "2019-03-13 22:28:05.001600", + "local_time": null, + "observation_type": "DARK", + "observation_class": null, + "object": "Zenith", + "ra": null, + "dec": null, + "azimuth": null, + "elevation": null, + "cass_rotator_pa": null, + "airmass": 1.0, + "filter_name": null, + "exposure_time": 15.0, + "disperser": null, + "camera": null, + "central_wavelength": null, + "wavelength_band": null, + "focal_plane_mask": null, + "detector_binning": "1x1", + "detector_gain_setting": null, + "detector_roi_setting": "Fixed", + "detector_readspeed_setting": null, + "detector_welldepth_setting": null, + "detector_readmode_setting": "Image", + "spectroscopy": false, + "mode": "imaging", + "adaptive_optics": false, + "laser_guide_star": false, + "wavefront_sensor": null, + "gcal_lamp": null, + "raw_iq": null, + "raw_cc": null, + "raw_wv": null, + "raw_bg": null, + "requested_iq": null, + "requested_cc": null, + "requested_wv": null, + "requested_bg": null, + "qa_state": "Undefined", + "release": "2020-03-12", + "reduction": "RAW", + "types": "{'UNPREPARED', 'GEMINI', 'NORTH', 'RAW'}", + "phot_standard": null + } +] \ No newline at end of file diff --git a/gem2caom2/tests/data/json/N20190313A0002r.json b/gem2caom2/tests/data/json/N20190313A0002r.json new file mode 100644 index 00000000..23e059c7 --- /dev/null +++ b/gem2caom2/tests/data/json/N20190313A0002r.json @@ -0,0 +1,68 @@ +[ + { + "name": "N20190313A0002r.fits", + "filename": "N20190313A0002r.fits.bz2", + "path": "", + "compressed": true, + "file_size": 37464408, + "data_size": 104872320, + "file_md5": "c76c67acdfc5a58db03092095cd76d18", + "data_md5": "d849865e4451c58d293c288a2c372f70", + "lastmod": "2020-06-26 00:32:00.624440+00:00", + "mdready": true, + "entrytime": "2020-06-26 00:32:00.712622+00:00", + "size": 37464408, + "md5": "c76c67acdfc5a58db03092095cd76d18", + "program_id": "GN-2019A-Q-214", + "engineering": false, + "science_verification": false, + "calibration_program": false, + "observation_id": "GN-2019A-Q-214-0", + "data_label": "GN-2019A-Q-214-0-0", + "telescope": "Gemini-North", + "instrument": "ALOPEKE", + "ut_datetime": "2019-03-13 22:28:05.001600", + "local_time": null, + "observation_type": "DARK", + "observation_class": null, + "object": "Zenith", + "ra": null, + "dec": null, + "azimuth": null, + "elevation": null, + "cass_rotator_pa": null, + "airmass": 1.0, + "filter_name": null, + "exposure_time": 15.0, + "disperser": null, + "camera": null, + "central_wavelength": null, + "wavelength_band": null, + "focal_plane_mask": null, + "detector_binning": "1x1", + "detector_gain_setting": null, + "detector_roi_setting": "Fixed", + "detector_readspeed_setting": null, + "detector_welldepth_setting": null, + "detector_readmode_setting": "Image", + "spectroscopy": false, + "mode": "imaging", + "adaptive_optics": false, + "laser_guide_star": false, + "wavefront_sensor": null, + "gcal_lamp": null, + "raw_iq": null, + "raw_cc": null, + "raw_wv": null, + "raw_bg": null, + "requested_iq": null, + "requested_cc": null, + "requested_wv": null, + "requested_bg": null, + "qa_state": "Undefined", + "release": "2020-03-12", + "reduction": "RAW", + "types": "{'GEMINI', 'RAW', 'NORTH', 'UNPREPARED'}", + "phot_standard": null + } +] \ No newline at end of file diff --git a/gem2caom2/tests/data/json/N20191219A0001b.json b/gem2caom2/tests/data/json/N20191219A0001b.json new file mode 100644 index 00000000..d4077311 --- /dev/null +++ b/gem2caom2/tests/data/json/N20191219A0001b.json @@ -0,0 +1,68 @@ +[ + { + "name": "N20191219A0001b.fits", + "filename": "N20191219A0001b.fits.bz2", + "path": "", + "compressed": true, + "file_size": 76394294, + "data_size": 131094720, + "file_md5": "95041b08ff4cfcff17b4ff93c648f076", + "data_md5": "ab7a9ad50229f615ddbf58dcbdea96ae", + "lastmod": "2020-06-07 18:21:08.112331+00:00", + "mdready": true, + "entrytime": "2020-06-07 18:21:08.265400+00:00", + "size": 76394294, + "md5": "95041b08ff4cfcff17b4ff93c648f076", + "program_id": "GN-2020A-Q-132", + "engineering": false, + "science_verification": false, + "calibration_program": false, + "observation_id": "GN-2020A-Q-132-0", + "data_label": "GN-2020A-Q-132-0-0", + "telescope": "Gemini-North", + "instrument": "ALOPEKE", + "ut_datetime": "2019-12-19 16:02:30.019200", + "local_time": null, + "observation_type": "OBJECT", + "observation_class": null, + "object": "HD118203", + "ra": null, + "dec": null, + "azimuth": null, + "elevation": null, + "cass_rotator_pa": null, + "airmass": 1.325, + "filter_name": null, + "exposure_time": 0.06, + "disperser": null, + "camera": null, + "central_wavelength": null, + "wavelength_band": null, + "focal_plane_mask": null, + "detector_binning": "1x1", + "detector_gain_setting": null, + "detector_roi_setting": "Fixed", + "detector_readspeed_setting": null, + "detector_welldepth_setting": null, + "detector_readmode_setting": "Image", + "spectroscopy": false, + "mode": "imaging", + "adaptive_optics": false, + "laser_guide_star": false, + "wavefront_sensor": null, + "gcal_lamp": null, + "raw_iq": null, + "raw_cc": null, + "raw_wv": null, + "raw_bg": null, + "requested_iq": null, + "requested_cc": null, + "requested_wv": null, + "requested_bg": null, + "qa_state": "Undefined", + "release": "2020-12-18", + "reduction": "RAW", + "types": "{'GEMINI', 'RAW', 'NORTH', 'UNPREPARED'}", + "phot_standard": null + } +] \ No newline at end of file diff --git a/gem2caom2/tests/data/json/N20191219A0001r.json b/gem2caom2/tests/data/json/N20191219A0001r.json new file mode 100644 index 00000000..0a6e8e28 --- /dev/null +++ b/gem2caom2/tests/data/json/N20191219A0001r.json @@ -0,0 +1,68 @@ +[ + { + "name": "N20191219A0001r.fits", + "filename": "N20191219A0001r.fits.bz2", + "path": "", + "compressed": true, + "file_size": 70542890, + "data_size": 131094720, + "file_md5": "2f8f51d2b388461c55f20d2da9a0ca9c", + "data_md5": "124c4edd88ad4f235b3544c565384c02", + "lastmod": "2020-06-07 18:20:59.934289+00:00", + "mdready": true, + "entrytime": "2020-06-07 18:21:00.078952+00:00", + "size": 70542890, + "md5": "2f8f51d2b388461c55f20d2da9a0ca9c", + "program_id": "GN-2020A-Q-132", + "engineering": false, + "science_verification": false, + "calibration_program": false, + "observation_id": "GN-2020A-Q-132-0", + "data_label": "GN-2020A-Q-132-0-0", + "telescope": "Gemini-North", + "instrument": "ALOPEKE", + "ut_datetime": "2019-12-19 16:02:30.019200", + "local_time": null, + "observation_type": "OBJECT", + "observation_class": null, + "object": "HD118203", + "ra": null, + "dec": null, + "azimuth": null, + "elevation": null, + "cass_rotator_pa": null, + "airmass": 1.325, + "filter_name": null, + "exposure_time": 0.06, + "disperser": null, + "camera": null, + "central_wavelength": null, + "wavelength_band": null, + "focal_plane_mask": null, + "detector_binning": "1x1", + "detector_gain_setting": null, + "detector_roi_setting": "Fixed", + "detector_readspeed_setting": null, + "detector_welldepth_setting": null, + "detector_readmode_setting": "Image", + "spectroscopy": false, + "mode": "imaging", + "adaptive_optics": false, + "laser_guide_star": false, + "wavefront_sensor": null, + "gcal_lamp": null, + "raw_iq": null, + "raw_cc": null, + "raw_wv": null, + "raw_bg": null, + "requested_iq": null, + "requested_cc": null, + "requested_wv": null, + "requested_bg": null, + "qa_state": "Undefined", + "release": "2020-12-18", + "reduction": "RAW", + "types": "{'GEMINI', 'RAW', 'NORTH', 'UNPREPARED'}", + "phot_standard": null + } +] \ No newline at end of file diff --git a/gem2caom2/tests/data/json/N20200215A0004b.json b/gem2caom2/tests/data/json/N20200215A0004b.json new file mode 100644 index 00000000..ea2df11c --- /dev/null +++ b/gem2caom2/tests/data/json/N20200215A0004b.json @@ -0,0 +1,68 @@ +[ + { + "name": "N20200215A0004b.fits", + "filename": "N20200215A0004b.fits.bz2", + "path": "", + "compressed": true, + "file_size": 49874165, + "data_size": 104872320, + "file_md5": "a3166604367bf0fb2837b4d1d68ddd94", + "data_md5": "00a9f610b2d6d4abc97d7e9e4d8be33a", + "lastmod": "2020-06-06 08:31:00.373788+00:00", + "mdready": true, + "entrytime": "2020-06-06 08:31:00.480437+00:00", + "size": 49874165, + "md5": "a3166604367bf0fb2837b4d1d68ddd94", + "program_id": "GN-2019B-Q-415", + "engineering": false, + "science_verification": false, + "calibration_program": false, + "observation_id": "GN-2019B-Q-415-0", + "data_label": "GN-2019B-Q-415-0-0", + "telescope": "Gemini-North", + "instrument": "ALOPEKE", + "ut_datetime": "2020-02-15 04:48:55.036800", + "local_time": null, + "observation_type": "FLAT", + "observation_class": null, + "object": "ALT_HD224688", + "ra": null, + "dec": null, + "azimuth": null, + "elevation": null, + "cass_rotator_pa": 0.015, + "airmass": 1.797, + "filter_name": null, + "exposure_time": 0.6, + "disperser": null, + "camera": null, + "central_wavelength": null, + "wavelength_band": null, + "focal_plane_mask": null, + "detector_binning": "1x1", + "detector_gain_setting": null, + "detector_roi_setting": "Fixed", + "detector_readspeed_setting": null, + "detector_welldepth_setting": null, + "detector_readmode_setting": "Image", + "spectroscopy": false, + "mode": "imaging", + "adaptive_optics": false, + "laser_guide_star": false, + "wavefront_sensor": null, + "gcal_lamp": null, + "raw_iq": null, + "raw_cc": null, + "raw_wv": null, + "raw_bg": null, + "requested_iq": null, + "requested_cc": null, + "requested_wv": null, + "requested_bg": null, + "qa_state": "Undefined", + "release": "2021-02-14", + "reduction": "RAW", + "types": "{'UNPREPARED', 'GEMINI', 'NORTH', 'RAW'}", + "phot_standard": null + } +] \ No newline at end of file diff --git a/gem2caom2/tests/data/json/N20200215A0004r.json b/gem2caom2/tests/data/json/N20200215A0004r.json new file mode 100644 index 00000000..301a57d8 --- /dev/null +++ b/gem2caom2/tests/data/json/N20200215A0004r.json @@ -0,0 +1,68 @@ +[ + { + "name": "N20200215A0004r.fits", + "filename": "N20200215A0004r.fits.bz2", + "path": "", + "compressed": true, + "file_size": 52708997, + "data_size": 104872320, + "file_md5": "a6943f932aaa0eeaef719025f5904bb1", + "data_md5": "fb2e134f26045510129b625db2971c0e", + "lastmod": "2020-06-06 04:13:33.206849+00:00", + "mdready": true, + "entrytime": "2020-06-06 04:13:33.320485+00:00", + "size": 52708997, + "md5": "a6943f932aaa0eeaef719025f5904bb1", + "program_id": "GN-2019B-Q-415", + "engineering": false, + "science_verification": false, + "calibration_program": false, + "observation_id": "GN-2019B-Q-415-0", + "data_label": "GN-2019B-Q-415-0-0", + "telescope": "Gemini-North", + "instrument": "ALOPEKE", + "ut_datetime": "2020-02-15 04:48:55.036800", + "local_time": null, + "observation_type": "FLAT", + "observation_class": null, + "object": "ALT_HD224688", + "ra": null, + "dec": null, + "azimuth": null, + "elevation": null, + "cass_rotator_pa": 0.015, + "airmass": 1.797, + "filter_name": null, + "exposure_time": 0.6, + "disperser": null, + "camera": null, + "central_wavelength": null, + "wavelength_band": null, + "focal_plane_mask": null, + "detector_binning": "1x1", + "detector_gain_setting": null, + "detector_roi_setting": "Fixed", + "detector_readspeed_setting": null, + "detector_welldepth_setting": null, + "detector_readmode_setting": "Image", + "spectroscopy": false, + "mode": "imaging", + "adaptive_optics": false, + "laser_guide_star": false, + "wavefront_sensor": null, + "gcal_lamp": null, + "raw_iq": null, + "raw_cc": null, + "raw_wv": null, + "raw_bg": null, + "requested_iq": null, + "requested_cc": null, + "requested_wv": null, + "requested_bg": null, + "qa_state": "Undefined", + "release": "2021-02-14", + "reduction": "RAW", + "types": "{'GEMINI', 'RAW', 'NORTH', 'UNPREPARED'}", + "phot_standard": null + } +] \ No newline at end of file diff --git a/gem2caom2/tests/data/json/S20190716Z0925b.json b/gem2caom2/tests/data/json/S20190716Z0925b.json new file mode 100644 index 00000000..2d78ea20 --- /dev/null +++ b/gem2caom2/tests/data/json/S20190716Z0925b.json @@ -0,0 +1,68 @@ +[ + { + "name": "S20190716Z0925b.fits", + "filename": "S20190716Z0925b.fits.bz2", + "path": "", + "compressed": true, + "file_size": 88013053, + "data_size": 131094720, + "file_md5": "8cf0414c3c1e8211b22a6fbac321e3e1", + "data_md5": "4f0a662fe78a4e1c844371fcac90dfef", + "lastmod": "2020-05-27 13:45:56.235934+00:00", + "mdready": true, + "entrytime": "2020-05-27 13:45:56.411699+00:00", + "size": 88013053, + "md5": "8cf0414c3c1e8211b22a6fbac321e3e1", + "program_id": "GS-2019A-DD-109", + "engineering": false, + "science_verification": false, + "calibration_program": false, + "observation_id": "GS-2019A-DD-109-0", + "data_label": "GS-2019A-DD-109-0-0", + "telescope": "Gemini-South", + "instrument": "ZORRO", + "ut_datetime": "2019-07-16 10:28:29.020800", + "local_time": null, + "observation_type": "OBJECT", + "observation_class": null, + "object": "HIP 28909", + "ra": null, + "dec": null, + "azimuth": null, + "elevation": null, + "cass_rotator_pa": null, + "airmass": 1.736, + "filter_name": null, + "exposure_time": 0.06, + "disperser": null, + "camera": null, + "central_wavelength": null, + "wavelength_band": null, + "focal_plane_mask": null, + "detector_binning": "1x1", + "detector_gain_setting": null, + "detector_roi_setting": "Fixed", + "detector_readspeed_setting": null, + "detector_welldepth_setting": null, + "detector_readmode_setting": "Image", + "spectroscopy": false, + "mode": "imaging", + "adaptive_optics": false, + "laser_guide_star": false, + "wavefront_sensor": null, + "gcal_lamp": null, + "raw_iq": null, + "raw_cc": null, + "raw_wv": null, + "raw_bg": null, + "requested_iq": null, + "requested_cc": null, + "requested_wv": null, + "requested_bg": null, + "qa_state": "Undefined", + "release": "2020-07-15", + "reduction": "RAW", + "types": "{'UNPREPARED', 'GEMINI', 'SOUTH', 'RAW'}", + "phot_standard": null + } +] \ No newline at end of file diff --git a/gem2caom2/tests/data/json/S20190716Z0925r.json b/gem2caom2/tests/data/json/S20190716Z0925r.json new file mode 100644 index 00000000..3fd15fd8 --- /dev/null +++ b/gem2caom2/tests/data/json/S20190716Z0925r.json @@ -0,0 +1,68 @@ +[ + { + "name": "S20190716Z0925r.fits", + "filename": "S20190716Z0925r.fits.bz2", + "path": "", + "compressed": true, + "file_size": 78514633, + "data_size": 131094720, + "file_md5": "361da32466d46f4a5e99bb6051b48fc2", + "data_md5": "601c29a81410ef985e8f8a0e90f57052", + "lastmod": "2020-05-27 13:45:21.830752+00:00", + "mdready": true, + "entrytime": "2020-05-27 13:45:21.988960+00:00", + "size": 78514633, + "md5": "361da32466d46f4a5e99bb6051b48fc2", + "program_id": "GS-2019A-DD-109", + "engineering": false, + "science_verification": false, + "calibration_program": false, + "observation_id": "GS-2019A-DD-109-0", + "data_label": "GS-2019A-DD-109-0-0", + "telescope": "Gemini-South", + "instrument": "ZORRO", + "ut_datetime": "2019-07-16 10:28:29.020800", + "local_time": null, + "observation_type": "OBJECT", + "observation_class": null, + "object": "HIP 28909", + "ra": null, + "dec": null, + "azimuth": null, + "elevation": null, + "cass_rotator_pa": null, + "airmass": 1.736, + "filter_name": null, + "exposure_time": 0.06, + "disperser": null, + "camera": null, + "central_wavelength": null, + "wavelength_band": null, + "focal_plane_mask": null, + "detector_binning": "1x1", + "detector_gain_setting": null, + "detector_roi_setting": "Fixed", + "detector_readspeed_setting": null, + "detector_welldepth_setting": null, + "detector_readmode_setting": "Image", + "spectroscopy": false, + "mode": "imaging", + "adaptive_optics": false, + "laser_guide_star": false, + "wavefront_sensor": null, + "gcal_lamp": null, + "raw_iq": null, + "raw_cc": null, + "raw_wv": null, + "raw_bg": null, + "requested_iq": null, + "requested_cc": null, + "requested_wv": null, + "requested_bg": null, + "qa_state": "Undefined", + "release": "2020-07-15", + "reduction": "RAW", + "types": "{'UNPREPARED', 'GEMINI', 'SOUTH', 'RAW'}", + "phot_standard": null + } +] \ No newline at end of file diff --git a/gem2caom2/tests/data/json/S20190912Z0264b.json b/gem2caom2/tests/data/json/S20190912Z0264b.json new file mode 100644 index 00000000..b3739124 --- /dev/null +++ b/gem2caom2/tests/data/json/S20190912Z0264b.json @@ -0,0 +1,68 @@ +[ + { + "name": "S20190912Z0264b.fits", + "filename": "S20190912Z0264b.fits.bz2", + "path": "", + "compressed": true, + "file_size": 51242703, + "data_size": 131094720, + "file_md5": "1271aa501633136daa409c7733148e33", + "data_md5": "56685678eee2b3acda8986adbe0f88e8", + "lastmod": "2020-04-30 04:45:52.204956+00:00", + "mdready": true, + "entrytime": "2020-04-30 04:45:52.313235+00:00", + "size": 51242703, + "md5": "1271aa501633136daa409c7733148e33", + "program_id": "GS-2019B-FT-103", + "engineering": false, + "science_verification": false, + "calibration_program": false, + "observation_id": "GS-2019B-FT-103-0", + "data_label": "GS-2019B-FT-103-0-0", + "telescope": "Gemini-South", + "instrument": "ZORRO", + "ut_datetime": "2019-09-12 22:46:10.012800", + "local_time": null, + "observation_type": null, + "observation_class": null, + "object": "Zenith", + "ra": null, + "dec": null, + "azimuth": null, + "elevation": null, + "cass_rotator_pa": null, + "airmass": 1.0, + "filter_name": null, + "exposure_time": 0.06, + "disperser": null, + "camera": null, + "central_wavelength": null, + "wavelength_band": null, + "focal_plane_mask": null, + "detector_binning": "1x1", + "detector_gain_setting": null, + "detector_roi_setting": "Fixed", + "detector_readspeed_setting": null, + "detector_welldepth_setting": null, + "detector_readmode_setting": "Image", + "spectroscopy": false, + "mode": "imaging", + "adaptive_optics": false, + "laser_guide_star": false, + "wavefront_sensor": null, + "gcal_lamp": null, + "raw_iq": null, + "raw_cc": null, + "raw_wv": null, + "raw_bg": null, + "requested_iq": null, + "requested_cc": null, + "requested_wv": null, + "requested_bg": null, + "qa_state": "Undefined", + "release": "2020-03-13", + "reduction": "RAW", + "types": "{'GEMINI', 'SOUTH', 'RAW', 'UNPREPARED'}", + "phot_standard": null + } +] \ No newline at end of file diff --git a/gem2caom2/tests/data/json/S20190912Z0264r.json b/gem2caom2/tests/data/json/S20190912Z0264r.json new file mode 100644 index 00000000..d66c2cf6 --- /dev/null +++ b/gem2caom2/tests/data/json/S20190912Z0264r.json @@ -0,0 +1,68 @@ +[ + { + "name": "S20190912Z0264r.fits", + "filename": "S20190912Z0264r.fits.bz2", + "path": "", + "compressed": true, + "file_size": 52541648, + "data_size": 131094720, + "file_md5": "e0da9eeb10021f91af6a9b3d3900cdb8", + "data_md5": "f7249563691e31dec16bd3c76f2acc31", + "lastmod": "2020-04-30 13:56:16.168534+00:00", + "mdready": true, + "entrytime": "2020-04-30 13:56:16.281391+00:00", + "size": 52541648, + "md5": "e0da9eeb10021f91af6a9b3d3900cdb8", + "program_id": "GS-2019B-FT-103", + "engineering": false, + "science_verification": false, + "calibration_program": false, + "observation_id": "GS-2019B-FT-103-0", + "data_label": "GS-2019B-FT-103-0-0", + "telescope": "Gemini-South", + "instrument": "ZORRO", + "ut_datetime": "2019-09-12 22:46:10.012800", + "local_time": null, + "observation_type": null, + "observation_class": null, + "object": "Zenith", + "ra": null, + "dec": null, + "azimuth": null, + "elevation": null, + "cass_rotator_pa": null, + "airmass": 1.0, + "filter_name": null, + "exposure_time": 0.06, + "disperser": null, + "camera": null, + "central_wavelength": null, + "wavelength_band": null, + "focal_plane_mask": null, + "detector_binning": "1x1", + "detector_gain_setting": null, + "detector_roi_setting": "Fixed", + "detector_readspeed_setting": null, + "detector_welldepth_setting": null, + "detector_readmode_setting": "Image", + "spectroscopy": false, + "mode": "imaging", + "adaptive_optics": false, + "laser_guide_star": false, + "wavefront_sensor": null, + "gcal_lamp": null, + "raw_iq": null, + "raw_cc": null, + "raw_wv": null, + "raw_bg": null, + "requested_iq": null, + "requested_cc": null, + "requested_wv": null, + "requested_bg": null, + "qa_state": "Undefined", + "release": "2020-03-13", + "reduction": "RAW", + "types": "{'GEMINI', 'SOUTH', 'RAW', 'UNPREPARED'}", + "phot_standard": null + } +] \ No newline at end of file diff --git a/gem2caom2/tests/data/json/S20200316Z0308b.json b/gem2caom2/tests/data/json/S20200316Z0308b.json new file mode 100644 index 00000000..950b04b3 --- /dev/null +++ b/gem2caom2/tests/data/json/S20200316Z0308b.json @@ -0,0 +1,68 @@ +[ + { + "name": "S20200316Z0308b.fits", + "filename": "S20200316Z0308b.fits.bz2", + "path": "", + "compressed": true, + "file_size": 70709904, + "data_size": 131094720, + "file_md5": "4807b068cf8577b1121c846e50b9450d", + "data_md5": "c9ad5c9ec511639c989c67385db6f95b", + "lastmod": "2020-04-15 00:02:52.630774+00:00", + "mdready": true, + "entrytime": "2020-04-15 00:02:52.774146+00:00", + "size": 70709904, + "md5": "4807b068cf8577b1121c846e50b9450d", + "program_id": "GS-2020A-Q-321", + "engineering": false, + "science_verification": false, + "calibration_program": false, + "observation_id": "GS-2020A-Q-321-0", + "data_label": "GS-2020A-Q-321-0-0", + "telescope": "Gemini-South", + "instrument": "ZORRO", + "ut_datetime": "2020-03-16 10:05:59.971200", + "local_time": null, + "observation_type": "OBJECT", + "observation_class": null, + "object": "HD146596", + "ra": null, + "dec": null, + "azimuth": null, + "elevation": null, + "cass_rotator_pa": null, + "airmass": 1.091, + "filter_name": null, + "exposure_time": 0.06, + "disperser": null, + "camera": null, + "central_wavelength": null, + "wavelength_band": null, + "focal_plane_mask": null, + "detector_binning": "1x1", + "detector_gain_setting": null, + "detector_roi_setting": "Fixed", + "detector_readspeed_setting": null, + "detector_welldepth_setting": null, + "detector_readmode_setting": "Image", + "spectroscopy": false, + "mode": "imaging", + "adaptive_optics": false, + "laser_guide_star": false, + "wavefront_sensor": null, + "gcal_lamp": null, + "raw_iq": null, + "raw_cc": null, + "raw_wv": null, + "raw_bg": null, + "requested_iq": null, + "requested_cc": null, + "requested_wv": null, + "requested_bg": null, + "qa_state": "Undefined", + "release": "2021-03-16", + "reduction": "RAW", + "types": "{'GEMINI', 'SOUTH', 'RAW', 'UNPREPARED'}", + "phot_standard": null + } +] \ No newline at end of file diff --git a/gem2caom2/tests/data/json/S20200316Z0308r.json b/gem2caom2/tests/data/json/S20200316Z0308r.json new file mode 100644 index 00000000..4062785c --- /dev/null +++ b/gem2caom2/tests/data/json/S20200316Z0308r.json @@ -0,0 +1,68 @@ +[ + { + "name": "S20200316Z0308r.fits", + "filename": "S20200316Z0308r.fits.bz2", + "path": "", + "compressed": true, + "file_size": 63678182, + "data_size": 131094720, + "file_md5": "3e5e9397c3db2e7b9d03113ba1e8109c", + "data_md5": "38f8e744e5f442ca23fed3749557e632", + "lastmod": "2020-04-15 00:01:31.063349+00:00", + "mdready": true, + "entrytime": "2020-04-15 00:01:31.196206+00:00", + "size": 63678182, + "md5": "3e5e9397c3db2e7b9d03113ba1e8109c", + "program_id": "GS-2020A-Q-321", + "engineering": false, + "science_verification": false, + "calibration_program": false, + "observation_id": "GS-2020A-Q-321-0", + "data_label": "GS-2020A-Q-321-0-0", + "telescope": "Gemini-South", + "instrument": "ZORRO", + "ut_datetime": "2020-03-16 10:05:59.971200", + "local_time": null, + "observation_type": "OBJECT", + "observation_class": null, + "object": "HD146596", + "ra": null, + "dec": null, + "azimuth": null, + "elevation": null, + "cass_rotator_pa": null, + "airmass": 1.091, + "filter_name": null, + "exposure_time": 0.06, + "disperser": null, + "camera": null, + "central_wavelength": null, + "wavelength_band": null, + "focal_plane_mask": null, + "detector_binning": "1x1", + "detector_gain_setting": null, + "detector_roi_setting": "Fixed", + "detector_readspeed_setting": null, + "detector_welldepth_setting": null, + "detector_readmode_setting": "Image", + "spectroscopy": false, + "mode": "imaging", + "adaptive_optics": false, + "laser_guide_star": false, + "wavefront_sensor": null, + "gcal_lamp": null, + "raw_iq": null, + "raw_cc": null, + "raw_wv": null, + "raw_bg": null, + "requested_iq": null, + "requested_cc": null, + "requested_wv": null, + "requested_bg": null, + "qa_state": "Undefined", + "release": "2021-03-16", + "reduction": "RAW", + "types": "{'GEMINI', 'SOUTH', 'RAW', 'UNPREPARED'}", + "phot_standard": null + } +] \ No newline at end of file diff --git a/gem2caom2/tests/data/michelle/N20060413S0129.expected.xml b/gem2caom2/tests/data/michelle/N20060413S0129.expected.xml index 8303e5bf..f24d5230 100644 --- a/gem2caom2/tests/data/michelle/N20060413S0129.expected.xml +++ b/gem2caom2/tests/data/michelle/N20060413S0129.expected.xml @@ -61,7 +61,6 @@ 4 1 2 - 4 3 diff --git a/gem2caom2/tests/data/michelle/N20060418S0123.expected.xml b/gem2caom2/tests/data/michelle/N20060418S0123.expected.xml index 4ec78410..41ad95a6 100644 --- a/gem2caom2/tests/data/michelle/N20060418S0123.expected.xml +++ b/gem2caom2/tests/data/michelle/N20060418S0123.expected.xml @@ -63,7 +63,6 @@ 4 1 2 - 4 3 @@ -155,7 +154,6 @@ 4 1 2 - 4 3 @@ -247,7 +245,6 @@ 4 1 2 - 4 3 @@ -339,7 +336,6 @@ 4 1 2 - 4 3 @@ -431,7 +427,6 @@ 4 1 2 - 4 3 @@ -523,7 +518,6 @@ 4 1 2 - 4 3 @@ -615,7 +609,6 @@ 4 1 2 - 4 3 @@ -707,7 +700,6 @@ 4 1 2 - 4 3 diff --git a/gem2caom2/tests/data/michelle/N20070310S0156.expected.xml b/gem2caom2/tests/data/michelle/N20070310S0156.expected.xml index d22086c0..57bf69f1 100644 --- a/gem2caom2/tests/data/michelle/N20070310S0156.expected.xml +++ b/gem2caom2/tests/data/michelle/N20070310S0156.expected.xml @@ -63,7 +63,6 @@ 4 1 2 - 4 3 @@ -155,7 +154,6 @@ 4 1 2 - 4 3 @@ -247,7 +245,6 @@ 4 1 2 - 4 3 @@ -339,7 +336,6 @@ 4 1 2 - 4 3 diff --git a/gem2caom2/tests/data/michelle/N20080612S0038.expected.xml b/gem2caom2/tests/data/michelle/N20080612S0038.expected.xml index 57e901d3..2de2a8ce 100644 --- a/gem2caom2/tests/data/michelle/N20080612S0038.expected.xml +++ b/gem2caom2/tests/data/michelle/N20080612S0038.expected.xml @@ -63,7 +63,6 @@ 4 1 2 - 4 3 @@ -155,7 +154,6 @@ 4 1 2 - 4 3 @@ -247,7 +245,6 @@ 4 1 2 - 4 3 @@ -339,7 +336,6 @@ 4 1 2 - 4 3 @@ -431,7 +427,6 @@ 4 1 2 - 4 3 @@ -523,7 +518,6 @@ 4 1 2 - 4 3 @@ -615,7 +609,6 @@ 4 1 2 - 4 3 @@ -707,7 +700,6 @@ 4 1 2 - 4 3 @@ -799,7 +791,6 @@ 4 1 2 - 4 3 @@ -891,7 +882,6 @@ 4 1 2 - 4 3 @@ -983,7 +973,6 @@ 4 1 2 - 4 3 @@ -1075,7 +1064,6 @@ 4 1 2 - 4 3 @@ -1167,7 +1155,6 @@ 4 1 2 - 4 3 @@ -1259,7 +1246,6 @@ 4 1 2 - 4 3 @@ -1351,7 +1337,6 @@ 4 1 2 - 4 3 @@ -1443,7 +1428,6 @@ 4 1 2 - 4 3 @@ -1535,7 +1519,6 @@ 4 1 2 - 4 3 @@ -1627,7 +1610,6 @@ 4 1 2 - 4 3 @@ -1719,7 +1701,6 @@ 4 1 2 - 4 3 @@ -1811,7 +1792,6 @@ 4 1 2 - 4 3 @@ -1903,7 +1883,6 @@ 4 1 2 - 4 3 @@ -1995,7 +1974,6 @@ 4 1 2 - 4 3 @@ -2087,7 +2065,6 @@ 4 1 2 - 4 3 @@ -2179,7 +2156,6 @@ 4 1 2 - 4 3 @@ -2271,7 +2247,6 @@ 4 1 2 - 4 3 @@ -2363,7 +2338,6 @@ 4 1 2 - 4 3 @@ -2455,7 +2429,6 @@ 4 1 2 - 4 3 @@ -2547,7 +2520,6 @@ 4 1 2 - 4 3 @@ -2639,7 +2611,6 @@ 4 1 2 - 4 3 @@ -2731,7 +2702,6 @@ 4 1 2 - 4 3 @@ -2823,7 +2793,6 @@ 4 1 2 - 4 3 @@ -2915,7 +2884,6 @@ 4 1 2 - 4 3 @@ -3007,7 +2975,6 @@ 4 1 2 - 4 3 @@ -3099,7 +3066,6 @@ 4 1 2 - 4 3 @@ -3191,7 +3157,6 @@ 4 1 2 - 4 3 @@ -3283,7 +3248,6 @@ 4 1 2 - 4 3 @@ -3375,7 +3339,6 @@ 4 1 2 - 4 3 @@ -3467,7 +3430,6 @@ 4 1 2 - 4 3 @@ -3559,7 +3521,6 @@ 4 1 2 - 4 3 @@ -3651,7 +3612,6 @@ 4 1 2 - 4 3 diff --git a/gem2caom2/tests/data/michelle/N20100131S0131.expected.xml b/gem2caom2/tests/data/michelle/N20100131S0131.expected.xml index 7379b508..21d60903 100644 --- a/gem2caom2/tests/data/michelle/N20100131S0131.expected.xml +++ b/gem2caom2/tests/data/michelle/N20100131S0131.expected.xml @@ -63,7 +63,6 @@ 4 1 2 - 4 3 diff --git a/gem2caom2/tests/data/michelle/rN20050228S0074.expected.xml b/gem2caom2/tests/data/michelle/rN20050228S0074.expected.xml index e097e5c8..4c13cef8 100644 --- a/gem2caom2/tests/data/michelle/rN20050228S0074.expected.xml +++ b/gem2caom2/tests/data/michelle/rN20050228S0074.expected.xml @@ -234,7 +234,6 @@ 4 1 2 - 4 3 @@ -326,7 +325,6 @@ 4 1 2 - 4 3 @@ -418,7 +416,6 @@ 4 1 2 - 4 3 @@ -510,7 +507,6 @@ 4 1 2 - 4 3 @@ -732,7 +728,6 @@ 2 1 2 - 4 3 diff --git a/gem2caom2/tests/data/multi_plane/GS-2003B-Q-23-17-001.expected.xml b/gem2caom2/tests/data/multi_plane/GS-2003B-Q-23-17-001.expected.xml index dfb76b74..adbecb53 100644 --- a/gem2caom2/tests/data/multi_plane/GS-2003B-Q-23-17-001.expected.xml +++ b/gem2caom2/tests/data/multi_plane/GS-2003B-Q-23-17-001.expected.xml @@ -58,7 +58,6 @@ 4 1 2 - 4 3 @@ -150,7 +149,6 @@ 4 1 2 - 4 3 @@ -242,7 +240,6 @@ 4 1 2 - 4 3 @@ -334,7 +331,6 @@ 4 1 2 - 4 3 @@ -426,7 +422,6 @@ 4 1 2 - 4 3 @@ -518,7 +513,6 @@ 4 1 2 - 4 3 @@ -610,7 +604,6 @@ 4 1 2 - 4 3 @@ -702,7 +695,6 @@ 4 1 2 - 4 3 @@ -794,7 +786,6 @@ 4 1 2 - 4 3 @@ -886,7 +877,6 @@ 4 1 2 - 4 3 @@ -978,7 +968,6 @@ 4 1 2 - 4 3 @@ -1070,7 +1059,6 @@ 4 1 2 - 4 3 @@ -1162,7 +1150,6 @@ 4 1 2 - 4 3 @@ -1254,7 +1241,6 @@ 4 1 2 - 4 3 @@ -1346,7 +1332,6 @@ 4 1 2 - 4 3 @@ -1438,7 +1423,6 @@ 4 1 2 - 4 3 @@ -1530,7 +1514,6 @@ 4 1 2 - 4 3 @@ -1622,7 +1605,6 @@ 4 1 2 - 4 3 @@ -1714,7 +1696,6 @@ 4 1 2 - 4 3 @@ -1806,7 +1787,6 @@ 4 1 2 - 4 3 @@ -1898,7 +1878,6 @@ 4 1 2 - 4 3 @@ -1990,7 +1969,6 @@ 4 1 2 - 4 3 @@ -2082,7 +2060,6 @@ 4 1 2 - 4 3 @@ -2174,7 +2151,6 @@ 4 1 2 - 4 3 @@ -2266,7 +2242,6 @@ 4 1 2 - 4 3 @@ -2358,7 +2333,6 @@ 4 1 2 - 4 3 @@ -2450,7 +2424,6 @@ 4 1 2 - 4 3 @@ -2542,7 +2515,6 @@ 4 1 2 - 4 3 @@ -2634,7 +2606,6 @@ 4 1 2 - 4 3 @@ -2726,7 +2697,6 @@ 4 1 2 - 4 3 @@ -2818,7 +2788,6 @@ 4 1 2 - 4 3 @@ -2910,7 +2879,6 @@ 4 1 2 - 4 3 @@ -3002,7 +2970,6 @@ 4 1 2 - 4 3 @@ -3094,7 +3061,6 @@ 4 1 2 - 4 3 @@ -3186,7 +3152,6 @@ 4 1 2 - 4 3 @@ -3278,7 +3243,6 @@ 4 1 2 - 4 3 @@ -3370,7 +3334,6 @@ 4 1 2 - 4 3 @@ -3462,7 +3425,6 @@ 4 1 2 - 4 3 @@ -3554,7 +3516,6 @@ 4 1 2 - 4 3 @@ -3646,7 +3607,6 @@ 4 1 2 - 4 3 @@ -3738,7 +3698,6 @@ 4 1 2 - 4 3 @@ -3830,7 +3789,6 @@ 4 1 2 - 4 3 @@ -3922,7 +3880,6 @@ 4 1 2 - 4 3 @@ -4014,7 +3971,6 @@ 4 1 2 - 4 3 @@ -4106,7 +4062,6 @@ 4 1 2 - 4 3 @@ -4198,7 +4153,6 @@ 4 1 2 - 4 3 @@ -4290,7 +4244,6 @@ 4 1 2 - 4 3 @@ -4382,7 +4335,6 @@ 4 1 2 - 4 3 @@ -4474,7 +4426,6 @@ 4 1 2 - 4 3 @@ -4566,7 +4517,6 @@ 4 1 2 - 4 3 @@ -4658,7 +4608,6 @@ 4 1 2 - 4 3 @@ -4750,7 +4699,6 @@ 4 1 2 - 4 3 @@ -4842,7 +4790,6 @@ 4 1 2 - 4 3 @@ -4934,7 +4881,6 @@ 4 1 2 - 4 3 @@ -5026,7 +4972,6 @@ 4 1 2 - 4 3 @@ -5118,7 +5063,6 @@ 4 1 2 - 4 3 @@ -5210,7 +5154,6 @@ 4 1 2 - 4 3 @@ -5302,7 +5245,6 @@ 4 1 2 - 4 3 @@ -5394,7 +5336,6 @@ 4 1 2 - 4 3 @@ -5486,7 +5427,6 @@ 4 1 2 - 4 3 @@ -5578,7 +5518,6 @@ 4 1 2 - 4 3 @@ -5670,7 +5609,6 @@ 4 1 2 - 4 3 @@ -5762,7 +5700,6 @@ 4 1 2 - 4 3 @@ -5854,7 +5791,6 @@ 4 1 2 - 4 3 @@ -5946,7 +5882,6 @@ 4 1 2 - 4 3 @@ -6038,7 +5973,6 @@ 4 1 2 - 4 3 @@ -6130,7 +6064,6 @@ 4 1 2 - 4 3 @@ -6222,7 +6155,6 @@ 4 1 2 - 4 3 @@ -6314,7 +6246,6 @@ 4 1 2 - 4 3 @@ -6406,7 +6337,6 @@ 4 1 2 - 4 3 @@ -6498,7 +6428,6 @@ 4 1 2 - 4 3 @@ -6590,7 +6519,6 @@ 4 1 2 - 4 3 @@ -6682,7 +6610,6 @@ 4 1 2 - 4 3 @@ -6774,7 +6701,6 @@ 4 1 2 - 4 3 @@ -6866,7 +6792,6 @@ 4 1 2 - 4 3 @@ -6958,7 +6883,6 @@ 4 1 2 - 4 3 @@ -7050,7 +6974,6 @@ 4 1 2 - 4 3 @@ -7142,7 +7065,6 @@ 4 1 2 - 4 3 @@ -7234,7 +7156,6 @@ 4 1 2 - 4 3 @@ -7326,7 +7247,6 @@ 4 1 2 - 4 3 @@ -7418,7 +7338,6 @@ 4 1 2 - 4 3 @@ -7510,7 +7429,6 @@ 4 1 2 - 4 3 @@ -7602,7 +7520,6 @@ 4 1 2 - 4 3 @@ -7694,7 +7611,6 @@ 4 1 2 - 4 3 diff --git a/gem2caom2/tests/data/multi_plane/GS-2006A-Q-60-11-001.expected.xml b/gem2caom2/tests/data/multi_plane/GS-2006A-Q-60-11-001.expected.xml index c4400663..dd7a78fc 100644 --- a/gem2caom2/tests/data/multi_plane/GS-2006A-Q-60-11-001.expected.xml +++ b/gem2caom2/tests/data/multi_plane/GS-2006A-Q-60-11-001.expected.xml @@ -59,7 +59,6 @@ 4 1 2 - 4 3 @@ -151,7 +150,6 @@ 4 1 2 - 4 3 @@ -243,7 +241,6 @@ 4 1 2 - 4 3 @@ -335,7 +332,6 @@ 4 1 2 - 4 3 @@ -427,7 +423,6 @@ 4 1 2 - 4 3 @@ -519,7 +514,6 @@ 4 1 2 - 4 3 @@ -611,7 +605,6 @@ 4 1 2 - 4 3 @@ -703,7 +696,6 @@ 4 1 2 - 4 3 @@ -795,7 +787,6 @@ 4 1 2 - 4 3 @@ -887,7 +878,6 @@ 4 1 2 - 4 3 @@ -979,7 +969,6 @@ 4 1 2 - 4 3 @@ -1071,7 +1060,6 @@ 4 1 2 - 4 3 diff --git a/gem2caom2/tests/data/multi_plane/N20190313A0002.expected.xml b/gem2caom2/tests/data/multi_plane/N20190313A0002.expected.xml new file mode 100644 index 00000000..845ab1d5 --- /dev/null +++ b/gem2caom2/tests/data/multi_plane/N20190313A0002.expected.xml @@ -0,0 +1,211 @@ + + + GEMINI + N20190313A0002 + 2019-03-13T22:28:05.001 + + exposure + + DARK + calibration + + GN-2019A-Q-214 + Xin Liu + Radial Velocity Test for Sub-parsec Binary Supermassive Black Holes: Continued Spectroscopic Monitoring of Strong Candidates + + + Zenith + object + + + Gemini-North + -5464284.386715498 + -2493782.3091076654 + 2150786.380689657 + + + Alopeke + + + + N20190313A0002b + 2019-03-13T22:28:05.001 + 2020-03-12T00:00:00.000 + image + 1 + + Gemini Observatory Data + Gemini Archive + Gemini Observatory + http://archive.gemini.edu/searchform/filepre=N20190313A0002b.fits + + + + gemini:GEM/N20190313A0002b.fits + calibration + data + application/fits + 104872320 + md5:eb57edfe159d841ee02bafcf0ebfa221 + + + 0 + + + 3 + 2 + 1 + 3 + + + + RA---TAN + + + DEC--TAN + + + + 1024 + 1024 + + + + 512.0 + 352.7083333333333 + + + 512.0 + 19.89833333333333 + + + 0.0 + 2.0138889e-05 + 2.0138889e-05 + -0.0 + + + 2000.0 + + + + + TIME + d + + + 1e-07 + 1e-07 + + + 50 + 0.000173611111111111 + + 0.5 + 58555.936169 + + + + UTC + 750.0 + 15.0 + + + + + + + + + + N20190313A0002r + 2019-03-13T22:28:05.001 + 2020-03-12T00:00:00.000 + image + 1 + + Gemini Observatory Data + Gemini Archive + Gemini Observatory + http://archive.gemini.edu/searchform/filepre=N20190313A0002r.fits + + + + gemini:GEM/N20190313A0002r.fits + calibration + data + application/fits + 104872320 + md5:d849865e4451c58d293c288a2c372f70 + + + 0 + + + 3 + 2 + 1 + 3 + + + + RA---TAN + + + DEC--TAN + + + + 1024 + 1024 + + + + 512.0 + 352.7083333333333 + + + 512.0 + 19.89833333333333 + + + 0.0 + 2.0138889e-05 + 2.0138889e-05 + -0.0 + + + 2000.0 + + + + + TIME + d + + + 1e-07 + 1e-07 + + + 50 + 0.000173611111111111 + + 0.5 + 58555.936169 + + + + UTC + 750.0 + 15.0 + + + + + + + + + + diff --git a/gem2caom2/tests/data/multi_plane/N20190313A0002.in.xml b/gem2caom2/tests/data/multi_plane/N20190313A0002.in.xml new file mode 100644 index 00000000..8a01cfe9 --- /dev/null +++ b/gem2caom2/tests/data/multi_plane/N20190313A0002.in.xml @@ -0,0 +1,14 @@ + + GEMINI + N20190313A0002 + + exposure + + + + N20190313A0002b + 1990-01-01T00:00:00.000 + + + + diff --git a/gem2caom2/tests/data/multi_plane/N20190313A0002b.fits.header b/gem2caom2/tests/data/multi_plane/N20190313A0002b.fits.header new file mode 100644 index 00000000..f53647ff --- /dev/null +++ b/gem2caom2/tests/data/multi_plane/N20190313A0002b.fits.header @@ -0,0 +1,100 @@ +Filename: N20190313A0002b.fits.bz2 + +AstroData Tags: {'UNPREPARED', 'GEMINI', 'NORTH', 'RAW'} + + +--- PHU --- +SIMPLE = T / file does conform to FITS standard +BITPIX = 16 / number of bits per data pixel +NAXIS = 3 / number of data axes +NAXIS1 = 1024 / length of data axis 1 +NAXIS2 = 1024 / length of data axis 2 +NAXIS3 = 50 / length of data axis 3 +EXTEND = T / FITS dataset may contain extensions +COMMENT FITS (Flexible Image Transport System) format is defined in 'Astronomy +COMMENT and Astrophysics', volume 376, page 359; bibcode: 2001A&A...376..359H +BZERO = 32768 / offset data range to that of unsigned short +BSCALE = 1 / default scaling factor +CREATOR = 'Linux ANDOR CCD control' / Speckle Data-taking program +MJD-OBS = 58555.936169 / MJD at start of obs +JD = 2458556.43617 / Julian Date at start of obs +HDR_REV = '3.00 18-Feb-2008' / Header-Rev +UTC = '22:28:04.4' / UTC time +LAST = '23:31:14.2' / LSTHDR local sidereal time +EPOCH = 2000.000000 / EPOCH of telescope coords +TARGRA = 75.000000 / Telescope target RA +TARGDEC = 89.970000 / Telescope target DEC +RA = '23:30:50.691' / Telescope RA +DEC = '+19:53:54.89' / Telescope DEC +RAOFFST = 0.000000 / Telescope RA offset +DECOFFST= 0.000000 / Telescope DEC offset +ZD = 0.036900 / zenith distance +AIRMASS = 1.000000 / airmass at start of exposure +FOCUS = '-0.082 ' / Telescope focus (microns) +OBJECT = 'Zenith ' / Object name +PA = 0.000000 / Instrument position angle +OBSERVAT= 'Gemini-North' / Originating Observatory +PROGID = 'GN-2019A-Q-214' / from speckle.scope.ProgID +INSTRUME= 'Alopeke ' / Instrument name +DATE-OBS= '2019-03-13' / Date of start of observation in UTC +OBSTIME = '22:15:34.10' / from speckle.scope.obstime +OBSTYPE = 'DARK ' / Type of picture (object, dark, etc.) +TELESCOP= 'Gemini-North' / Specific system +RECID = '2019-03-13_Gemini-North"' / archive ID for observation +ACT = 0.000000 / Accumulation cycle time +EXPTIME = 15.000000 / Frame Exposure time in seconds +EXPSTART= 1552515334.9638 / Start TAI time of exposure +EXPENDTM= 1552516085.4566 / End TAI time of exposure +HEAD = 'Andor iXon Emccd' / Head model +ACQMODE = 'Kinetics mode' / Acquisition mode +KCT = 0.000000 / Kinetic cycle time +KINMODE = '1 ' / Kinetic Mode +NUMEXP = '1 ' / from speckle.scope.numexp +READMODE= 'Image ' / Readout mode +IMGRECT = '1,1024,1,1024' / Image format +EMCCD = 'On ' / EMCCD mode +FRAMEXFR= 'On ' / Frame Transfer mode +BLCLAMP = 'On ' / Bias Clamp +HBIN = 1 / Horizontal binning +VBIN = 1 / Vertical binning +SUBRECT = '1,1024,1,1024' / Subimage format +EXPOSURE= 750.000000 / Total Exposure Time +DATATYPE= '32 ' / from speckle.andor.datatype +EMGGAIN = 600.000000 / EM Real Gain +VSSPEED = 1.130000 / Vertical Speed (usec) +HSSPEED = 1.000000 / Horizontal Speed (MHz) +OUTPTAMP= 'Electron Multiplying' / Output Amplifier +PREAMP = 1 / Pre Amplifier Gain +SERNO = 'X-10405 ' / Serial Number +UNSTTEMP= -60.000000 / Unstabilized Temperature +ACCUM = 1 / Accumulations per frame +NUMKIN = 50 / Series length +FILTER = 'clear ' / Filter name +FLDZABER= 'wide ' / Field zaber position +INPZABER= 'wide ' / Input zaber position +CCDTEMP = -60.020000 / CCD temperature +RAWIQ = '0 ' / Image quality +RAWCC = '0 ' / Cloud cover +RAWWV = '0 ' / Water vapour +RAWBG = '0 ' / Background +HUMIDITY= '37.3 ' / from tcs.weather.humidity +OBSID = 'GN-2019A-Q-214-0' / Observation-ID +GEMPRGID= 'GN-2019A-Q-214' / Observation-ID +SPKLESEQ= 9 / SPECKLENFO-sequence +SPKLEDAT= 'Mar 13 12:28:06' / SPECKLENFO-timestamp +CRVAL1 = 19.89833333333333 / Declination of reference pixel [deg] +CRVAL2 = 352.7083333333333 / RA of reference pixel [deg] +CRPIX1 = 512 / Coordinate reference pixel in X +CRPIX2 = 512 / Coordinate reference pixel in Y +CD1_1 = -0.000000000000 / Coordinate scale matrix [degrees / pixel] +CD1_2 = 0.000020138889 / Coordinate scale matrix [degrees / pixel] +CD2_1 = 0.000020138889 / Coordinate scale matrix [degrees / pixel] +CD2_2 = 0.000000000000 / Coordinate scale matrix [degrees / pixel] +CTYPE1 = 'DEC--TAN' / Coordinate type +CTYPE2 = 'RA--TAN ' / Coordinate type +WCSNAME = 'FK5 ' / World coordinate system type +RADECSYS= 'FK5 ' / Default coordinate system type +DATALAB = 'GN-2019A-Q-214-0-0' +RELEASE = '2020-03-12' +ORIGNAME= 'N20190313A0002b.fits' / Original filename prior to processing +HISTORY Corrected metadata: Alopeke fixes diff --git a/gem2caom2/tests/data/multi_plane/N20190313A0002r.fits.header b/gem2caom2/tests/data/multi_plane/N20190313A0002r.fits.header new file mode 100644 index 00000000..d7c0f680 --- /dev/null +++ b/gem2caom2/tests/data/multi_plane/N20190313A0002r.fits.header @@ -0,0 +1,100 @@ +Filename: N20190313A0002r.fits.bz2 + +AstroData Tags: {'GEMINI', 'RAW', 'NORTH', 'UNPREPARED'} + + +--- PHU --- +SIMPLE = T / file does conform to FITS standard +BITPIX = 16 / number of bits per data pixel +NAXIS = 3 / number of data axes +NAXIS1 = 1024 / length of data axis 1 +NAXIS2 = 1024 / length of data axis 2 +NAXIS3 = 50 / length of data axis 3 +EXTEND = T / FITS dataset may contain extensions +COMMENT FITS (Flexible Image Transport System) format is defined in 'Astronomy +COMMENT and Astrophysics', volume 376, page 359; bibcode: 2001A&A...376..359H +BZERO = 32768 / offset data range to that of unsigned short +BSCALE = 1 / default scaling factor +CREATOR = 'Linux ANDOR CCD control' / Speckle Data-taking program +MJD-OBS = 58555.936169 / MJD at start of obs +JD = 2458556.43617 / Julian Date at start of obs +HDR_REV = '3.00 18-Feb-2008' / Header-Rev +UTC = '22:28:04.4' / UTC time +LAST = '23:31:14.2' / LSTHDR local sidereal time +EPOCH = 2000.000000 / EPOCH of telescope coords +TARGRA = 75.000000 / Telescope target RA +TARGDEC = 89.970000 / Telescope target DEC +RA = '23:30:50.691' / Telescope RA +DEC = '+19:53:54.89' / Telescope DEC +RAOFFST = 0.000000 / Telescope RA offset +DECOFFST= 0.000000 / Telescope DEC offset +ZD = 0.036900 / zenith distance +AIRMASS = 1.000000 / airmass at start of exposure +FOCUS = '-0.082 ' / Telescope focus (microns) +OBJECT = 'Zenith ' / Object name +PA = 0.000000 / Instrument position angle +OBSERVAT= 'Gemini-North' / Originating Observatory +PROGID = 'GN-2019A-Q-214' / from speckle.scope.ProgID +INSTRUME= 'Alopeke ' / Instrument name +DATE-OBS= '2019-03-13' / Date of start of observation in UTC +OBSTIME = '22:15:34.10' / from speckle.scope.obstime +OBSTYPE = 'DARK ' / Type of picture (object, dark, etc.) +TELESCOP= 'Gemini-North' / Specific system +RECID = '2019-03-13_Gemini-North"' / archive ID for observation +ACT = 0.000000 / Accumulation cycle time +EXPTIME = 15.000000 / Frame Exposure time in seconds +EXPSTART= 1552515334.9428 / Start TAI time of exposure +EXPENDTM= 1552516085.4498 / End TAI time of exposure +HEAD = 'Andor iXon Emccd' / Head model +ACQMODE = 'Kinetics mode' / Acquisition mode +KCT = 0.000000 / Kinetic cycle time +KINMODE = '1 ' / Kinetic Mode +NUMEXP = '1 ' / from speckle.scope.numexp +READMODE= 'Image ' / Readout mode +IMGRECT = '1,1024,1,1024' / Image format +EMCCD = 'On ' / EMCCD mode +FRAMEXFR= 'On ' / Frame Transfer mode +BLCLAMP = 'On ' / Bias Clamp +HBIN = 1 / Horizontal binning +VBIN = 1 / Vertical binning +SUBRECT = '1,1024,1,1024' / Subimage format +EXPOSURE= 750.000000 / Total Exposure Time +DATATYPE= '32 ' / from speckle.andor.datatype +EMGGAIN = 300.000000 / EM Real Gain +VSSPEED = 1.130000 / Vertical Speed (usec) +HSSPEED = 1.000000 / Horizontal Speed (MHz) +OUTPTAMP= 'Electron Multiplying' / Output Amplifier +PREAMP = 1 / Pre Amplifier Gain +SERNO = 'X-10244 ' / Serial Number +UNSTTEMP= -60.000000 / Unstabilized Temperature +ACCUM = 1 / Accumulations per frame +NUMKIN = 50 / Series length +FILTER = 'clear ' / Filter name +FLDZABER= 'wide ' / Field zaber position +INPZABER= 'wide ' / Input zaber position +CCDTEMP = -60.110001 / CCD temperature +RAWIQ = '0 ' / Image quality +RAWCC = '0 ' / Cloud cover +RAWWV = '0 ' / Water vapour +RAWBG = '0 ' / Background +HUMIDITY= '37.3 ' / from tcs.weather.humidity +OBSID = 'GN-2019A-Q-214-0' / Observation-ID +GEMPRGID= 'GN-2019A-Q-214' / Observation-ID +SPKLESEQ= 9 / SPECKLENFO-sequence +SPKLEDAT= 'Mar 13 12:28:06' / SPECKLENFO-timestamp +CRVAL1 = 19.89833333333333 / Declination of reference pixel [deg] +CRVAL2 = 352.7083333333333 / RA of reference pixel [deg] +CRPIX1 = 512 / Coordinate reference pixel in X +CRPIX2 = 512 / Coordinate reference pixel in Y +CD1_1 = -0.000000000000 / Coordinate scale matrix [degrees / pixel] +CD1_2 = 0.000020138889 / Coordinate scale matrix [degrees / pixel] +CD2_1 = 0.000020138889 / Coordinate scale matrix [degrees / pixel] +CD2_2 = 0.000000000000 / Coordinate scale matrix [degrees / pixel] +CTYPE1 = 'DEC--TAN' / Coordinate type +CTYPE2 = 'RA--TAN ' / Coordinate type +WCSNAME = 'FK5 ' / World coordinate system type +RADECSYS= 'FK5 ' / Default coordinate system type +DATALAB = 'GN-2019A-Q-214-0-0' +RELEASE = '2020-03-12' +ORIGNAME= 'N20190313A0002r.fits' / Original filename prior to processing +HISTORY Corrected metadata: Alopeke fixes diff --git a/gem2caom2/tests/data/multi_plane/N20191219A0001.expected.xml b/gem2caom2/tests/data/multi_plane/N20191219A0001.expected.xml new file mode 100644 index 00000000..e4d2b672 --- /dev/null +++ b/gem2caom2/tests/data/multi_plane/N20191219A0001.expected.xml @@ -0,0 +1,256 @@ + + GEMINI + N20191219A0001 + 2019-12-19T16:02:30.019 + + exposure + + OBJECT + science + + GN-2020A-Q-132 + Steve Howell + Validation and Characterization of TESS Exoplanets (North) + + + HD118203 + object + + + Gemini-North + -5464284.386715498 + -2493782.3091076654 + 2150786.380689657 + + + Alopeke + + + + N20191219A0001b + 2019-12-19T16:02:30.019 + 2020-12-18T00:00:00.000 + image + 1 + + Gemini Observatory Data + Gemini Archive + Gemini Observatory + http://archive.gemini.edu/searchform/filepre=N20191219A0001b.fits + + + + gemini:GEM/N20191219A0001b.fits + science + data + application/fits + 131094720 + md5:ab7a9ad50229f615ddbf58dcbdea96ae + + + 0 + + + 3 + 2 + 1 + 3 + + + + RA---TAN + + + DEC--TAN + + + + 256 + 256 + + + + 128.0 + 203.5083333333334 + + + 128.0 + 53.72805555555556 + + + 0.0 + 2.0138889e-05 + 2.0138889e-05 + -0.0 + + + 2000.0 + + + + + WAVE + um + + + + 0.5 + 0.5404215108395519 + + + 1.5 + 0.584180731584708 + + + + TOPOCENT + TOPOCENT + TOPOCENT + Blue-562 + 12.849888815133317 + + + + + TIME + d + + + 1e-07 + 1e-07 + + + 1000 + 6.94444444444444e-07 + + 0.5 + 58836.668403 + + + + UTC + 60.0 + 0.06 + + + + + + + + + + N20191219A0001r + 2019-12-19T16:02:30.019 + 2020-12-18T00:00:00.000 + image + 1 + + Gemini Observatory Data + Gemini Archive + Gemini Observatory + http://archive.gemini.edu/searchform/filepre=N20191219A0001r.fits + + + + gemini:GEM/N20191219A0001r.fits + science + data + application/fits + 131094720 + md5:124c4edd88ad4f235b3544c565384c02 + + + 0 + + + 3 + 2 + 1 + 3 + + + + RA---TAN + + + DEC--TAN + + + + 256 + 256 + + + + 128.0 + 203.5083333333334 + + + 128.0 + 53.72805555555556 + + + 0.0 + 2.0138889e-05 + 2.0138889e-05 + -0.0 + + + 2000.0 + + + + + WAVE + um + + + + 0.5 + 0.8118096218215365 + + + 1.5 + 0.8522158995294036 + + + + TOPOCENT + TOPOCENT + TOPOCENT + Red-832 + 20.591175625996332 + + + + + TIME + d + + + 1e-07 + 1e-07 + + + 1000 + 6.94444444444444e-07 + + 0.5 + 58836.668403 + + + + UTC + 60.0 + 0.06 + + + + + + + + + + diff --git a/gem2caom2/tests/data/multi_plane/N20191219A0001.in.xml b/gem2caom2/tests/data/multi_plane/N20191219A0001.in.xml new file mode 100644 index 00000000..c27b80f9 --- /dev/null +++ b/gem2caom2/tests/data/multi_plane/N20191219A0001.in.xml @@ -0,0 +1,14 @@ + + GEMINI + N20191219A0001 + + exposure + + + + N20191219A0001b + 1990-01-01T00:00:00.000 + + + + diff --git a/gem2caom2/tests/data/multi_plane/N20191219A0001b.fits.header b/gem2caom2/tests/data/multi_plane/N20191219A0001b.fits.header new file mode 100644 index 00000000..a2c18fa5 --- /dev/null +++ b/gem2caom2/tests/data/multi_plane/N20191219A0001b.fits.header @@ -0,0 +1,101 @@ +Filename: N20191219A0001b.fits.bz2 + +AstroData Tags: {'GEMINI', 'RAW', 'NORTH', 'UNPREPARED'} + + +--- PHU --- +SIMPLE = T / file does conform to FITS standard +BITPIX = 16 / number of bits per data pixel +NAXIS = 3 / number of data axes +NAXIS1 = 256 / length of data axis 1 +NAXIS2 = 256 / length of data axis 2 +NAXIS3 = 1000 / length of data axis 3 +EXTEND = T / FITS dataset may contain extensions +COMMENT FITS (Flexible Image Transport System) format is defined in 'Astronomy +COMMENT and Astrophysics', volume 376, page 359; bibcode: 2001A&A...376..359H +BZERO = 32768 / offset data range to that of unsigned short +BSCALE = 1 / default scaling factor +CREATOR = 'Linux ANDOR CCD control' / Speckle Data-taking program +MJD-OBS = 58836.668403 / MJD at start of obs +JD = 2458837.16840 / Julian Date at start of obs +HDR_REV = '3.00 18-Feb-2008' / Header-Rev +UTC = '16:02:28.9' / UTC time +LAST = '11:32:27.3' / LSTHDR local sidereal time +EPOCH = 2000.000000 / EPOCH of telescope coords +TARGRA = 203.510579 / Telescope target RA +TARGDEC = 53.728528 / Telescope target DEC +RA = '13:34:02.374' / Telescope RA +DEC = '+53:43:41.35' / Telescope DEC +RAOFFST = 0.000000 / Telescope RA offset +DECOFFST= 0.000000 / Telescope DEC offset +ZD = 41.064200 / zenith distance +AIRMASS = 1.325000 / airmass at start of exposure +FOCUS = '-0.120 ' / Telescope focus (microns) +OBJECT = 'HD118203' / Object name +PARANGLE= 'FK5 ' / Parallactic angle +PA = 0.000000 / Instrument position angle +OBSERVAT= 'Gemini-North' / Originating Observatory +PROGRAM = 'NA ' / from speckle.scope.program +INSTRUME= 'Alopeke ' / Instrument name +DATE-OBS= '2019-12-19' / Date of start of observation in UTC +OBSTIME = '16:01:28.50' / from speckle.scope.obstime +OBSTYPE = 'OBJECT ' / Type of picture (object, dark, etc.) +TELESCOP= 'Gemini-North' / Specific system +RECID = '2019-12-19_Gemini-North"' / archive ID for observation +ACT = 0.000000 / Accumulation cycle time +EXPTIME = 0.060000 / Frame Exposure time in seconds +EXPSTART= 1576771288.6463 / Start TAI time of exposure +EXPENDTM= 1576771350.1472 / End TAI time of exposure +HEAD = 'Andor iXon Emccd' / Head model +ACQMODE = 'Kinetics mode' / Acquisition mode +KCT = 0.000000 / Kinetic cycle time +KINMODE = '1 ' / Kinetic Mode +NUMEXP = '1 ' / from speckle.scope.numexp +READMODE= 'Image ' / Readout mode +IMGRECT = '1,1024,1,1024' / Image format +EMCCD = 'On ' / EMCCD mode +FRAMEXFR= 'On ' / Frame Transfer mode +BLCLAMP = 'On ' / Bias Clamp +HBIN = 1 / Horizontal binning +VBIN = 1 / Vertical binning +SUBRECT = '328,583,388,643' / Subimage format +EXPOSURE= 60.000000 / Total Exposure Time +DATATYPE= '32 ' / from speckle.andor.datatype +EMGAIN = 100.000000 / EM Real Gain +VSSPEED = 1.130000 / Vertical Speed (usec) +HSSPEED = 1.000000 / Horizontal Speed (MHz) +OUTPTAMP= 'Electron Multiplying' / Output Amplifier +PREAMP = 2 / Pre Amplifier Gain +SERNO = 'X-10405 ' / Serial Number +UNSTTEMP= -60.000000 / Unstabilized Temperature +ACCUM = 1 / Accumulations per frame +NUMKIN = 1000 / Series length +FILTER = 'Blue-562' / Filter name +FLDZABER= 'speckle ' / Field zaber position +INPZABER= 'speckle ' / Input zaber position +CCDTEMP = -60.099998 / CCD temperature +RAWIQ = '70 ' / Image quality +RAWCC = '50 ' / Cloud cover +RAWWV = '50 ' / Water vapour +RAWBG = '0 ' / Background +HUMIDITY= '4.6 ' / from tcs.weather.humidity +OBSID = 'GN-2020A-Q-132-0' / Observation-ID +GEMPRGID= 'GN-2020A-Q-132' / Observation-ID +SPKLESEQ= 2 / SPECKLENFO-sequence +SPKLEDAT= 'Dec 19 06:02:30' / SPECKLENFO-timestamp +CRVAL1 = 53.72805555555556 / Declination of reference pixel [deg] +CRVAL2 = 203.5083333333334 / RA of reference pixel [deg] +CRPIX1 = 128 / Coordinate reference pixel in X +CRPIX2 = 128 / Coordinate reference pixel in Y +CD1_1 = -0.000000000000 / Coordinate scale matrix [degrees / pixel] +CD1_2 = 0.000020138889 / Coordinate scale matrix [degrees / pixel] +CD2_1 = 0.000020138889 / Coordinate scale matrix [degrees / pixel] +CD2_2 = 0.000000000000 / Coordinate scale matrix [degrees / pixel] +CTYPE1 = 'DEC--TAN' / Coordinate type +CTYPE2 = 'RA--TAN ' / Coordinate type +WCSNAME = 'FK5 ' / World coordinate system type +RADECSYS= 'FK5 ' / Default coordinate system type +DATALAB = 'GN-2020A-Q-132-0-0' +RELEASE = '2020-12-18' +ORIGNAME= 'N20191219A0001b.fits' / Original filename prior to processing +HISTORY Corrected metadata: Alopeke fixes diff --git a/gem2caom2/tests/data/multi_plane/N20191219A0001r.fits.header b/gem2caom2/tests/data/multi_plane/N20191219A0001r.fits.header new file mode 100644 index 00000000..51e761b6 --- /dev/null +++ b/gem2caom2/tests/data/multi_plane/N20191219A0001r.fits.header @@ -0,0 +1,101 @@ +Filename: N20191219A0001r.fits.bz2 + +AstroData Tags: {'GEMINI', 'RAW', 'NORTH', 'UNPREPARED'} + + +--- PHU --- +SIMPLE = T / file does conform to FITS standard +BITPIX = 16 / number of bits per data pixel +NAXIS = 3 / number of data axes +NAXIS1 = 256 / length of data axis 1 +NAXIS2 = 256 / length of data axis 2 +NAXIS3 = 1000 / length of data axis 3 +EXTEND = T / FITS dataset may contain extensions +COMMENT FITS (Flexible Image Transport System) format is defined in 'Astronomy +COMMENT and Astrophysics', volume 376, page 359; bibcode: 2001A&A...376..359H +BZERO = 32768 / offset data range to that of unsigned short +BSCALE = 1 / default scaling factor +CREATOR = 'Linux ANDOR CCD control' / Speckle Data-taking program +MJD-OBS = 58836.668403 / MJD at start of obs +JD = 2458837.16840 / Julian Date at start of obs +HDR_REV = '3.00 18-Feb-2008' / Header-Rev +UTC = '16:02:28.9' / UTC time +LAST = '11:32:27.3' / LSTHDR local sidereal time +EPOCH = 2000.000000 / EPOCH of telescope coords +TARGRA = 203.510579 / Telescope target RA +TARGDEC = 53.728528 / Telescope target DEC +RA = '13:34:02.374' / Telescope RA +DEC = '+53:43:41.35' / Telescope DEC +RAOFFST = 0.000000 / Telescope RA offset +DECOFFST= 0.000000 / Telescope DEC offset +ZD = 41.064200 / zenith distance +AIRMASS = 1.325000 / airmass at start of exposure +FOCUS = '-0.120 ' / Telescope focus (microns) +OBJECT = 'HD118203' / Object name +PARANGLE= 'FK5 ' / Parallactic angle +PA = 0.000000 / Instrument position angle +OBSERVAT= 'Gemini-North' / Originating Observatory +PROGRAM = 'NA ' / from speckle.scope.program +INSTRUME= 'Alopeke ' / Instrument name +DATE-OBS= '2019-12-19' / Date of start of observation in UTC +OBSTIME = '16:01:28.50' / from speckle.scope.obstime +OBSTYPE = 'OBJECT ' / Type of picture (object, dark, etc.) +TELESCOP= 'Gemini-North' / Specific system +RECID = '2019-12-19_Gemini-North"' / archive ID for observation +ACT = 0.000000 / Accumulation cycle time +EXPTIME = 0.060000 / Frame Exposure time in seconds +EXPSTART= 1576771288.7138 / Start TAI time of exposure +EXPENDTM= 1576771350.2075 / End TAI time of exposure +HEAD = 'Andor iXon Emccd' / Head model +ACQMODE = 'Kinetics mode' / Acquisition mode +KCT = 0.000000 / Kinetic cycle time +KINMODE = '1 ' / Kinetic Mode +NUMEXP = '1 ' / from speckle.scope.numexp +READMODE= 'Image ' / Readout mode +IMGRECT = '1,1024,1,1024' / Image format +EMCCD = 'On ' / EMCCD mode +FRAMEXFR= 'On ' / Frame Transfer mode +BLCLAMP = 'On ' / Bias Clamp +HBIN = 1 / Horizontal binning +VBIN = 1 / Vertical binning +SUBRECT = '408,663,368,623' / Subimage format +EXPOSURE= 60.000000 / Total Exposure Time +DATATYPE= '32 ' / from speckle.andor.datatype +EMGAIN = 100.000000 / EM Real Gain +VSSPEED = 1.130000 / Vertical Speed (usec) +HSSPEED = 1.000000 / Horizontal Speed (MHz) +OUTPTAMP= 'Electron Multiplying' / Output Amplifier +PREAMP = 2 / Pre Amplifier Gain +SERNO = 'X-10244 ' / Serial Number +UNSTTEMP= -60.000000 / Unstabilized Temperature +ACCUM = 1 / Accumulations per frame +NUMKIN = 1000 / Series length +FILTER = 'Red-832 ' / Filter name +FLDZABER= 'speckle ' / Field zaber position +INPZABER= 'speckle ' / Input zaber position +CCDTEMP = -60.189999 / CCD temperature +RAWIQ = '70 ' / Image quality +RAWCC = '50 ' / Cloud cover +RAWWV = '50 ' / Water vapour +RAWBG = '0 ' / Background +HUMIDITY= '4.6 ' / from tcs.weather.humidity +OBSID = 'GN-2020A-Q-132-0' / Observation-ID +GEMPRGID= 'GN-2020A-Q-132' / Observation-ID +SPKLESEQ= 2 / SPECKLENFO-sequence +SPKLEDAT= 'Dec 19 06:02:30' / SPECKLENFO-timestamp +CRVAL1 = 53.72805555555556 / Declination of reference pixel [deg] +CRVAL2 = 203.5083333333334 / RA of reference pixel [deg] +CRPIX1 = 128 / Coordinate reference pixel in X +CRPIX2 = 128 / Coordinate reference pixel in Y +CD1_1 = -0.000000000000 / Coordinate scale matrix [degrees / pixel] +CD1_2 = 0.000020138889 / Coordinate scale matrix [degrees / pixel] +CD2_1 = 0.000020138889 / Coordinate scale matrix [degrees / pixel] +CD2_2 = 0.000000000000 / Coordinate scale matrix [degrees / pixel] +CTYPE1 = 'DEC--TAN' / Coordinate type +CTYPE2 = 'RA--TAN ' / Coordinate type +WCSNAME = 'FK5 ' / World coordinate system type +RADECSYS= 'FK5 ' / Default coordinate system type +DATALAB = 'GN-2020A-Q-132-0-0' +RELEASE = '2020-12-18' +ORIGNAME= 'N20191219A0001r.fits' / Original filename prior to processing +HISTORY Corrected metadata: Alopeke fixes diff --git a/gem2caom2/tests/data/multi_plane/GN-2020A-Q-132-0-0.expected.xml b/gem2caom2/tests/data/multi_plane/N20191219A0004.expected.xml similarity index 72% rename from gem2caom2/tests/data/multi_plane/GN-2020A-Q-132-0-0.expected.xml rename to gem2caom2/tests/data/multi_plane/N20191219A0004.expected.xml index a7543eb9..b4c3a832 100644 --- a/gem2caom2/tests/data/multi_plane/GN-2020A-Q-132-0-0.expected.xml +++ b/gem2caom2/tests/data/multi_plane/N20191219A0004.expected.xml @@ -1,7 +1,7 @@ - + GEMINI - GN-2020A-Q-132-0-0 + N20191219A0004 2019-12-19T00:00:00.000 exposure @@ -15,7 +15,7 @@ HR 5142 - field + object Gemini-North @@ -27,13 +27,8 @@ Alopeke - - N20191219A0004 - 1990-01-01T00:00:00.000 - - - - N20191219A0004 + + N20191219A0004b 2019-12-19T00:00:00.000 2020-12-18T00:00:00.000 image @@ -42,7 +37,7 @@ Gemini Observatory Data Gemini Archive Gemini Observatory - http://archive.gemini.edu/searchform/filepre=N20191219A0004 + http://archive.gemini.edu/searchform/filepre=N20191219A0004b.fits @@ -96,6 +91,29 @@ 2000.0 + + + + WAVE + um + + + + 0.5 + 0.5404215108395519 + + + 1.5 + 0.584180731584708 + + + + TOPOCENT + TOPOCENT + TOPOCENT + Blue-562 + 12.849888815133317 + @@ -107,7 +125,7 @@ 1e-07 - 1 + 1000 2.31481481481481e-07 0.5 @@ -116,7 +134,7 @@ UTC - 0.02 + 20.0 0.02 @@ -124,6 +142,21 @@ + + + + N20191219A0004r + 2019-12-19T00:00:00.000 + 2020-12-18T00:00:00.000 + image + 1 + + Gemini Observatory Data + Gemini Archive + Gemini Observatory + http://archive.gemini.edu/searchform/filepre=N20191219A0004r.fits + + gemini:GEM/N20191219A0004r.fits science @@ -175,6 +208,29 @@ 2000.0 + + + + WAVE + um + + + + 0.5 + 0.8118096218215365 + + + 1.5 + 0.8522158995294036 + + + + TOPOCENT + TOPOCENT + TOPOCENT + Red-832 + 20.591175625996332 + @@ -186,7 +242,7 @@ 1e-07 - 1 + 1000 2.31481481481481e-07 0.5 @@ -195,7 +251,7 @@ UTC - 0.02 + 20.0 0.02 diff --git a/gem2caom2/tests/data/multi_plane/GN-2020A-Q-132-0-0.in.xml b/gem2caom2/tests/data/multi_plane/N20191219A0004.in.xml similarity index 82% rename from gem2caom2/tests/data/multi_plane/GN-2020A-Q-132-0-0.in.xml rename to gem2caom2/tests/data/multi_plane/N20191219A0004.in.xml index 53385ed3..c7d42387 100644 --- a/gem2caom2/tests/data/multi_plane/GN-2020A-Q-132-0-0.in.xml +++ b/gem2caom2/tests/data/multi_plane/N20191219A0004.in.xml @@ -1,12 +1,12 @@ GEMINI - GN-2020A-Q-132-0-0 + N20191219A0004 exposure - N20191219A0004 + N20191219A0004b 1990-01-01T00:00:00.000 diff --git a/gem2caom2/tests/data/multi_plane/N20200215A0004.expected.xml b/gem2caom2/tests/data/multi_plane/N20200215A0004.expected.xml new file mode 100644 index 00000000..0247e0b9 --- /dev/null +++ b/gem2caom2/tests/data/multi_plane/N20200215A0004.expected.xml @@ -0,0 +1,255 @@ + + + GEMINI + N20200215A0004 + 2020-02-15T04:48:55.036 + + exposure + + FLAT + calibration + + GN-2019B-Q-415 + + + ALT_HD224688 + object + + + Gemini-North + -5464284.386715498 + -2493782.3091076654 + 2150786.380689657 + + + Alopeke + + + + N20200215A0004b + 2020-02-15T04:48:55.036 + 2021-02-14T00:00:00.000 + image + 1 + + Gemini Observatory Data + Gemini Archive + Gemini Observatory + http://archive.gemini.edu/searchform/filepre=N20200215A0004b.fits + + + + gemini:GEM/N20200215A0004b.fits + calibration + data + application/fits + 104872320 + md5:00a9f610b2d6d4abc97d7e9e4d8be33a + + + 0 + + + 3 + 2 + 1 + 3 + + + + RA---TAN + + + DEC--TAN + + + + 1024 + 1024 + + + + 512.0 + 359.966667 + + + 512.0 + 25.210278 + + + -2.0138889e-05 + 0.0 + 0.0 + 2.0138889e-05 + + + 2000.0 + + + + + WAVE + um + + + + 0.5 + 0.4450836809978395 + + + 1.5 + 0.48909883470248056 + + + + TOPOCENT + TOPOCENT + TOPOCENT + Blue-466 + 10.612055588503136 + + + + + TIME + d + + + 1e-07 + 1e-07 + + + 50 + 6.94444444444444e-06 + + 0.5 + 58894.200637 + + + + UTC + 30.0 + 0.6 + + + + + + + + + + N20200215A0004r + 2020-02-15T04:48:55.036 + 2021-02-14T00:00:00.000 + image + 1 + + Gemini Observatory Data + Gemini Archive + Gemini Observatory + http://archive.gemini.edu/searchform/filepre=N20200215A0004r.fits + + + + gemini:GEM/N20200215A0004r.fits + calibration + data + application/fits + 104872320 + md5:fb2e134f26045510129b625db2971c0e + + + 0 + + + 3 + 2 + 1 + 3 + + + + RA---TAN + + + DEC--TAN + + + + 1024 + 1024 + + + + 512.0 + 359.966667 + + + 512.0 + 25.210278 + + + -2.0138889e-05 + -0.0 + 0.0 + -2.0138889e-05 + + + 2000.0 + + + + + WAVE + um + + + + 0.5 + 0.6901846833759725 + + + 1.5 + 0.7417172475570476 + + + + TOPOCENT + TOPOCENT + TOPOCENT + Red-716 + 13.89317564231431 + + + + + TIME + d + + + 1e-07 + 1e-07 + + + 50 + 6.94444444444444e-06 + + 0.5 + 58894.200637 + + + + UTC + 30.0 + 0.6 + + + + + + + + + + diff --git a/gem2caom2/tests/data/multi_plane/N20200215A0004.in.xml b/gem2caom2/tests/data/multi_plane/N20200215A0004.in.xml new file mode 100644 index 00000000..41f6157a --- /dev/null +++ b/gem2caom2/tests/data/multi_plane/N20200215A0004.in.xml @@ -0,0 +1,14 @@ + + GEMINI + N20200215A0004 + + exposure + + + + N20200215A0004b + 1990-01-01T00:00:00.000 + + + + diff --git a/gem2caom2/tests/data/multi_plane/N20200215A0004b.fits.header b/gem2caom2/tests/data/multi_plane/N20200215A0004b.fits.header new file mode 100644 index 00000000..2f5aa005 --- /dev/null +++ b/gem2caom2/tests/data/multi_plane/N20200215A0004b.fits.header @@ -0,0 +1,103 @@ +Filename: N20200215A0004b.fits.bz2 + +AstroData Tags: {'UNPREPARED', 'GEMINI', 'NORTH', 'RAW'} + + +--- PHU --- +SIMPLE = T / file does conform to FITS standard +BITPIX = 16 / number of bits per data pixel +NAXIS = 3 / number of data axes +NAXIS1 = 1024 / length of data axis 1 +NAXIS2 = 1024 / length of data axis 2 +NAXIS3 = 50 / length of data axis 3 +EXTEND = T / FITS dataset may contain extensions +COMMENT FITS (Flexible Image Transport System) format is defined in 'Astronomy +COMMENT and Astrophysics', volume 376, page 359; bibcode: 2001A&A...376..359H +BZERO = 32768 / offset data range to that of unsigned short +BSCALE = 1 / default scaling factor +CREATOR = 'Linux ANDOR CCD control V2' / Speckle Data-taking program +MJD-OBS = 58894.200637 / MJD at start of obs +JD = 2458894.70064 / Julian Date at start of obs +HDR_REV = '4.00 10-Feb-2020q' / Header-Rev +UTC = '04:48:55.0' / UTC time at end of observation +LAST = '04:05:43.0' / LSTHDR local sidereal time +EPOCH = 2000.000000 / EPOCH of telescope coords +TARGRA = 359.968696 / Telescope target RA +TARGDEC = 25.210358 / Telescope target DEC +RA = '23:59:52.434' / Telescope RA +DEC = '+25:12:37.19' / Telescope DEC +RAOFFST = 0.000000 / Telescope RA offset +DECOFFST= 0.000000 / Telescope DEC offset +ZD = 56.259400 / zenith distance +AIRMASS = 1.797000 / airmass at start of exposure +FOCUS = '-0.120 ' / Telescope focus (microns) +OBJECT = 'ALT_HD224688' / Object name +PA = 180.000000 / Instrument position angle +IAA = 0.000000 / Instrument Alignment angle +CRPA = 0.015000 / Current Cass Rotator Position Angle +GUIDING = 'Off ' / Guide state +OBSERVAT= 'Gemini-North' / Originating Observatory +RELEASE = '2021-02-14' / End of proprietary period YYYY-MM-DD +INSTRUME= 'Alopeke ' / Instrument name +DATE-OBS= '2020-02-15' / Date of start of observation in UTC +TIMEOBS = '01:17:57' / from speckle.scope.timeobs +OBSTYPE = 'FLAT ' / Type of picture (object, dark, etc.) +TELESCOP= 'Gemini-North' / Specific system +RECID = '2020-02-15_Gemini-North"' / archive ID for observation +ACT = 0.760768 / Accumulation cycle time +EXPTIME = 0.600000 / Frame Exposure time in seconds +OBSTIME = 1581742105.1429 / UTC at start of observation +EXPENDTM= 1581742135.8204 / UTC at end of observation +HEAD = 'Andor iXon Emccd' / Head model +ACQMODE = 'Kinetics mode' / Acquisition mode +KCT = 0.760768 / Kinetic cycle time +KINMODE = '0 ' / Kinetic Mode +NUMEXP = '1 ' / from speckle.scope.numexp +READMODE= 'Image ' / Readout mode +IMGRECT = '1,1024,1,1024' / Image format +EMCCD = 'On ' / EMCCD mode +FRAMEXFR= 'On ' / Frame Transfer mode +BLCLAMP = 'On ' / Bias Clamp +HBIN = 1 / Horizontal binning +VBIN = 1 / Vertical binning +SUBRECT = '1,1024,1,1024' / Subimage format +EXPOSURE= 30.000000 / Total Exposure Time +EMGAIN = 10.000000 / EM Real Gain +VSSPEED = 1.130000 / Vertical Speed (usec) +HSSPEED = 1.000000 / Horizontal Speed (MHz) +OUTPTAMP= 'Electron Multiplying' / Output Amplifier +PREAMP = 1 / Pre Amplifier Gain +SERNO = 'X-10405 ' / Serial Number +UNSTTEMP= -60.000000 / Unstabilized Temperature +ACCUM = 1 / Accumulations per frame +NUMKIN = 50 / Number of kinetic frames +FILTER = 'Blue-466' / Filter name +FLDZABER= 'wide ' / Field zaber position +INPZABER= 'wide ' / Input zaber position +CCDTEMP = -59.939999 / CCD temperature +RAWIQ = '0 ' / Image quality +RAWCC = '0 ' / Cloud cover +RAWWV = '0 ' / Water vapour +RAWBG = '0 ' / Background +HUMIDITY= '67.3 ' / from tcs.weather.humidity +OBSID = 'GN-2019B-Q-415-0' / Observation-ID +GEMPRGID= 'GN-2019B-Q-415' / Observation-ID +SPKLESEQ= 12 / SPECKLENFO-sequence +SPKLEDAT= 'Feb 14 18:48:56' / SPECKLENFO-timestamp +CRVAL1 = 25.210278 / Declination of reference pixel [deg] +CRVAL2 = 359.966667 / RA of reference pixel [deg] +CTYPE1 = 'DEC--TAN' / Coordinate type +CTYPE2 = 'RA--TAN ' / Coordinate type +CRPIX1 = 512 / Coordinate reference pixel in X +CRPIX2 = 512 / Coordinate reference pixel in Y +CDELT1 = 0.000000000000 / Rotation angle +CDELT2 = -0.000020138889 / Coordinate pixel scale in Y +CD1_1 = 0.000020138889 +CD1_2 = 0.000000000000 +CD2_1 = 0.000000000000 +CD2_2 = -0.000020138889 +WCSNAME = 'FK5 ' / World coordinate system type +RADECSYS= 'FK5 ' / Default coordinate system type +DATALAB = 'GN-2019B-Q-415-0-0' +ORIGNAME= 'N20200215A0004b.fits' / Original filename prior to processing +HISTORY Corrected metadata: Alopeke fixes diff --git a/gem2caom2/tests/data/multi_plane/N20200215A0004r.fits.header b/gem2caom2/tests/data/multi_plane/N20200215A0004r.fits.header new file mode 100644 index 00000000..c96e83f1 --- /dev/null +++ b/gem2caom2/tests/data/multi_plane/N20200215A0004r.fits.header @@ -0,0 +1,103 @@ +Filename: N20200215A0004r.fits.bz2 + +AstroData Tags: {'GEMINI', 'RAW', 'NORTH', 'UNPREPARED'} + + +--- PHU --- +SIMPLE = T / file does conform to FITS standard +BITPIX = 16 / number of bits per data pixel +NAXIS = 3 / number of data axes +NAXIS1 = 1024 / length of data axis 1 +NAXIS2 = 1024 / length of data axis 2 +NAXIS3 = 50 / length of data axis 3 +EXTEND = T / FITS dataset may contain extensions +COMMENT FITS (Flexible Image Transport System) format is defined in 'Astronomy +COMMENT and Astrophysics', volume 376, page 359; bibcode: 2001A&A...376..359H +BZERO = 32768 / offset data range to that of unsigned short +BSCALE = 1 / default scaling factor +CREATOR = 'Linux ANDOR CCD control V2' / Speckle Data-taking program +MJD-OBS = 58894.200637 / MJD at start of obs +JD = 2458894.70064 / Julian Date at start of obs +HDR_REV = '4.00 10-Feb-2020q' / Header-Rev +UTC = '04:48:55.0' / UTC time at end of observation +LAST = '04:05:43.0' / LSTHDR local sidereal time +EPOCH = 2000.000000 / EPOCH of telescope coords +TARGRA = 359.968696 / Telescope target RA +TARGDEC = 25.210358 / Telescope target DEC +RA = '23:59:52.434' / Telescope RA +DEC = '+25:12:37.19' / Telescope DEC +RAOFFST = 0.000000 / Telescope RA offset +DECOFFST= 0.000000 / Telescope DEC offset +ZD = 56.259400 / zenith distance +AIRMASS = 1.797000 / airmass at start of exposure +FOCUS = '-0.120 ' / Telescope focus (microns) +OBJECT = 'ALT_HD224688' / Object name +PA = 180.000000 / Instrument position angle +IAA = 0.000000 / Instrument Alignment angle +CRPA = 0.015000 / Current Cass Rotator Position Angle +GUIDING = 'Off ' / Guide state +OBSERVAT= 'Gemini-North' / Originating Observatory +RELEASE = '2021-02-14' / End of proprietary period YYYY-MM-DD +INSTRUME= 'Alopeke ' / Instrument name +DATE-OBS= '2020-02-15' / Date of start of observation in UTC +TIMEOBS = '01:17:57' / from speckle.scope.timeobs +OBSTYPE = 'FLAT ' / Type of picture (object, dark, etc.) +TELESCOP= 'Gemini-North' / Specific system +RECID = '2020-02-15_Gemini-North"' / archive ID for observation +ACT = 0.760768 / Accumulation cycle time +EXPTIME = 0.600000 / Frame Exposure time in seconds +OBSTIME = 1581742105.1987 / UTC at start of observation +EXPENDTM= 1581742135.8495 / UTC at end of observation +HEAD = 'Andor iXon Emccd' / Head model +ACQMODE = 'Kinetics mode' / Acquisition mode +KCT = 0.760768 / Kinetic cycle time +KINMODE = '0 ' / Kinetic Mode +NUMEXP = '1 ' / from speckle.scope.numexp +READMODE= 'Image ' / Readout mode +IMGRECT = '1,1024,1,1024' / Image format +EMCCD = 'On ' / EMCCD mode +FRAMEXFR= 'On ' / Frame Transfer mode +BLCLAMP = 'On ' / Bias Clamp +HBIN = 1 / Horizontal binning +VBIN = 1 / Vertical binning +SUBRECT = '1,1024,1,1024' / Subimage format +EXPOSURE= 30.000000 / Total Exposure Time +EMGAIN = 10.000000 / EM Real Gain +VSSPEED = 1.130000 / Vertical Speed (usec) +HSSPEED = 1.000000 / Horizontal Speed (MHz) +OUTPTAMP= 'Electron Multiplying' / Output Amplifier +PREAMP = 1 / Pre Amplifier Gain +SERNO = 'X-10244 ' / Serial Number +UNSTTEMP= -60.000000 / Unstabilized Temperature +ACCUM = 1 / Accumulations per frame +NUMKIN = 50 / Number of kinetic frames +FILTER = 'Red-716 ' / Filter name +FLDZABER= 'wide ' / Field zaber position +INPZABER= 'wide ' / Input zaber position +CCDTEMP = -60.110001 / CCD temperature +RAWIQ = '0 ' / Image quality +RAWCC = '0 ' / Cloud cover +RAWWV = '0 ' / Water vapour +RAWBG = '0 ' / Background +HUMIDITY= '67.3 ' / from tcs.weather.humidity +OBSID = 'GN-2019B-Q-415-0' / Observation-ID +GEMPRGID= 'GN-2019B-Q-415' / Observation-ID +SPKLESEQ= 12 / SPECKLENFO-sequence +SPKLEDAT= 'Feb 14 18:48:56' / SPECKLENFO-timestamp +CRVAL1 = 25.210278 / Declination of reference pixel [deg] +CRVAL2 = 359.966667 / RA of reference pixel [deg] +CTYPE1 = 'DEC--TAN' / Coordinate type +CTYPE2 = 'RA--TAN ' / Coordinate type +CRPIX1 = 512 / Coordinate reference pixel in X +CRPIX2 = 512 / Coordinate reference pixel in Y +CDELT1 = 0.000000000000 / Rotation angle +CDELT2 = -0.000020138889 / Coordinate pixel scale in Y +CD1_1 = -0.000020138889 +CD1_2 = 0.000000000000 +CD2_1 = -0.000000000000 +CD2_2 = -0.000020138889 +WCSNAME = 'FK5 ' / World coordinate system type +RADECSYS= 'FK5 ' / Default coordinate system type +DATALAB = 'GN-2019B-Q-415-0-0' +ORIGNAME= 'N20200215A0004r.fits' / Original filename prior to processing +HISTORY Corrected metadata: Alopeke fixes diff --git a/gem2caom2/tests/data/multi_plane/S20190716Z0925.expected.xml b/gem2caom2/tests/data/multi_plane/S20190716Z0925.expected.xml new file mode 100644 index 00000000..0a38d1f9 --- /dev/null +++ b/gem2caom2/tests/data/multi_plane/S20190716Z0925.expected.xml @@ -0,0 +1,257 @@ + + + GEMINI + S20190716Z0925 + 2019-07-16T10:28:29.020 + + exposure + + OBJECT + science + + GS-2019A-DD-109 + Chris Lintott + Towards Validating the Longest Period TESS Planet Candidate + + + HIP 28909 + object + + + Gemini-South + 1820184.0557473274 + -5208320.066618682 + -3194829.197152751 + + + Zorro + + + + S20190716Z0925r + 2019-07-16T10:28:29.020 + 2020-07-15T00:00:00.000 + image + 1 + + Gemini Observatory Data + Gemini Archive + Gemini Observatory + http://archive.gemini.edu/searchform/filepre=S20190716Z0925r.fits + + + + gemini:GEM/S20190716Z0925r.fits + science + data + application/fits + 131094720 + md5:601c29a81410ef985e8f8a0e90f57052 + + + 0 + + + 3 + 2 + 1 + 3 + + + + RA---TAN + + + DEC--TAN + + + + 256 + 256 + + + + 128.0 + 91.53750000000001 + + + 128.0 + -66.03944444444444 + + + 0.0 + 2.0138889e-05 + 2.0138889e-05 + -0.0 + + + 2000.0 + + + + + WAVE + um + + + + 0.5 + 0.8118096218215365 + + + 1.5 + 0.8522158995294036 + + + + TOPOCENT + TOPOCENT + TOPOCENT + Red-832 + 20.591175625996332 + + + + + TIME + d + + + 1e-07 + 1e-07 + + + 1000 + 6.94444444444444e-07 + + 0.5 + 58680.436447 + + + + UTC + 60.0 + 0.06 + + + + + + + + + + S20190716Z0925b + 2019-07-16T10:28:29.020 + 2020-07-15T00:00:00.000 + image + 1 + + Gemini Observatory Data + Gemini Archive + Gemini Observatory + http://archive.gemini.edu/searchform/filepre=S20190716Z0925b.fits + + + + gemini:GEM/S20190716Z0925b.fits + science + data + application/fits + 131094720 + md5:4f0a662fe78a4e1c844371fcac90dfef + + + 0 + + + 3 + 2 + 1 + 3 + + + + RA---TAN + + + DEC--TAN + + + + 256 + 256 + + + + 128.0 + 91.53750000000001 + + + 128.0 + -66.03944444444444 + + + -0.0 + -2.0138889e-05 + 2.0138889e-05 + -0.0 + + + 2000.0 + + + + + WAVE + um + + + + 0.5 + 0.5404215108395519 + + + 1.5 + 0.584180731584708 + + + + TOPOCENT + TOPOCENT + TOPOCENT + Blue-562 + 12.849888815133317 + + + + + TIME + d + + + 1e-07 + 1e-07 + + + 1000 + 6.94444444444444e-07 + + 0.5 + 58680.436447 + + + + UTC + 60.0 + 0.06 + + + + + + + + + + diff --git a/gem2caom2/tests/data/multi_plane/S20190716Z0925.in.xml b/gem2caom2/tests/data/multi_plane/S20190716Z0925.in.xml new file mode 100644 index 00000000..355473ca --- /dev/null +++ b/gem2caom2/tests/data/multi_plane/S20190716Z0925.in.xml @@ -0,0 +1,14 @@ + + GEMINI + S20190716Z0925 + + exposure + + + + S20190716Z0925r + 1990-01-01T00:00:00.000 + + + + diff --git a/gem2caom2/tests/data/multi_plane/S20190716Z0925b.fits.header b/gem2caom2/tests/data/multi_plane/S20190716Z0925b.fits.header new file mode 100644 index 00000000..edc8aeab --- /dev/null +++ b/gem2caom2/tests/data/multi_plane/S20190716Z0925b.fits.header @@ -0,0 +1,101 @@ +Filename: S20190716Z0925b.fits.bz2 + +AstroData Tags: {'UNPREPARED', 'GEMINI', 'SOUTH', 'RAW'} + + +--- PHU --- +SIMPLE = T / file does conform to FITS standard +BITPIX = 16 / number of bits per data pixel +NAXIS = 3 / number of data axes +NAXIS1 = 256 / length of data axis 1 +NAXIS2 = 256 / length of data axis 2 +NAXIS3 = 1000 / length of data axis 3 +EXTEND = T / FITS dataset may contain extensions +COMMENT FITS (Flexible Image Transport System) format is defined in 'Astronomy +COMMENT and Astrophysics', volume 376, page 359; bibcode: 2001A&A...376..359H +BZERO = 32768 / offset data range to that of unsigned short +BSCALE = 1 / default scaling factor +CREATOR = 'Linux ANDOR CCD control' / Speckle Data-taking program +MJD-OBS = 58680.436447 / MJD at start of obs +JD = 2458680.93645 / Julian Date at start of obs +HDR_REV = '3.00 18-Feb-2008' / Header-Rev +UTC = '10:28:28.3' / UTC time +LAST = '01:21:25.0' / LSTHDR local sidereal time +EPOCH = 2000.000000 / EPOCH of telescope coords +TARGRA = 91.539092 / Telescope target RA +TARGDEC = -66.039619 / Telescope target DEC +RA = '06:06:09.524' / Telescope RA +DEC = '-66:02:22.11' / Telescope DEC +RAOFFST = 0.000000 / Telescope RA offset +DECOFFST= 0.000000 / Telescope DEC offset +ZD = 54.891600 / zenith distance +AIRMASS = 1.736000 / airmass at start of exposure +FOCUS = '-0.050 ' / Telescope focus (microns) +OBJECT = 'HIP 28909' / Object name +PARANGLE= 'FK5 ' / Parallactic angle +PA = 0.000000 / Instrument position angle +OBSERVAT= 'Gemini-South' / Originating Observatory +PROGRAM = 'NA ' / from speckle.scope.program +INSTRUME= 'Zorro ' / Instrument name +DATE-OBS= '2019-07-16' / Date of start of observation in UTC +OBSTIME = '10:27:27.28' / from speckle.scope.obstime +OBSTYPE = 'OBJECT ' / Type of picture (object, dark, etc.) +TELESCOP= 'Gemini-South' / Specific system +RECID = '2019-07-16_Gemini-South"' / archive ID for observation +ACT = 0.000000 / Accumulation cycle time +EXPTIME = 0.060000 / Frame Exposure time in seconds +EXPSTART= 1563272847.7033 / Start TAI time of exposure +EXPENDTM= 1563272909.4709 / End TAI time of exposure +HEAD = 'Andor iXon Emccd' / Head model +ACQMODE = 'Kinetics mode' / Acquisition mode +KCT = 0.000000 / Kinetic cycle time +KINMODE = '1 ' / Kinetic Mode +NUMEXP = '1 ' / from speckle.scope.numexp +READMODE= 'Image ' / Readout mode +IMGRECT = '1,1024,1,1024' / Image format +EMCCD = 'On ' / EMCCD mode +FRAMEXFR= 'On ' / Frame Transfer mode +BLCLAMP = 'On ' / Bias Clamp +HBIN = 1 / Horizontal binning +VBIN = 1 / Vertical binning +SUBRECT = '408,663,368,623' / Subimage format +EXPOSURE= 60.000000 / Total Exposure Time +DATATYPE= '32 ' / from speckle.andor.datatype +EMGAIN = 40.000000 / EM Real Gain +VSSPEED = 1.130000 / Vertical Speed (usec) +HSSPEED = 1.000000 / Horizontal Speed (MHz) +OUTPTAMP= 'Electron Multiplying' / Output Amplifier +PREAMP = 2 / Pre Amplifier Gain +SERNO = 'X-11828 ' / Serial Number +UNSTTEMP= -60.000000 / Unstabilized Temperature +ACCUM = 1 / Accumulations per frame +NUMKIN = 1000 / Series length +FILTER = 'Blue-562' / Filter name +FLDZABER= 'speckle ' / Field zaber position +INPZABER= 'speckle ' / Input zaber position +CCDTEMP = -59.560001 / CCD temperature +RAWIQ = '0 ' / Image quality +RAWCC = '0 ' / Cloud cover +RAWWV = '0 ' / Water vapour +RAWBG = '0 ' / Background +HUMIDITY= '13.9 ' / from tcs.weather.humidity +OBSID = 'GS-2019A-DD-109-0' / Observation-ID +GEMPRGID= 'GS-2019A-DD-109' / Observation-ID +SPKLESEQ= 38 / SPECKLENFO-sequence +SPKLEDAT= 'Jul 16 06:28:30' / SPECKLENFO-timestamp +CRVAL1 = -66.03944444444444 / Declination of reference pixel [deg] +CRVAL2 = 91.53750000000001 / RA of reference pixel [deg] +CRPIX1 = 128 / Coordinate reference pixel in X +CRPIX2 = 128 / Coordinate reference pixel in Y +CD1_1 = -0.000000000000 / Coordinate scale matrix [degrees / pixel] +CD1_2 = 0.000020138889 / Coordinate scale matrix [degrees / pixel] +CD2_1 = -0.000020138889 / Coordinate scale matrix [degrees / pixel] +CD2_2 = -0.000000000000 / Coordinate scale matrix [degrees / pixel] +CTYPE1 = 'DEC--TAN' / Coordinate type +CTYPE2 = 'RA--TAN ' / Coordinate type +WCSNAME = 'FK5 ' / World coordinate system type +RADECSYS= 'FK5 ' / Default coordinate system type +DATALAB = 'GS-2019A-DD-109-0-0' +RELEASE = '2020-07-15' +ORIGNAME= 'S20190716Z0925b.fits' / Original filename prior to processing +HISTORY Corrected metadata: Zorro fixes diff --git a/gem2caom2/tests/data/multi_plane/S20190716Z0925r.fits.header b/gem2caom2/tests/data/multi_plane/S20190716Z0925r.fits.header new file mode 100644 index 00000000..b90d3744 --- /dev/null +++ b/gem2caom2/tests/data/multi_plane/S20190716Z0925r.fits.header @@ -0,0 +1,101 @@ +Filename: S20190716Z0925r.fits.bz2 + +AstroData Tags: {'UNPREPARED', 'GEMINI', 'SOUTH', 'RAW'} + + +--- PHU --- +SIMPLE = T / file does conform to FITS standard +BITPIX = 16 / number of bits per data pixel +NAXIS = 3 / number of data axes +NAXIS1 = 256 / length of data axis 1 +NAXIS2 = 256 / length of data axis 2 +NAXIS3 = 1000 / length of data axis 3 +EXTEND = T / FITS dataset may contain extensions +COMMENT FITS (Flexible Image Transport System) format is defined in 'Astronomy +COMMENT and Astrophysics', volume 376, page 359; bibcode: 2001A&A...376..359H +BZERO = 32768 / offset data range to that of unsigned short +BSCALE = 1 / default scaling factor +CREATOR = 'Linux ANDOR CCD control' / Speckle Data-taking program +MJD-OBS = 58680.436447 / MJD at start of obs +JD = 2458680.93645 / Julian Date at start of obs +HDR_REV = '3.00 18-Feb-2008' / Header-Rev +UTC = '10:28:28.3' / UTC time +LAST = '01:21:25.0' / LSTHDR local sidereal time +EPOCH = 2000.000000 / EPOCH of telescope coords +TARGRA = 91.539092 / Telescope target RA +TARGDEC = -66.039619 / Telescope target DEC +RA = '06:06:09.524' / Telescope RA +DEC = '-66:02:22.11' / Telescope DEC +RAOFFST = 0.000000 / Telescope RA offset +DECOFFST= 0.000000 / Telescope DEC offset +ZD = 54.891600 / zenith distance +AIRMASS = 1.736000 / airmass at start of exposure +FOCUS = '-0.050 ' / Telescope focus (microns) +OBJECT = 'HIP 28909' / Object name +PARANGLE= 'FK5 ' / Parallactic angle +PA = 0.000000 / Instrument position angle +OBSERVAT= 'Gemini-South' / Originating Observatory +PROGRAM = 'NA ' / from speckle.scope.program +INSTRUME= 'Zorro ' / Instrument name +DATE-OBS= '2019-07-16' / Date of start of observation in UTC +OBSTIME = '10:27:27.28' / from speckle.scope.obstime +OBSTYPE = 'OBJECT ' / Type of picture (object, dark, etc.) +TELESCOP= 'Gemini-South' / Specific system +RECID = '2019-07-16_Gemini-South"' / archive ID for observation +ACT = 0.000000 / Accumulation cycle time +EXPTIME = 0.060000 / Frame Exposure time in seconds +EXPSTART= 1563272847.6901 / Start TAI time of exposure +EXPENDTM= 1563272909.4632 / End TAI time of exposure +HEAD = 'Andor iXon Emccd' / Head model +ACQMODE = 'Kinetics mode' / Acquisition mode +KCT = 0.000000 / Kinetic cycle time +KINMODE = '1 ' / Kinetic Mode +NUMEXP = '1 ' / from speckle.scope.numexp +READMODE= 'Image ' / Readout mode +IMGRECT = '1,1024,1,1024' / Image format +EMCCD = 'On ' / EMCCD mode +FRAMEXFR= 'On ' / Frame Transfer mode +BLCLAMP = 'On ' / Bias Clamp +HBIN = 1 / Horizontal binning +VBIN = 1 / Vertical binning +SUBRECT = '348,603,348,603' / Subimage format +EXPOSURE= 60.000000 / Total Exposure Time +DATATYPE= '32 ' / from speckle.andor.datatype +EMGAIN = 40.000000 / EM Real Gain +VSSPEED = 1.130000 / Vertical Speed (usec) +HSSPEED = 1.000000 / Horizontal Speed (MHz) +OUTPTAMP= 'Electron Multiplying' / Output Amplifier +PREAMP = 2 / Pre Amplifier Gain +SERNO = 'X-11807 ' / Serial Number +UNSTTEMP= -60.000000 / Unstabilized Temperature +ACCUM = 1 / Accumulations per frame +NUMKIN = 1000 / Series length +FILTER = 'Red-832 ' / Filter name +FLDZABER= 'speckle ' / Field zaber position +INPZABER= 'speckle ' / Input zaber position +CCDTEMP = -59.639999 / CCD temperature +RAWIQ = '0 ' / Image quality +RAWCC = '0 ' / Cloud cover +RAWWV = '0 ' / Water vapour +RAWBG = '0 ' / Background +HUMIDITY= '13.9 ' / from tcs.weather.humidity +OBSID = 'GS-2019A-DD-109-0' / Observation-ID +GEMPRGID= 'GS-2019A-DD-109' / Observation-ID +SPKLESEQ= 38 / SPECKLENFO-sequence +SPKLEDAT= 'Jul 16 06:28:30' / SPECKLENFO-timestamp +CRVAL1 = -66.03944444444444 / Declination of reference pixel [deg] +CRVAL2 = 91.53750000000001 / RA of reference pixel [deg] +CRPIX1 = 128 / Coordinate reference pixel in X +CRPIX2 = 128 / Coordinate reference pixel in Y +CD1_1 = -0.000000000000 / Coordinate scale matrix [degrees / pixel] +CD1_2 = 0.000020138889 / Coordinate scale matrix [degrees / pixel] +CD2_1 = 0.000020138889 / Coordinate scale matrix [degrees / pixel] +CD2_2 = 0.000000000000 / Coordinate scale matrix [degrees / pixel] +CTYPE1 = 'DEC--TAN' / Coordinate type +CTYPE2 = 'RA--TAN ' / Coordinate type +WCSNAME = 'FK5 ' / World coordinate system type +RADECSYS= 'FK5 ' / Default coordinate system type +DATALAB = 'GS-2019A-DD-109-0-0' +RELEASE = '2020-07-15' +ORIGNAME= 'S20190716Z0925r.fits' / Original filename prior to processing +HISTORY Corrected metadata: Zorro fixes diff --git a/gem2caom2/tests/data/multi_plane/S20190912Z0264.expected.xml b/gem2caom2/tests/data/multi_plane/S20190912Z0264.expected.xml new file mode 100644 index 00000000..783a392d --- /dev/null +++ b/gem2caom2/tests/data/multi_plane/S20190912Z0264.expected.xml @@ -0,0 +1,255 @@ + + + GEMINI + S20190912Z0264 + 2019-09-12T22:46:10.012 + + exposure + + ZERO + calibration + + GS-2019B-FT-103 + Laura Trouille + Towards Validating Planet Hunters TESS Planet Candidates with Zorro + + + Zenith + object + + + Gemini-South + 1820184.0557473274 + -5208320.066618682 + -3194829.197152751 + + + Zorro + + + + S20190912Z0264b + 2019-09-12T22:46:10.012 + 2020-03-13T00:00:00.000 + image + 1 + + Gemini Observatory Data + Gemini Archive + Gemini Observatory + http://archive.gemini.edu/searchform/filepre=S20190912Z0264b.fits + + + + gemini:GEM/S20190912Z0264b.fits + calibration + data + application/fits + 131094720 + md5:56685678eee2b3acda8986adbe0f88e8 + + + 0 + + + 3 + 2 + 1 + 3 + + + + RA---TAN + + + DEC--TAN + + + + 256 + 256 + + + + 128.0 + 262.1833333333333 + + + 128.0 + -30.28555555555556 + + + -0.0 + -2.0138889e-05 + 2.0138889e-05 + -0.0 + + + + + + + WAVE + um + + + + 0.5 + 0.32981666666666903 + + + 1.5 + 0.374465909090911 + + + + TOPOCENT + TOPOCENT + TOPOCENT + Blue-u + 7.886836791828685 + + + + + TIME + d + + + 1e-07 + 1e-07 + + + 1000 + 6.94444444444444e-07 + + 0.5 + 58738.948727 + + + + UTC + 60.0 + 0.06 + + + + + + + + + + S20190912Z0264r + 2019-09-12T22:46:10.012 + 2020-03-13T00:00:00.000 + image + 1 + + Gemini Observatory Data + Gemini Archive + Gemini Observatory + http://archive.gemini.edu/searchform/filepre=S20190912Z0264r.fits + + + + gemini:GEM/S20190912Z0264r.fits + calibration + data + application/fits + 131094720 + md5:f7249563691e31dec16bd3c76f2acc31 + + + 0 + + + 3 + 2 + 1 + 3 + + + + RA---TAN + + + DEC--TAN + + + + 256 + 256 + + + + 128.0 + 262.1833333333333 + + + 128.0 + -30.28555555555556 + + + 0.0 + 2.0138889e-05 + 2.0138889e-05 + -0.0 + + + + + + + WAVE + um + + + + 0.5 + 0.69128070175439 + + + 1.5 + 0.83890374331551 + + + + TOPOCENT + TOPOCENT + TOPOCENT + Red-i + 5.182742574899331 + + + + + TIME + d + + + 1e-07 + 1e-07 + + + 1000 + 6.94444444444444e-07 + + 0.5 + 58738.948727 + + + + UTC + 60.0 + 0.06 + + + + + + + + + + diff --git a/gem2caom2/tests/data/multi_plane/S20190912Z0264.in.xml b/gem2caom2/tests/data/multi_plane/S20190912Z0264.in.xml new file mode 100644 index 00000000..81d43722 --- /dev/null +++ b/gem2caom2/tests/data/multi_plane/S20190912Z0264.in.xml @@ -0,0 +1,14 @@ + + GEMINI + S20190912Z0264 + + exposure + + + + S20190912Z0264b + 1990-01-01T00:00:00.000 + + + + diff --git a/gem2caom2/tests/data/multi_plane/S20190912Z0264b.fits.header b/gem2caom2/tests/data/multi_plane/S20190912Z0264b.fits.header new file mode 100644 index 00000000..b1cf1abf --- /dev/null +++ b/gem2caom2/tests/data/multi_plane/S20190912Z0264b.fits.header @@ -0,0 +1,101 @@ +Filename: S20190912Z0264b.fits.bz2 + +AstroData Tags: {'GEMINI', 'SOUTH', 'RAW', 'UNPREPARED'} + + +--- PHU --- +SIMPLE = T / file does conform to FITS standard +BITPIX = 16 / number of bits per data pixel +NAXIS = 3 / number of data axes +NAXIS1 = 256 / length of data axis 1 +NAXIS2 = 256 / length of data axis 2 +NAXIS3 = 1000 / length of data axis 3 +EXTEND = T / FITS dataset may contain extensions +COMMENT FITS (Flexible Image Transport System) format is defined in 'Astronomy +COMMENT and Astrophysics', volume 376, page 359; bibcode: 2001A&A...376..359H +BZERO = 32768 / offset data range to that of unsigned short +BSCALE = 1 / default scaling factor +CREATOR = 'Linux ANDOR CCD control' / Speckle Data-taking program +MJD-OBS = 58738.948727 / MJD at start of obs +JD = 2458739.44873 / Julian Date at start of obs +HDR_REV = '3.00 18-Feb-2008' / Header-Rev +UTC = '22:46:10.0' / UTC time +LAST = '17:29:48.1' / LSTHDR local sidereal time +EPOCH = 0.000000 / EPOCH of telescope coords +TARGRA = 147.000000 / Telescope target RA +TARGDEC = 89.900000 / Telescope target DEC +RA = '17:28:44.909' / Telescope RA +DEC = '-30:17:08.48' / Telescope DEC +RAOFFST = 0.000000 / Telescope RA offset +DECOFFST= 0.000000 / Telescope DEC offset +ZD = 0.049600 / zenith distance +AIRMASS = 1.000000 / airmass at start of exposure +FOCUS = '0.000 ' / Telescope focus (microns) +OBJECT = 'Zenith ' / Object name +PARANGLE= 'FK5 ' / Parallactic angle +PA = 0.000000 / Instrument position angle +OBSERVAT= 'Gemini-South' / Originating Observatory +PROGRAM = 'NA ' / from speckle.scope.program +INSTRUME= 'Zorro ' / Instrument name +DATE-OBS= '2019-09-12' / Date of start of observation in UTC +OBSTIME = '22:45:09.36' / from speckle.scope.obstime +OBSTYPE = 'ZERO ' / Type of picture (object, dark, etc.) +TELESCOP= 'Gemini-South' / Specific system +RECID = '2019-09-12_Gemini-South"' / archive ID for observation +ACT = 0.000000 / Accumulation cycle time +EXPTIME = 0.060000 / Frame Exposure time in seconds +EXPSTART= 1568328309.2101 / Start TAI time of exposure +EXPENDTM= 1568328370.4682 / End TAI time of exposure +HEAD = 'Andor iXon Emccd' / Head model +ACQMODE = 'Kinetics mode' / Acquisition mode +KCT = 0.000000 / Kinetic cycle time +KINMODE = '1 ' / Kinetic Mode +NUMEXP = '1 ' / from speckle.scope.numexp +READMODE= 'Image ' / Readout mode +IMGRECT = '1,1024,1,1024' / Image format +EMCCD = 'Off ' / EMCCD mode +FRAMEXFR= 'On ' / Frame Transfer mode +BLCLAMP = 'On ' / Bias Clamp +HBIN = 1 / Horizontal binning +VBIN = 1 / Vertical binning +SUBRECT = '188,443,608,863' / Subimage format +EXPOSURE= 60.000000 / Total Exposure Time +DATATYPE= '32 ' / from speckle.andor.datatype +EMGAIN = 0.000000 / EM Real Gain +VSSPEED = 1.130000 / Vertical Speed (usec) +HSSPEED = 1.000000 / Horizontal Speed (MHz) +OUTPTAMP= 'CCD ' / Output Amplifier +PREAMP = 2 / Pre Amplifier Gain +SERNO = 'X-11828 ' / Serial Number +UNSTTEMP= -60.000000 / Unstabilized Temperature +ACCUM = 1 / Accumulations per frame +NUMKIN = 1000 / Series length +FILTER = 'Blue-u ' / Filter name +FLDZABER= '0 ' / Field zaber position +INPZABER= 'wide ' / Input zaber position +CCDTEMP = -59.480000 / CCD temperature +RAWIQ = '0 ' / Image quality +RAWCC = '0 ' / Cloud cover +RAWWV = '0 ' / Water vapour +RAWBG = '0 ' / Background +HUMIDITY= '26.7 ' / from tcs.weather.humidity +OBSID = 'GS-2019B-FT-103-0' / Observation-ID +GEMPRGID= 'GS-2019B-FT-103' / Observation-ID +SPKLESEQ= 4 / SPECKLENFO-sequence +SPKLEDAT= 'Sep 12 19:46:11' / SPECKLENFO-timestamp +CRVAL1 = -30.28555555555556 / Declination of reference pixel [deg] +CRVAL2 = 262.1833333333333 / RA of reference pixel [deg] +CRPIX1 = 128 / Coordinate reference pixel in X +CRPIX2 = 128 / Coordinate reference pixel in Y +CD1_1 = -0.000000000000 / Coordinate scale matrix [degrees / pixel] +CD1_2 = 0.000020138889 / Coordinate scale matrix [degrees / pixel] +CD2_1 = -0.000020138889 / Coordinate scale matrix [degrees / pixel] +CD2_2 = -0.000000000000 / Coordinate scale matrix [degrees / pixel] +CTYPE1 = 'DEC--TAN' / Coordinate type +CTYPE2 = 'RA--TAN ' / Coordinate type +WCSNAME = 'FK5 ' / World coordinate system type +RADECSYS= 'FK5 ' / Default coordinate system type +DATALAB = 'GS-2019B-FT-103-0-0' +RELEASE = '2020-03-13' +ORIGNAME= 'S20190912Z0264b.fits' / Original filename prior to processing +HISTORY Corrected metadata: Zorro fixes diff --git a/gem2caom2/tests/data/multi_plane/S20190912Z0264r.fits.header b/gem2caom2/tests/data/multi_plane/S20190912Z0264r.fits.header new file mode 100644 index 00000000..bd0bea08 --- /dev/null +++ b/gem2caom2/tests/data/multi_plane/S20190912Z0264r.fits.header @@ -0,0 +1,101 @@ +Filename: S20190912Z0264r.fits.bz2 + +AstroData Tags: {'GEMINI', 'SOUTH', 'RAW', 'UNPREPARED'} + + +--- PHU --- +SIMPLE = T / file does conform to FITS standard +BITPIX = 16 / number of bits per data pixel +NAXIS = 3 / number of data axes +NAXIS1 = 256 / length of data axis 1 +NAXIS2 = 256 / length of data axis 2 +NAXIS3 = 1000 / length of data axis 3 +EXTEND = T / FITS dataset may contain extensions +COMMENT FITS (Flexible Image Transport System) format is defined in 'Astronomy +COMMENT and Astrophysics', volume 376, page 359; bibcode: 2001A&A...376..359H +BZERO = 32768 / offset data range to that of unsigned short +BSCALE = 1 / default scaling factor +CREATOR = 'Linux ANDOR CCD control' / Speckle Data-taking program +MJD-OBS = 58738.948727 / MJD at start of obs +JD = 2458739.44873 / Julian Date at start of obs +HDR_REV = '3.00 18-Feb-2008' / Header-Rev +UTC = '22:46:10.0' / UTC time +LAST = '17:29:48.1' / LSTHDR local sidereal time +EPOCH = 0.000000 / EPOCH of telescope coords +TARGRA = 147.000000 / Telescope target RA +TARGDEC = 89.900000 / Telescope target DEC +RA = '17:28:44.909' / Telescope RA +DEC = '-30:17:08.48' / Telescope DEC +RAOFFST = 0.000000 / Telescope RA offset +DECOFFST= 0.000000 / Telescope DEC offset +ZD = 0.049600 / zenith distance +AIRMASS = 1.000000 / airmass at start of exposure +FOCUS = '0.000 ' / Telescope focus (microns) +OBJECT = 'Zenith ' / Object name +PARANGLE= 'FK5 ' / Parallactic angle +PA = 0.000000 / Instrument position angle +OBSERVAT= 'Gemini-South' / Originating Observatory +PROGRAM = 'NA ' / from speckle.scope.program +INSTRUME= 'Zorro ' / Instrument name +DATE-OBS= '2019-09-12' / Date of start of observation in UTC +OBSTIME = '22:45:09.36' / from speckle.scope.obstime +OBSTYPE = 'ZERO ' / Type of picture (object, dark, etc.) +TELESCOP= 'Gemini-South' / Specific system +RECID = '2019-09-12_Gemini-South"' / archive ID for observation +ACT = 0.000000 / Accumulation cycle time +EXPTIME = 0.060000 / Frame Exposure time in seconds +EXPSTART= 1568328309.2290 / Start TAI time of exposure +EXPENDTM= 1568328370.4862 / End TAI time of exposure +HEAD = 'Andor iXon Emccd' / Head model +ACQMODE = 'Kinetics mode' / Acquisition mode +KCT = 0.000000 / Kinetic cycle time +KINMODE = '1 ' / Kinetic Mode +NUMEXP = '1 ' / from speckle.scope.numexp +READMODE= 'Image ' / Readout mode +IMGRECT = '1,1024,1,1024' / Image format +EMCCD = 'Off ' / EMCCD mode +FRAMEXFR= 'On ' / Frame Transfer mode +BLCLAMP = 'On ' / Bias Clamp +HBIN = 1 / Horizontal binning +VBIN = 1 / Vertical binning +SUBRECT = '428,683,548,803' / Subimage format +EXPOSURE= 60.000000 / Total Exposure Time +DATATYPE= '32 ' / from speckle.andor.datatype +EMGAIN = 0.000000 / EM Real Gain +VSSPEED = 1.130000 / Vertical Speed (usec) +HSSPEED = 1.000000 / Horizontal Speed (MHz) +OUTPTAMP= 'CCD ' / Output Amplifier +PREAMP = 2 / Pre Amplifier Gain +SERNO = 'X-11807 ' / Serial Number +UNSTTEMP= -60.000000 / Unstabilized Temperature +ACCUM = 1 / Accumulations per frame +NUMKIN = 1000 / Series length +FILTER = 'Red-i ' / Filter name +FLDZABER= '0 ' / Field zaber position +INPZABER= 'wide ' / Input zaber position +CCDTEMP = -59.560001 / CCD temperature +RAWIQ = '0 ' / Image quality +RAWCC = '0 ' / Cloud cover +RAWWV = '0 ' / Water vapour +RAWBG = '0 ' / Background +HUMIDITY= '26.7 ' / from tcs.weather.humidity +OBSID = 'GS-2019B-FT-103-0' / Observation-ID +GEMPRGID= 'GS-2019B-FT-103' / Observation-ID +SPKLESEQ= 4 / SPECKLENFO-sequence +SPKLEDAT= 'Sep 12 19:46:11' / SPECKLENFO-timestamp +CRVAL1 = -30.28555555555556 / Declination of reference pixel [deg] +CRVAL2 = 262.1833333333333 / RA of reference pixel [deg] +CRPIX1 = 128 / Coordinate reference pixel in X +CRPIX2 = 128 / Coordinate reference pixel in Y +CD1_1 = -0.000000000000 / Coordinate scale matrix [degrees / pixel] +CD1_2 = 0.000020138889 / Coordinate scale matrix [degrees / pixel] +CD2_1 = 0.000020138889 / Coordinate scale matrix [degrees / pixel] +CD2_2 = 0.000000000000 / Coordinate scale matrix [degrees / pixel] +CTYPE1 = 'DEC--TAN' / Coordinate type +CTYPE2 = 'RA--TAN ' / Coordinate type +WCSNAME = 'FK5 ' / World coordinate system type +RADECSYS= 'FK5 ' / Default coordinate system type +DATALAB = 'GS-2019B-FT-103-0-0' +RELEASE = '2020-03-13' +ORIGNAME= 'S20190912Z0264r.fits' / Original filename prior to processing +HISTORY Corrected metadata: Zorro fixes diff --git a/gem2caom2/tests/data/multi_plane/S20200316Z0308.expected.xml b/gem2caom2/tests/data/multi_plane/S20200316Z0308.expected.xml new file mode 100644 index 00000000..42302557 --- /dev/null +++ b/gem2caom2/tests/data/multi_plane/S20200316Z0308.expected.xml @@ -0,0 +1,257 @@ + + + GEMINI + S20200316Z0308 + 2020-03-16T10:05:59.971 + + exposure + + OBJECT + science + + GS-2020A-Q-321 + Saida Caballero-Nieves + A Closer look at Be star Multiplicity properties + + + HD146596 + object + + + Gemini-South + 1820184.0557473274 + -5208320.066618682 + -3194829.197152751 + + + Zorro + + + + S20200316Z0308r + 2020-03-16T10:05:59.971 + 2021-03-16T00:00:00.000 + image + 1 + + Gemini Observatory Data + Gemini Archive + Gemini Observatory + http://archive.gemini.edu/searchform/filepre=S20200316Z0308r.fits + + + + gemini:GEM/S20200316Z0308r.fits + science + data + application/fits + 131094720 + md5:38f8e744e5f442ca23fed3749557e632 + + + 0 + + + 3 + 2 + 1 + 3 + + + + RA---TAN + + + DEC--TAN + + + + 256 + 256 + + + + 128.0 + 244.925 + + + 128.0 + -52.772222 + + + -2.666667e-06 + -0.0 + 0.0 + -2.666667e-06 + + + 2000.0 + + + + + WAVE + um + + + + 0.5 + 0.6901846833759725 + + + 1.5 + 0.7417172475570476 + + + + TOPOCENT + TOPOCENT + TOPOCENT + Red-716 + 13.89317564231431 + + + + + TIME + d + + + 1e-07 + 1e-07 + + + 1000 + 6.94444444444444e-07 + + 0.5 + 58924.420833 + + + + UTC + 60.0 + 0.06 + + + + + + + + + + S20200316Z0308b + 2020-03-16T10:05:59.971 + 2021-03-16T00:00:00.000 + image + 1 + + Gemini Observatory Data + Gemini Archive + Gemini Observatory + http://archive.gemini.edu/searchform/filepre=S20200316Z0308b.fits + + + + gemini:GEM/S20200316Z0308b.fits + science + data + application/fits + 131094720 + md5:c9ad5c9ec511639c989c67385db6f95b + + + 0 + + + 3 + 1 + 2 + 3 + + + + RA---TAN + + + DEC--TAN + + + + 256 + 256 + + + + 128.0 + 244.925 + + + 128.0 + -52.772222 + + + 2.666667e-06 + -0.0 + 0.0 + 2.666667e-06 + + + 2000.0 + + + + + WAVE + um + + + + 0.5 + 0.4450836809978395 + + + 1.5 + 0.48909883470248056 + + + + TOPOCENT + TOPOCENT + TOPOCENT + Blue-466 + 10.612055588503136 + + + + + TIME + d + + + 1e-07 + 1e-07 + + + 1000 + 6.94444444444444e-07 + + 0.5 + 58924.420833 + + + + UTC + 60.0 + 0.06 + + + + + + + + + + diff --git a/gem2caom2/tests/data/multi_plane/S20200316Z0308.in.xml b/gem2caom2/tests/data/multi_plane/S20200316Z0308.in.xml new file mode 100644 index 00000000..1476af29 --- /dev/null +++ b/gem2caom2/tests/data/multi_plane/S20200316Z0308.in.xml @@ -0,0 +1,14 @@ + + GEMINI + S20200316Z0308 + + exposure + + + + S20200316Z0308r + 1990-01-01T00:00:00.000 + + + + diff --git a/gem2caom2/tests/data/multi_plane/S20200316Z0308b.fits.header b/gem2caom2/tests/data/multi_plane/S20200316Z0308b.fits.header new file mode 100644 index 00000000..b105b7d2 --- /dev/null +++ b/gem2caom2/tests/data/multi_plane/S20200316Z0308b.fits.header @@ -0,0 +1,101 @@ +Filename: S20200316Z0308b.fits.bz2 + +AstroData Tags: {'GEMINI', 'SOUTH', 'RAW', 'UNPREPARED'} + + +--- PHU --- +SIMPLE = T / file does conform to FITS standard +BITPIX = 16 / number of bits per data pixel +NAXIS = 3 / number of data axes +NAXIS1 = 256 / length of data axis 1 +NAXIS2 = 256 / length of data axis 2 +NAXIS3 = 1000 / length of data axis 3 +EXTEND = T / FITS dataset may contain extensions +COMMENT FITS (Flexible Image Transport System) format is defined in 'Astronomy +COMMENT and Astrophysics', volume 376, page 359; bibcode: 2001A&A...376..359H +BZERO = 32768 / offset data range to that of unsigned short +BSCALE = 1 / default scaling factor +CREATOR = 'Linux ANDOR CCD control V2' / Speckle Data-taking program +MJD-OBS = 58924.420833 / MJD at start of obs +JD = 2458924.92083 / Julian Date at start of obs +HDR_REV = '4.00 10-Feb-2020q' / Header-Rev +UTC = '10:05:59.7' / UTC time at end of observation +LAST = '17:00:52.1' / LSTHDR local sidereal time +EPOCH = 2000.000000 / EPOCH of telescope coords +TARGRA = 244.927917 / Telescope target RA +TARGDEC = -52.771944 / Telescope target DEC +RA = '16:19:42.633' / Telescope RA +DEC = '-52:46:20.25' / Telescope DEC +RAOFFST = -0.826000 / Telescope RA offset +DECOFFST= -1.000000 / Telescope DEC offset +ZD = 23.618900 / zenith distance +AIRMASS = 1.091000 / airmass at start of exposure +FOCUS = '-0.050 ' / Telescope focus (microns) +OBJECT = 'HD146596' / Object name +PA = 0.000000 / Instrument position angle +OBSERVAT= 'Gemini-South' / Originating Observatory +PROGRAM = 'NA ' / from speckle.scope.program +INSTRUME= 'Zorro ' / Instrument name +DATE-OBS= '2020-03-16' / Date of start of observation in UTC +OBSTIME = 1584353099.2172 / UTC at start of observation +OBSTYPE = 'OBJECT ' / Type of picture (object, dark, etc.) +TELESCOP= 'Gemini-South' / Specific system +RECID = '2020-03-16_Gemini-South"' / archive ID for observation +ACT = 0.061175 / Accumulation cycle time +EXPTIME = 0.060000 / Frame Exposure time in seconds +EXPENDTM= 1584353160.5165 / UTC at end of observation +HEAD = 'Andor iXon Emccd' / Head model +ACQMODE = 'Kinetics mode' / Acquisition mode +KCT = 0.061175 / Kinetic cycle time +KINMODE = '1 ' / Kinetic Mode +NUMEXP = '1 ' / from speckle.scope.numexp +READMODE= 'Image ' / Readout mode +IMGRECT = '1,1024,1,1024' / Image format +EMCCD = 'On ' / EMCCD mode +FRAMEXFR= 'On ' / Frame Transfer mode +BLCLAMP = 'On ' / Bias Clamp +HBIN = 1 / Horizontal binning +VBIN = 1 / Vertical binning +SUBRECT = '348,603,408,663' / Subimage format +EXPOSURE= 60.000000 / Total Exposure Time +DATATYPE= '32 ' / from speckle.andor.datatype +EMGAIN = 200.000000 / EM Real Gain +VSSPEED = 1.130000 / Vertical Speed (usec) +HSSPEED = 1.000000 / Horizontal Speed (MHz) +OUTPTAMP= 'Electron Multiplying' / Output Amplifier +PREAMP = 1 / Pre Amplifier Gain +SERNO = 'X-11828 ' / Serial Number +UNSTTEMP= -60.000000 / Unstabilized Temperature +ACCUM = 1 / Accumulations per frame +NUMKIN = 1000 / Number of kinetic frames +FILTER = 'Blue-466' / Filter name +FLDZABER= 'speckle ' / Field zaber position +INPZABER= 'speckle ' / Input zaber position +CCDTEMP = -59.560001 / CCD temperature +RAWIQ = '0 ' / Image quality +RAWCC = '0 ' / Cloud cover +RAWWV = '0 ' / Water vapour +RAWBG = '0 ' / Background +HUMIDITY= '20.7 ' / from tcs.weather.humidity +OBSID = 'GS-2020A-Q-321-0' / Observation-ID +GEMPRGID= 'GS-2020A-Q-321' / Observation-ID +SPKLESEQ= 493 / SPECKLENFO-sequence +SPKLEDAT= 'Mar 16 07:06:01' / SPECKLENFO-timestamp +CRVAL2 = -52.772222 / Declination of reference pixel [deg] +CRVAL1 = 244.925000 / RA of reference pixel [deg] +CTYPE2 = 'DEC--TAN' / Coordinate type +CTYPE1 = 'RA--TAN ' / Coordinate type +CRPIX1 = 128 / Coordinate reference pixel in X +CRPIX2 = 128 / Coordinate reference pixel in Y +CDELT1 = 0.000000000000 / Rotation angle +CDELT2 = 0.000002666667 / Coordinate pixel scale in Y +CD1_1 = 0.000002666667 +CD1_2 = -0.000000000000 +CD2_1 = 0.000000000000 +CD2_2 = 0.000002666667 +WCSNAME = 'FK5 ' / World coordinate system type +RADECSYS= 'FK5 ' / Default coordinate system type +DATALAB = 'GS-2020A-Q-321-0-0' +RELEASE = '2021-03-16' +ORIGNAME= 'S20200316Z0308b.fits' / Original filename prior to processing +HISTORY Corrected metadata: Zorro fixes diff --git a/gem2caom2/tests/data/multi_plane/S20200316Z0308r.fits.header b/gem2caom2/tests/data/multi_plane/S20200316Z0308r.fits.header new file mode 100644 index 00000000..a4d5aad7 --- /dev/null +++ b/gem2caom2/tests/data/multi_plane/S20200316Z0308r.fits.header @@ -0,0 +1,101 @@ +Filename: S20200316Z0308r.fits.bz2 + +AstroData Tags: {'GEMINI', 'SOUTH', 'RAW', 'UNPREPARED'} + + +--- PHU --- +SIMPLE = T / file does conform to FITS standard +BITPIX = 16 / number of bits per data pixel +NAXIS = 3 / number of data axes +NAXIS1 = 256 / length of data axis 1 +NAXIS2 = 256 / length of data axis 2 +NAXIS3 = 1000 / length of data axis 3 +EXTEND = T / FITS dataset may contain extensions +COMMENT FITS (Flexible Image Transport System) format is defined in 'Astronomy +COMMENT and Astrophysics', volume 376, page 359; bibcode: 2001A&A...376..359H +BZERO = 32768 / offset data range to that of unsigned short +BSCALE = 1 / default scaling factor +CREATOR = 'Linux ANDOR CCD control V2' / Speckle Data-taking program +MJD-OBS = 58924.420833 / MJD at start of obs +JD = 2458924.92083 / Julian Date at start of obs +HDR_REV = '4.00 10-Feb-2020q' / Header-Rev +UTC = '10:05:59.7' / UTC time at end of observation +LAST = '17:00:52.1' / LSTHDR local sidereal time +EPOCH = 2000.000000 / EPOCH of telescope coords +TARGRA = 244.927917 / Telescope target RA +TARGDEC = -52.771944 / Telescope target DEC +RA = '16:19:42.633' / Telescope RA +DEC = '-52:46:20.25' / Telescope DEC +RAOFFST = -0.826000 / Telescope RA offset +DECOFFST= -1.000000 / Telescope DEC offset +ZD = 23.618900 / zenith distance +AIRMASS = 1.091000 / airmass at start of exposure +FOCUS = '-0.050 ' / Telescope focus (microns) +OBJECT = 'HD146596' / Object name +PA = 0.000000 / Instrument position angle +OBSERVAT= 'Gemini-South' / Originating Observatory +PROGRAM = 'NA ' / from speckle.scope.program +INSTRUME= 'Zorro ' / Instrument name +DATE-OBS= '2020-03-16' / Date of start of observation in UTC +OBSTIME = 1584353099.2438 / UTC at start of observation +OBSTYPE = 'OBJECT ' / Type of picture (object, dark, etc.) +TELESCOP= 'Gemini-South' / Specific system +RECID = '2020-03-16_Gemini-South"' / archive ID for observation +ACT = 0.061175 / Accumulation cycle time +EXPTIME = 0.060000 / Frame Exposure time in seconds +EXPENDTM= 1584353160.5221 / UTC at end of observation +HEAD = 'Andor iXon Emccd' / Head model +ACQMODE = 'Kinetics mode' / Acquisition mode +KCT = 0.061175 / Kinetic cycle time +KINMODE = '1 ' / Kinetic Mode +NUMEXP = '1 ' / from speckle.scope.numexp +READMODE= 'Image ' / Readout mode +IMGRECT = '1,1024,1,1024' / Image format +EMCCD = 'On ' / EMCCD mode +FRAMEXFR= 'On ' / Frame Transfer mode +BLCLAMP = 'On ' / Bias Clamp +HBIN = 1 / Horizontal binning +VBIN = 1 / Vertical binning +SUBRECT = '448,703,428,683' / Subimage format +EXPOSURE= 60.000000 / Total Exposure Time +DATATYPE= '32 ' / from speckle.andor.datatype +EMGAIN = 100.000000 / EM Real Gain +VSSPEED = 1.130000 / Vertical Speed (usec) +HSSPEED = 1.000000 / Horizontal Speed (MHz) +OUTPTAMP= 'Electron Multiplying' / Output Amplifier +PREAMP = 1 / Pre Amplifier Gain +SERNO = 'X-11807 ' / Serial Number +UNSTTEMP= -60.000000 / Unstabilized Temperature +ACCUM = 1 / Accumulations per frame +NUMKIN = 1000 / Number of kinetic frames +FILTER = 'Red-716 ' / Filter name +FLDZABER= 'speckle ' / Field zaber position +INPZABER= 'speckle ' / Input zaber position +CCDTEMP = -59.720001 / CCD temperature +RAWIQ = '0 ' / Image quality +RAWCC = '0 ' / Cloud cover +RAWWV = '0 ' / Water vapour +RAWBG = '0 ' / Background +HUMIDITY= '20.7 ' / from tcs.weather.humidity +OBSID = 'GS-2020A-Q-321-0' / Observation-ID +GEMPRGID= 'GS-2020A-Q-321' / Observation-ID +SPKLESEQ= 493 / SPECKLENFO-sequence +SPKLEDAT= 'Mar 16 07:06:01' / SPECKLENFO-timestamp +CRVAL1 = -52.772222 / Declination of reference pixel [deg] +CRVAL2 = 244.925000 / RA of reference pixel [deg] +CTYPE1 = 'DEC--TAN' / Coordinate type +CTYPE2 = 'RA--TAN ' / Coordinate type +CRPIX1 = 128 / Coordinate reference pixel in X +CRPIX2 = 128 / Coordinate reference pixel in Y +CDELT1 = 0.000000000000 / Rotation angle +CDELT2 = -0.000002666667 / Coordinate pixel scale in Y +CD1_1 = -0.000002666667 +CD1_2 = 0.000000000000 +CD2_1 = -0.000000000000 +CD2_2 = -0.000002666667 +WCSNAME = 'FK5 ' / World coordinate system type +RADECSYS= 'FK5 ' / Default coordinate system type +DATALAB = 'GS-2020A-Q-321-0-0' +RELEASE = '2021-03-16' +ORIGNAME= 'S20200316Z0308r.fits' / Original filename prior to processing +HISTORY Corrected metadata: Zorro fixes diff --git a/gem2caom2/tests/data/multi_plane/TX20071021_RAW.2037.expected.xml b/gem2caom2/tests/data/multi_plane/TX20071021_RAW.2037.expected.xml index b75a180f..aef1138f 100644 --- a/gem2caom2/tests/data/multi_plane/TX20071021_RAW.2037.expected.xml +++ b/gem2caom2/tests/data/multi_plane/TX20071021_RAW.2037.expected.xml @@ -62,7 +62,6 @@ 2 1 2 - 4 3 diff --git a/gem2caom2/tests/data/multi_plane/TX20071021_SUM.2037.expected.xml b/gem2caom2/tests/data/multi_plane/TX20071021_SUM.2037.expected.xml index 91b135e6..f999d4d0 100644 --- a/gem2caom2/tests/data/multi_plane/TX20071021_SUM.2037.expected.xml +++ b/gem2caom2/tests/data/multi_plane/TX20071021_SUM.2037.expected.xml @@ -62,7 +62,6 @@ 1 1 2 - 4 3 @@ -152,7 +151,6 @@ 1 1 2 - 4 3 @@ -242,7 +240,6 @@ 1 1 2 - 4 3 @@ -332,7 +329,6 @@ 1 1 2 - 4 3 @@ -422,7 +418,6 @@ 2 1 2 - 4 3 @@ -512,7 +507,6 @@ 2 1 2 - 4 3 @@ -602,7 +596,6 @@ 2 1 2 - 4 3 @@ -692,7 +685,6 @@ 2 1 2 - 4 3 @@ -782,7 +774,6 @@ 2 1 2 - 4 3 @@ -872,7 +863,6 @@ 2 1 2 - 4 3 @@ -962,7 +952,6 @@ 2 1 2 - 4 3 @@ -1052,7 +1041,6 @@ 2 1 2 - 4 3 @@ -1142,7 +1130,6 @@ 2 1 2 - 4 3 @@ -1232,7 +1219,6 @@ 2 1 2 - 4 3 @@ -1322,7 +1308,6 @@ 2 1 2 - 4 3 @@ -1412,7 +1397,6 @@ 2 1 2 - 4 3 @@ -1502,7 +1486,6 @@ 2 1 2 - 4 3 @@ -1592,7 +1575,6 @@ 2 1 2 - 4 3 @@ -1682,7 +1664,6 @@ 2 1 2 - 4 3 @@ -1772,7 +1753,6 @@ 2 1 2 - 4 3 @@ -1862,7 +1842,6 @@ 2 1 2 - 4 3 @@ -1952,7 +1931,6 @@ 2 1 2 - 4 3 @@ -2042,7 +2020,6 @@ 2 1 2 - 4 3 @@ -2132,7 +2109,6 @@ 2 1 2 - 4 3 @@ -2222,7 +2198,6 @@ 2 1 2 - 4 3 @@ -2312,7 +2287,6 @@ 2 1 2 - 4 3 @@ -2402,7 +2376,6 @@ 2 1 2 - 4 3 @@ -2492,7 +2465,6 @@ 2 1 2 - 4 3 @@ -2582,7 +2554,6 @@ 2 1 2 - 4 3 @@ -2672,7 +2643,6 @@ 2 1 2 - 4 3 @@ -2762,7 +2732,6 @@ 2 1 2 - 4 3 @@ -2852,7 +2821,6 @@ 2 1 2 - 4 3 @@ -2942,7 +2910,6 @@ 2 1 2 - 4 3 @@ -3032,7 +2999,6 @@ 2 1 2 - 4 3 @@ -3122,7 +3088,6 @@ 2 1 2 - 4 3 @@ -3212,7 +3177,6 @@ 2 1 2 - 4 3 @@ -3302,7 +3266,6 @@ 2 1 2 - 4 3 @@ -3392,7 +3355,6 @@ 2 1 2 - 4 3 @@ -3482,7 +3444,6 @@ 2 1 2 - 4 3 diff --git a/gem2caom2/tests/data/name_stuff.sh b/gem2caom2/tests/data/name_stuff.sh deleted file mode 100755 index 4c07060d..00000000 --- a/gem2caom2/tests/data/name_stuff.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash -# create the python dict that is used for looking up the relationship between obs id and file name -# in test data -for ii in GMOS -do - for jj in $(ls ${ii}/*.in.xml) - do - obs_id=$( grep observationID ${jj} | awk -F'>' '{print $2}' | awk -F'<' '{print $1}' ) - file_id=$( grep uri ${jj} | grep fits | awk -F'>' '{print $2}' | awk -F'<' '{print $1}' | awk -F'/' '{print $2}' | awk -F'.' '{print $1}' ) - echo " '${file_id}': ['${obs_id}', 'x', '${ii}'], " - done -done -date -exit 0 diff --git a/gem2caom2/tests/data/programs/GN-2019A-Q-214.xml b/gem2caom2/tests/data/programs/GN-2019A-Q-214.xml new file mode 100644 index 00000000..15fc8f39 --- /dev/null +++ b/gem2caom2/tests/data/programs/GN-2019A-Q-214.xml @@ -0,0 +1,27 @@ + + + + + + + +Detail for Program: GN-2019A-Q-214 + + + +

Program: GN-2019A-Q-214

+ + + + + +
Title:Radial Velocity Test for Sub-parsec Binary Supermassive Black Holes: Continued Spectroscopic Monitoring of Strong Candidates
PI:Xin Liu
Co-I(s): Yue Shen
+

Abstract

+
+We propose Gemini/GMOS-N follow-up spectroscopy for a sample of 8 SDSS quasars. They were selected from our long-term quasar spectroscopic monitoring program to be the strongest candidates to host sub-pc binary supermassive black holes (BSBHs). Our targets show significant radial velocity shifts in their broad emission lines relative to the systemic velocity of a few hundred km/s over 5--15 yr (rest frame) without variations in the line profile. Such coherent radial velocity shifts are the smoking gun signature for a BSBH where one BH is active (analogous to exoplanets), but further continuued spectroscopic monitoring is needed to rule out alternative scenarios. While detecting a complete binary orbit would require a few decades of monitoring, a continuing constant acceleration without line profile variation would already be a strong signature for a sub-pc BSBH. The proposed new spectra will extend the existing time baseline by ~3 yr, which will allow a stronger test of the binary hypothesis and better constrain the model parameter space. The results will inform the occurrence rate of sub-pc BSBHs with implications for the abundance of low-frequency gravitational wave sources. The program will pave the way for future large spectroscopic synoptic surveys such as the SDSS-V and MSE projects. +
+ + + + + \ No newline at end of file diff --git a/gem2caom2/tests/data/programs/GS-2019A-DD-109.xml b/gem2caom2/tests/data/programs/GS-2019A-DD-109.xml new file mode 100644 index 00000000..c93f6746 --- /dev/null +++ b/gem2caom2/tests/data/programs/GS-2019A-DD-109.xml @@ -0,0 +1,34 @@ + + + + + + + +Detail for Program: GS-2019A-DD-109 + + + +

Program: GS-2019A-DD-109

+ + + + + +
Title:Towards Validating the Longest Period TESS Planet Candidate
PI:Chris Lintott
Co-I(s): Meg Schwamb, Nora Eisner, Suzanne Aigrain, Oscar Barragan, Grant Miller
+

Abstract

+
+We request Director’s Discretionary Time to obtain speckle imaging of the longest period TESS planet candidate known to date identified by citizen scientists from the Planet Hunters project. This planet candidate has not been identified by the TESS team’s pipelines and therefore is not part of the TESS team’s ground-based follow-up effort. It is of particular interest as its host star is a subgiant, and it may therefore help us understand the fate of such warm Saturns as their host stars start to evolve up the giant branch. We request Zorro time to search for stellar blends that may be contaminating the TESS light curve to help validate this planet candidate and rule out false positive scenarios. Such observations compensate for the fact that TESS is designed for photometric precision but at the cost of poor spatial resolution. TESS has extremely large pixels (with a pixel scale of 21arcsec per pixel), Eclipsing binary light curves can thus be sufficiently diluted by neighboring background stars to mimic planet transits in the TESS light curves. Observations to estimate the stellar contamination are a crucial first step towards validating TESS planet transits, and Zorro is specifically designed for this task. An extremely modest allocation of speckle observations would have the resolution to find stellar companions/contaminating stars with contrasts of ∆m < 7−9 mag within 0.02−1.02′′ enabling a critical assessment of the false positive likelihood and an accurate estimate of the planet candidate’s radius. We expect these observations to allow us to validate the status of the planet candidate, and to inspire a program of radial velocity follow-up. +
+ + +

Publications using this program's data

+
    +
  • +[data] +[ADS] Planet Hunters TESS I: TOI 813, a subgiant hosting a transiting Saturn-sized planet on an 84-day orbit +
+ + + + \ No newline at end of file diff --git a/gem2caom2/tests/data/programs/GS-2019B-FT-103.xml b/gem2caom2/tests/data/programs/GS-2019B-FT-103.xml new file mode 100644 index 00000000..6e43e5ef --- /dev/null +++ b/gem2caom2/tests/data/programs/GS-2019B-FT-103.xml @@ -0,0 +1,27 @@ + + + + + + + +Detail for Program: GS-2019B-FT-103 + + + +

Program: GS-2019B-FT-103

+ + + + + +
Title:Towards Validating Planet Hunters TESS Planet Candidates with Zorro
PI:Laura Trouille
Co-I(s): Chris Lintott, Meg Schwamb, Nora Eisner, Suzanne Aigrain, Oscar Barragan
+

Abstract

+
+We request Fast Turnaround time to obtain speckle imaging of 2 TESS planet candidates identified by citizen scientists from the Planet Hunters TESS project. These planet candidates have not been identified by the TESS team’s pipelines and therefore are not part of the TESS team’s ground-based follow-up effort. We request Zorro time to search for stellar blends that may be contaminating the TESS light curve to help validate these planet candidates and rule out false positive scenarios. Such observations compensate for the fact that TESS is designed for photometric precision but at the cost of poor spatial resolution. TESS has extremely large pixels (with a pixel scale of 21'' per pixel), Eclipsing binary light curves can thus be sufficiently diluted by neighboring background stars to mimic planet transits in the TESS light curves. Observations to estimate the stellar contamination are a crucial first step towards validating TESS planet transits, and Zorro is specifically designed for this task. An extremely modest allocation of speckle observations would have the resolution to find sellar companions/contaminating stars with contrasts < 7−9 mag within 0.02−1.02'' enabling a critical assessment of the false positive likelihood and an accurate estimate of the planet candidate’s radius. These observations are importat for helping us validate the status of our planet candidates and better characterize their host stars. +
+ + + + + \ No newline at end of file diff --git a/gem2caom2/tests/data/programs/GS-2020A-Q-321.xml b/gem2caom2/tests/data/programs/GS-2020A-Q-321.xml new file mode 100644 index 00000000..79433048 --- /dev/null +++ b/gem2caom2/tests/data/programs/GS-2020A-Q-321.xml @@ -0,0 +1,27 @@ + + + + + + + +Detail for Program: GS-2020A-Q-321 + + + +

Program: GS-2020A-Q-321

+ + + + + +
Title:A Closer look at Be star Multiplicity properties
PI:Saida Caballero-Nieves
Co-I(s): Steve Howell, Noel Richardson, Keefe Kamp, Rachel Matson, Nancy Evans, Minh Le, Nic Scott
+

Abstract

+
+We propose for a Gemini-S/Zorro Queue program to explore the multiplicity of main-sequence Be-type stars. The speckle camera will enables us to search for and detect faint companions at the diffraction limit of the telescope (~20 mas), while setting deep detection limits on companions (7-9 magnitudes are typical). These observations will constrain the wide binary properties of Be stars and will inform us about the role binary and triple systems play in the formation of these decretion disks around hot stars. Such programs have been successfully executed for O stars, but have been largely neglected for the slightly lower-mass B stars. In particular, Be stars are thought to be a product of a binary interaction and their multiplicity has been challenging to study due to the variable nature of Be stars and broad lines due to rapid rotation. This study will have further implications in understanding the evolution of these likely supernovae progenitors. +
+ + + + + \ No newline at end of file diff --git a/gem2caom2/tests/data/update_sc2.sh b/gem2caom2/tests/data/update_sc2.sh deleted file mode 100755 index 5d343ac7..00000000 --- a/gem2caom2/tests/data/update_sc2.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - -for instrument in GMOS NIRI GPI F2 GSAOI NICI -do - echo $instrument - for ii in $(ls ${instrument}/*.actual.xml) - do - echo $ii - caom2-repo update --cert $HOME/.ssl/cadcproxy.pem --resource-id ivo://cadc.nrc.ca/sc2repo "${ii}" - done -done diff --git a/gem2caom2/tests/data/votable/Alopeke.EO_466.xml b/gem2caom2/tests/data/votable/Alopeke.EO_466.xml new file mode 100644 index 00000000..26e5e53b --- /dev/null +++ b/gem2caom2/tests/data/votable/Alopeke.EO_466.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + Photometric system + + + Instrument + + + Observational facility + + + + + Transmission components + + + Reference wavelength. Defined as the same than the pivot wavelength. + + + Mean wavelength. Defined as integ[x*filter(x) dx]/integ[filter(x) dx] + + + Effective wavelength. Defined as integ[x*filter(x)*vega(x) dx]/integ[filter(x)*vega(x) dx] + + + Minimum filter wavelength. Defined as the first lambda value with a transmission at least 1% of maximum transmission + + + Maximum filter wavelength. Defined as the last lambda value with a transmission at least 1% of maximum transmission + + + Effective width. Defined as integ[x*filter(x) dx].\nEquivalent to the horizontal size of a rectangle with height equal to maximum transmission and with the same area that the one covered by the filter transmission curve. + + + Central wavelength. Defined as the central wavelength between the two points defining FWMH + + + Peak wavelength. Defined as sqrt{integ[x*filter(x) dx]/integ[filter(x) dx/x]} + + + Peak wavelength. Defined as the lambda value with larger transmission + + + Photon distribution based effective wavelength. Defined as integ[x^2*filter(x)*vega(x) dx]/integ[x*filter(x)*vega(x) dx] + + + Full width at half maximum. Defined as the difference between the two wavelengths for which filter transmission is half maximum + + + Sun flux + + + + + + + + + + + +
+
+
diff --git a/gem2caom2/tests/data/votable/Alopeke.EO_562.xml b/gem2caom2/tests/data/votable/Alopeke.EO_562.xml new file mode 100644 index 00000000..bd9f4102 --- /dev/null +++ b/gem2caom2/tests/data/votable/Alopeke.EO_562.xml @@ -0,0 +1,67 @@ + + + + + + + + + + + + Instrument + + + Observational facility + + + + + Transmission components + + + Reference wavelength. Defined as the same than the pivot wavelength. + + + Mean wavelength. Defined as integ[x*filter(x) dx]/integ[filter(x) dx] + + + Effective wavelength. Defined as integ[x*filter(x)*vega(x) dx]/integ[filter(x)*vega(x) dx] + + + Minimum filter wavelength. Defined as the first lambda value with a transmission at least 1% of maximum transmission + + + Maximum filter wavelength. Defined as the last lambda value with a transmission at least 1% of maximum transmission + + + Effective width. Defined as integ[x*filter(x) dx].\nEquivalent to the horizontal size of a rectangle with height equal to maximum transmission and with the same area that the one covered by the filter transmission curve. + + + Central wavelength. Defined as the central wavelength between the two points defining FWMH + + + Peak wavelength. Defined as sqrt{integ[x*filter(x) dx]/integ[filter(x) dx/x]} + + + Peak wavelength. Defined as the lambda value with larger transmission + + + Photon distribution based effective wavelength. Defined as integ[x^2*filter(x)*vega(x) dx]/integ[x*filter(x)*vega(x) dx] + + + Full width at half maximum. Defined as the difference between the two wavelengths for which filter transmission is half maximum + + + + + + + + + + + +
+
+
diff --git a/gem2caom2/tests/data/votable/Alopeke.EO_716.xml b/gem2caom2/tests/data/votable/Alopeke.EO_716.xml new file mode 100644 index 00000000..ac88dfff --- /dev/null +++ b/gem2caom2/tests/data/votable/Alopeke.EO_716.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + Photometric system + + + Instrument + + + Observational facility + + + + + Transmission components + + + Reference wavelength. Defined as the same than the pivot wavelength. + + + Mean wavelength. Defined as integ[x*filter(x) dx]/integ[filter(x) dx] + + + Effective wavelength. Defined as integ[x*filter(x)*vega(x) dx]/integ[filter(x)*vega(x) dx] + + + Minimum filter wavelength. Defined as the first lambda value with a transmission at least 1% of maximum transmission + + + Maximum filter wavelength. Defined as the last lambda value with a transmission at least 1% of maximum transmission + + + Effective width. Defined as integ[x*filter(x) dx].\nEquivalent to the horizontal size of a rectangle with height equal to maximum transmission and with the same area that the one covered by the filter transmission curve. + + + Central wavelength. Defined as the central wavelength between the two points defining FWMH + + + Peak wavelength. Defined as sqrt{integ[x*filter(x) dx]/integ[filter(x) dx/x]} + + + Peak wavelength. Defined as the lambda value with larger transmission + + + Photon distribution based effective wavelength. Defined as integ[x^2*filter(x)*vega(x) dx]/integ[x*filter(x)*vega(x) dx] + + + Full width at half maximum. Defined as the difference between the two wavelengths for which filter transmission is half maximum + + + Sun flux + + + + + + + + + + + +
+
+
diff --git a/gem2caom2/tests/data/votable/Alopeke.EO_832.xml b/gem2caom2/tests/data/votable/Alopeke.EO_832.xml new file mode 100644 index 00000000..34ffd6b2 --- /dev/null +++ b/gem2caom2/tests/data/votable/Alopeke.EO_832.xml @@ -0,0 +1,67 @@ + + + + + + + + + + + + Instrument + + + Observational facility + + + + + Transmission components + + + Reference wavelength. Defined as the same than the pivot wavelength. + + + Mean wavelength. Defined as integ[x*filter(x) dx]/integ[filter(x) dx] + + + Effective wavelength. Defined as integ[x*filter(x)*vega(x) dx]/integ[filter(x)*vega(x) dx] + + + Minimum filter wavelength. Defined as the first lambda value with a transmission at least 1% of maximum transmission + + + Maximum filter wavelength. Defined as the last lambda value with a transmission at least 1% of maximum transmission + + + Effective width. Defined as integ[x*filter(x) dx].\nEquivalent to the horizontal size of a rectangle with height equal to maximum transmission and with the same area that the one covered by the filter transmission curve. + + + Central wavelength. Defined as the central wavelength between the two points defining FWMH + + + Peak wavelength. Defined as sqrt{integ[x*filter(x) dx]/integ[filter(x) dx/x]} + + + Peak wavelength. Defined as the lambda value with larger transmission + + + Photon distribution based effective wavelength. Defined as integ[x^2*filter(x)*vega(x) dx]/integ[x*filter(x)*vega(x) dx] + + + Full width at half maximum. Defined as the difference between the two wavelengths for which filter transmission is half maximum + + + + + + + + + + + +
+
+
diff --git a/gem2caom2/tests/data/votable/Zorro.EO_466.xml b/gem2caom2/tests/data/votable/Zorro.EO_466.xml new file mode 100644 index 00000000..26e5e53b --- /dev/null +++ b/gem2caom2/tests/data/votable/Zorro.EO_466.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + Photometric system + + + Instrument + + + Observational facility + + + + + Transmission components + + + Reference wavelength. Defined as the same than the pivot wavelength. + + + Mean wavelength. Defined as integ[x*filter(x) dx]/integ[filter(x) dx] + + + Effective wavelength. Defined as integ[x*filter(x)*vega(x) dx]/integ[filter(x)*vega(x) dx] + + + Minimum filter wavelength. Defined as the first lambda value with a transmission at least 1% of maximum transmission + + + Maximum filter wavelength. Defined as the last lambda value with a transmission at least 1% of maximum transmission + + + Effective width. Defined as integ[x*filter(x) dx].\nEquivalent to the horizontal size of a rectangle with height equal to maximum transmission and with the same area that the one covered by the filter transmission curve. + + + Central wavelength. Defined as the central wavelength between the two points defining FWMH + + + Peak wavelength. Defined as sqrt{integ[x*filter(x) dx]/integ[filter(x) dx/x]} + + + Peak wavelength. Defined as the lambda value with larger transmission + + + Photon distribution based effective wavelength. Defined as integ[x^2*filter(x)*vega(x) dx]/integ[x*filter(x)*vega(x) dx] + + + Full width at half maximum. Defined as the difference between the two wavelengths for which filter transmission is half maximum + + + Sun flux + + + + + + + + + + + +
+
+
diff --git a/gem2caom2/tests/data/votable/Zorro.EO_562.xml b/gem2caom2/tests/data/votable/Zorro.EO_562.xml new file mode 100644 index 00000000..2ba91999 --- /dev/null +++ b/gem2caom2/tests/data/votable/Zorro.EO_562.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + Photometric system + + + Instrument + + + Observational facility + + + + + Transmission components + + + Reference wavelength. Defined as the same than the pivot wavelength. + + + Mean wavelength. Defined as integ[x*filter(x) dx]/integ[filter(x) dx] + + + Effective wavelength. Defined as integ[x*filter(x)*vega(x) dx]/integ[filter(x)*vega(x) dx] + + + Minimum filter wavelength. Defined as the first lambda value with a transmission at least 1% of maximum transmission + + + Maximum filter wavelength. Defined as the last lambda value with a transmission at least 1% of maximum transmission + + + Effective width. Defined as integ[x*filter(x) dx].\nEquivalent to the horizontal size of a rectangle with height equal to maximum transmission and with the same area that the one covered by the filter transmission curve. + + + Central wavelength. Defined as the central wavelength between the two points defining FWMH + + + Peak wavelength. Defined as sqrt{integ[x*filter(x) dx]/integ[filter(x) dx/x]} + + + Peak wavelength. Defined as the lambda value with larger transmission + + + Photon distribution based effective wavelength. Defined as integ[x^2*filter(x)*vega(x) dx]/integ[x*filter(x)*vega(x) dx] + + + Full width at half maximum. Defined as the difference between the two wavelengths for which filter transmission is half maximum + + + Sun flux + + + + + + + + + + + +
+
+
diff --git a/gem2caom2/tests/data/votable/Zorro.EO_716.xml b/gem2caom2/tests/data/votable/Zorro.EO_716.xml new file mode 100644 index 00000000..ac88dfff --- /dev/null +++ b/gem2caom2/tests/data/votable/Zorro.EO_716.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + Photometric system + + + Instrument + + + Observational facility + + + + + Transmission components + + + Reference wavelength. Defined as the same than the pivot wavelength. + + + Mean wavelength. Defined as integ[x*filter(x) dx]/integ[filter(x) dx] + + + Effective wavelength. Defined as integ[x*filter(x)*vega(x) dx]/integ[filter(x)*vega(x) dx] + + + Minimum filter wavelength. Defined as the first lambda value with a transmission at least 1% of maximum transmission + + + Maximum filter wavelength. Defined as the last lambda value with a transmission at least 1% of maximum transmission + + + Effective width. Defined as integ[x*filter(x) dx].\nEquivalent to the horizontal size of a rectangle with height equal to maximum transmission and with the same area that the one covered by the filter transmission curve. + + + Central wavelength. Defined as the central wavelength between the two points defining FWMH + + + Peak wavelength. Defined as sqrt{integ[x*filter(x) dx]/integ[filter(x) dx/x]} + + + Peak wavelength. Defined as the lambda value with larger transmission + + + Photon distribution based effective wavelength. Defined as integ[x^2*filter(x)*vega(x) dx]/integ[x*filter(x)*vega(x) dx] + + + Full width at half maximum. Defined as the difference between the two wavelengths for which filter transmission is half maximum + + + Sun flux + + + + + + + + + + + +
+
+
diff --git a/gem2caom2/tests/data/votable/Zorro.EO_832.xml b/gem2caom2/tests/data/votable/Zorro.EO_832.xml new file mode 100644 index 00000000..9c03b1a9 --- /dev/null +++ b/gem2caom2/tests/data/votable/Zorro.EO_832.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + Photometric system + + + Instrument + + + Observational facility + + + + + Transmission components + + + Reference wavelength. Defined as the same than the pivot wavelength. + + + Mean wavelength. Defined as integ[x*filter(x) dx]/integ[filter(x) dx] + + + Effective wavelength. Defined as integ[x*filter(x)*vega(x) dx]/integ[filter(x)*vega(x) dx] + + + Minimum filter wavelength. Defined as the first lambda value with a transmission at least 1% of maximum transmission + + + Maximum filter wavelength. Defined as the last lambda value with a transmission at least 1% of maximum transmission + + + Effective width. Defined as integ[x*filter(x) dx].\nEquivalent to the horizontal size of a rectangle with height equal to maximum transmission and with the same area that the one covered by the filter transmission curve. + + + Central wavelength. Defined as the central wavelength between the two points defining FWMH + + + Peak wavelength. Defined as sqrt{integ[x*filter(x) dx]/integ[filter(x) dx/x]} + + + Peak wavelength. Defined as the lambda value with larger transmission + + + Photon distribution based effective wavelength. Defined as integ[x^2*filter(x)*vega(x) dx]/integ[x*filter(x)*vega(x) dx] + + + Full width at half maximum. Defined as the difference between the two wavelengths for which filter transmission is half maximum + + + Sun flux + + + + + + + + + + + +
+
+
diff --git a/gem2caom2/tests/data/votable/Zorro.i_sdss.xml b/gem2caom2/tests/data/votable/Zorro.i_sdss.xml new file mode 100644 index 00000000..07807773 --- /dev/null +++ b/gem2caom2/tests/data/votable/Zorro.i_sdss.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + Photometric system + + + Instrument + + + Observational facility + + + + + Transmission components + + + Reference wavelength. Defined as the same than the pivot wavelength. + + + Mean wavelength. Defined as integ[x*filter(x) dx]/integ[filter(x) dx] + + + Effective wavelength. Defined as integ[x*filter(x)*vega(x) dx]/integ[filter(x)*vega(x) dx] + + + Minimum filter wavelength. Defined as the first lambda value with a transmission at least 1% of maximum transmission + + + Maximum filter wavelength. Defined as the last lambda value with a transmission at least 1% of maximum transmission + + + Effective width. Defined as integ[x*filter(x) dx].\nEquivalent to the horizontal size of a rectangle with height equal to maximum transmission and with the same area that the one covered by the filter transmission curve. + + + Central wavelength. Defined as the central wavelength between the two points defining FWMH + + + Peak wavelength. Defined as sqrt{integ[x*filter(x) dx]/integ[filter(x) dx/x]} + + + Peak wavelength. Defined as the lambda value with larger transmission + + + Photon distribution based effective wavelength. Defined as integ[x^2*filter(x)*vega(x) dx]/integ[x*filter(x)*vega(x) dx] + + + Full width at half maximum. Defined as the difference between the two wavelengths for which filter transmission is half maximum + + + Sun flux + + + + + + + + + + + +
+
+
diff --git a/gem2caom2/tests/data/votable/Zorro.u_sdss.xml b/gem2caom2/tests/data/votable/Zorro.u_sdss.xml new file mode 100644 index 00000000..54513fa0 --- /dev/null +++ b/gem2caom2/tests/data/votable/Zorro.u_sdss.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + Photometric system + + + Instrument + + + Observational facility + + + + + Transmission components + + + Reference wavelength. Defined as the same than the pivot wavelength. + + + Mean wavelength. Defined as integ[x*filter(x) dx]/integ[filter(x) dx] + + + Effective wavelength. Defined as integ[x*filter(x)*vega(x) dx]/integ[filter(x)*vega(x) dx] + + + Minimum filter wavelength. Defined as the first lambda value with a transmission at least 1% of maximum transmission + + + Maximum filter wavelength. Defined as the last lambda value with a transmission at least 1% of maximum transmission + + + Effective width. Defined as integ[x*filter(x) dx].\nEquivalent to the horizontal size of a rectangle with height equal to maximum transmission and with the same area that the one covered by the filter transmission curve. + + + Central wavelength. Defined as the central wavelength between the two points defining FWMH + + + Peak wavelength. Defined as sqrt{integ[x*filter(x) dx]/integ[filter(x) dx/x]} + + + Peak wavelength. Defined as the lambda value with larger transmission + + + Photon distribution based effective wavelength. Defined as integ[x^2*filter(x)*vega(x) dx]/integ[x*filter(x)*vega(x) dx] + + + Full width at half maximum. Defined as the difference between the two wavelengths for which filter transmission is half maximum + + + Sun flux + + + + + + + + + + + +
+
+
diff --git a/gem2caom2/tests/gem_mocks.py b/gem2caom2/tests/gem_mocks.py index 3e37f4a6..320af15a 100644 --- a/gem2caom2/tests/gem_mocks.py +++ b/gem2caom2/tests/gem_mocks.py @@ -418,7 +418,7 @@ 'GS-CAL20141226'], 'N20070819S0339_dark': ['GN-2007B-Q-107-150-004-DARK', em.Inst.GMOS, 'GN-2007B-Q-107'], - 'N20110927S0170_fringe': ['GN-CAL20110927-900-170-FRINGE', em.Inst.GMOS, + 'N20110927S0170_fringe': ['GN-CAL20110927-900-170', em.Inst.GMOS, 'GN-CAL20110927'], 'N20120320S0328_stack_fringe': ['GN-CAL20120320-900-328-STACK-FRINGE', em.Inst.GMOS, 'GN-CAL20120320'], @@ -433,7 +433,7 @@ 'N20160403S0236_flat_pasted': ['GN-CAL20160404-7-017-FLAT-PASTED', em.Inst.GMOS, 'GN-CAL20160404'], 'S20120922S0406': ['GS-2012B-Q-1-32-002', em.Inst.GMOS, 'GS-2012B-Q-1'], - 'S20131007S0067_fringe': ['GS-CAL20131007-900-067-FRINGE', em.Inst.GMOS, + 'S20131007S0067_fringe': ['GS-CAL20131007-900-067', em.Inst.GMOS, 'GS-CAL20131007'], 'S20140124S0039_dark': ['GS-2013B-Q-16-277-019-DARK', em.Inst.F2, 'GS-2013B-Q-16'], diff --git a/gem2caom2/tests/test_composable.py b/gem2caom2/tests/test_composable.py index 9bc5d64b..042ff362 100644 --- a/gem2caom2/tests/test_composable.py +++ b/gem2caom2/tests/test_composable.py @@ -82,7 +82,7 @@ from caom2 import SimpleObservation, Algorithm from caom2pipe import execute_composable as ec from caom2pipe import manage_composable as mc -from gem2caom2 import composable, main_app, gem_name +from gem2caom2 import composable, main_app, gem_name, external_metadata STATE_FILE = '/usr/src/app/state.yml' TODO_FILE = '/usr/src/app/todo.txt' @@ -127,7 +127,9 @@ def test_run_by_tap_query(client_mock): @patch('caom2pipe.execute_composable.OrganizeExecutesWithDoOne.do_one') @patch('gem2caom2.external_metadata.CadcTapClient') -def test_run(client_mock, run_mock): +@patch('gem2caom2.builder.get_instrument') +def test_run(inst_mock, client_mock, run_mock): + inst_mock.return_value = external_metadata.Inst.CIRPASS test_obs_id = 'GS-2004A-Q-6-27-0255' test_f_id = '2004may19_0255' test_f_name = f'{test_f_id}.fits' @@ -159,7 +161,9 @@ def test_run(client_mock, run_mock): @patch('caom2pipe.execute_composable.OrganizeExecutesWithDoOne.do_one') @patch('gem2caom2.external_metadata.CadcTapClient') -def test_run_errors(client_mock, run_mock): +@patch('gem2caom2.builder.get_instrument') +def test_run_errors(inst_mock, client_mock, run_mock): + inst_mock.return_value = external_metadata.Inst.GMOSS test_obs_id = 'TX20131117_flt.3002' test_f_id = 'TX20131117_flt.3002' test_f_name = f'{test_f_id}.fits' diff --git a/gem2caom2/tests/test_gem_obs_file_relationship.py b/gem2caom2/tests/test_gem_obs_file_relationship.py index 9365ebe0..2dbecc77 100644 --- a/gem2caom2/tests/test_gem_obs_file_relationship.py +++ b/gem2caom2/tests/test_gem_obs_file_relationship.py @@ -193,7 +193,8 @@ def test_is_processed(): 'P2003JAN14_0148_DARK': True, 'P2002FEB03_0045_DARK10SEC': True, 'P2002DEC02_0161_SUB': True, - 'P2002DEC02_0075_SUB.0001': True} + 'P2002DEC02_0075_SUB.0001': True, + 'N20191219A0004b': False} for ii in tests: assert obs_file_relationship.is_processed(ii) == tests[ii], \ 'failed {}'.format(ii) @@ -256,10 +257,15 @@ def test_repair_data_label_247(): fid4 = 'S20161227S0051' dl4 = ['GS-CAL20161227-5-001'] + # the processed that goes with the unprocessed + fid5 = 'N20110313S0188_fringe' + dl5 = ['GN-CAL20110313-900-188'] + d = {fid1: dl1, fid2: dl2, fid3: dl3, - fid4: dl4 + fid4: dl4, + fid5: dl5 } for key, value in d.items(): diff --git a/gem2caom2/tests/test_main_app.py b/gem2caom2/tests/test_main_app.py index 32ffe37f..260fef6e 100644 --- a/gem2caom2/tests/test_main_app.py +++ b/gem2caom2/tests/test_main_app.py @@ -95,7 +95,8 @@ def pytest_generate_tests(metafunc): em.Inst.MICHELLE, em.Inst.GRACES, em.Inst.NIFS, em.Inst.GNIRS, em.Inst.PHOENIX, em.Inst.FLAMINGOS, em.Inst.HRWFS, em.Inst.HOKUPAA, em.Inst.OSCIR, - em.Inst.BHROS, em.Inst.CIRPASS, em.Inst.TEXES, 'processed']: + em.Inst.BHROS, em.Inst.CIRPASS, em.Inst.TEXES, 'processed', + em.Inst.ALOPEKE]: walk_dir = _get_inst_name(ii) for root, dirs, files in os.walk( '{}/{}'.format(gem_mocks.TEST_DATA_DIR, walk_dir)): diff --git a/gem2caom2/tests/test_multi_plane.py b/gem2caom2/tests/test_multi_plane.py index 1bbd5304..fe93302f 100644 --- a/gem2caom2/tests/test_multi_plane.py +++ b/gem2caom2/tests/test_multi_plane.py @@ -94,7 +94,13 @@ 'N20150807G0044m'], 'GN-2012A-Q-124-1-003': ['N20120905S0122', 'N20120905S0122_arc'], 'GS-2006A-Q-60-11-001': ['S20060412S0056', 'rS20060412S0056'], - 'GN-2020A-Q-132-0-0': ['N20191219A0004b', 'N20191219A0004r'], + 'N20191219A0004': ['N20191219A0004b', 'N20191219A0004r'], + 'N20191219A0001': ['N20191219A0001b', 'N20191219A0001r'], + 'S20200316Z0308': ['S20200316Z0308b', 'S20200316Z0308r'], + 'S20190716Z0925': ['S20190716Z0925b', 'S20190716Z0925r'], + 'N20190313A0002': ['N20190313A0002b', 'N20190313A0002r'], + 'N20200215A0004': ['N20200215A0004b', 'N20200215A0004r'], + 'S20190912Z0264': ['S20190912Z0264b', 'S20190912Z0264r'], 'GS-2003B-Q-23-17-001': ['S20050916S0159', 'rS20050916S0159'] } diff --git a/gem2caom2/tests/test_storage_name.py b/gem2caom2/tests/test_storage_name.py index 93e67de7..ba30ced4 100644 --- a/gem2caom2/tests/test_storage_name.py +++ b/gem2caom2/tests/test_storage_name.py @@ -84,8 +84,7 @@ def test_storage_name(): mock_obs_id = 'GN-2013B-Q-28-150-002' test_sn = GemName(file_name='N20131203S0006i.fits.bz2', obs_id=mock_obs_id) - assert test_sn.file_uri == '{}:{}/N20131203S0006i.fits'.format(SCHEME, - ARCHIVE) + assert test_sn.file_uri == f'{SCHEME}:{ARCHIVE}/N20131203S0006i.fits' assert test_sn.file_name == 'N20131203S0006i.fits' assert test_sn.prev == 'N20131203S0006i.jpg' assert test_sn.thumb == 'N20131203S0006i_th.jpg' @@ -94,8 +93,7 @@ def test_storage_name(): test_sn = GemName(file_name='S20060920S0137.jpg', obs_id=mock_obs_id) - assert test_sn.file_uri == '{}:{}/S20060920S0137.jpg'.format(SCHEME, - ARCHIVE) + assert test_sn.file_uri == f'{SCHEME}:{ARCHIVE}/S20060920S0137.jpg' assert test_sn.file_name == 'S20060920S0137.jpg' assert test_sn.prev == 'S20060920S0137.jpg' assert test_sn.thumb == 'S20060920S0137_th.jpg' @@ -103,7 +101,16 @@ def test_storage_name(): test_sn = GemName(fname_on_disk='N20100104S0208.fits.header') assert test_sn.obs_id == 'GN-2009B-Q-121-15-001', 'wrong obs id' - assert test_sn.file_uri == '{}:{}/N20100104S0208.fits'.format(SCHEME, - ARCHIVE) + assert test_sn.file_uri == f'{SCHEME}:{ARCHIVE}/N20100104S0208.fits' assert test_sn.external_urls == 'https://archive.gemini.edu/fullheader/' \ 'N20100104S0208.fits' + + test_sn = GemName(fname_on_disk='N20200810A0490r.fits', + instrument=em.Inst.ALOPEKE) + assert test_sn.obs_id == 'N20200810A0490', 'wrong obs id' + assert test_sn.product_id == 'N20200810A0490r', 'wrong product id' + assert test_sn.file_uri == f'{SCHEME}:{ARCHIVE}/N20200810A0490r.fits' + assert test_sn.external_urls == 'https://archive.gemini.edu/fullheader/' \ + 'N20200810A0490r.fits' + assert test_sn.lineage == f'{test_sn.obs_id}r/{SCHEME}:{ARCHIVE}/' \ + f'{test_sn.file_id}.fits', 'wrong lineage'