@@@@@ BEGIN SECTION - inst.id @@@@@
AERI-105@@@@@ END OF SECTION - inst.id @@@@@
@@@@@ BEGIN SECTION - FTSW_Eaeri.Config @@@@@
// *** Important **** : for filenames and paths use '/' instead of '\'

FTSW_EAERI.Version = "1.11"

//Flag that determine which mirror angle to use for the ABB & HBB ((mirror.index1Angle & mirror.index2Angle) or (mirror.reversIndex1Angle & mirror.reversIndex2Angle))
//When = true, it will do the following (360 - desiredAngle) with the other angles received from Ingest software.
//Note that the Custom angle that can be sent from the FTSW AERI GUI are not affected by this flag.
Acquire.inputOpticReversed = false

//Flag to control the second trap on some EAERI configuration
Acquire.secondTrapControl = false
Acquire.TopTrapOpen = true
Acquire.SideTrapOpen = false

Acquire.refreshRate = 2

Acquire.udpPort = 20000

// Measurements
//Separator to be used in the housekeeping file. It must be enclosed in double quotes when spaces or tabs are used.
Acquire.ASCIIHkSeparator = ,
Acquire.changeSignSPC = false

// Measurements Settings
Acquire.emissivityHBB = 0.995
Acquire.emissivityCBB = 0.995

// Instrument Settings
Acquire.saveAllBFS = false


//Display Settings
Display.xViewSpcMinA = 50.0
Display.xViewSpcMinB = 50.0
Display.xViewSpcMaxA = 3500.0
Display.xViewSpcMaxB = 7000.0
Display.logHKSimpleFormat = false
Display.showErrorMsg = false

//Automatic gains/offsets computation when start FTSW AERI (1=YES)
Start.computeGainOffset = 0

// Compute Calibrated Spectrum
CompCalSpc.keepTmpResult = false

//font settings
font.airPrimary = 22
font.airSecondary = 20
font.groundPrimary = 16
font.groundSecondary = 18

//Pointing Mirror configuration
mirror.comPort = COM5
mirror.index0Angle = 179.5
mirror.index1Angle = 300.55
mirror.index2Angle = 240.35
mirror.index3Angle = 0.0
mirror.reversIndex1Angle = 59.6
mirror.reversIndex2Angle = 120.5
//the mirror offset must be a positive value representing the offset
//in step count (360 deg = 4000 steps) between the optical home position and the bumper
mirror.offset = 5

//TEC Controller configuration
TECController.comPort = COM6
TECController.setTemp = 23.0
TECController.deadBand = 0.1
TECController.cutOffTemp = 50.0
TECController.allowHeating = false

//Sun detector Threshold
sun.threshold = 75.0
sun.deadBand = 5.0

// Rain sensor Mode: if set to true, the rain detector algorithm is used to determine if
// it is raining, otherwise it is user responsability to set a valid threshold and deadband
// setting for both rain detectors.
Rain.digitalMode = true

// Rain sainsor Threshold
Rain.outsideDetThreshold = 2.80
Rain.outsideDetDeadband = 0.1
Rain.insideDetThreshold = 2.80
Rain.insideDetDeadband = 0.1


//Agilent Config file
Agilent.configFile = ./agilent.config

// ./agilent_calBB.config is appropriate for fixed resistance Agilent calibration testing
// agilent.configFile = ./agilent_calBB.config
Agilent.betweenMeasTime = 1000

// Agilent volt values
//DAC1 is connected with Hot Blackbody controller
Agilent.DAC1Volt = 0.894

//DAC2, in an AIM config is connected with AIM cooler controller (see StirlingCooler.type below)
//DAC2 may be connected to a Blackbody controller, config file shall represent hardware configuration.
Agilent.DAC2Volt = 4.986
Agilent.DAC2StandbyVolt = 4.986


// Stirling Cooler Temperature Cutoff
StirlingCooler.compressorCutoffTemp = 85.0
StirlingCooler.expenderCutoffTemp = 100.0

//Stirling Cooler type
// 0 -> no control on Strirling cooler
// 1 -> AIM: On/Off on l4452A bit 24 positive logic, set point on l4452A DAC2
// 2 -> Thales: On/Off on l4452A bits 24,25 and 26 negatice logic, set point on RS-232 comm x
StirlingCooler.type = 2

// HatchStandbyTime is the time in second before to open the hatch after the
// rain/sun sensors are in correct state (no rain, no sun). (Only with cooler type > 0)
StirlingCooler.HatchStandbyTime = 180


//comPort, setPoint_mV and standBy_mV is only used when StirlingCooler.type = 2
ThalesCooler.comPort = COM7
//ThalesCooler.comPort = COM9
ThalesCooler.setPoint_mV = 1058.0
//ThalesCooler.standby_mV = 1023.5
ThalesCooler.standby_mV = 1058.0

//BB Coefficient for BB s/n 69 -40 to +20 degrees C
tempCoef.ambientBlackbodyTopRimTemperatureCoef1 = 0.0010219466
tempCoef.ambientBlackbodyTopRimTemperatureCoef2 = 2.4046786E-4
tempCoef.ambientBlackbodyTopRimTemperatureCoef3 = 1.4932603E-7

tempCoef.ambientBlackbodyApexTemperatureCoef1 = 0.0010222564
tempCoef.ambientBlackbodyApexTemperatureCoef2 = 2.4052908E-4
tempCoef.ambientBlackbodyApexTemperatureCoef3 = 1.4901131E-7

tempCoef.ambientBlackbodyBottomRimTemperatureCoef1 = 0.0010214966
tempCoef.ambientBlackbodyBottomRimTemperatureCoef2 = 2.4048598E-4
tempCoef.ambientBlackbodyBottomRimTemperatureCoef3 = 1.4959490E-7

// 2nd set of coefficients for BB s/n 69 - 40 to +20 degrees C

tempCoef.ambientBlackbodyDegreeCBelowTemp = 0.0
tempCoef.ambientBlackbodyTopRimTemperatureCoef4 = 0.0010219466
tempCoef.ambientBlackbodyTopRimTemperatureCoef5 = 2.4046786E-4
tempCoef.ambientBlackbodyTopRimTemperatureCoef6 = 1.4932603E-7

tempCoef.ambientBlackbodyApexTemperatureCoef4 = 0.0010222564
tempCoef.ambientBlackbodyApexTemperatureCoef5 = 2.4052908E-4
tempCoef.ambientBlackbodyApexTemperatureCoef6 = 1.4901131E-7

