================================== Processing infrastructure elements ================================== REFIMEVE subsystems are represented as :class:`Workflow ` class objects. Each one of them contains one or several :class:`Observable ` shown below. ------------------------------------ Processing an E2E Frequency Transfer ------------------------------------ ############################### From an Infrastructure instance ############################### First, instantiate an :class:`Infrastructure ` object. .. doctest:: >>> import palantir.structures as structures >>> startDate = '231122' >>> endDate = '231123' >>> startTime = '000000' >>> endTime = '100000' >>> infraID = 1 >>> REFIMEVE = structures.Infrastructure(infraID, startDate, endDate, startTime, endTime, 'UTC') Then, retrieve a processed :class:`E2E_Freelink ` .. doctest:: >>> STH2_ID = 1 >>> transfer = REFIMEVE.processE2E(STH2_ID) >>> transfer.label 'SYRTE-TH2' >>> transfer.e2e 'E2E' >>> transfer.freelink 'Freelink' ############################# From an E2E_Freelink instance ############################# Let's instantiate an :class:`E2E_Freelink ` object and process it. .. doctest:: >>> import palantir.links as links >>> startDate = '231119' >>> endDate = '231120' >>> startTime = '000000' >>> endTime = '000000' >>> STH2_ID = 1 >>> transfer = links.E2E_Freelink(STH2_ID, startDate, endDate, startTime, endTime, 'UTC') >>> transfer.process() >>> transfer.label 'SYRTE-TH2' >>> transfer.e2e 'E2E' >>> transfer.freelink 'Freelink' --------------------------------------- Processing a Two-Way Frequency Transfer --------------------------------------- ############################### From an Infrastructure instance ############################### First, instantiate an :class:`Infrastructure ` object. .. doctest:: >>> import palantir.structures as structures >>> startDate = '231122' >>> endDate = '231123' >>> startTime = '000000' >>> endTime = '100000' >>> infraID = 1 >>> REFIMEVE = structures.Infrastructure(infraID, startDate, endDate, startTime, endTime, 'UTC') Then, retrieve a processed :class:`TwoWay ` .. doctest:: >>> tw_transfer = REFIMEVE.processTwoWay(6) >>> tw_transfer.label 'LPL_NPL' >>> tw_transfer.comparison 'Comparison' >>> tw_transfer.freelink 'Freelink' ############################# From a Two-Way instance ############################# Let's instantiate a :class:`TwoWay ` object and process it. .. doctest:: >>> import palantir.links as links >>> startDate = '231119' >>> endDate = '231120' >>> startTime = '000000' >>> endTime = '000000' >>> PARIS_LONDON_ID = 6 >>> tw_transfer = links.TwoWay(PARIS_LONDON_ID, startDate, endDate, startTime, endTime, 'UTC') >>> tw_transfer.process() >>> tw_transfer.label 'LPL_NPL' >>> tw_transfer.comparison 'Comparison' >>> tw_transfer.freelink 'Freelink' --------------------------------------- Processing a White-Rabbit Time Transfer --------------------------------------- ############################### From an Infrastructure instance ############################### First, instantiate an :class:`Infrastructure ` object. .. doctest:: >>> import palantir.structures as structures >>> startDate = '231122' >>> endDate = '231123' >>> startTime = '000000' >>> endTime = '100000' >>> infraID = 1 >>> REFIMEVE = structures.Infrastructure(infraID, startDate, endDate, startTime, endTime, 'UTC') Then, retrieve a processed :class:`Module `. .. doctest:: >>> M00_ID = 12 >>> wr_time_transfer = REFIMEVE.processModule(M00_ID) >>> wr_time_transfer.label 'M00' >>> wr_time_transfer.clock_out 'Clock Out' >>> wr_time_transfer.pps_out 'PPS Out' ###################### From a Module instance ###################### Let's instantiate a :class:`Module ` object and process it. The type of module can be found in :const:`palantir.settings.MODULE_TYPES`. .. doctest:: >>> import palantir.modules as modules >>> import palantir.settings as settings >>> startDate = '231119' >>> endDate = '231120' >>> startTime = '000000' >>> endTime = '000000' >>> M00_ID = 12 >>> m00 = modules.Module.constructor(M00_ID, startDate, endDate, startTime, endTime, 'UTC', module_type=settings.WR_NODE) >>> m00.process() >>> m00.label 'M00' >>> m00.clock_out 'Clock Out' >>> m00.pps_out 'PPS Out' ------------------------------ Processing a NTP Time Transfer ------------------------------ ############################### From an Infrastructure instance ############################### First, instantiate an :class:`Infrastructure ` object. .. doctest:: >>> import palantir.structures as structures >>> startDate = '231122' >>> endDate = '231123' >>> startTime = '000000' >>> endTime = '100000' >>> infraID = 1 >>> REFIMEVE = structures.Infrastructure(infraID, startDate, endDate, startTime, endTime, 'UTC') Then, retrieve a processed :class:`Module `. .. doctest:: >>> r530_ID = 36 >>> server_local_clock = REFIMEVE.processModule(r530_ID) >>> server_local_clock.offset >>> server_local_clock.delay ###################### From a Module instance ###################### Let's instantiate a :class:`Module ` object and process it. The type of module can be found in :const:`palantir.settings.MODULE_TYPES`. .. doctest:: >>> import palantir.modules as modules >>> import palantir.settings as settings >>> startDate = '231119' >>> endDate = '231120' >>> startTime = '000000' >>> endTime = '000000' >>> r530_ID = 35 >>> r530 = modules.Module.constructor(r530_ID, startDate, endDate, startTime, endTime, 'UTC', module_type=settings.MLC) >>> r530.process() >>> r530.label >>> r530.offset >>> r530.delay -------------------- Processing a Counter -------------------- ############################### From an Infrastructure instance ############################### First, instantiate an :class:`Infrastructure ` object. .. doctest:: >>> import palantir.structures as structures >>> startDate = '231122' >>> endDate = '231123' >>> startTime = '000000' >>> endTime = '100000' >>> infraID = 1 >>> REFIMEVE = structures.Infrastructure(infraID, startDate, endDate, startTime, endTime, 'UTC') Then, retrieve a processed :class:`Counter `. .. doctest:: >>> KKSYRTE_13_ID = 1 >>> counter = REFIMEVE.processMeasuringInstrument(KKSYRTE_13_ID) >>> counter.label 'KKSYRTE_13 Counter' >>> counter.timestamps_diff 'Timestamps Diff' >>> counter.timestamps_drift 'Timestamps Drift' >>> counter.reference 'Reference' >>> counter.synchronization 'Synchronization' ################################### From a MeasuringInstrument instance ################################### Let's instantiate a :class:`Counter ` object and process it. The type of measuring instrument can be found in :const:`palantir.settings.INSTRUMENT_TYPES`. .. doctest:: >>> import palantir.measuring_instruments as measuring_instruments >>> import palantir.settings as settings >>> startDate = '231119' >>> endDate = '231120' >>> startTime = '000000' >>> endTime = '000000' >>> KKSYRTE_13_ID = 1 >>> counter = measuring_instruments.MeasuringInstrument.constructor(KKSYRTE_13_ID, startDate, endDate, startTime, endTime, 'UTC', instrument_type=settings.COUNTER) >>> counter.process() >>> counter.label >>> counter.timestamps_diff 'Timestamps Diff' >>> counter.timestamps_drift 'Timestamps Drift' >>> counter.reference 'Reference' >>> counter.synchronization 'Synchronization'