Processing infrastructure elements

REFIMEVE subsystems are represented as Workflow class objects. Each one of them contains one or several Observable shown below.

Processing an E2E Frequency Transfer

From an Infrastructure instance

First, instantiate an Infrastructure object.

>>> 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 E2E_Freelink

>>> STH2_ID = 1
>>> transfer = REFIMEVE.processE2E(STH2_ID)

>>> transfer.label
'SYRTE-TH2'
>>> transfer.e2e
'E2E'
>>> transfer.freelink
'Freelink'

Processing a Two-Way Frequency Transfer

From an Infrastructure instance

First, instantiate an Infrastructure object.

>>> 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 TwoWay

>>> 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 TwoWay object and process it.

>>> 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 Infrastructure object.

>>> 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 Module.

>>> 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 Module object and process it.

The type of module can be found in palantir.settings.MODULE_TYPES.

>>> 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 Infrastructure object.

>>> 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 Module.

>>> 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 Module object and process it.

The type of module can be found in palantir.settings.MODULE_TYPES.

>>> 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 Infrastructure object.

>>> 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 Counter.

>>> 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 Counter object and process it.

The type of measuring instrument can be found in palantir.settings.INSTRUMENT_TYPES.

>>> 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'