tempCoef.ambientBlackbodyBottomRimTemperatureCoef4 = 0.0010214966
tempCoef.ambientBlackbodyBottomRimTemperatureCoef5 = 2.4048598E-4
tempCoef.ambientBlackbodyBottomRimTemperatureCoef6 = 1.4959490E-7

// HBB s/n 71 +0 to +60 degrees Celcius
tempCoef.hotBlackbodyTopRimTemperatureCoef1 = 0.0010194618
tempCoef.hotBlackbodyTopRimTemperatureCoef2 = 2.4104286E-4
tempCoef.hotBlackbodyTopRimTemperatureCoef3 = 1.4641256E-7

tempCoef.hotBlackbodyApexTemperatureCoef1 = 0.0010189763
tempCoef.hotBlackbodyApexTemperatureCoef2 = 2.4107354E-4
tempCoef.hotBlackbodyApexTemperatureCoef3 = 1.4696863E-7

tempCoef.hotBlackbodyBottomRimTemperatureCoef1 = 0.0010160924
tempCoef.hotBlackbodyBottomRimTemperatureCoef2 = 2.4142944E-4
tempCoef.hotBlackbodyBottomRimTemperatureCoef3 = 1.4726154E-7

tempCoef.generalCoef1 = 0.001033198
tempCoef.generalCoef2 = 2.38473E-4
tempCoef.generalCoef3 = 1.59E-7

// Help
UserManualFilename = "./AA004392-01 Rev B FTSW AERI Software User and Reference Manual.pdf"

//3body Calibration kit settings
calibKit.configFile = ./agilentCalKit.config
calibKit.connected = false
// 1.363 corresponds to 45 degree C
calibKit.DAC1VoltValue = 1.363
calibKit.DAC2VoltValue = 4.5

//3body_breakout Calibration kit settings (Y cable linked to ABB used)
calibKitY.connected = false
// 1.363 corresponds to 45 degree C
calibKitY.DAC2VoltValue = 1.363

//Monitoring settings
Monitoring.xmlConfigFileName =  ./MonitoringConfig.xml
// refreshRateMilliSec minimum = 5000
Monitoring.refreshRateMilliSec = 10000


@@@@@ END OF SECTION - FTSW_Eaeri.Config @@@@@
@@@@@ BEGIN SECTION - agilent.config @@@@@
// Example configuration file for E-AERI Agilent system
// note : this file is parsed line by line, a comment line must begin with // (double slash),
//        a // in middle of a line DO NOT represent a comment

// This config file must have 3 parts to be a valid Agilent config file :
// -->L4411A
// -->L4421A
// -->L4452A
// The line IMMEDIATLY after a change of section MUST be the VISA address of the instrument


-->L4411A
TCPIP0::169.254.44.11::inst0::INSTR

// Configuration lines for L4411A module
// module L4411A can contain subsections,
// Each subsection must begins with a line that begins with *-->L4411A-
// For Each subsection of the L4411A instrument should correspond
// a subsection of the L4421A instrument

*-->L4411A-1 (Resistance 2W)
CONF:RES AUTO, DEF
TRIG:SOUR EXT
TRIG:COUNt 21
//RES:NPLC 0.001
TRIG:DElay 0.1

*-->L4411A-2 (Resistance 4W) ABB1
CONF:FRES AUTO
FRES:RANG:AUTO ONCE
RES:NPLC 1
TRIG:SOUR EXT
TRIG:COUNt 1
TRIG:DElay 3

*-->L4411A-3 (Resistance 4W) ABB2
CONF:FRES AUTO
FRES:RANG:AUTO ONCE
RES:NPLC 1
TRIG:SOUR EXT
TRIG:COUNt 2
TRIG:DElay 3

*-->L4411A-4 (Resistance 4W) HBB
CONF:FRES AUTO
FRES:RANG:AUTO ONCE
RES:NPLC 1
TRIG:SOUR EXT
TRIG:COUNt 3
TRIG:DElay 3

*-->L4411A-5 (Volt DC)
CONF:VOLT:DC AUTO, DEF
TRIG:SOUR EXT
TRIG:COUNt 1
VOLT:NPLC 10
TRIG:DElay 0.01

*-->L4411A-6 (Volt DC)
CONF:VOLT:DC AUTO, DEF
TRIG:SOUR EXT
TRIG:COUNt 5
//VOLT:NPLC 0.001
TRIG:DElay 0.1

*-->L4411A-7 (Diode)
CONF:DIODe
TRIG:SOUR EXT
TRIG:COUNt 1

-->L4421A
TCPIP0::169.254.44.21::inst0::INSTR

// Configuration lines for L4421A module
// module L4421A can contain subsections,
// Each subsection must begins with a line that begins with *-->L4421A-
// For Each subsection of the L4421A instrument should correspond
// a subsection of the L4411A instrument
// For Each subsection of the L4421A instrument should correspond
// the list of corresponding HK variable separated by comma
// (valid list of variables at the end of this file)

*-->L4421A-1 (Resistance 2W)
ROUT:SCAN (@1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1027,1028,1029,1030,1031,1039,1040)
ROUT:CHAN:ADV:SOUR EXT
HK:refRes1, refRes2, refRes3, outsideAirRes, interferometerAirRes, blackbodySupportStructureRes, blackbodyAirRes, mirrorMotorRes, sceneMirrorRes, powerSupplyRes24V, powerSupplyRes28V, stirlingCoolerCompressorRes, stirlingCoolerExpenderRes, thermalEnclosureRes, inputMirrorMotorDriveElectronicRes, dataAcquisitionModulesRes, sceneWindowRes, fanAirflowRes, protectiveEnclosureRes, externalSunDetectorSensor, internalSunDetectorSensor

*-->L4421A-2 (Resistance 4W)
ROUT:CHAN:FWIR ON,(@1001)
ROUT:SCAN (@1001)
ROUT:CHAN:ADV:SOUR EXT
ROUT:CLOS (@1001,1021, 1911, 1922)
HK:ambientBlackbodyTopRimRes

*-->L4421A-3 (Resistance 4W)
ROUT:CHAN:FWIR ON,(@1002, 1003)
ROUT:SCAN (@1002, 1003)
ROUT:CHAN:ADV:SOUR EXT
ROUT:CLOS (@1003,1023, 1911, 1922)
HK:ambientBlackbodyApexRes, ambientBlackbodyBottomRimRes

