@almaobservatory/model 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"almaobservatory-model.mjs","sources":["../../../projects/model/src/lib/apdm/calibration-setup-parameters.ts","../../../projects/model/src/lib/apdm/field.ts","../../../projects/model/src/lib/apdm/rectangle.ts","../../../projects/model/src/lib/apdm/target-parameters.ts","../../../projects/model/src/lib/apdm/technical-justification.ts","../../../projects/model/src/lib/apdm/science-goal.ts","../../../projects/model/src/lib/apdm/science-spectral-window.ts","../../../projects/model/src/lib/apdm/spectral-scan.ts","../../../projects/model/src/lib/apdm/spectral-setup-parameters.ts","../../../projects/model/src/lib/apdm/temporal-parameters.ts","../../../projects/model/src/lib/apdm/visit-constraint.ts","../../../projects/model/src/lib/app/application-status.ts","../../../projects/model/src/lib/app/authentication-status.ts","../../../projects/model/src/lib/app/list-item-status.ts","../../../projects/model/src/lib/app/project-status.ts","../../../projects/model/src/lib/app/project-type-code.ts","../../../projects/model/src/lib/app/proposal-status.ts","../../../projects/model/src/lib/app/attachment-status.ts","../../../projects/model/src/lib/app/science-goals-status.ts","../../../projects/model/src/lib/app/submission-status.ts","../../../projects/model/src/lib/app/validation-status.ts","../../../projects/model/src/lib/app/receiver-bands.ts","../../../projects/model/src/lib/app/time-estimates-status.ts","../../../projects/model/src/lib/app/control-and-performance-status.ts","../../../projects/model/src/lib/app/calibration-status.ts","../../../projects/model/src/lib/app/sensitivity-equivalence-values-status.ts","../../../projects/model/src/lib/app/sensitivity-frequency-measures-status.ts","../../../projects/model/src/lib/app/spectral-scan-tunings-status.ts","../../../projects/model/src/lib/app/user-preferences-status.ts","../../../projects/model/src/lib/app/pointings.status.ts","../../../projects/model/src/lib/app/spectral-viewer-status.ts","../../../projects/model/src/lib/app/cycle-info-status.ts","../../../projects/model/src/lib/app/configuration-tables-status.ts","../../../projects/model/src/lib/app/proposal.types.ts","../../../projects/model/src/lib/app/technical-justification-status.ts","../../../projects/model/src/lib/authorization/user.ts","../../../projects/model/src/lib/list-item/list-item.ts","../../../projects/model/src/lib/joint-proposals/joint-proposals.ts","../../../projects/model/src/lib/concurrent-access/token.ts","../../../projects/model/src/lib/concurrent-access/token.service.ts","../../../projects/model/src/lib/concurrent-access/session.service.ts","../../../projects/model/src/lib/concurrent-access/rx-stomp.service.ts","../../../projects/model/src/lib/concurrent-access/rx-stomp.config.ts","../../../projects/model/src/lib/concurrent-access/rx-stomp-service-factory.ts","../../../projects/model/src/public-api.ts","../../../projects/model/src/almaobservatory-model.ts"],"sourcesContent":["import {CalibrationTargetParameters} from './calibration-target-parameters';\r\nimport {QuerySource} from './query-source';\r\n\r\nexport interface CalibrationSetupParameters {\r\n isDGCOverride?: boolean;\r\n calibrationTargetParameters?: CalibrationTargetParameters[];\r\n querySources?: QuerySource[];\r\n selection?: string;\r\n positionalAccuracy?: string;\r\n forcedDGCStrategy?: string;\r\n}\r\n\r\nexport const buildCalibrationTargetParameter = (intendedUse, longitude, latitude, system = 'ICRS') => ({\r\n sourceName: '',\r\n sourceCoordinates: {\r\n longitude: {\r\n value: longitude,\r\n unit: 'deg'\r\n },\r\n latitude: {\r\n value: latitude,\r\n unit: 'deg'\r\n },\r\n fieldName: 'None',\r\n system: system,\r\n type: 'ABSOLUTE'\r\n },\r\n sourceVelocity: {\r\n centerVelocity: {\r\n value: 0,\r\n unit: 'km/s'\r\n },\r\n referenceSystem: 'lsrk',\r\n dopplerCalcType: 'RADIO'\r\n },\r\n index: 0,\r\n nonSiderealMotion: true,\r\n calibrationTargetProperties: [],\r\n intendedUse,\r\n solarSystemObject: 'Uranus'\r\n});\r\n","import {SkyCoordinates} from './sky-coordinates';\r\n\r\nexport interface Field {\r\n name?: string;\r\n centre?: SkyCoordinates;\r\n '@type'?: string;\r\n}\r\n\r\nexport const buildField = (system: string = 'ICRS'): Field => ({\r\n '@type': 'SinglePointT',\r\n name: '',\r\n centre: {\r\n longitude: {\r\n value: 0,\r\n unit: 'arcsec'\r\n },\r\n latitude: {\r\n value: 0,\r\n unit: 'arcsec'\r\n },\r\n fieldName: 'None',\r\n system: system,\r\n type: 'RELATIVE'\r\n }\r\n});\r\n","import {Field} from './field';\r\nimport {UserAngle} from './user-angle';\r\nimport {Frequency} from './frequency';\r\nimport {Angle} from './angle';\r\n\r\nexport interface Rectangle extends Field {\r\n spacing: UserAngle;\r\n referenceFrequency: Frequency;\r\n short: Angle;\r\n long: Angle;\r\n palong: Angle;\r\n}\r\n\r\n// possibly you want to use astro.buildRectangleWithNyquistParameters() instead, which populates the rectangle with Nyquist spacing?\r\nexport const buildRectangle = (referenceFrequency: Frequency = undefined, system: string = 'ICRS'): Rectangle => ({\r\n '@type': 'RectangleT',\r\n centre: {\r\n fieldName: 'None',\r\n latitude: {value: 0, unit: 'arcsec'},\r\n longitude: {value: 0, unit: 'arcsec'},\r\n system: system,\r\n type: 'RELATIVE'\r\n },\r\n long: {value: 0.0, unit: 'arcsec'},\r\n name: '',\r\n palong: {value: 0, unit: 'deg'},\r\n referenceFrequency: referenceFrequency ?? {value: 0, unit: 'GHz'},\r\n short: {value: 0.0, unit: 'arcsec'},\r\n spacing: {value: 0.0, unit: 'deg', userUnit: 'fraction of main beam'}\r\n});\r\n","import {AbstractTargetParameters} from './abstract-target-parameters';\r\nimport {buildField, Field} from './field';\r\nimport {Rectangle} from './rectangle';\r\n\r\nexport interface TargetParameters extends AbstractTargetParameters {\r\n isMosaic?: boolean;\r\n circlesAndEllipsesAndPolygons?: Field[] | Rectangle[];\r\n type?: string;\r\n}\r\n\r\nexport const buildTargetParameters = (circlesAndEllipsesAndPolygons: Field[] | Rectangle[] = [buildField()], index: number = 0): TargetParameters => ({\r\n expectedProperties: {\r\n expectedPeakFluxDensity: {\r\n value: 0,\r\n unit: 'Jy'\r\n },\r\n desiredPolarizationPercentage: 0,\r\n expectedLineWidth: {\r\n value: 0,\r\n unit: 'GHz',\r\n userUnit: 'km/s'\r\n },\r\n referenceFrequency: {\r\n value: 0,\r\n unit: 'GHz'\r\n },\r\n expectedPeakLineFluxDensity: {\r\n value: 0,\r\n unit: 'Jy'\r\n },\r\n expectedSpectralDynamicRange: 0,\r\n expectedImageDynamicRange: 0,\r\n desiredLinePolarizationPercentage: 0,\r\n desiredCircularPolarizationPercentage: 0,\r\n desiredLineCircularPolarizationPercentage: 0,\r\n isPassivePhasing: false,\r\n solarActivityLevel: 'ActiveSun'\r\n },\r\n circlesAndEllipsesAndPolygons,\r\n index,\r\n isMosaic: circlesAndEllipsesAndPolygons?.length > 1,\r\n // in current implementation it never becomes true (circlesAndEllipsesAndPolygons never has multiple elements) but we should be consistent here\r\n // TODO unify isMosaic logic (for example to move calculateIsMosaic method)\r\n nonSiderealMotion: false,\r\n parallax: {\r\n value: 0,\r\n unit: 'mas'\r\n },\r\n pmDec: {\r\n value: 0,\r\n unit: 'mas/yr'\r\n },\r\n pmRA: {\r\n value: 0,\r\n unit: 'mas/yr'\r\n },\r\n sdReferencePositions: [],\r\n solarMappingDiameter: {\r\n value: 0,\r\n unit: 'deg'\r\n },\r\n solarSystemObject: 'Unspecified',\r\n solarMapping: 'FullSolarDisc',\r\n solarMappingPattern: 'DoubleCircle',\r\n sourceCoordinates: {\r\n longitude: {\r\n value: 0,\r\n unit: 'deg'\r\n },\r\n latitude: {\r\n value: 0,\r\n unit: 'deg'\r\n },\r\n fieldName: 'None',\r\n system: 'ICRS',\r\n type: 'ABSOLUTE'\r\n },\r\n sourceEphemeris: '',\r\n sourceName: '',\r\n sourceVelocity: {\r\n referenceSystem: 'lsrk',\r\n dopplerCalcType: 'RADIO',\r\n centerVelocity: {\r\n unit: 'km/s',\r\n value: 0\r\n }\r\n },\r\n type: 'F_MultiplePoints',\r\n '@type': 'TargetParametersT'\r\n});\r\n","export interface TechnicalJustification {\r\n justificationText: string;\r\n justificationKey: string;\r\n}\r\n\r\nexport const buildTechnicalJustifications = (): TechnicalJustification[] => [\r\n {\r\n justificationKey: 'ED_SENSITIVITY',\r\n justificationText: ''\r\n },\r\n {\r\n justificationKey: 'ED_ANGULAR_RESOLUTION',\r\n justificationText: ''\r\n },\r\n {\r\n justificationKey: 'ED_CORRELATOR',\r\n justificationText: ''\r\n },\r\n {\r\n justificationKey: 'ED_ADDITIONAL_TIME',\r\n justificationText: ''\r\n }\r\n];\r\n","import {AbstractScienceGoal} from './abstract-science-goal';\r\nimport {CalibrationSetupParameters} from './calibration-setup-parameters';\r\nimport {KeywordValue} from './keywordValue';\r\nimport {PerformanceParameters} from './performance-parameters';\r\nimport {SpectralSetupParameters} from './spectral-setup-parameters';\r\nimport {buildTargetParameters, TargetParameters} from './target-parameters';\r\nimport {buildTechnicalJustifications, TechnicalJustification} from './technical-justification';\r\nimport {Time} from './time';\r\nimport {buildField} from './field';\r\n\r\nexport interface ScienceGoal extends AbstractScienceGoal {\r\n id?: number;\r\n estimatedTotalTime?: Time;\r\n userPriority?: number;\r\n requiredReceiverBands?: string[];\r\n estimated12MTime?: Time;\r\n estimated7MTime?: Time;\r\n estimatedTPTime?: Time;\r\n estimatedACATime?: Time;\r\n isDescoped?: boolean;\r\n isResubmission?: boolean;\r\n resubmissionOfOusStatusUid?: string;\r\n resubmissionOfName?: string;\r\n expertParameters?: KeywordValue[];\r\n calibrationSetupParameters?: CalibrationSetupParameters;\r\n performanceParameters?: PerformanceParameters;\r\n spectralSetupParameters?: SpectralSetupParameters;\r\n targetParameters?: TargetParameters[];\r\n technicalJustifications?: TechnicalJustification[];\r\n mode?: string;\r\n '@type'?: string;\r\n}\r\n\r\nexport const buildScienceGoal = (): ScienceGoal => ({\r\n calibrationSetupParameters: {\r\n selection: 'system',\r\n positionalAccuracy: 'Standard',\r\n isDGCOverride: false,\r\n querySources: [],\r\n forcedDGCStrategy: 'NONE',\r\n calibrationTargetParameters: []\r\n },\r\n estimated12MTime: {\r\n value: 0,\r\n unit: 's'\r\n },\r\n estimated7MTime: {\r\n value: 0,\r\n unit: 's'\r\n },\r\n estimatedACATime: {\r\n value: 0,\r\n unit: 's'\r\n },\r\n estimatedTPTime: {\r\n value: 0,\r\n unit: 's'\r\n },\r\n estimatedTotalTime: {\r\n value: 0,\r\n unit: 's'\r\n },\r\n isDescoped: false,\r\n isResubmission: false,\r\n mode: 'Standard',\r\n name: 'Science Goal',\r\n note: '',\r\n performanceParameters: {\r\n monitoringConstraints: [],\r\n temporalParameters: [],\r\n visitConstraints: [],\r\n acceptableAngularResolution: {\r\n value: 0,\r\n unit: 'arcsec',\r\n userUnit: 'arcsec'\r\n },\r\n desiredACASensitivity: {\r\n value: 0,\r\n unit: 'Jy',\r\n userUnit: 'Jy'\r\n },\r\n desiredAngularResolution: {\r\n value: 0,\r\n unit: 'arcsec',\r\n userUnit: 'arcsec'\r\n },\r\n desiredDynamicRange: 1.0,\r\n desiredLargestScale: {\r\n value: -1.0,\r\n unit: 'arcsec'\r\n },\r\n desiredSDSensitivity: {\r\n value: 0,\r\n unit: 'Jy',\r\n userUnit: 'Jy'\r\n },\r\n desiredSensitivity: {\r\n value: 0,\r\n unit: 'Jy',\r\n userUnit: 'Jy'\r\n },\r\n desiredSensitivityFrequencyMeasure: 'RepresentativeWindowResolution',\r\n desiredSensitivityReferenceFrequencyWidth: {\r\n value: 0,\r\n unit: 'GHz',\r\n userUnit: 'MHz'\r\n },\r\n desiredTPSensitivity: {\r\n value: 0,\r\n unit: 'Jy',\r\n userUnit: 'Jy'\r\n },\r\n desiredTime: {\r\n value: 0,\r\n unit: 'min'\r\n },\r\n isPointSource: false,\r\n isScheduleConstrained: false,\r\n isSimultaneous12And7: false,\r\n isTimeConstrained: false,\r\n needsMoreTime: false,\r\n representativeFrequency: {\r\n value: 0,\r\n unit: 'GHz'\r\n },\r\n resolutionOption: 'Range',\r\n timingConstraintsType: 'None',\r\n useACA: false,\r\n useTP: false\r\n },\r\n requiredReceiverBands: [],\r\n expertParameters: [],\r\n targetParameters: [buildTargetParameters([buildField()], -1)],\r\n spectralSetupParameters: {\r\n type: 'full',\r\n representativeFrequency: {\r\n value: 0,\r\n unit: 'GHz'\r\n },\r\n userRepresentativeFrequency: false,\r\n singleContinuumFrequency: {\r\n value: 0,\r\n unit: 'GHz'\r\n },\r\n advancedSpectralSetup: {\r\n fastMode: false,\r\n sideBandSeparation: false\r\n },\r\n polarisation: 'DOUBLE',\r\n overlaidSpectralLines: [],\r\n scienceSpectralWindowsAndSpectralScen: [],\r\n singleContinuumCorrelatorMode: 'lowRes'\r\n },\r\n technicalJustifications: buildTechnicalJustifications(),\r\n '@type': 'ScienceGoalT',\r\n userPriority: 0\r\n});\r\n","import {Frequency} from './frequency';\r\nimport {UserFrequency} from './user-frequency';\r\nimport {AbstractScienceSpectralWindow} from './abstract-science-spectral-window';\r\n\r\nexport interface ScienceSpectralWindow extends AbstractScienceSpectralWindow {\r\n transitionName?: string;\r\n centerFrequency?: Frequency;\r\n bandWidth?: UserFrequency;\r\n // NGOT-580 the representative frequency validator uses the representative window effectiveBandwidth, whereas the bandwidth field is nominal.\r\n effectiveBandWidth?: UserFrequency;\r\n spectralResolution?: UserFrequency;\r\n groupIndex?: number;\r\n isSkyFrequency?: boolean;\r\n splatalogId?: number;\r\n representativeWindow?: boolean;\r\n groupResourceUse?: string;\r\n}\r\n\r\n// TODO: define return type for buildScienceSpectralWindow\r\nexport const buildScienceSpectralWindow = (): any => ({\r\n groupIndex: 0,\r\n isSkyFrequency: false,\r\n splatalogId: 0,\r\n representativeWindow: false,\r\n groupResourceUse: 'FULL',\r\n index: 0,\r\n expectedSpectralLines: [],\r\n advancedWindowSetup: {\r\n smoothingFactor: 2,\r\n imageCentreFrequency: {\r\n value: 0,\r\n unit: 'GHz'\r\n },\r\n oversampling: false,\r\n addedSensitivity: false,\r\n useImage: false,\r\n useThis: true,\r\n smoothingFunction: 'HANNING'\r\n },\r\n centerFrequency: {\r\n value: 0,\r\n unit: 'GHz'\r\n },\r\n bandWidth: {\r\n value: 0,\r\n unit: 'MHz',\r\n userUnit: 'MHz'\r\n },\r\n effectiveBandWidth: {\r\n value: 0,\r\n unit: 'MHz',\r\n userUnit: 'MHz'\r\n },\r\n spectralResolution: {\r\n value: 0,\r\n unit: 'MHz',\r\n userUnit: 'GHz'\r\n },\r\n '@type': 'ScienceSpectralWindowT'\r\n});\r\n\r\nexport const buildScienceSpectralWindowForSolar = (): any => ({\r\n representativeFrequency: {\r\n value: 107,\r\n unit: 'GHz'\r\n },\r\n userRepresentativeFrequency: false,\r\n singleContinuumFrequency: {\r\n value: 100,\r\n unit: 'GHz'\r\n },\r\n scienceSpectralWindowsAndSpectralScen: [\r\n {\r\n groupIndex: 0,\r\n isSkyFrequency: true,\r\n splatalogId: 0,\r\n representativeWindow: false,\r\n groupResourceUse: 'FULL',\r\n index: 0,\r\n expectedSpectralLines: [],\r\n advancedWindowSetup: {\r\n useImage: false,\r\n displayImage: false,\r\n useThis: true,\r\n smoothingFactor: 1,\r\n smoothingFunction: 'HANNING',\r\n addedSensitivity: false,\r\n oversampling: false\r\n },\r\n centerFrequency: {\r\n value: 93,\r\n unit: 'GHz'\r\n },\r\n bandWidth: {\r\n value: 2000,\r\n unit: 'MHz',\r\n userUnit: 'MHz'\r\n },\r\n effectiveBandWidth: {\r\n value: 1.875,\r\n unit: 'GHz',\r\n userUnit: 'GHz'\r\n },\r\n spectralResolution: {\r\n value: 15.625,\r\n unit: 'MHz',\r\n userUnit: 'MHz'\r\n },\r\n '@type': 'ScienceSpectralWindowT',\r\n transitionName: 'Single Continuum',\r\n windowDescription: '1875.000 MHz( 6044 km/s), 31.250 MHz(100.737 km/s) (2-bit)'\r\n },\r\n {\r\n groupIndex: 1,\r\n isSkyFrequency: true,\r\n splatalogId: 0,\r\n representativeWindow: false,\r\n groupResourceUse: 'FULL',\r\n index: 0,\r\n expectedSpectralLines: [],\r\n advancedWindowSetup: {\r\n useImage: false,\r\n displayImage: false,\r\n useThis: true,\r\n smoothingFactor: 1,\r\n smoothingFunction: 'HANNING',\r\n addedSensitivity: false,\r\n oversampling: false\r\n },\r\n centerFrequency: {\r\n value: 95,\r\n unit: 'GHz'\r\n },\r\n bandWidth: {\r\n value: 2000,\r\n unit: 'MHz',\r\n userUnit: 'MHz'\r\n },\r\n effectiveBandWidth: {\r\n value: 1.875,\r\n unit: 'GHz',\r\n userUnit: 'GHz'\r\n },\r\n spectralResolution: {\r\n value: 15.625,\r\n unit: 'MHz',\r\n userUnit: 'MHz'\r\n },\r\n '@type': 'ScienceSpectralWindowT',\r\n transitionName: 'Single Continuum',\r\n windowDescription: '1875.000 MHz( 5917 km/s), 31.250 MHz(98.616 km/s) (2-bit)'\r\n },\r\n {\r\n groupIndex: 2,\r\n isSkyFrequency: true,\r\n splatalogId: 0,\r\n representativeWindow: false,\r\n groupResourceUse: 'FULL',\r\n index: 0,\r\n expectedSpectralLines: [],\r\n advancedWindowSetup: {\r\n useImage: false,\r\n displayImage: false,\r\n useThis: true,\r\n smoothingFactor: 1,\r\n smoothingFunction: 'HANNING',\r\n addedSensitivity: false,\r\n oversampling: false\r\n },\r\n centerFrequency: {\r\n value: 105,\r\n unit: 'GHz'\r\n },\r\n bandWidth: {\r\n value: 2000,\r\n unit: 'MHz',\r\n userUnit: 'MHz'\r\n },\r\n effectiveBandWidth: {\r\n value: 1.875,\r\n unit: 'GHz',\r\n userUnit: 'GHz'\r\n },\r\n spectralResolution: {\r\n value: 15.625,\r\n unit: 'MHz',\r\n userUnit: 'MHz'\r\n },\r\n '@type': 'ScienceSpectralWindowT',\r\n transitionName: 'Single Continuum',\r\n windowDescription: '1875.000 MHz( 5353 km/s), 31.250 MHz(89.224 km/s) (2-bit)'\r\n },\r\n {\r\n groupIndex: 3,\r\n isSkyFrequency: true,\r\n splatalogId: 0,\r\n representativeWindow: true,\r\n groupResourceUse: 'FULL',\r\n index: 0,\r\n expectedSpectralLines: [],\r\n advancedWindowSetup: {\r\n useImage: false,\r\n displayImage: false,\r\n useThis: true,\r\n smoothingFactor: 1,\r\n smoothingFunction: 'HANNING',\r\n addedSensitivity: false,\r\n oversampling: false\r\n },\r\n centerFrequency: {\r\n value: 107,\r\n unit: 'GHz'\r\n },\r\n bandWidth: {\r\n value: 2000,\r\n unit: 'MHz',\r\n userUnit: 'MHz'\r\n },\r\n effectiveBandWidth: {\r\n value: 1.875,\r\n unit: 'GHz',\r\n userUnit: 'GHz'\r\n },\r\n spectralResolution: {\r\n value: 15.625,\r\n unit: 'MHz',\r\n userUnit: 'MHz'\r\n },\r\n '@type': 'ScienceSpectralWindowT',\r\n transitionName: 'Single Continuum',\r\n windowDescription: '1875.000 MHz( 5253 km/s), 31.250 MHz(87.556 km/s) (2-bit)'\r\n }\r\n ],\r\n advancedSpectralSetup: {\r\n sideBandSeparation: false,\r\n fastMode: false\r\n },\r\n overlaidSpectralLines: [],\r\n polarisation: 'DOUBLE',\r\n type: 'continuum',\r\n singleContinuumCorrelatorMode: 'lowRes'\r\n});\r\n\r\nexport const buildScienceSpectralWindowForVLBIOrPhasedArray = (): any => ({\r\n representativeFrequency: {\r\n value: 47.124,\r\n unit: 'GHz'\r\n },\r\n userRepresentativeFrequency: false,\r\n singleContinuumFrequency: {\r\n value: 43.168,\r\n unit: 'GHz'\r\n },\r\n scienceSpectralWindowsAndSpectralScen: [\r\n {\r\n groupIndex: 0,\r\n isSkyFrequency: true,\r\n splatalogId: 0,\r\n representativeWindow: false,\r\n groupResourceUse: 'FULL',\r\n index: 0,\r\n expectedSpectralLines: [],\r\n advancedWindowSetup: {\r\n useImage: false,\r\n displayImage: false,\r\n useThis: true,\r\n smoothingFactor: 8,\r\n smoothingFunction: 'HANNING',\r\n addedSensitivity: false,\r\n oversampling: false\r\n },\r\n centerFrequency: {\r\n value: 43.168,\r\n unit: 'GHz'\r\n },\r\n bandWidth: {\r\n value: 2000,\r\n unit: 'MHz',\r\n userUnit: 'GHz'\r\n },\r\n effectiveBandWidth: {\r\n value: 2.0,\r\n unit: 'GHz',\r\n userUnit: 'GHz'\r\n },\r\n spectralResolution: {\r\n value: 0.9765625,\r\n unit: 'MHz',\r\n userUnit: 'GHz'\r\n },\r\n '@type': 'ScienceSpectralWindowT',\r\n transitionName: 'Single Continuum',\r\n windowDescription: ''\r\n },\r\n {\r\n groupIndex: 1,\r\n isSkyFrequency: true,\r\n splatalogId: 0,\r\n representativeWindow: false,\r\n groupResourceUse: 'FULL',\r\n index: 0,\r\n expectedSpectralLines: [],\r\n advancedWindowSetup: {\r\n useImage: false,\r\n displayImage: false,\r\n useThis: true,\r\n smoothingFactor: 8,\r\n smoothingFunction: 'HANNING',\r\n addedSensitivity: false,\r\n oversampling: false\r\n },\r\n centerFrequency: {\r\n value: 41.168,\r\n unit: 'GHz'\r\n },\r\n bandWidth: {\r\n value: 2000,\r\n unit: 'MHz',\r\n userUnit: 'GHz'\r\n },\r\n effectiveBandWidth: {\r\n value: 2.0,\r\n unit: 'GHz',\r\n userUnit: 'GHz'\r\n },\r\n spectralResolution: {\r\n value: 0.9765625,\r\n unit: 'MHz',\r\n userUnit: 'GHz'\r\n },\r\n '@type': 'ScienceSpectralWindowT',\r\n transitionName: 'Single Continuum',\r\n windowDescription: ''\r\n },\r\n {\r\n groupIndex: 2,\r\n isSkyFrequency: true,\r\n splatalogId: 0,\r\n representativeWindow: false,\r\n groupResourceUse: 'FULL',\r\n index: 0,\r\n expectedSpectralLines: [],\r\n advancedWindowSetup: {\r\n useImage: false,\r\n displayImage: false,\r\n useThis: true,\r\n smoothingFactor: 8,\r\n smoothingFunction: 'HANNING',\r\n addedSensitivity: false,\r\n oversampling: false\r\n },\r\n centerFrequency: {\r\n value: 45.168,\r\n unit: 'GHz'\r\n },\r\n bandWidth: {\r\n value: 2000,\r\n unit: 'MHz',\r\n userUnit: 'GHz'\r\n },\r\n effectiveBandWidth: {\r\n value: 2.0,\r\n unit: 'GHz',\r\n userUnit: 'GHz'\r\n },\r\n spectralResolution: {\r\n value: 0.9765625,\r\n unit: 'MHz',\r\n userUnit: 'GHz'\r\n },\r\n '@type': 'ScienceSpectralWindowT',\r\n transitionName: 'Single Continuum',\r\n windowDescription: ''\r\n },\r\n {\r\n groupIndex: 3,\r\n isSkyFrequency: true,\r\n splatalogId: 0,\r\n representativeWindow: true,\r\n groupResourceUse: 'FULL',\r\n index: 0,\r\n expectedSpectralLines: [],\r\n advancedWindowSetup: {\r\n useImage: false,\r\n displayImage: false,\r\n useThis: true,\r\n smoothingFactor: 8,\r\n smoothingFunction: 'HANNING',\r\n addedSensitivity: false,\r\n oversampling: false\r\n },\r\n centerFrequency: {\r\n value: 47.124,\r\n unit: 'GHz'\r\n },\r\n bandWidth: {\r\n value: 2000,\r\n unit: 'MHz',\r\n userUnit: 'GHz'\r\n },\r\n effectiveBandWidth: {\r\n value: 2.0,\r\n unit: 'GHz',\r\n userUnit: 'GHz'\r\n },\r\n spectralResolution: {\r\n value: 0.9765625,\r\n unit: 'MHz',\r\n userUnit: 'GHz'\r\n },\r\n '@type': 'ScienceSpectralWindowT',\r\n transitionName: 'Single Continuum',\r\n windowDescription: ''\r\n }\r\n ],\r\n advancedSpectralSetup: {\r\n sideBandSeparation: false,\r\n fastMode: false\r\n },\r\n overlaidSpectralLines: [],\r\n polarisation: 'FULL',\r\n type: 'continuum',\r\n singleContinuumCorrelatorMode: 'highRes'\r\n});\r\n\r\nexport const buildScienceSpectralWindowForDefaultVLBIBand = (band): any => bandMapToBand[Number(band)];\r\n\r\nconst band7 = {\r\n representativeFrequency: {\r\n value: 335.6,\r\n unit: 'GHz'\r\n },\r\n userRepresentativeFrequency: false,\r\n singleContinuumFrequency: {\r\n value: 93.268,\r\n unit: 'GHz'\r\n },\r\n scienceSpectralWindowsAndSpectralScen: [\r\n {\r\n groupIndex: 0,\r\n isSkyFrequency: true,\r\n splatalogId: 0,\r\n representativeWindow: true,\r\n groupResourceUse: 'FULL',\r\n index: 0,\r\n expectedSpectralLines: [],\r\n advancedWindowSetup: {\r\n useImage: false,\r\n displayImage: false,\r\n useThis: true,\r\n smoothingFactor: 1,\r\n smoothingFunction: 'HANNING',\r\n addedSensitivity: false,\r\n oversampling: false\r\n },\r\n centerFrequency: {\r\n value: 335.6,\r\n unit: 'GHz'\r\n },\r\n bandWidth: {\r\n value: 2000.0,\r\n unit: 'MHz',\r\n userUnit: 'GHz'\r\n },\r\n effectiveBandWidth: {\r\n value: 2.0,\r\n unit: 'GHz',\r\n userUnit: 'GHz'\r\n },\r\n spectralResolution: {\r\n value: 0.9765625,\r\n unit: 'MHz',\r\n userUnit: 'GHz'\r\n },\r\n '@type': 'ScienceSpectralWindowT',\r\n transitionName: 'Continuum',\r\n windowDescription: ''\r\n },\r\n {\r\n groupIndex: 1,\r\n isSkyFrequency: true,\r\n splatalogId: 0,\r\n representativeWindow: false,\r\n groupResourceUse: 'FULL',\r\n index: 0,\r\n expectedSpectralLines: [],\r\n advancedWindowSetup: {\r\n useImage: false,\r\n displayImage: false,\r\n useThis: true,\r\n smoothingFactor: 1,\r\n smoothingFunction: 'HANNING',\r\n addedSensitivity: false,\r\n oversampling: false\r\n },\r\n centerFrequency: {\r\n value: 337.6,\r\n unit: 'GHz'\r\n },\r\n bandWidth: {\r\n value: 2000.0,\r\n unit: 'MHz',\r\n userUnit: 'GHz'\r\n },\r\n effectiveBandWidth: {\r\n value: 2.0,\r\n unit: 'GHz',\r\n userUnit: 'GHz'\r\n },\r\n spectralResolution: {\r\n value: 0.9765625,\r\n unit: 'MHz',\r\n userUnit: 'GHz'\r\n },\r\n '@type': 'ScienceSpectralWindowT',\r\n transitionName: 'Continuum',\r\n windowDescription: ''\r\n },\r\n {\r\n groupIndex: 2,\r\n isSkyFrequency: true,\r\n splatalogId: 0,\r\n representativeWindow: false,\r\n groupResourceUse: 'FULL',\r\n index: 0,\r\n expectedSpectralLines: [],\r\n advancedWindowSetup: {\r\n useImage: false,\r\n displayImage: false,\r\n useThis: true,\r\n smoothingFactor: 1,\r\n smoothingFunction: 'HANNING',\r\n addedSensitivity: false,\r\n oversampling: false\r\n },\r\n centerFrequency: {\r\n value: 347.6,\r\n unit: 'GHz'\r\n },\r\n bandWidth: {\r\n value: 2000.0,\r\n unit: 'MHz',\r\n userUnit: 'GHz'\r\n },\r\n effectiveBandWidth: {\r\n value: 2.0,\r\n unit: 'GHz',\r\n userUnit: 'GHz'\r\n },\r\n spectralResolution: {\r\n value: 0.9765625,\r\n unit: 'MHz',\r\n userUnit: 'GHz'\r\n },\r\n '@type': 'ScienceSpectralWindowT',\r\n transitionName: 'Continuum',\r\n windowDescription: ''\r\n },\r\n {\r\n groupIndex: 3,\r\n isSkyFrequency: true,\r\n splatalogId: 0,\r\n representativeWindow: false,\r\n groupResourceUse: 'FULL',\r\n index: 0,\r\n expectedSpectralLines: [],\r\n advancedWindowSetup: {\r\n useImage: false,\r\n displayImage: false,\r\n useThis: true,\r\n smoothingFactor: 1,\r\n smoothingFunction: 'HANNING',\r\n addedSensitivity: false,\r\n oversampling: false\r\n },\r\n centerFrequency: {\r\n value: 349.6,\r\n unit: 'GHz'\r\n },\r\n bandWidth: {\r\n value: 2000.0,\r\n unit: 'MHz',\r\n userUnit: 'GHz'\r\n },\r\n effectiveBandWidth: {\r\n value: 2.0,\r\n unit: 'GHz',\r\n userUnit: 'GHz'\r\n },\r\n spectralResolution: {\r\n value: 0.9765625,\r\n unit: 'MHz',\r\n userUnit: 'GHz'\r\n },\r\n '@type': 'ScienceSpectralWindowT',\r\n transitionName: 'Continuum',\r\n windowDescription: ''\r\n }\r\n ],\r\n advancedSpectralSetup: {\r\n sideBandSeparation: false,\r\n fastMode: false\r\n },\r\n overlaidSpectralLines: [],\r\n polarisation: 'FULL',\r\n type: 'full',\r\n singleContinuumCorrelatorMode: 'highRes'\r\n};\r\nconst band6 = {\r\n representativeFrequency: {\r\n value: 213.1,\r\n unit: 'GHz'\r\n },\r\n userRepresentativeFrequency: false,\r\n singleContinuumFrequency: {\r\n value: 93.268,\r\n unit: 'GHz'\r\n },\r\n scienceSpectralWindowsAndSpectralScen: [\r\n {\r\n groupIndex: 0,\r\n isSkyFrequency: true,\r\n splatalogId: 0,\r\n representativeWindow: true,\r\n groupResourceUse: 'FULL',\r\n index: 0,\r\n expectedSpectralLines: [],\r\n advancedWindowSetup: {\r\n useImage: false,\r\n displayImage: false,\r\n useThis: true,\r\n smoothingFactor: 1,\r\n smoothingFunction: 'HANNING',\r\n addedSensitivity: false,\r\n oversampling: false\r\n },\r\n centerFrequency: {\r\n value: 213.1,\r\n unit: 'GHz'\r\n },\r\n bandWidth: {\r\n value: 2000.0,\r\n unit: 'MHz',\r\n userUnit: 'GHz'\r\n },\r\n effectiveBandWidth: {\r\n value: 2.0,\r\n unit: 'GHz',\r\n userUnit: 'GHz'\r\n },\r\n spectralResolution: {\r\n value: 0.9765625,\r\n unit: 'MHz',\r\n userUnit: 'GHz'\r\n },\r\n '@type': 'ScienceSpectralWindowT',\r\n transitionName: 'Continuum',\r\n windowDescription: ''\r\n },\r\n {\r\n groupIndex: 1,\r\n isSkyFrequency: true,\r\n splatalogId: 0,\r\n representativeWindow: false,\r\n groupResourceUse: 'FULL',\r\n index: 0,\r\n expectedSpectralLines: [],\r\n advancedWindowSetup: {\r\n useImage: false,\r\n displayImage: false,\r\n useThis: true,\r\n smoothingFactor: 1,\r\n smoothingFunction: 'HANNING',\r\n addedSensitivity: false,\r\n oversampling: false\r\n },\r\n centerFrequency: {\r\n value: 215.1,\r\n unit: 'GHz'\r\n },\r\n bandWidth: {\r\n value: 2000.0,\r\n unit: 'MHz',\r\n userUnit: 'GHz'\r\n },\r\n effectiveBandWidth: {\r\n value: 2.0,\r\n unit: 'GHz',\r\n userUnit: 'GHz'\r\n },\r\n spectralResolution: {\r\n value: 0.9765625,\r\n unit: 'MHz',\r\n userUnit: 'GHz'\r\n },\r\n '@type': 'ScienceSpectralWindowT',\r\n transitionName: 'Continuum',\r\n windowDescription: ''\r\n },\r\n {\r\n groupIndex: 2,\r\n isSkyFrequency: true,\r\n splatalogId: 0,\r\n representativeWindow: false,\r\n groupResourceUse: 'FULL',\r\n index: 0,\r\n expectedSpectralLines: [],\r\n advancedWindowSetup: {\r\n useImage: false,\r\n displayImage: false,\r\n useThis: true,\r\n smoothingFactor: 1,\r\n smoothingFunction: 'HANNING',\r\n addedSensitivity: false,\r\n oversampling: false\r\n },\r\n centerFrequency: {\r\n value: 227.1,\r\n unit: 'GHz'\r\n },\r\n bandWidth: {\r\n value: 2000.0,\r\n unit: 'MHz',\r\n userUnit: 'GHz'\r\n },\r\n effectiveBandWidth: {\r\n value: 2.0,\r\n unit: 'GHz',\r\n userUnit: 'GHz'\r\n },\r\n spectralResolution: {\r\n value: 0.9765625,\r\n unit: 'MHz',\r\n userUnit: 'GHz'\r\n },\r\n '@type': 'ScienceSpectralWindowT',\r\n transitionName: 'Continuum',\r\n windowDescription: ''\r\n },\r\n {\r\n groupIndex: 3,\r\n isSkyFrequency: true,\r\n splatalogId: 0,\r\n representativeWindow: false,\r\n groupResourceUse: 'FULL',\r\n index: 0,\r\n expectedSpectralLines: [],\r\n advancedWindowSetup: {\r\n useImage: false,\r\n displayImage: false,\r\n useThis: true,\r\n smoothingFactor: 1,\r\n smoothingFunction: 'HANNING',\r\n addedSensitivity: false,\r\n oversampling: false\r\n },\r\n centerFrequency: {\r\n value: 229.1,\r\n unit: 'GHz'\r\n },\r\n bandWidth: {\r\n value: 2000.0,\r\n unit: 'MHz',\r\n userUnit: 'GHz'\r\n },\r\n effectiveBandWidth: {\r\n value: 2.0,\r\n unit: 'GHz',\r\n userUnit: 'GHz'\r\n },\r\n spectralResolution: {\r\n value: 0.9765625,\r\n unit: 'MHz',\r\n userUnit: 'GHz'\r\n },\r\n '@type': 'ScienceSpectralWindowT',\r\n transitionName: 'Continuum',\r\n windowDescription: ''\r\n }\r\n ],\r\n advancedSpectralSetup: {\r\n sideBandSeparation: false,\r\n fastMode: false\r\n },\r\n overlaidSpectralLines: [],\r\n polarisation: 'FULL',\r\n type: 'full',\r\n singleContinuumCorrelatorMode: 'highRes'\r\n};\r\nconst band3 = {\r\n representativeFrequency: {\r\n value: 86.268,\r\n unit: 'GHz'\r\n },\r\n userRepresentativeFrequency: false,\r\n singleContinuumFrequency: {\r\n value: 93.268,\r\n unit: 'GHz'\r\n },\r\n scienceSpectralWindowsAndSpectralScen: [\r\n {\r\n groupIndex: 0,\r\n isSkyFrequency: true,\r\n splatalogId: 0,\r\n representativeWindow: true,\r\n groupResourceUse: 'FULL',\r\n index: 0,\r\n expectedSpectralLines: [],\r\n advancedWindowSetup: {\r\n useImage: false,\r\n displayImage: false,\r\n useThis: true,\r\n smoothingFactor: 1,\r\n smoothingFunction: 'HANNING',\r\n addedSensitivity: false,\r\n oversampling: false\r\n },\r\n centerFrequency: {\r\n value: 86.268,\r\n unit: 'GHz'\r\n },\r\n bandWidth: {\r\n value: 2000.0,\r\n unit: 'MHz',\r\n userUnit: 'GHz'\r\n },\r\n effectiveBandWidth: {\r\n value: 2.0,\r\n unit: 'GHz',\r\n userUnit: 'GHz'\r\n },\r\n spectralResolution: {\r\n value: 0.9765625,\r\n unit: 'MHz',\r\n userUnit: 'GHz'\r\n },\r\n '@type': 'ScienceSpectralWindowT',\r\n transitionName: 'Continuum',\r\n windowDescription: ''\r\n },\r\n {\r\n groupIndex: 1,\r\n isSkyFrequency: true,\r\n splatalogId: 0,\r\n representativeWindow: false,\r\n groupResourceUse: 'FULL',\r\n index: 0,\r\n expectedSpectralLines: [],\r\n advancedWindowSetup: {\r\n useImage: false,\r\n displayImage: false,\r\n useThis: true,\r\n smoothingFactor: 1,\r\n smoothingFunction: 'HANNING',\r\n addedSensitivity: false,\r\n oversampling: false\r\n },\r\n centerFrequency: {\r\n value: 88.268,\r\n unit: 'GHz'\r\n },\r\n bandWidth: {\r\n value: 2000.0,\r\n unit: 'MHz',\r\n userUnit: 'GHz'\r\n },\r\n effectiveBandWidth: {\r\n value: 2.0,\r\n unit: 'GHz',\r\n userUnit: 'GHz'\r\n },\r\n spectralResolution: {\r\n value: 0.9765625,\r\n unit: 'MHz',\r\n userUnit: 'GHz'\r\n },\r\n '@type': 'ScienceSpectralWindowT',\r\n transitionName: 'Continuum',\r\n windowDescription: ''\r\n },\r\n {\r\n groupIndex: 2,\r\n isSkyFrequency: true,\r\n splatalogId: 0,\r\n representativeWindow: false,\r\n groupResourceUse: 'FULL',\r\n index: 0,\r\n expectedSpectralLines: [],\r\n advancedWindowSetup: {\r\n useImage: false,\r\n displayImage: false,\r\n useThis: true,\r\n smoothingFactor: 1,\r\n smoothingFunction: 'HANNING',\r\n addedSensitivity: false,\r\n oversampling: false\r\n },\r\n centerFrequency: {\r\n value: 98.268,\r\n unit: 'GHz'\r\n },\r\n bandWidth: {\r\n value: 2000.0,\r\n unit: 'MHz',\r\n userUnit: 'GHz'\r\n },\r\n effectiveBandWidth: {\r\n value: 2.0,\r\n unit: 'GHz',\r\n userUnit: 'GHz'\r\n },\r\n spectralResolution: {\r\n value: 0.9765625,\r\n unit: 'MHz',\r\n userUnit: 'GHz'\r\n },\r\n '@type': 'ScienceSpectralWindowT',\r\n transitionName: 'Continuum',\r\n windowDescription: ''\r\n },\r\n {\r\n groupIndex: 3,\r\n isSkyFrequency: true,\r\n splatalogId: 0,\r\n representativeWindow: false,\r\n groupResourceUse: 'FULL',\r\n index: 0,\r\n expectedSpectralLines: [],\r\n advancedWindowSetup: {\r\n useImage: false,\r\n displayImage: false,\r\n useThis: true,\r\n smoothingFactor: 1,\r\n smoothingFunction: 'HANNING',\r\n addedSensitivity: false,\r\n oversampling: false\r\n },\r\n centerFrequency: {\r\n value: 100.268,\r\n unit: 'GHz'\r\n },\r\n bandWidth: {\r\n value: 2000.0,\r\n unit: 'MHz',\r\n userUnit: 'GHz'\r\n },\r\n effectiveBandWidth: {\r\n value: 2.0,\r\n unit: 'GHz',\r\n userUnit: 'GHz'\r\n },\r\n spectralResolution: {\r\n value: 0.9765625,\r\n unit: 'MHz',\r\n userUnit: 'GHz'\r\n },\r\n '@type': 'ScienceSpectralWindowT',\r\n transitionName: 'Continuum',\r\n windowDescription: ''\r\n }\r\n ],\r\n advancedSpectralSetup: {\r\n sideBandSeparation: false,\r\n fastMode: false\r\n },\r\n overlaidSpectralLines: [],\r\n polarisation: 'FULL',\r\n type: 'full',\r\n singleContinuumCorrelatorMode: 'highRes'\r\n};\r\nconst band1 = {\r\n representativeFrequency: {\r\n value: 43.168,\r\n unit: 'GHz'\r\n },\r\n userRepresentativeFrequency: false,\r\n singleContinuumFrequency: {\r\n value: 93.268,\r\n unit: 'GHz'\r\n },\r\n\r\n scienceSpectralWindowsAndSpectralScen: [\r\n {\r\n groupIndex: 0,\r\n isSkyFrequency: true,\r\n splatalogId: 0,\r\n representativeWindow: true,\r\n groupResourceUse: 'FULL',\r\n index: 0,\r\n expectedSpectralLines: [],\r\n advancedWindowSetup: {\r\n useImage: false,\r\n displayImage: false,\r\n useThis: true,\r\n smoothingFactor: 1,\r\n smoothingFunction: 'HANNING',\r\n addedSensitivity: false,\r\n oversampling: false\r\n },\r\n centerFrequency: {\r\n value: 43.168,\r\n unit: 'GHz'\r\n },\r\n bandWidth: {\r\n value: 2000.0,\r\n unit: 'MHz',\r\n userUnit: 'GHz'\r\n },\r\n effectiveBandWidth: {\r\n value: 2.0,\r\n unit: 'GHz',\r\n userUnit: 'GHz'\r\n },\r\n spectralResolution: {\r\n value: 0.9765625,\r\n unit: 'MHz',\r\n userUnit: 'GHz'\r\n },\r\n '@type': 'ScienceSpectralWindowT',\r\n transitionName: 'Continuum',\r\n windowDescription: ''\r\n },\r\n {\r\n groupIndex: 1,\r\n isSkyFrequency: true,\r\n splatalogId: 0,\r\n representativeWindow: false,\r\n groupResourceUse: 'FULL',\r\n index: 0,\r\n expectedSpectralLines: [],\r\n advancedWindowSetup: {\r\n useImage: false,\r\n displayImage: false,\r\n useThis: true,\r\n smoothingFactor: 1,\r\n smoothingFunction: 'HANNING',\r\n addedSensitivity: false,\r\n oversampling: false\r\n },\r\n centerFrequency: {\r\n value: 41.168,\r\n unit: 'GHz'\r\n },\r\n bandWidth: {\r\n value: 2000.0,\r\n unit: 'MHz',\r\n userUnit: 'GHz'\r\n },\r\n effectiveBandWidth: {\r\n value: 2.0,\r\n unit: 'GHz',\r\n userUnit: 'GHz'\r\n },\r\n spectralResolution: {\r\n value: 0.9765625,\r\n unit: 'MHz',\r\n userUnit: 'GHz'\r\n },\r\n '@type': 'ScienceSpectralWindowT',\r\n transitionName: 'Continuum',\r\n windowDescription: ''\r\n },\r\n {\r\n groupIndex: 2,\r\n isSkyFrequency: true,\r\n splatalogId: 0,\r\n representativeWindow: false,\r\n groupResourceUse: 'FULL',\r\n index: 0,\r\n expectedSpectralLines: [],\r\n advancedWindowSetup: {\r\n useImage: false,\r\n displayImage: false,\r\n useThis: true,\r\n smoothingFactor: 1,\r\n smoothingFunction: 'HANNING',\r\n addedSensitivity: false,\r\n oversampling: false\r\n },\r\n centerFrequency: {\r\n value: 45.168,\r\n unit: 'GHz'\r\n },\r\n bandWidth: {\r\n value: 2000.0,\r\n unit: 'MHz',\r\n userUnit: 'GHz'\r\n },\r\n effectiveBandWidth: {\r\n value: 2.0,\r\n unit: 'GHz',\r\n userUnit: 'GHz'\r\n },\r\n spectralResolution: {\r\n value: 0.9765625,\r\n unit: 'MHz',\r\n userUnit: 'GHz'\r\n },\r\n '@type': 'ScienceSpectralWindowT',\r\n transitionName: 'Continuum',\r\n windowDescription: ''\r\n },\r\n {\r\n groupIndex: 3,\r\n isSkyFrequency: true,\r\n splatalogId: 0,\r\n representativeWindow: false,\r\n groupResourceUse: 'FULL',\r\n index: 0,\r\n expectedSpectralLines: [],\r\n advancedWindowSetup: {\r\n useImage: false,\r\n displayImage: false,\r\n useThis: true,\r\n smoothingFactor: 1,\r\n smoothingFunction: 'HANNING',\r\n addedSensitivity: false,\r\n oversampling: false\r\n },\r\n centerFrequency: {\r\n value: 47.124,\r\n unit: 'GHz'\r\n },\r\n bandWidth: {\r\n value: 2000.0,\r\n unit: 'MHz',\r\n userUnit: 'GHz'\r\n },\r\n effectiveBandWidth: {\r\n value: 2.0,\r\n unit: 'GHz',\r\n userUnit: 'GHz'\r\n },\r\n spectralResolution: {\r\n value: 0.9765625,\r\n unit: 'MHz',\r\n userUnit: 'GHz'\r\n },\r\n '@type': 'ScienceSpectralWindowT',\r\n transitionName: 'Continuum',\r\n windowDescription: ''\r\n }\r\n ],\r\n\r\n advancedSpectralSetup: {\r\n sideBandSeparation: false,\r\n fastMode: false\r\n },\r\n\r\n overlaidSpectralLines: [],\r\n polarisation: 'FULL',\r\n type: 'full',\r\n singleContinuumCorrelatorMode: 'highRes'\r\n};\r\n\r\nconst bandMapToBand = {\r\n 1: band1,\r\n 3: band3,\r\n 6: band6,\r\n 7: band7\r\n};\r\n","import {AbstractScienceSpectralWindow} from './abstract-science-spectral-window';\r\nimport {Frequency} from './frequency';\r\nimport {UserFrequency} from './user-frequency';\r\n\r\nexport interface SpectralScan extends AbstractScienceSpectralWindow {\r\n startFrequency: Frequency;\r\n endFrequency: Frequency;\r\n bandWidth: UserFrequency;\r\n spectralResolution: Frequency;\r\n isSkyFrequency: boolean;\r\n}\r\n\r\n// TODO: define return type for buildSpectralScanScienceSpectralWindow\r\nexport const buildSpectralScanScienceSpectralWindow = (): any => ({\r\n startFrequency: {\r\n value: 0,\r\n unit: 'GHz'\r\n },\r\n endFrequency: {\r\n value: 0,\r\n unit: 'GHz'\r\n },\r\n bandWidth: {\r\n value: 2,\r\n unit: 'GHz',\r\n userUnit: 'GHz'\r\n },\r\n effectiveBandwidth: {\r\n value: 1.875,\r\n unit: 'GHz',\r\n userUnit: 'GHz'\r\n },\r\n spectralResolution: {\r\n value: 0.015625,\r\n unit: 'GHz'\r\n },\r\n isSkyFrequency: false,\r\n '@type': 'SpectralScanT',\r\n index: 0,\r\n advancedWindowSetup: {\r\n smoothingFactor: 1,\r\n oversampling: false,\r\n addedSensitivity: false,\r\n useImage: false,\r\n useThis: true,\r\n smoothingFunction: 'HANNING'\r\n },\r\n expectedSpectralLines: []\r\n});\r\n","import {Frequency} from './frequency';\r\nimport {OverlaidSpectralLine} from './overlaid-spectral-line';\r\nimport {AdvancedSpectralSetup} from './advanced-spectral-setup';\r\n\r\nexport interface SpectralSetupParameters {\r\n representativeFrequency?: Frequency;\r\n userRepresentativeFrequency?: boolean;\r\n singleContinuumFrequency?: Frequency;\r\n // TODO: define type for scienceSpectralWindowsAndSpectralScen\r\n scienceSpectralWindowsAndSpectralScen?: any[];\r\n advancedSpectralSetup?: AdvancedSpectralSetup;\r\n overlaidSpectralLines?: OverlaidSpectralLine[];\r\n polarisation?: string;\r\n type?: string;\r\n singleContinuumCorrelatorMode?: string;\r\n}\r\n\r\nexport const buildSpectralSetupParameters = (): SpectralSetupParameters => ({\r\n representativeFrequency: {value: 0.0, unit: 'GHz'},\r\n userRepresentativeFrequency: false,\r\n singleContinuumFrequency: {value: 0.0, unit: 'GHz'},\r\n scienceSpectralWindowsAndSpectralScen: [],\r\n advancedSpectralSetup: {\r\n sideBandSeparation: false,\r\n fastMode: false\r\n },\r\n overlaidSpectralLines: [],\r\n polarisation: 'DOUBLE',\r\n type: 'full',\r\n singleContinuumCorrelatorMode: 'lowRes'\r\n});\r\n","import {AbstractTimingConstraints} from './abstract-timing-constraints';\r\n\r\nexport type TemporalParameters = AbstractTimingConstraints;\r\n\r\nexport const buildTemporalParameters = (): TemporalParameters => {\r\n const {startTime, endTime} = generateDates();\r\n\r\n return {\r\n startTime,\r\n endTime,\r\n allowedMargin: {value: 7.0, unit: 'd'},\r\n repeats: 0,\r\n note: '',\r\n isAvoidConstraint: false,\r\n priority: 0,\r\n isFixedStart: false,\r\n lstmin: '',\r\n lstmax: ''\r\n };\r\n};\r\n\r\nconst generateDates = (startDate: Date = new Date()): {startTime: string; endTime: string} => {\r\n const toISO = (date: Date): string => date.toISOString();\r\n\r\n const start = new Date(startDate);\r\n start.setDate(start.getDate() + 1); // tomorrow\r\n\r\n const end = new Date(startDate);\r\n end.setDate(end.getDate() + 15); // 15 days from today\r\n\r\n return {\r\n startTime: toISO(start),\r\n endTime: toISO(end)\r\n };\r\n};\r\n","import {AbstractTimingConstraints} from './abstract-timing-constraints';\r\nimport {Time} from './time';\r\n\r\nexport interface VisitConstraint extends AbstractTimingConstraints {\r\n visitId: number;\r\n previousVisitId: number;\r\n requiredDelay: Time;\r\n}\r\n\r\nexport const buildVisitConstraint = (visitId: number) => {\r\n const requiredDelayValue = 14 * visitId - 14;\r\n const allowMarginValue = visitId === 1 ? 0 : 7;\r\n const previousVisitId = visitId === 1 ? 0 : 1;\r\n\r\n return {\r\n allowedMargin: {value: allowMarginValue, unit: 'd'},\r\n isAvoidConstraint: false,\r\n priority: 0,\r\n isFixedStart: false,\r\n visitId,\r\n previousVisitId,\r\n requiredDelay: {value: requiredDelayValue, unit: 'd'}\r\n };\r\n};\r\n","export enum ApplicationStatus {\r\n CREATE_PROJECT = 'createProject',\r\n CREATE_PROJECT_SUCCESS = 'createProjectSuccess',\r\n CREATE_PROJECT_FAILURE = 'createProjectFailure',\r\n\r\n CREATE_DDT_PROJECT = 'createDDTProject',\r\n CREATE_DDT_PROJECT_SUCCESS = 'createDDTProjectSuccess',\r\n CREATE_DDT_PROJECT_FAILURE = 'createDDTProjectFailure',\r\n\r\n CLONE_PROJECT = 'cloneProject',\r\n CLONE_PROJECT_SUCCESS = 'cloneProjectSuccess',\r\n CLONE_PROJECT_FAILURE = 'cloneProjectFailure',\r\n\r\n LOAD_PROJECT = 'loadProject',\r\n LOAD_PROJECT_SUCCESS = 'loadProjectSuccess',\r\n LOAD_PROJECT_FAILURE = 'loadProjectFailure',\r\n\r\n LOAD_PROJECT_FILE = 'loadProjectFile',\r\n LOAD_PROJECT_FILE_SUCCESS = 'loadProjectFileSuccess',\r\n LOAD_PROJECT_FILE_FAILURE = 'loadProjectFileFailure',\r\n\r\n SAVE_PROJECT_TO_DISK = 'saveProjectToDisk',\r\n SAVE_PROJECT_TO_DISK_SUCCESS = 'saveProjectToDiskSuccess',\r\n SAVE_PROJECT_TO_DISK_FAILURE = 'saveProjectToDiskFailure',\r\n\r\n REVERT_TO_LAST_SUBMITTED = 'revertToLastSubmitted',\r\n REVERT_TO_LAST_SUBMITTED_SUCCESS = 'revertToLastSubmittedSuccess',\r\n REVERT_TO_LAST_SUBMITTED_FAILURE = 'revertToLastSubmittedFailure',\r\n RELOAD_PROJECT_FAILURE = 'reloadProjectFailure'\r\n}\r\n","export enum AuthenticationStatus {\r\n LOGIN_SUCCESS = 'loginSuccess',\r\n LOGIN_FAILURE = 'loginFailure'\r\n}\r\n","export enum ListItemStatus {\r\n LOAD_LIST_ITEM = 'loadListItem',\r\n LOAD_LIST_ITEM_SUCCESS = 'loadListItemSuccess',\r\n LOAD_LIST_ITEM_FAILURE = 'loadListItemFailure'\r\n}\r\n","export enum ProjectStatus {\r\n LOAD_PROJECT = 'loadProject',\r\n LOAD_PROJECT_SUCCESS = 'loadProjectSuccess',\r\n LOAD_PROJECT_FAILURE = 'loadProjectFailure',\r\n\r\n SAVE_PROJECT = 'saveProject',\r\n SAVE_PROJECT_SUCCESS = 'saveProjectSuccess',\r\n SAVE_PROJECT_FAILURE = 'saveProjectFailure'\r\n}\r\n","export enum ProjectTypeCode {\r\n REGULAR = 'S',\r\n TARGET_OF_OPPORTUNITY = 'T',\r\n VLBI = 'V',\r\n LARGE_PROGRAM = 'L',\r\n PHASED_ARRAY_MODE = 'P'\r\n}\r\n","export enum ProposalStatus {\r\n LOAD_PROPOSAL = 'loadProposal',\r\n LOAD_PROPOSAL_SUCCESS = 'loadProposalSuccess',\r\n LOAD_PROPOSAL_FAILURE = 'loadProposalFailure',\r\n\r\n SAVE_PROPOSAL = 'saveProposal',\r\n SAVE_PROPOSAL_SUCCESS = 'saveProposalSuccess',\r\n SAVE_PROPOSAL_FAILURE = 'saveProposalFailure',\r\n\r\n IMPORT_INVESTIGATORS = 'importInvestigators',\r\n IMPORT_INVESTIGATORS_SUCCESS = 'importInvestigatorsSuccess',\r\n IMPORT_INVESTIGATORS_FAILURE = 'importInvestigatorsFailure',\r\n\r\n GENERATE_PROPOSAL_SUMMARY = 'generateProposalSummary',\r\n GENERATE_PROPOSAL_SUMMARY_SUCCESS = 'generateProposalSummarySuccess',\r\n GENERATE_PROPOSAL_SUMMARY_FAILURE = 'generateProposalSummaryFailure'\r\n}\r\n","export enum AttachmentStatus {\r\n LOAD_SCIENCE_CASE = 'loadScienceCase',\r\n LOAD_SCIENCE_CASE_SUCCESS = 'loadScienceCaseSuccess',\r\n LOAD_SCIENCE_CASE_FAILURE = 'loadScienceCaseFailure',\r\n\r\n VALIDATE_SCIENCE_CASE = 'validateScienceCase',\r\n VALIDATE_SCIENCE_CASE_SUCCESS = 'validateScienceCaseSuccess',\r\n VALIDATE_SCIENCE_CASE_FAILURE = 'validateScienceCaseFailure',\r\n\r\n REMOVE_SCIENCE_CASE = 'removeScienceCase',\r\n REMOVE_SCIENCE_CASE_SUCCESS = 'removeScienceCaseSuccess',\r\n REMOVE_SCIENCE_CASE_FAILURE = 'removeScienceCaseFailure',\r\n\r\n LOAD_TEAM_EXPERTISE = 'loadTeamExpertise',\r\n LOAD_TEAM_EXPERTISE_SUCCESS = 'loadTeamExpertiseSuccess',\r\n LOAD_TEAM_EXPERTISE_FAILURE = 'loadTeamExpertiseFailure',\r\n\r\n VALIDATE_TEAM_EXPERTISE = 'validateTeamExpertise',\r\n VALIDATE_TEAM_EXPERTISE_SUCCESS = 'validateTeamExpertiseSuccess',\r\n VALIDATE_TEAM_EXPERTISE_FAILURE = 'validateTeamExpertiseFailure',\r\n\r\n REMOVE_TEAM_EXPERTISE = 'removeTeamExpertise',\r\n REMOVE_TEAM_EXPERTISE_SUCCESS = 'removeTeamExpertiseSuccess',\r\n REMOVE_TEAM_EXPERTISE_FAILURE = 'removeTeamExpertiseFailure'\r\n}\r\n","export enum ScienceGoalsStatus {\r\n LOAD_SCIENCE_GOALS = 'loadScienceGoals',\r\n LOAD_SCIENCE_GOALS_SUCCESS = 'loadScienceGoalsSuccess',\r\n LOAD_SCIENCE_GOALS_FAILURE = 'loadScienceGoalsFailure',\r\n\r\n SAVE_SCIENCE_GOALS = 'saveScienceGoals',\r\n SAVE_SCIENCE_GOALS_SUCCESS = 'saveScienceGoalsSuccess',\r\n SAVE_SCIENCE_GOALS_FAILURE = 'saveScienceGoalsFailure',\r\n\r\n IMPORT_SOURCES = 'importSources',\r\n IMPORT_SOURCES_SUCCESS = 'importSourcesSuccess',\r\n IMPORT_SOURCES_FAILURE = 'importSourcesFailure',\r\n\r\n EXPORT_SOURCES = 'exportSources',\r\n EXPORT_SOURCES_SUCCESS = 'exportSourcesSuccess',\r\n EXPORT_SOURCES_FAILURE = 'exportSourcesFailure',\r\n\r\n EXPORT_SOURCES_COORDINATES_NOT_SUPPORTED = 'exportSourcesCoordinatesNotSupported',\r\n\r\n UPDATE_REST_FREQUENCIES = 'updateRestFrequencies',\r\n UPDATE_REST_FREQUENCIES_SUCCESS = 'updateRestFrequenciesSuccess',\r\n UPDATE_REST_FREQUENCIES_FAILURE = 'updateRestFrequenciesFailure',\r\n\r\n IMPORT_SINGLE_VISITS = 'importSingleVisits',\r\n IMPORT_SINGLE_VISITS_SUCCESS = 'importSingleVisitsSuccess',\r\n IMPORT_SINGLE_VISITS_FAILURE = 'importSingleVisitsFailure',\r\n\r\n IMPORT_EPHEMERIS_FILE = 'importEphemerisFile',\r\n IMPORT_EPHEMERIS_FILE_SUCCESS = 'importEphemerisFileSuccess',\r\n IMPORT_EPHEMERIS_FILE_FAILURE = 'importEphemerisFileFailure'\r\n}\r\n","export enum SubmissionStatus {\r\n SUBMIT_PROJECT = 'submitProject',\r\n SUBMIT_PROJECT_SUCCESS = 'submitProjectSuccess',\r\n SUBMIT_PROJECT_FAILURE = 'submitProjectFailure'\r\n}\r\n","export enum ValidationStatus {\r\n VALIDATE = 'validate',\r\n VALIDATE_SUCCESS = 'validateSuccess',\r\n VALIDATE_FAILURE = 'validateFailure'\r\n}\r\n","import {ReceiverBand} from '../spectral-setup/receiver-band';\r\n\r\nexport const ReceiverBands: ReceiverBand[] = [\r\n {\r\n polarisationFrequency: 40.188,\r\n continuumFrequency: 40.188,\r\n continuumVlbiFrequency: 43.168,\r\n name: 'ALMA_RB_01',\r\n type: 'SSB',\r\n number: 1,\r\n rangeDescription: '[35.0-52.0 GHz]',\r\n rfmin: 35.0,\r\n rfmax: 50.0,\r\n ifmin: 4.0,\r\n ifmax: 12.0,\r\n sidebandGainRatio: 0.0\r\n },\r\n {\r\n polarisationFrequency: 89.7,\r\n continuumFrequency: 89.7,\r\n name: 'ALMA_RB_02',\r\n type: 'TSB',\r\n number: 2,\r\n rangeDescription: '[67.0-116.0 GHz]',\r\n rfmin: 67.0,\r\n rfmax: 116.0,\r\n ifmin: 4.0,\r\n ifmax: 12.0,\r\n sidebandGainRatio: 0.0\r\n },\r\n {\r\n polarisationFrequency: 97.5,\r\n continuumFrequency: 97.5,\r\n continuumSolarFrequency: 100,\r\n continuumVlbiFrequency: 93.268,\r\n name: 'ALMA_RB_03',\r\n type: 'TSB',\r\n number: 3,\r\n rangeDescription: '[84.0-116.0 GHz]',\r\n rfmin: 84.0,\r\n rfmax: 116.0,\r\n ifmin: 4.0,\r\n ifmax: 8.0,\r\n sidebandGainRatio: 0.0\r\n },\r\n {\r\n polarisationFrequency: 145.0,\r\n continuumFrequency: 145.0,\r\n name: 'ALMA_RB_04',\r\n type: 'TSB',\r\n number: 4,\r\n rangeDescription: '[125.0-163.0 GHz]',\r\n rfmin: 125.0,\r\n rfmax: 163.0,\r\n ifmin: 4.0,\r\n ifmax: 8.0,\r\n sidebandGainRatio: 0.0\r\n },\r\n {\r\n polarisationFrequency: 203.0,\r\n continuumFrequency: 203.0,\r\n continuumSolarFrequency: 198,\r\n name: 'ALMA_RB_05',\r\n type: 'TSB',\r\n number: 5,\r\n rangeDescription: '[158.0-211.0 GHz]',\r\n rfmin: 158.0,\r\n rfmax: 211.0,\r\n ifmin: 4.0,\r\n ifmax: 8.0,\r\n sidebandGainRatio: 0.0\r\n },\r\n {\r\n polarisationFrequency: 233.0,\r\n continuumFrequency: 233.0,\r\n continuumSolarFrequency: 239,\r\n continuumVlbiFrequency: 221.07,\r\n name: 'ALMA_RB_06',\r\n type: 'TSB',\r\n number: 6,\r\n rangeDescription: '[211.0-275.0 GHz]',\r\n rfmin: 211.0,\r\n rfmax: 275.0,\r\n ifmin: 4.5,\r\n ifmax: 10.0,\r\n sidebandGainRatio: 0.0\r\n },\r\n {\r\n polarisationFrequency: 343.5,\r\n continuumFrequency: 343.5,\r\n continuumSolarFrequency: 346.6,\r\n continuumVlbiFrequency: 342.6,\r\n name: 'ALMA_RB_07',\r\n type: 'TSB',\r\n number: 7,\r\n rangeDescription: '[275.0-373.0 GHz]',\r\n rfmin: 275.0,\r\n rfmax: 373.0,\r\n ifmin: 4.0,\r\n ifmax: 8.0,\r\n sidebandGainRatio: 0.0\r\n },\r\n {\r\n polarisationFrequency: -1.0,\r\n continuumFrequency: 405.0,\r\n name: 'ALMA_RB_08',\r\n type: 'TSB',\r\n number: 8,\r\n rangeDescription: '[385.0-500.0 GHz]',\r\n rfmin: 385.0,\r\n rfmax: 500.0,\r\n ifmin: 4.0,\r\n ifmax: 8.0,\r\n sidebandGainRatio: 0.0\r\n },\r\n {\r\n polarisationFrequency: -1.0,\r\n continuumFrequency: 679.0,\r\n name: 'ALMA_RB_09',\r\n type: 'DSB',\r\n number: 9,\r\n rangeDescription: '[602.0-720.0 GHz]',\r\n rfmin: 602.0,\r\n rfmax: 720.0,\r\n ifmin: 4.0,\r\n ifmax: 12.0,\r\n sidebandGainRatio: 1.0\r\n },\r\n {\r\n polarisationFrequency: -1.0,\r\n continuumFrequency: 869.25,\r\n name: 'ALMA_RB_10',\r\n type: 'DSB',\r\n number: 10,\r\n rangeDescription: '[787.0-950.0 GHz]',\r\n rfmin: 787.0,\r\n rfmax: 950.0,\r\n ifmin: 4.0,\r\n ifmax: 12.0,\r\n sidebandGainRatio: 1.0\r\n }\r\n];\r\n","export enum TimeEstimatesStatus {\r\n FETCH_TIME_ESTIMATES = 'fetchTimeEstimates',\r\n FETCH_TIME_ESTIMATES_SUCCESS = 'fetchTimeEstimatesSuccess',\r\n FETCH_TIME_ESTIMATES_FAILURE = 'fetchTimeEstimatesFailure'\r\n}\r\n","export enum ControlAndPerformanceDataStatus {\r\n FETCH_CONTROL_AND_PERFORMANCE = 'fetchControlAndPerformance',\r\n FETCH_CONTROL_AND_PERFORMANCE_SUCCESS = 'fetchControlAndPerformanceSuccess',\r\n FETCH_CONTROL_AND_PERFORMANCE_FAILURE = 'fetchControlAndPerformanceFailure'\r\n}\r\n","export enum CalibrationDataStatus {\r\n FETCH_CALIBRATION = 'fetchCalibration',\r\n FETCH_CALIBRATION_SUCCESS = 'fetchCalibrationSuccess',\r\n FETCH_CALIBRATION_FAILURE = 'fetchCalibrationFailure'\r\n}\r\n","export enum SensitivityEquivalenceValuesStatus {\r\n FETCH_SENSITIVITY_EQUIVALENCE_VALUES = 'fetchSensitivityEquivalenceValues',\r\n FETCH_SENSITIVITY_EQUIVALENCE_VALUES_SUCCESS = 'fetchSensitivityEquivalenceValuesSuccess',\r\n FETCH_SENSITIVITY_EQUIVALENCE_VALUES_FAILURE = 'fetchSensitivityEquivalenceValuesFailure'\r\n}\r\n","export enum SensitivityFrequencyMeasuresStatus {\r\n FETCH_SENSITIVITY_FREQUENCY_MEASURES = 'fetchSensitivityFrequencyMeasures',\r\n FETCH_SENSITIVITY_FREQUENCY_MEASURES_SUCCESS = 'fetchSensitivityFrequencyMeasuresSuccess',\r\n FETCH_SENSITIVITY_FREQUENCY_MEASURES_FAILURE = 'fetchSensitivityFrequencyMeasuresFailure'\r\n}\r\n","export enum SpectralScanTuningsStatus {\r\n FETCH_SPECTRAL_SCAN_TUNINGS = 'fetchSpectralScanTunings',\r\n FETCH_SPECTRAL_SCAN_TUNINGS_SUCCESS = 'fetchSpectralScanTuningsSuccess',\r\n FETCH_SPECTRAL_SCAN_TUNINGS_FAILURE = 'fetchSpectralScanTuningsFailure'\r\n}\r\n","export enum UserPreferencesStatus {\r\n LOAD_USER_PREFERENCES = 'loadUserPreferences',\r\n LOAD_USER_PREFERENCES_SUCCESS = 'loadUserPreferencesSuccess',\r\n LOAD_USER_PREFERENCES_FAILURE = 'loadUserPreferencesFailure',\r\n\r\n SAVE_USER_PREFERENCES = 'saveUserPreferences',\r\n SAVE_USER_PREFERENCES_SUCCESS = 'saveUserPreferencesSuccess',\r\n SAVE_USER_PREFERENCES_FAILURE = 'saveUserPreferencesFailure'\r\n}\r\n","export enum PointingsStatus {\r\n FETCH_POINTINGS = 'fetchPointings',\r\n FETCH_POINTINGS_SUCCESS = 'fetchPointingsSuccess',\r\n FETCH_POINTINGS_FAILURE = 'fetchPointingsFailure',\r\n\r\n EXPORT_POINTINGS_TO_CSV = 'exportPointingsToCsv',\r\n EXPORT_POINTINGS_TO_CSV_SUCCESS = 'exportPointingsToCsvSuccess',\r\n EXPORT_POINTINGS_TO_CSV_FAILURE = 'exportPointingsToCsvFailure',\r\n\r\n IMPORT_POINTINGS_FROM_CSV = 'importPointingsFromCsv',\r\n IMPORT_POINTINGS_FROM_CSV_SUCCESS = 'importPointingsFromCsvSuccess',\r\n IMPORT_POINTINGS_FROM_CSV_SUCCESS_WITH_WARNINGS = 'importPointingsFromCsvSuccessWithWarnings',\r\n IMPORT_POINTINGS_FROM_CSV_FAILURE = 'importPointingsFromCsvFailure'\r\n}\r\n","export enum SpectralViewerStatus {\r\n FETCH_OCTILE = 'fetchOctile',\r\n FETCH_OCTILE_SUCCESS = 'fetchOctileSuccess',\r\n FETCH_OCTILE_FAILURE = 'fetchOctileFailure'\r\n}\r\n","export enum CycleInfoStatus {\r\n LOAD_CYCLE_INFO = 'cycleInfo',\r\n LOAD_CYCLE_INFO_SUCCESS = 'cycleInfoSuccess',\r\n LOAD_CYCLE_INFO_FAILURE = 'cycleInfoFailure'\r\n}\r\n","export enum ConfigurationTablesStatus {\r\n LOAD_CONFIGURATION_TABLES = 'loadConfigurationTables',\r\n LOAD_CONFIGURATION_TABLES_SUCCESS = 'loadConfigurationTablesSuccess',\r\n LOAD_CONFIGURATION_TABLES_FAILURE = 'loadConfigurationTablesFailure'\r\n}\r\n","// used for typing in the code\r\nexport enum ProposalTypeString {\r\n Regular = 'Regular', //\r\n TargetOfOpportunity = 'Target Of Opportunity',\r\n VLBI = 'VLBI',\r\n LargeProgram = 'Large Program',\r\n PhasedArray = 'Phased Array'\r\n}\r\n\r\n// use for dropdowns etc\r\nexport const ProposalTypes: string[] = Object.values(ProposalTypeString);\r\n\r\n// mapping to the codes used in the backend\r\nexport const ProposalTypesMap = {\r\n Regular: 'S',\r\n 'Target Of Opportunity': 'T',\r\n VLBI: 'V',\r\n 'Large Program': 'L',\r\n 'Phased Array': 'P'\r\n};\r\n","export enum TechnicalJustificationStatus {\r\n FETCH_TECHNICAL_JUSTIFICATION = 'fetchTechnicalJustification',\r\n FETCH_TECHNICAL_JUSTIFICATION_SUCCESS = 'fetchTechnicalJustificationSuccess',\r\n FETCH_TECHNICAL_JUSTIFICATION_FAILURE = 'fetchTechnicalJustificationFailure'\r\n}\r\n","export interface User {\r\n name: string;\r\n preferred_username: string;\r\n roles: string[];\r\n}\r\n\r\n// NgOT should use just 2 roles for now:\r\n// ALMA_USER_ROLE = \"MASTER/USER\";\r\n// SUPER_USER_ROLE = \"OBSPREP/SOFTWARE_SUPPORT\"; (NGOT-1437)\r\n\r\nexport const includesPrivilegedRoles = (roles: string[]): boolean => includesSoftwareSupportRole(roles);\r\n\r\nconst includesSoftwareSupportRole = (roles: string[]): boolean => includesRole(roles, 'OBSPREP/SOFTWARE_SUPPORT');\r\n\r\nexport const includesProtrackRole = (roles: string[]): boolean => includesRole(roles, ['OBOPS/AOD', 'OBOPS/DRM', 'OBOPS/PM', 'OBOPS/ARCA', 'OBOPS/QAA']);\r\n\r\nconst includesRole = (roles: string[], role: string | string[]): boolean => {\r\n if (Array.isArray(role)) {\r\n return role.some((r) => roles?.includes(r));\r\n }\r\n return roles?.includes(role);\r\n};\r\n","import {ProposalSubmissionStatus} from '../app/proposal-submission-status';\r\n\r\nexport interface ListItem {\r\n aotId?: string;\r\n code?: string;\r\n latestSubmissionTime?: string;\r\n latestModificationTime?: string;\r\n obsAttachmentEntityId?: string;\r\n obsProjectEntityId?: string;\r\n obsProposalEntityId?: string;\r\n pi?: string;\r\n piFullName?: string;\r\n projectName?: string;\r\n timeOfCreation?: string;\r\n projectSource?: string;\r\n originalProjectSource?: 'Disk' | 'ProjectStore' | 'Archive';\r\n coIBecomesPI: boolean;\r\n containsTaiwanese?: boolean;\r\n}\r\n\r\nexport function getProjectStatus(item: ListItem): ProposalSubmissionStatus {\r\n const {projectSource, latestSubmissionTime, latestModificationTime} = item;\r\n\r\n const isArchive = projectSource === 'Archive';\r\n const isProjectStore = projectSource === 'ProjectStore';\r\n const isSubmitted = latestSubmissionTime?.length !== 0;\r\n const isNotModifiedAfterSubmission = isSubmitted && latestModificationTime?.length !== 0 && latestSubmissionTime >= latestModificationTime;\r\n\r\n let status;\r\n\r\n if (isArchive || (isProjectStore && isNotModifiedAfterSubmission)) {\r\n status = 'submitted';\r\n } else if (isSubmitted) {\r\n status = 'modified';\r\n } else {\r\n status = 'draft';\r\n }\r\n return status;\r\n}\r\n\r\nexport function getSourceFromToClone(item: ListItem): string {\r\n const {projectSource, latestSubmissionTime, latestModificationTime} = item;\r\n\r\n const isArchive = projectSource === 'Archive';\r\n const isProjectStore = projectSource === 'ProjectStore';\r\n const isSubmitted = latestSubmissionTime?.length !== 0;\r\n const isNotModifiedAfterSubmission = isSubmitted && latestModificationTime?.length !== 0 && latestSubmissionTime >= latestModificationTime;\r\n\r\n if (isArchive) {\r\n return 'Archive';\r\n } else if (isProjectStore && isNotModifiedAfterSubmission) {\r\n return 'ProjectStore';\r\n } else if (isSubmitted) {\r\n return 'Archive';\r\n } else {\r\n return 'ProjectStore';\r\n }\r\n}\r\n","export const JointProposalsTypes = ['JWST', 'VLA', 'VLT'];\r\n","/**\r\n * Editor token and associated info -- for NGOT-907\r\n * @author amchavan, 11-Oct-2024\r\n */\r\n\r\n/**\r\n * Reasons why a token expired.\r\n *\r\n * NOTE -- We set the enum values to be strings, so we can use them in a switch/case statement\r\n * without casting them to numbers.\r\n * See https://stackoverflow.com/a/59217944\r\n */\r\nexport enum ExpirationReason {\r\n /** Author was inactive (that is, did not edit the proposal) for some predefined time */\r\n INACTIVE = 'INACTIVE',\r\n\r\n /** Author completed an editing session and released the token */\r\n RELEASED = 'RELEASED',\r\n\r\n /** PI overrode current author and claimed the token for himself */\r\n GRAB = 'GRAB'\r\n}\r\n\r\n/**\r\n * An editor token: a proposal author (PI, Co-PIs and Co-Is) who 'owns'\r\n * one of these tokens is allowed to edit the proposal, while all\r\n * other authors are in read-only mode\r\n *\r\n * @param expirationTime When the token will expire or has expired (msec since the epoch)\r\n *\r\n * @author amchavan, 30-Sep-2024\r\n */\r\nexport interface Token {\r\n /** ObsProject UID for the proposal being edited */\r\n obsProjectUID?: string;\r\n\r\n /**\r\n * Identifier of the session (browser or browser tab)\r\n * requiring this token -- allows concurrent access\r\n * checks across multiple tabs on the same browser\r\n */\r\n sessionId?: string;\r\n\r\n /** Username of the author */\r\n author?: string;\r\n\r\n /** When the token will expire or has expired (msec since the epoch) */\r\n expirationTime?: number;\r\n\r\n /** If falsy, this token hasn't expired yet */\r\n expirationReason?: ExpirationReason;\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpClient} from '@angular/common/http';\r\nimport {Token} from './token';\r\n\r\n/**\r\n * The client for alma.obsprep.ngot.backend.ngotprojectarchive.concedit.TokenController\r\n * in ngot-project-archive.\r\n *\r\n * All requests are fire-and-forget (no action on the response) because the front-end\r\n * takes its concurrent editing input from websocket subscriptions.\r\n *\r\n * @author amchavan, 11-Oct-2024\r\n */\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TokenService {\r\n readonly baseUrl = `/ngotGateway/concurrent-editing/v1`;\r\n\r\n constructor(private http: HttpClient) {}\r\n\r\n claimToken(obsProjectUid: string, username: string, sessionId: string, grab = false) {\r\n return this.http.get<Token>(`${this.baseUrl}/editing-token?obsProjectUid=${obsProjectUid}&author=${username}&sessionId=${sessionId}&grab=${grab}`).subscribe();\r\n }\r\n\r\n releaseToken(obsProjectUid: string, username: string, sessionId: string) {\r\n return this.http.delete(`${this.baseUrl}/editing-token?obsProjectUid=${obsProjectUid}&author=${username}&sessionId=${sessionId}`).subscribe();\r\n }\r\n\r\n /** Ask the back-end to broadcast the current editing token for the given project, if any */\r\n broadcastToken(obsProjectUid: string) {\r\n this.http.get<Token>(`${this.baseUrl}/broadcast-editing-token?obsProjectUid=${obsProjectUid}`).subscribe();\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {v4 as uuidv4} from 'uuid';\r\n\r\n/**\r\n * Simple-minded session management: a session is a user on browser, or browser tab\r\n * @author amchavan, 11-Oct-2024\r\n */\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SessionService {\r\n /** A self-generated session identifier for the tab we are running in */\r\n sessionID: string;\r\n\r\n constructor() {\r\n this.sessionID = this.randomString(6);\r\n }\r\n\r\n public getSessionId() {\r\n return this.sessionID;\r\n }\r\n\r\n /** Compute a random string of the given length */\r\n private randomString(length?: number) {\r\n const temp = !!window.isSecureContext // Are we running on HTTPS?\r\n ? self.crypto.randomUUID() // YES, normal case\r\n : uuidv4(); // NO, fall back on UUID v4\r\n\r\n return temp.replace(/-/g, '').substring(0, length);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {RxStomp} from '@stomp/rx-stomp';\r\n\r\n/**\r\n * @author amchavan, 10-Oct-2024\r\n */\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RxStompService extends RxStomp {\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","import {RxStompConfig} from '@stomp/rx-stomp';\r\n\r\n/**\r\n * Configuration options for RxStomp\r\n *\r\n * @author amchavan, 10-Oct-2024\r\n */\r\nexport const rxStompConfig: RxStompConfig = {\r\n // Which websocket server?\r\n // brokerURL: 'ws://127.0.0.1:15674/ws',\r\n // brokerURL: 'ws://localhost:10001/ngot-project-archive/websocket',\r\n // brokerURL: 'ws://localhost:8080/ngotGateway/websocket',\r\n brokerURL: '/ngotWebsocketGateway/websocket',\r\n\r\n // Headers\r\n // Typical keys: login, passcode, host\r\n // connectHeaders: {\r\n // login: 'guest',\r\n // passcode: 'guest',\r\n // },\r\n\r\n // How often to heartbeat?\r\n // Interval in milliseconds, set to 0 to disable\r\n heartbeatIncoming: 0, // Typical value 0 - disabled\r\n heartbeatOutgoing: 20000, // Typical value 20000 - every 20 seconds\r\n\r\n // Wait in milliseconds before attempting auto reconnect\r\n // Set to 0 to disable\r\n // Typical value 500 (500 milliseconds)\r\n reconnectDelay: 1000\r\n\r\n // Will log diagnostics on console\r\n // It can be quite verbose, not recommended in production\r\n // Skip this key to stop logging to console\r\n // debug: (msg: string): void => {\r\n // console.log(new Date(), msg);\r\n // },\r\n};\r\n","import {RxStompService} from './rx-stomp.service';\r\nimport {rxStompConfig} from './rx-stomp.config';\r\n\r\n/**\r\n * See https://stomp-js.github.io/guide/rx-stomp/rx-stomp-with-angular.html\r\n *\r\n * @author amchavan, 10-Oct-2024\r\n */\r\nexport function rxStompServiceFactory() {\r\n const rxStomp = new RxStompService();\r\n rxStomp.configure(rxStompConfig);\r\n rxStomp.activate();\r\n console.info('RxStompService activated');\r\n return rxStomp;\r\n}\r\n","/*\r\n * Public API Surface of model\r\n */\r\n\r\nexport * from './lib/apdm/abstract-base-band-config';\r\nexport * from './lib/apdm/abstract-correlator-configuration';\r\nexport * from './lib/apdm/abstract-instrument-spec';\r\nexport * from './lib/apdm/abstract-science-goal';\r\nexport * from './lib/apdm/abstract-science-spectral-window';\r\nexport * from './lib/apdm/abstract-spectral-line';\r\nexport * from './lib/apdm/abstract-spectral-window';\r\nexport * from './lib/apdm/abstract-switching-cycle';\r\nexport * from './lib/apdm/abstract-switching-state';\r\nexport * from './lib/apdm/abstract-target-parameters';\r\nexport * from './lib/apdm/abstract-timing-constraints';\r\nexport * from './lib/apdm/aca-base-band-config';\r\nexport * from './lib/apdm/aca-correlator-configuration';\r\nexport * from './lib/apdm/aca-phase-switching-configuration';\r\nexport * from './lib/apdm/aca-spectral-window';\r\nexport * from './lib/apdm/aca-spectrometer-correlator-configuration';\r\nexport * from './lib/apdm/advanced-spectral-setup';\r\nexport * from './lib/apdm/advanced-window-setup';\r\nexport * from './lib/apdm/angle';\r\nexport * from './lib/apdm/angular-velocity';\r\nexport * from './lib/apdm/array-data-rates';\r\nexport * from './lib/apdm/array-time';\r\nexport * from './lib/apdm/array-time-breakdown';\r\nexport * from './lib/apdm/base-band-specification';\r\nexport * from './lib/apdm/beam-switching-cycle';\r\nexport * from './lib/apdm/beam-switching-state';\r\nexport * from './lib/apdm/bl-base-band-config';\r\nexport * from './lib/apdm/bl-correlator-configuration';\r\nexport * from './lib/apdm/bl-spectral-window';\r\nexport * from './lib/apdm/calibration-requirements';\r\nexport * from './lib/apdm/calibration-setup-parameters';\r\nexport * from './lib/apdm/calibration-target-parameters';\r\nexport * from './lib/apdm/calibration-target-properties';\r\nexport * from './lib/apdm/calibrator-parameters';\r\nexport * from './lib/apdm/channel-average-region';\r\nexport * from './lib/apdm/circle';\r\nexport * from './lib/apdm/cloneable';\r\nexport * from './lib/apdm/control-block';\r\nexport * from './lib/apdm/cross-pattern';\r\nexport * from './lib/apdm/data-processing-parameters';\r\nexport * from './lib/apdm/data-rate';\r\nexport * from './lib/apdm/data-rate-breakdown';\r\nexport * from './lib/apdm/document-link';\r\nexport * from './lib/apdm/double-with-unit';\r\nexport * from './lib/apdm/ellipse';\r\nexport * from './lib/apdm/entity';\r\nexport * from './lib/apdm/entity-ref';\r\nexport * from './lib/apdm/exec-block-ref';\r\nexport * from './lib/apdm/executive-fraction';\r\nexport * from './lib/apdm/extended-science-spectral-window';\r\nexport * from './lib/apdm/expected-properties';\r\nexport * from './lib/apdm/expected-spectral-line';\r\nexport * from './lib/apdm/field';\r\nexport * from './lib/apdm/field-pattern';\r\nexport * from './lib/apdm/field-source';\r\nexport * from './lib/apdm/fill-pattern';\r\nexport * from './lib/apdm/flow-control';\r\nexport * from './lib/apdm/flux';\r\nexport * from './lib/apdm/frequency';\r\nexport * from './lib/apdm/frequency-setup';\r\nexport * from './lib/apdm/frequency-switching-cycle';\r\nexport * from './lib/apdm/frequency-switching-state';\r\nexport * from './lib/apdm/holography-parameters';\r\nexport * from './lib/apdm/int-time-reference';\r\nexport * from './lib/apdm/int-time-source';\r\nexport * from './lib/apdm/investigator';\r\nexport * from './lib/apdm/keywordValue';\r\nexport * from './lib/apdm/latitude';\r\nexport * from './lib/apdm/length';\r\nexport * from './lib/apdm/longitude';\r\nexport * from './lib/apdm/magnitude';\r\nexport * from './lib/apdm/monitoring-constraint';\r\nexport * from './lib/apdm/obs-attachment';\r\nexport * from './lib/apdm/obs-attachment-entity';\r\nexport * from './lib/apdm/obs-attachment-ref';\r\nexport * from './lib/apdm/observing-group';\r\nexport * from './lib/apdm/observing-parameters';\r\nexport * from './lib/apdm/obs-phase';\r\nexport * from './lib/apdm/obs-procedure';\r\nexport * from './lib/apdm/obs-program';\r\nexport * from './lib/apdm/obs-project';\r\nexport * from './lib/apdm/obs-project-entity';\r\nexport * from './lib/apdm/obs-project-ref';\r\nexport * from './lib/apdm/obs-proposal';\r\nexport * from './lib/apdm/obs-proposal-entity';\r\nexport * from './lib/apdm/obs-proposal-ref';\r\nexport * from './lib/apdm/obs-review-ref';\r\nexport * from './lib/apdm/obs-unit';\r\nexport * from './lib/apdm/obs-unit-control';\r\nexport * from './lib/apdm/obs-unit-set';\r\nexport * from './lib/apdm/optical-camera-spec';\r\nexport * from './lib/apdm/optical-pointing-parameters';\r\nexport * from './lib/apdm/ordered-target';\r\nexport * from './lib/apdm/ous-status-ref';\r\nexport * from './lib/apdm/overlaid-spectral-line';\r\nexport * from './lib/apdm/performance-parameters';\r\nexport * from './lib/apdm/pointing-pattern';\r\nexport * from './lib/apdm/polygon';\r\nexport * from './lib/apdm/preconditions';\r\nexport * from './lib/apdm/project-status-ref';\r\nexport * from './lib/apdm/proposal-feedback';\r\nexport * from './lib/apdm/query-source';\r\nexport * from './lib/apdm/radiometric-pointing-parameters';\r\nexport * from './lib/apdm/receiver-time';\r\nexport * from './lib/apdm/receiver-time-breakdown';\r\nexport * from './lib/apdm/rectangle';\r\nexport * from './lib/apdm/rectangle-pattern';\r\nexport * from './lib/apdm/reference';\r\nexport * from './lib/apdm/reservation-parameters';\r\nexport * from './lib/apdm/sb-status-ref';\r\nexport * from './lib/apdm/sched-block';\r\nexport * from './lib/apdm/sched-block-control';\r\nexport * from './lib/apdm/sched-block-entity';\r\nexport * from './lib/apdm/sched-block-ref';\r\nexport * from './lib/apdm/scheduling-constraints';\r\nexport * from './lib/apdm/science-goal';\r\nexport * from './lib/apdm/science-parameters';\r\nexport * from './lib/apdm/science-spectral-window';\r\nexport * from './lib/apdm/sensitivity';\r\nexport * from './lib/apdm/single-point';\r\nexport * from './lib/apdm/sky-coordinates';\r\nexport * from './lib/apdm/small-angle';\r\nexport * from './lib/apdm/source-property';\r\nexport * from './lib/apdm/spectral-line';\r\nexport * from './lib/apdm/spectral-scan';\r\nexport * from './lib/apdm/spectral-setup-parameters';\r\nexport * from './lib/apdm/spectral-spec';\r\nexport * from './lib/apdm/speed';\r\nexport * from './lib/apdm/square-law-setup';\r\nexport * from './lib/apdm/status';\r\nexport * from './lib/apdm/storage-volume';\r\nexport * from './lib/apdm/submission-record';\r\nexport * from './lib/apdm/target';\r\nexport * from './lib/apdm/target-parameters';\r\nexport * from './lib/apdm/technical-justification';\r\nexport * from './lib/apdm/temporal-constraints';\r\nexport * from './lib/apdm/temporal-parameters';\r\nexport * from './lib/apdm/time';\r\nexport * from './lib/apdm/time-allocation-breakdown';\r\nexport * from './lib/apdm/unit-dependencies';\r\nexport * from './lib/apdm/user-angle';\r\nexport * from './lib/apdm/user-frequency';\r\nexport * from './lib/apdm/user-sensitivity';\r\nexport * from './lib/apdm/velocity';\r\nexport * from './lib/apdm/visit-constraint';\r\nexport * from './lib/apdm/weather-constraints';\r\nexport * from './lib/apdm/xml-gregorian-calendar';\r\n\r\nexport * from './lib/app/application-status';\r\nexport * from './lib/app/authentication-status';\r\nexport * from './lib/app/error';\r\nexport * from './lib/app/export-sources';\r\nexport * from './lib/app/import-sources';\r\nexport * from './lib/app/list-item-status';\r\nexport * from './lib/app/project-status';\r\nexport * from './lib/app/project-type-code';\r\nexport * from './lib/app/proposal-status';\r\nexport * from './lib/app/proposal-submission-status';\r\nexport * from './lib/app/attachment-status';\r\nexport * from './lib/app/science-goals-status';\r\nexport * from './lib/app/submission-status';\r\nexport * from './lib/app/validation-status';\r\nexport * from './lib/app/receiver-bands';\r\nexport * from './lib/app/time-estimates-status';\r\nexport * from './lib/app/control-and-performance-status';\r\nexport * from './lib/app/calibration-status';\r\nexport * from './lib/app/sensitivity-equivalence-values-status';\r\nexport * from './lib/app/sensitivity-frequency-measures-status';\r\nexport * from './lib/app/spectral-scan-tunings-status';\r\nexport * from './lib/app/user-preferences-status';\r\nexport * from './lib/app/pointings.status';\r\nexport * from './lib/app/pointings';\r\nexport * from './lib/app/array-types';\r\nexport * from './lib/app/spectral-viewer-status';\r\nexport * from './lib/app/cycle-info-status';\r\nexport * from './lib/app/configuration-tables-status';\r\nexport * from './lib/app/proposal.types';\r\nexport * from './lib/app/technical-justification-status';\r\n\r\nexport * from './lib/authorization/user';\r\n\r\nexport * from './lib/list-item/list-item';\r\n\r\nexport * from './lib/user-preferences/user-preferences';\r\n\r\nexport * from './lib/technical-justification/technical-justification-editor';\r\nexport * from './lib/technical-justification/technical-justification-item';\r\nexport * from './lib/technical-justification/technical-justification-section';\r\nexport * from './lib/technical-justification/technical-justifications';\r\nexport * from './lib/technical-justification/technical-justifications-result';\r\n\r\nexport * from './lib/time-estimates/calibration';\r\nexport * from './lib/time-estimates/cluster-data';\r\nexport * from './lib/time-estimates/configuration';\r\nexport * from './lib/time-estimates/data-volume-and-rates';\r\nexport * from './lib/time-estimates/group';\r\nexport * from './lib/time-estimates/header-parameter';\r\nexport * from './lib/time-estimates/param';\r\nexport * from './lib/time-estimates/source';\r\nexport * from './lib/time-estimates/time-estimate';\r\nexport * from './lib/time-estimates/time-estimates';\r\n\r\nexport * from './lib/environment/environment';\r\n\r\nexport * from './lib/joint-proposals/joint-proposals';\r\n\r\nexport * from './lib/control-and-performance/control-and-performance-configuration';\r\nexport * from './lib/control-and-performance/antennas-configuration';\r\nexport * from './lib/control-and-performance/sensitivity-equivalence-values';\r\nexport * from './lib/control-and-performance/sensitivity-frequency-measures';\r\n\r\nexport * from './lib/calibration-setup/calibration-configuration';\r\n\r\nexport * from './lib/validation/validation-issue';\r\nexport * from './lib/validation/validation-issue-type';\r\n\r\nexport * from './lib/spectral-setup/spectral-lines';\r\nexport * from './lib/spectral-setup/receiver-band';\r\nexport * from './lib/spectral-setup/spectral-scan-tunings';\r\nexport * from './lib/spectral-setup/spectral-type';\r\n\r\nexport * from './lib/field-setup/ephemeris-information';\r\n\r\nexport * from './lib/concurrent-access/token';\r\n// TODO Move the following services elsewhere, they do not belong here\r\nexport * from './lib/concurrent-access/token.service';\r\nexport * from './lib/concurrent-access/session.service';\r\nexport * from './lib/concurrent-access/rx-stomp.service';\r\nexport * from './lib/concurrent-access/rx-stomp-service-factory';\r\nexport * from './lib/cycle-info/cycle-info';\r\nexport * from './lib/configuration-tables/configuration-tables';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["uuidv4"],"mappings":"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"}