*-->L4421A-4 (Resistance 4W)
ROUT:CHAN:FWIR ON,(@1004, 1005, 1006)
ROUT:SCAN (@1004, 1005, 1006)
ROUT:CHAN:ADV:SOUR EXT
ROUT:CLOS (@1006,1026, 1911, 1922)
HK:hotBlackbodyTopRimRes, hotBlackbodyApexRes, hotBlackbodyBottomRimRes

*-->L4421A-5 (Volt DC)
ROUT:SCAN (@1033)
ROUT:CHAN:ADV:SOUR EXT
HK:stirlingCoolerCurrent

*-->L4421A-6 (Volt DC)
ROUT:SCAN (@1034,1035,1036,1037,1038)
ROUT:CHAN:ADV:SOUR EXT
HK:atmosphericRelativeHumidity, interferometerRelativeHumidity, atmosphericPressureSensor, externalRainDetectorSensor, internalRainDetectorSensor

*-->L4421A-7 (Diode)
ROUT:SCAN (@1032)
ROUT:CHAN:ADV:SOUR EXT
HK:detectorTemperatureSensor


-->L4452A
TCPIP0::169.254.44.52::inst0::INSTR

// Configuration lines for L4452A module

Configure:Digital:State input,(@1001)
Configure:Digital:State input,(@1002)
Configure:Digital:State output,(@1003)
Configure:Digital:State output,(@1004)
Source:Digital:Data:Byte 3,(@1003)
Source:Digital:Data:Byte 0,(@1004)
Source:VOLT:LEV 0.894,(@1006)
Source:VOLT:LEV 4.986,(@1007)

// List of valid variable for L4421A instrument

// ambientBlackbodyTopRimRes
// ambientBlackbodyApexRes
// ambientBlackbodyBottomRimRes
// hotBlackbodyTopRimRes
// hotBlackbodyApexRes
// hotBlackbodyBottomRimRes
// refRes1
// refRes2
// refRes3
// outsideAirRes
// interferometerAirRes
// blackbodySupportStructureRes
// blackbodyAirRes
// mirrorMotorRes
// sceneMirrorRes
// powerSupplyRes24V
// powerSupplyRes28V
// stirlingCoolerCompressorRes
// stirlingCoolerExpenderRes
// thermalEnclosureRes
// inputMirrorMotorDriveElectronicRes
// dataAcquisitionModulesRes
// sceneWindowRes
// fanAirflowRes
// protectiveEnclosureRes
// detectorTemperatureSensor
// stirlingCoolerCurrent
// atmosphericRelativeHumidity
// interferometerRelativeHumidity
// atmosphericPressureSensor
// externalRainDetectorSensor
// internalRainDetectorSensor
// externalSunDetectorSensor
// internalSunDetectorSensor


//End of Agilent configuration file@@@@@ END OF SECTION - agilent.config @@@@@
@@@@@ BEGIN SECTION - aeri.pos @@@@@
LAT = 43.071
LON = -89.407
ALT = 295
"05-28-2015","16:15:00"@@@@@ END OF SECTION - aeri.pos @@@@@
@@@@@ BEGIN SECTION - mirror.beg @@@@@
20 1
D4915
HBB 17 240.35
D-25085
ABB 17 300.55
D-1085
SKY 17 179.5
D-1085
T-SKY 17 179.5
D-1085
U-SKY 17 179.5
D-1085
V-SKY 17 179.5
D-1085
W-SKY 17 179.5
D-1085
X-SKY 17 179.5
D-1085
Y-SKY 17 179.5
D-1085
Z-SKY 17 179.5
D-25085
ABB 17 300.55
D4915
HBB 17 240.35
D-1085
SKY 17 179.5
D-1085
T-SKY 17 179.5
D-1085
U-SKY 17 179.5
D-1085
V-SKY 17 179.5
D-1085
W-SKY 17 179.5
D-1085
X-SKY 17 179.5
D-1085
Y-SKY 17 179.5
D-1085
Z-SKY 17 179.5
@@@@@ END OF SECTION - mirror.beg @@@@@
@@@@@ BEGIN SECTION - op.set @@@@@
;
; Default setup file
;
; General parameters
;
; Instrument type (0=M100 1=MB 2=M120 4=M100 5=MR200)
INSTYP = 1
; Extended (1) or Limited (0) filing system
EXTLIM = 1
; DSP board interrupt number (3 or 5)
DSPINT = 5
; Number of DSP boards installed (1-2)
DSPNUM = 2
; Type of DSP board installed (1=normal DSP 3=1 wait state 4=0 wait state
DSPTYP = 1
; Forward scans only (0) or bidirectional (1)
DIRMOD = 1
; Calibration method = 0 = One point calibration
;                      1 = Two-point calibration with self phase correction
;                      2 = Two-point calib. with black body phase correction
CALIBR = 2
; Combine forward and reverse (1) or not (0) after calibration
COMBIN = 0
; Merge Detector 1 and 2 together (1) or not (0) after calibration
; (valid only with a 2 DSP system )
MERGED = 0
; Cutoff frequency in case of a merge (floating point format)
CUTOFF = 1700.0
; Keep all scans (1) or not (0) (requires LabCalc, output files all become
;                                LabCalc Multifile format)
KEEPSC = 0
; Wavenumber minimum limit for detector #1 (floating point format)
SIGMN1 = 200.0
; Wavenumber maximum limit for detector #1 (floating point format)
SIGMX1 = 2000.0
; Wavenumber minimum limit for detector #2 (floating point format)(optional)
SIGMN2 = 1600.0
; Wavenumber maximum limit for detector #2 (floating point format)(optional)
SIGMX2 = 3020.0
; Apodization function (0=BOXCAR 1=BARTLET 2=COSINE 3=HAMMING 4=BLACKMAN
;			5=GAUSSIAN 6=NORTON_B_WEEK 7=NORTON_B_MEDIUM
; 			8=NORTON_B_STRONG)
; WARNING: DSP96000 only
APODIZ = 0
;
; Cold calibration parameters
;
; Cold calibration Aperture Stop Diameter in cm (floating point format)
CC_ASD = 1.5
; Cold calibration Field Stop Diameter in cm (floating point format)
CC_FSD = 0.64
; Distance or Collimator Focal Length in cm (floating point format)
CC_CFL = 13.9
; Cold Black Body Temperature in Kelvin (floating point format)
CC_BBT = 293.0
; Cold Black Body ambiant temperature in Kelvin (floating point format)
; (optional)
CCAMBT = 300.0
; Cold Black body emissivity (0 <= emissivity <= 1) (floating point format)
; (optional)
CCEMIS = 1.0
; Number of scan to be done for Cold calibration
CCNSCA = 1
; Cold calibration file description
; (must be enclosed in double quotes 80 char. max )
CCDESC = "Sample description for Cold calibration ... "
;
; Hot calibration parameters
;
; Hot calibration Aperture Stop Diameter in cm (floating point format)
HC_ASD = 1.5
; Hot calibration Field Stop Diameter in cm (floating point format)
HC_FSD = 0.64
; Distance or Collimator Focal Length in cm (floating point format)
HC_CFL = 13.9
; Hot Black Body Temperature in Kelvin (floating point format)
HC_BBT = 293.0
; Hot Black Body ambiant temperature in Kelvin (floating point format)
; (optional)
HCAMBT = 300.0
; Hot Black body emissivity (0 <= emissivity <= 1) (floating point format)
; (optional)
HCEMIS = 1.0
; Number of scan to be done for Hot calibration
HCNSCA = 1
; Hot calibration file description
; (must be enclosed in double quotes 80 char. max )
HCDESC = "Sample description for Hot calibration ... "
;
; Sample measurement parameters
;
; Sample measurement Aperture Stop Diameter in cm (floating point format)
SM_ASD = 1.5
; Sample measurement Field Stop Diameter in cm (floating point format)
SM_FSD = 0.64
; Distance or Collimator Focal Length in cm (floating point format)
SM_CFL = 13.9
; Obscuration area (in %)
OBSCAR = 0
; Target area of the Field of view (in %)
TARGAR = 100
; Number of scan to be done for Sample measurement
SMNSCA = 1
; Sample measurement file description
; (must be enclosed in double quotes 80 char. max )
SMDESC = "Sample description for Sample measurement ... "

; Instrument parameters
; Laser frequency
LASERF = 15799.7
; Detector of channel #1 (A) preamplifier delay (DSP96000 and MR200 only)
DELAYA = 3.75
; Detector of channel #2 (B) preamplifier delay (DSP96000 and MR200 only)
DELAYB = 3.75

; Instrument settings (DSP96000 and supported instrument only)
; (NOTE: any parameter commented out is not changed)
; Resolution (0=128 1=64 2=32 3=16 4=8 5=4 6=2 7=1 cm-1)
RESOLU = 7
; Detector #1 gain (1,2,4,8,16)
;GAIND1 = 4
; Detector #2 gain (1,2,4,8,16)
;GAIND2 = 4
; Oversampling for detector #1 (0=1 1=2 sample per fringe)
;OVERS1 = 0
; Oversampling for detector #2 (0=1 1=2 sample per fringe)
;OVERS2 = 0
; Auxiliary detector (0=1st 2=2nd detector)
;AUXDET = 0

DELOS2 = 1.0@@@@@ END OF SECTION - op.set @@@@@
@@@@@ BEGIN SECTION - aeriemis.asc @@@@@
7/96 Sample #5 (Best of Lot #3 of 2.7 inch Aperture BB's)
400  0.9623
500  0.9628
550  0.9620
600  0.9594
650  0.9560
700  0.9556
740  0.9541
765  0.9548
800  0.9541
850  0.9556
900  0.9560
950  0.9556
1000  0.9503
1060  0.9413
1100  0.9495
1150  0.9686
1200  0.9732
1300  0.9760
1400  0.9766
1510  0.9770
1550  0.9770
1650  0.9770
1700  0.9767
1732  0.9751
1746  0.9744
1800  0.9669
1850  0.9644
1900  0.9636
2030  0.9640
2100  0.9640
2200  0.9646
2300  0.9654
2400  0.9646
2500  0.9646
2600  0.9654
2700  0.9654
2800  0.9661
2900  0.9669
3000  0.9676
3100  0.9676
@@@@@ END OF SECTION - aeriemis.asc @@@@@
@@@@@ BEGIN SECTION - rwaspc.sip @@@@@
(File: RWASPC.SIP -- "static" input parameters for RWASPC)
(GENERIC)
(Note: blank lines, and lines with "(" in col.1, are ignored.)

numberFirstCycle:= 1
numberLastCycle:= 9999
LASERwavenumberCh1:= 15799.30
LASERwavenumberCh2:= 15799.30@@@@@ END OF SECTION - rwaspc.sip @@@@@
@@@@@ BEGIN SECTION - nlapp.sip @@@@@
(File: NLAPP.SIP -- "static" input parameters for NLAPP)
(AERI-105: 26 August 2016)
(Analysis using records: 1 - 120)

( modified aperture )

(Note: blank lines, and lines with "(" in col.1, are ignored.)
firstHBBreferenceRecNum(IHREC):= 1
firstInputRecord(IRECLO):= 1
lastInputRecord(IRECHI):= 9999
NLAPPwgt(WGT):= 100000.000000
NLAPPeff(EFF):= 0.700000
NLAPPfback(FBACK):= 1.000000
NLAPPhzpd0(HZPD0):= 5841.557
NLAPPczpd0(CZPD0):= -15052.3946
NLAPPnmax(NMAX):= 2
NLAPPan1(AN(1)):= 1.0
NLAPPan2(AN(2)):= 4.328909367e-07
NLAPPan3(AN(3)):= 0.0
NLAPPan4(AN(4)):= 0.0
NLAPPan5(AN(5)):= 0.0@@@@@ END OF SECTION - nlapp.sip @@@@@
@@@@@ BEGIN SECTION - aericalv.sip @@@@@
(File: AERICALV.SIP -- "static" input parameters for AERICALV)

(Note: Comment lines must have a left parenthesis, "(", in the first column,
(      and blank lines are ignored.

hotViewIdentifier(MPHOT):= 'H'
coldViewIdentifier(MPCOLD):= 'A'
firstSceneNumber(NFSCN):= 1
lastSceneNumber(NLSCN):= 9999
outputImaginaryPart(OUTOP2):= 'Y'
outputResponsivity(OUTOP3):= 'Y'
minValidThermistorCount(CTMIN):= -32767
maxValidThermistorCount(CTMAX):=  32767
ratioTestFactor(RATFAC):= 1.5
BBcavityFactor(CAVFAC):= 39

(Following 8 parameters are BB Temperature Weights)
ABBtempOffset(ABTOFF):= 0
HBBtempOffset(HBTOFF):= 0
ABBtopTempWeight(WTABBT):= 0.0945
ABBapexTempWeight(WTABBA):= 0.811
ABBbottomTempWeight(WTABBB):= 0.0945
HBBtopTempWeight(WTHBBT):= 0.0945
HBBapexTempWeight(WTHBBA):= 0.811
HBBbottomTempWeight(WTHBBB):= 0.0945
@@@@@ END OF SECTION - aericalv.sip @@@@@
@@@@@ BEGIN SECTION - ffovcmr.si1 @@@@@
(File: FFOVCMR.SI1 -- "static" input parameters for FFOVCMR, Ch.1)
(GENERIC)

(Note: blank lines, and lines with "(" in col.1, are ignored.)

FFOVhalfAngle(FFOV):= 23
rolloffPointLow(WNL):=520
rolloffPointHigh(WNH):=1800
firstInputRecord(NFR):= 1
lastInputRecord(NLR):= 9999
interferogramLength(NUSED):= 8192
numberOfTerms(NTERMS):= 2
@@@@@ END OF SECTION - ffovcmr.si1 @@@@@
@@@@@ BEGIN SECTION - ffovcmr.si2 @@@@@
(File: FFOVCMR.SI2 -- "static" input parameters for FFOVCMR, Ch.2)
(GENERIC)

(Note: blank lines, and lines with "(" in col.1, are ignored.)

FFOVhalfAngle(FFOV):= 23
rolloffPointLow(WNL):=1800
rolloffPointHigh(WNH):=3020
firstInputRecord(NFR):= 1
lastInputRecord(NLR):= 9999
interferogramLength(NUSED):= 8192
numberOfTerms(NTERMS):= 2
@@@@@ END OF SECTION - ffovcmr.si2 @@@@@
@@@@@ BEGIN SECTION - zfli.si1 @@@@@
(File: ZFLI.SI1 -- "static" input parameters for ZFLI, Ch.1)
(13 Aug 2013: From on 10 Aug 2013 case)

(Note: blank lines, and lines with "(" in col.1, are ignored.)

originalLaserWavenumber(WNLASR):= 15799.66
firstInputRecord(NFREC):= 1
lastInputRecord(NLREC):= 9999
outputLaserWavenumber(WNLASO):= 15799.0
firstWavenumberOut(WNAO):= 520.0
lastWavenumberOut(WNBO):= 1800.0
FFTpowerOf2(JEXP):= 17

@@@@@ END OF SECTION - zfli.si1 @@@@@
@@@@@ BEGIN SECTION - zfli.si2 @@@@@
(File: ZFLI.SIP -- "static" input parameters for ZFLI, Ch.2)
(13 Aug 2013: 10 Aug 2013 case)

(Note: blank lines, and lines with "(" in col.1, are ignored.)

originalLaserWavenumber(WNLASR):= 15799.41
firstInputRecord(NFREC):= 1
lastInputRecord(NLREC):= 9999
outputLaserWavenumber(WNLASO):= 15799.0
firstWavenumberOut(WNAO):= 1800.0
lastWavenumberOut(WNBO):= 3020.0
FFTpowerOf2(JEXP):= 17

@@@@@ END OF SECTION - zfli.si2 @@@@@
@@@@@ BEGIN SECTION - aerisum.sip @@@@@
(File: AERISUM.SIP -- "static" input parameters for AERISUM)
(GENERIC)

(Note: blank lines, and lines with "(" in col.1, are ignored.)

firstInputRecord(NFR):= 1
lastInputRecord(NLR):= 9999
HBBtempDriftLimit(DHBBMX):= 0.5
LWskyNENlimit(SNENMX(1)):= 1.0
SWskyNENlimit(SNENMX(2)):= 0.05
@@@@@ END OF SECTION - aerisum.sip @@@@@
@@@@@ BEGIN SECTION - channel.map @@@@@
(AERIBago Channel.Map of Metrabyte Channels ) (020507)

(Note: Comment lines must have a left parenthesis, "(", in the first column, )
(      and blank lines are ignored.                                          )
( Negative channels represent digitals, of which there are 32 available:     )
(  -1 : first byte, first bit                                                )
(  -9 : second byte, first bit ... etc.                                      )

( History: )
( 961212 : RKG adapted from channel.map and hkchan.txt                       )
( 970707 : fixed up hatchOpenDetect, hatchClosedDetect )
( 970722 : added opticsCompartmentRelativeHumidity )
( 020507 : removed scene mirror temp & air flow delta parameers)

(Ch.     Short Name in single quotes)

00     'ABBtopTemp'
01     'ABBapexTemp'
02     'ABBbottomTemp'
03     'HBBtopTemp'
04     'HBBapexTemp'
05     'HBBbottomTemp'
06     'fixed2500ohmResistor'
07     'fixed97KohmResistor'
08     'outsideAirTemp'
09     'airNearInterferometerTemp'
10     'interferometerSecondPortTemp'
11     'BBsupportStructureTemp'
12     'airNearBBsTemp'
13     'mirrorMotorTemp'
(14     'sceneMirrorTemp')
15     'fixed12KohmResistor'
16     'BBcontroller1temp'
17     'BBcontroller2temp'
18     'coolerCompressorTemp'
19     'coolerExpanderTemp'
20     'coolerPowerSupplyTemp'
21     'rackAmbientTemp'
22     'computerTemp'
23     'motorDriverTemp'
24     'SCEtemp'
25     'coolerCurrent'
26     'detectorTemp'
27     'rainSensorIntensity'
28     'interferometerWindowTemp'
(29     'frontEndFanAirUnheatedTemp')
(30     'frontEndFanAirHeatedTemp')
31     'spareTemp'
32     'atmosphericRelativeHumidity'
33     'interferometerEnclosureRelativeHumidity'
34     'atmosphericPressure'
(35     'sunSensorIntensity')
(1026 'opticsCompartmentRelativeHumidity')

(digitals)
-2 'hatchOpenDetect'
-3 'hatchClosedDetect'
@@@@@ END OF SECTION - channel.map @@@@@
@@@@@ BEGIN SECTION - outgoing.lis @@@@@
; COMPREHENSIVE OUTGOING.LIS (981213)
;
; list files to be saved in \OUTGOING as wild card files
;
; Comments begin with ";" or "#"
# Blank lines are ignored

*.PAR
*.QC
*.SIT
*.SUM
*.CSV
*.RNC
*.CXS
*.UVS
*.LOG@@@@@ END OF SECTION - outgoing.lis @@@@@
@@@@@ BEGIN SECTION - eaeri_hk_sched.py @@@@@
# $Id: eaeri_hk_sched.py,v 1.1.2.1 2010/10/25 15:57:58 rayg Exp $
# housekeeping sampling schedule for spline interpolation
# this file potentially changes when agilent.config changes!

# Goal: to be able to spline-interpolate calibration temps and resistances to within 5s accuracy
# E-AERI has a cyclical housekeeping measurement system operating over ~28s cycles
# each measurement is taken in turn, and the final buffered output is recorded as one timestep
# in order to support rapid-sample, we find a spline fit on the estimated actual measurement time
# this requires knowing the seconds offset from the reporting time to the actual time
# such information is derived from agilent.config and information about FTSW_EAERI
# more notes in RayG's notebook 2010.10.24

# table is in the form
# housekeeping_name = scd( seconds_offset_from_measurement_time_or_0.0, max_delta_per_second_or_None )

# Overall cycle time of the housekeeping system averages to 27.4s but may be closer to 28 due to 1s granularity
# gleaned by averaging EAERI101 delta-T's in raw hk files where they were contiguous
# we estimate that timestamp is happening around 27s mark in the cycle

# all time values are in seconds relative to recording time
# offset from recording time to start of the below schedule, which should be within 1s of actual
TOFF = -27.0

class scd(object):
dt = 0.0
dv = None
def __init__(self, dt_, dv_ ):
self.dt = dt_
self.dv = dv_

# first 5 seconds run through these but we won't worry about any but blackbodySupportStructure
# 21 values total, about 0.25s per measurement
# refRes1, refRes2, refRes3, outsideAirRes, interferometerAirRes, blackbodySupportStructureRes, blackbodyAirRes, mirrorMotorRes, sceneMirrorRes, powerSupplyRes24V, powerSupplyRes28V, stirlingCoolerCompressorRes, stirlingCoolerExpenderRes, thermalEnclosureRes, inputMirrorMotorDriveElectronicRes, dataAcquisitionModulesRes, sceneWindowRes, fanAirflowRes, protectiveEnclosureRes, externalSunDetectorSensor, internalSunDetectorSensor

# offset of 3 gets us to interferometer air resistance => temperature
outsideAirResistance = scd(TOFF+0.25*3, None)
outsideAirTemperature = scd(TOFF+0.25*3, None)

interferometerAirResistance = scd(TOFF+0.25*4, None)
interferometerAirTemperature = scd(TOFF+0.25*4, None)

# blackbody support struct, offset 5 in the list
blackbodySupportStructureResistance = scd(TOFF+0.25*5, None)
blackbodySupportStructureTemperature = scd(TOFF+0.25*5, None)

blackbodyAirResistance = scd(TOFF+0.25*6, None)
blackbodyAirTemperature = scd(TOFF+0.25*6, None)

sceneMirrorResistance = scd(TOFF+0.25*8, None)
sceneMirrorTemperature = scd(TOFF+0.25*8, None)

thermalEnclosureResistance = scd(TOFF+0.25*13, None)
thermalEnclosureTemperature = scd(TOFF+0.25*13, None)

sceneWindowResistance = scd(TOFF+0.25*16, None)
sceneWindowTemperature = scd(TOFF+0.25*16, None)

protectiveEnclosureResistance = scd(TOFF+0.25*18, None)
protectiveEnclosureTemperature = scd(TOFF+0.25*18, None)


# +5.0 - +13.0
# ambientBlackbodyTopRimRes, ambientBlackbodyApexRes, ambientBlackbodyBottomRimRes
# 1.5s, 4.5s, 7.5s within that 9s region

ambientBlackbodyTopRimResistance = scd(TOFF+5.0+1.5, None)
ambientBlackbodyTopRimTemperature = scd(TOFF+5.0+1.5, None)

ambientBlackbodyApexResistance = scd(TOFF+5.0+4.5, None)
ambientBlackbodyApexTemperature = scd(TOFF+5.0+4.5, None)

ambientBlackbodyBottomRimResistance = scd(TOFF+5.0+7.5, None)
ambientBlackbodyBottomRimTemperature = scd(TOFF+5.0+7.5, None)

# +13.0 - +21.0
# hotBlackbodyTopRimRes, hotBlackbodyApexRes, hotBlackbodyBottomRimRes

hotBlackbodyTopRimResistance = scd(TOFF+13.0+1.5, None)
hotBlackbodyTopRimTemperature = scd(TOFF+13.0+1.5, None)

hotBlackbodyApexResistance = scd(TOFF+13.0+4.5, None)
hotBlackbodyApexTemperature = scd(TOFF+13.0+4.5, None)

hotBlackbodyBottomRimResistance = scd(TOFF+13.0+7.5, None)
hotBlackbodyBottomRimTemperature = scd(TOFF+13.0+7.5, None)


# detector temperature is pretty much at the end so let's use it to nail down the other end of the schedule
detectorTemperatureSensor = scd(0.0, None)


# other values we don't really care about right now will also be assumed 0.0s offset from recording time
# TECInput1Temperature=
# TECOutput=
# atmosphericPressureSensor = scd(0.0, None)
# atmosphericRelativeHumidity = scd(0.0, None)
# dataAcquisitionModulesResistance=
# dataAcquisitionModulesTemperature=
# externalRainDetectorSensor=
# externalSunDetectorSensor=
# fanAirflowResistance=
# fanAirflowTemperature=
# inputMirrorMotorDriveElectronicResistance=
# inputMirrorMotorDriveElectronicTemperature=
# interferometerRelativeHumidity=
# internalRainDetectorSensor=
# internalSunDetectorSensor=
# mirrorMotorResistance=
# mirrorMotorTemperature=
# pointingMirrorAngle=
# powerSupplyResistance24V=
# powerSupplyResistance28V=
# powerSupplyTemperature24V=
# powerSupplyTemperature28V=
# refResistance1=
# refResistance2=
# refResistance3=
# refTemp1=
# refTemp2=
# refTemp3=
# stirlingCoolerCompressorResistance=
# stirlingCoolerCompressorTemperature=
# stirlingCoolerCurrent=
# stirlingCoolerExpenderResistance=
# stirlingCoolerExpenderTemperature=@@@@@ END OF SECTION - eaeri_hk_sched.py @@@@@
@@@@@ BEGIN SECTION - SUMARY.SCR @@@@@
window with
position of 0 67;
size of 541 141;
real-time is on;
title is "INSTRUMENT ...";
bottom-label is "Time";
decimal-hours-x is on;
visible-menu is off;
horizontal-divisions is 8;
vertical-divisions is 10;
common-x is on;
common-y is on;
graph with
line of red;
range of 0 24 150 350;
FILE(meta:timeHHMMSS:surfaceLayerAirTemp675_680)
end;
graph with
line of blue;
range of 0 24 150 350;
FILE(meta:timeHHMMSS:longwaveWindowAirTemp985_990)
end;
graph with
line of darkgreen;
range of 0 24 150 350;
FILE(meta:timeHHMMSS:shortwaveWindowAirTemp2510_2515)
end;
end;

window with
position of 0 348;
size of 541 141;
real-time is on;
title is "INSTRUMENT ...";
bottom-label is "Time";
decimal-hours-x is on;
visible-menu is off;
horizontal-divisions is 8;
vertical-divisions is 10;
common-x is on;
common-y is off;
graph with
line of black;
range of 0 24 0 1.0;
FILE(meta:timeHHMMSS:coolerCurrent)
end;
graph with
line of red;
range of 0 24 60 75;
FILE(meta:timeHHMMSS:detectorTemp)
end;
end;

window with
position of 0 207;
size of 541 141;
real-time is on;
title is "INSTRUMENT ...";
bottom-label is "Time";
decimal-hours-x is on;
visible-menu is off;
horizontal-divisions is 8;
vertical-divisions is 10;
common-x is on;
common-y is on;
graph with
line of red;
range of 0 24 240 340;
FILE(meta:timeHHMMSS:calibrationHBBtemp)
end;
graph with
line of blue;
range of 0 24 240 340;
FILE(meta:timeHHMMSS:calibrationCBBtemp)
end;
graph with
line of darkgreen;
range of 0 24 240 340;
FILE(meta:timeHHMMSS:BBsupportStructureTemp)
end;
graph with
line of brown;
range of 0 24 240 340;
FILE(meta:timeHHMMSS:calibrationAmbientTemp)
end;
graph with
line of neutral;
range of 0 24 240 340;
FILE(meta:timeHHMMSS:airNearBBsTemp)
end;
graph with
line of yellow;
range of 0 24 240 340;
FILE(meta:timeHHMMSS:interferometerSecondPortTemp)
end;
graph with
line of darkblue;
range of 0 24 240 340;
FILE(meta:timeHHMMSS:spareTemp)
end;
graph with
line of pink;
range of 0 24 240 340;
FILE(meta:timeHHMMSS:outsideAirTemp)
end;
end;
@@@@@ END OF SECTION - SUMARY.SCR @@@@@
@@@@@ BEGIN SECTION - AESITTER.SCR @@@@@
#AESITTER.SCR

# AERIbago instrument - (030708) ,BOMEM EAERI (080930)
#

#THIS VERS CLUDGES THE HATCH STATUS AS CONTROLLER STATUS IS BOGUS
#  Limits Tests for AERI:  AESITTER input script
#
#  R. Dedecker / R. Garcia
#  Space Science and Engineering Center
#  University of Wisconsin-Madison
#
#
# invocation : aesitter -DFILE=test.sum -x=100 -y=100 test.scr
# position for AERI windows  position is 375 100;

position is 539 84;
help file is aesitter.hlp;
title is INSTRUMENT ...;
metadata FILE is
date is
position is 1 1;
meaning is "instrument date";
prefix is "Date ";
format is yymmdd;
dateYYMMDD
end;

time is
position is 2 1;
meaning is "instrument time";
help id is 50025;
prefix is "UTC ";
format is hhmmss;
timeHHMMSS
end;

record is
position is 3 1;
meaning is "record number";
help id is 50020;
prefix is "Record ";
0
end;

Latitude is
position is 1 2;
meaning is "GPS latitude";
prefix is "Lat ";
format is time;
Latitude
end;

Longitude is
position is 2 2;
meaning is "GPS longitude";
prefix is "Lon ";
format is time;
Longitude
end;

Mirror Angle is
position is 3 2;
meaning is "Mirror Angle";
prefix is "Scene Mirror Angle ";
format is integer;
sceneMirrorAngle
end;

ABB Temp is
position is 1 3;
yellow is 243.15 313.15;
green is 248.15 308.15;
calibrationCBBtemp
end;

Outside Air Temp is
position is 2 3;
yellow is 233.15 323.15;
green is 253.15 313.15;
help id is PrimaryPanel;
outsideAirTemp
end;

Rack Ambient Temp is
position is 3 3;
yellow is 277.15 319.15;
green is 282.15 314.15;
rackAmbientTemp
end;

Rain Intensity is
position is 3 6;
yellow is 2.50 3.20;
green is 2.80 3.04;
rainSensorIntensity
end;

ABB Max Temp Diff is
position is 1 4;
green is  0 0.105;
yellow is 0 0.21;
ABBmaxTempDiff
end;

BB Support Struct. Temp is
position is 2 4;
yellow is 233.15 323.15;
green is 253.15 313.15;
BBsupportStructureTemp
end;


Hatch Open is
position is 3 10;
yellow is 0 0;
green is 1 2;
hatchOpen
end;

HBB Temp is
position is 1 5;
yellow is 263.15 353.15;
green is 298.5 333.5;
calibrationHBBtemp
end;

Air Temp Near BBs is
position is 2 5;
yellow is 233.15 343.15;
green is 253.15 338.15;
airNearBBsTemp
end;

SCE Temp is
position is 3 4;
yellow is 273.15 333.15;
green is 278.15 328.15;
SCEtemp
end;

HBB Max Temp Diff is
position is 1 6;
green is  0 0.4;
yellow is 0 0.7;
HBBmaxTempDiff
end;

#        Scene Mirror Temp is
#               position is 3 12;
#              yellow is 233.15 343.15;
#               green is 253.15 338.15;
#                sceneMirrorTemp
#        end;

# ABB  Controller Temp is
# position is 3 6;
# yellow is 273.15 323.15;
# green is 278.15 318.15;
# BBcontroller1temp
# end;

#JG replace with Inter. Humidity
#Air Humidity is
#position is 2 6;
#yellow is 1.0 99.0;
#green is 10.0 97.0;
#atmosphericRelativeHumidity
#end;

HBB Temp Stability is
position is 1 7;
yellow is -0.5 0.5;
green is -0.05 0.05;
HBBtempDrift
end;

Mirror Motor Temp is
position is 2 7;
yellow is 233.15 363.15;
green is 238.15 333.15;
mirrorMotorTemp
end;

# HBB  Controller Temp is
# position is 3 7;
# yellow is 273.15 323.15;
# green is 278.15 318.15;
# BBcontroller2temp
# end;

Atmos. Pressure is
position is 2 8;
yellow is 750.0 1040.0;
green is 800.0 1025.0;
atmosphericPressure
end;

336 Kelvin (Reference) is
position is 1 8;
yellow is 2423.36 2432.95;
green is 2425.76 2430.55;
help id is 50060;
fixed2500ohmResistor
end;

#        Air Flow Delta Temp is
#               position is 2 8;
#               position is 3 13;
#                yellow is .50 3.2;
#                green is .65 2.8;
#                yellow is -3.2 3.2;
#                green is -2.8 2.8;
#         frontEndFanAirTempDiff
#        end;

# Cooler Pwr Sup. Temp is
# position is 3 8;
# yellow is 281.15 333.15;
# green is 288.15 328.15;
# coolerPowerSupplyTemp
# end;

293 Kelvin (Reference) is
position is 1 9;
yellow is 10439.45 10490.40;
green is 10452.16 10477.63;
help id is 50055;
fixed12KohmResistor
end;

# Spare Temp is
# position is 2 9;
# yellow is 281.15 308.15;
# green is 288.15 303.15;
# help id is PrimaryPanel;
# spareTemp
# end;

#Motor Driver Temp is
#position is 3 5;
#yellow is 273.15 323.15;
#green is 278.15 318.15;
#motorDriverTemp
#end;

#       Sun Intensity is
#               position is 4 9;
#               yellow is 273.15 323.15;
#               green is 278.15 318.15;
#        sunSensorIntensity
#       end;

249 Kelvin (Reference) is
position is 1 10;
yellow is 97100.72 97726.1;
green is 97256.64 97569.34;
help id is 50055;
fixed97KohmResistor
end;

Interfer. Window Temp is
position is 2 9;
yellow is 312.00 344.00;
green is 315.00 338.00;
interferometerWindowTemp
end;

# Max Sample StdDev is
# position is 1 11;
# green is 0 0.137;
# yellow is 0 0.177;
# maxSampleStdDev
# end;

#JG add in placwe of Air Temp near Interfer.
Interfer. 2nd Port Temp is
#position is 2 11;
position is 2 10;
yellow is 281.15 311.15;
green is 288.15 306.15;
interferometerSecondPortTemp
end;

Encoder Scene Confirm is
position is 3 7;
yellow is -5 5;
green is -2.5 2.5;
sceneMirPosEncoderDrift
end;

#       Maximum Roll is
# AERI window position          position is 4 11;
#               position is 3 12;
#               yellow is -15 15;
#               green is -5 5;
#         maxRoll
#       end;

LW HBB NEN is
position is 1 11;
green is 0 0.2;
yellow is 0 1;
LW_HBB_NEN
end;

#JG replace with Second Port Temp
#Air Temp Near Interfer. is
#position is 2 10;
#yellow is 293.8692584 322.0907416;
#green is 300.1672146 315.7927854;
#airNearInterferometerTemp
#end;

#       Maximum Pitch is
# AERI window position          position is 4 12;
#               position is 3 13;
#               yellow is -15 15;
#               green is -5 5;
#         maxPitch
#       end;

SW HBB NEN is
position is 1 12;
green is 0 0.015;
yellow is 0 0.1;
SW_HBB_NEN
end;

#JG uncomment, replace Air Humidity
Interfer. Humidity is
# position is 2 13;
position is 2 6;
yellow is 12.0 20.0;
green is 0.0 12.0;
interferometerEnclosureRelativeHumidity
end;

LW Responsivity is
position is 2 11;
#green is 0.011505 5.0;
#yellow is 0.01121 5.0;
green is 0.007 5.0;
yellow is 0.007 5.0;
LWresponsivity
end;

Cooler Comp. Temp is
position is 3 11;
yellow is 290.3983165 350.2016835;
green is 301.1489933 333.4510067;
coolerCompressorTemp
end;

#JG change thresholds x10
Cooler Current is
position is 3 8;
#yellow is 0.03 0.086;
#green is 0.05 0.07;
yellow is 0.3 2.86;
green is 0.5 2.55;
coolerCurrent
end;

SW Responsivity is
position is 2 12;
green is 0.011442605 20.0;
yellow is 0.01120233 20.0;
SWresponsivity
end;

Cooler Expander Temp is
position is 3 12;
yellow is 285.0 368.43367;
green is 298.0 350.0;
coolerExpanderTemp
end;

Detector Temp is
position is 3 9;
yellow is 74 85;
green is 75 79;
detectorTemp
end;

#        Optics Humidity is
#                position is 2 16;
#                yellow is 12.0 20.0;
#                green is 0.0 12.0;
#          opticsCompartmentRelativeHumidity
#        end;

end;@@@@@ END OF SECTION - AESITTER.SCR @@@@@
@@@@@ BEGIN SECTION - RADIANCE.SCR @@@@@
window with
position of 0 485;
size of 509 285;
real-time is on;
title is "INSTRUMENT Ch. 1 Rad. [...]";
bottom-label is "Wavenumber";
common-x is on;
common-y is off;
graph with
line of black;
range of 500 1500 0 180;
FILE1(1data1:1)
end;
end;

window with
position of 506 486;
size of 518 285;
real-time is on;
title is "INSTRUMENT Ch. 2 Rad. [...]";
bottom-label is "Wavenumber";
common-x is on;
common-y is off;
graph with
line of black;
range of 2000 3000 0 10;
FILE2(1data1:1)
end;
end;
@@@@@ END OF SECTION - RADIANCE.SCR @@@@@