# $Id: DDNames.conf 12899 2017-02-15 21:25:51Z cbiddick $
# map file for translating instrument requests for TCS information from names to data dictionary variables.
# file format:
#  '#' in column one indicates a comment
#  blank lines are kept and lines starting with "##" are ignored
#  active line is 'PublicName PrivateName type units description' with white space separating fields
#  PrivateName must be a fully qualified data dictionary name
#  Fields type, units, and description are not used by the IIF
#  whitespace may appear before name
#  Naming conventions for PublicName: [L_|R_]Name
#   where L_ is prefix for left, R_ is prefix for right, and the name proper starts with a capital letter
#
#  This file is read by makeDDNames to generate DDNames; this header section must end with an empty line.
#
#PublicName		PrivateDDName							type	units	description

#[Telescope temperature sensors]
Temp201			ecs.instrCool.tempChan201					float	C	C ring middle steel temperature
Temp202			ecs.instrCool.tempChan202					float	C	C ring middle air temperature
Temp203			ecs.instrCool.tempChan203					float	C	C ring upper steel temperature
Temp204			ecs.instrCool.tempChan204					float	C	C ring upper air temperature
Temp205			ecs.instrCool.tempChan205					float	C	C ring lower steel temperature
Temp206			ecs.instrCool.tempChan206					float	C	C ring lower air temperature
Temp207			ecs.instrCool.tempChan207					float	C	Wind bracing lower right steel temperature
Temp208			ecs.instrCool.tempChan208					float	C	Wind bracing lower right air temperature
Temp209			ecs.instrCool.tempChan209					float	C	Mirror cell lower right steel temperature
Temp210			ecs.instrCool.tempChan210					float	C	Mirror cell lower right air temperature
Temp301			ecs.instrCool.tempChan301					float	C	C ring right extension steel temperature
Temp302			ecs.instrCool.tempChan302					float	C	C ring right extension air temperature
Temp303			ecs.instrCool.tempChan303					float	C	C ring left extension steel temperature
Temp304			ecs.instrCool.tempChan304					float	C	C ring left extension air temperature
Temp305			ecs.instrCool.tempChan305					float	C	Wind bracing upper steel temperature
Temp306			ecs.instrCool.tempChan306					float	C	Wind bracing upper air temperature
Temp307			ecs.instrCool.tempChan307					float	C	Wind bracing middle right steel temperature
Temp308			ecs.instrCool.tempChan308					float	C	Wind bracing middle right air temperature
Temp309			ecs.instrCool.tempChan309					float	C	Wind bracing middle left steel temperature
Temp310			ecs.instrCool.tempChan310					float	C	Wind bracing middle left air temperature
Temp401			ecs.instrCool.tempChan401					float	C	right primary swing arm steel temperature 1
Temp402			ecs.instrCool.tempChan402					float	C	right primary swing arm steel temperature 2
Temp403			ecs.instrCool.tempChan403					float	C	left primary swing arm steel temperature 1
Temp404			ecs.instrCool.tempChan404					float	C	left primary swing arm steel temperature 2
Temp405			ecs.instrCool.tempChan405					float	C	right secondary swing arm steel temperature 1
Temp406			ecs.instrCool.tempChan406					float	C	right secondary swing arm steel temperature 2
Temp407			ecs.instrCool.tempChan407					float	C	left secondary swing arm steel temperature 1
Temp408			ecs.instrCool.tempChan408					float	C	left secondary swing arm steel temperature 2
ChamberTemp		ecs.chamber.temperature						float	C	Chamber temperature
ChamberDewPoint		ecs.chamber.dewpoint						float	C	Chamber dewpoint
#
#[LBT weather data]
LBTWeatherAlive		env.weather.lbt.alive						bool	---	True if data current
LBTWeatherAliveFront	env.weather.lbt.aliveFront					bool	---	True if front data current
LBTDewPoint		env.weather.lbt.dewPoint					float	C	Dew point
LBTHumidity		env.weather.lbt.humidity					float	%	Relative humidity
LBTPressure		env.weather.lbt.pressure					float	hPa	Pressure
LBTRain			env.weather.lbt.rain						bool	---	True if raining
LBTTemp			env.weather.lbt.temperature					float	C	Air temperature
LBTTimeStamp		env.weather.lbt.timestamp					long	sec	Time of data collection in seconds from epoch
LBTWindDir		env.weather.lbt.windDirection					float	deg	Wind direction
LBTWindDirRaw		env.weather.lbt.windDirectionRaw				float	deg	Raw wind direction
LBTWindSpeed		env.weather.lbt.windSpeed					float	m/s	Wind speed
LBTWindDirFront		env.weather.lbt.windDirectionFront				float	deg	Front wind direction
LBTWindDirFrontRaw	env.weather.lbt.windDirectionFrontRaw				float	deg	Raw front wind direction
LBTWindSpeedFront	env.weather.lbt.windSpeedFront					float	m/s	Front wind speed
#
#[Sky Quality data]
SQMAlive		env.weather.sqm.alive						bool	---	True if data current
SQMTimeStamp		env.weather.sqm.timestamp					long	sec	Time of data collection in seconds from epoch
SQMBrightness		env.weather.sqm.brightness					float	mag	Brightness
#
#[SMT weather data]
SMTWeatherAlive		env.weather.smt.alive						bool	---	True if data current
SMTDewPoint		env.weather.smt.dewPoint					float	C	Dew point
SMTHumidity		env.weather.smt.humidity					float	%	Relative humidity
SMTPressure		env.weather.smt.ambientPressure					float	hPa	Pressure	
SMTRain			env.weather.smt.wsRain						float	---	Less than 50.0 if raining
SMTTemp			env.weather.smt.ambientTemperature				float	C	Air temperature
SMTPeakWindDir1m	env.weather.smt.peakWindDirection_1min				float	deg	Direction of peak wind gust in last min
SMTPeakWindSpeed1m	env.weather.smt.peakWindSpeed_1min				float	m/s	Speed of peak wind gust in last min
SMTTimeStamp		env.weather.smt.timestamp					long	sec	Time of data collection in seconds from epoch
SMTWindDir		env.weather.smt.wsWindDirection					float	deg	Wind direction
SMTWindSpeed		env.weather.smt.wsWindSpeed					float	m/s	Wind speed
SMTTau			env.weather.smt.wsTau						float	---	SMT Tau
SMTTauSigma		env.weather.smt.wsTauSigma					float	---	SMT Tau sigma
SMTTauZenith		env.weather.smt.wsTauZenith					float	---	SMT zenith Tau
SMTZenithOpacity	env.weather.smt.zenithOpacity					float	---	SMT zenith opacity
#
#[DIMM data]
DIMMElevation		iif.DIMM.elevation						float	deg	DIMM elevation angle
DIMMSeeing		iif.DIMM.seeing							float	arcsec	DIMM seeing value
DIMMSeeingZenith	iif.DIMM.seeingZenith						float	arcsec	DIMM seeing value corected to zenith
DIMMSeeingElevation	iif.DIMM.seeingElevation					float	arcsec	DIMM seeing value corrected to LBT elevation
DIMMR0			iif.DIMM.R0							float	cm	DIMM R0 value
DIMMMessage		iif.DIMM.message						string	---	DIMM message
DIMMStatus		iif.DIMM.status							int	---	DIMM status
DIMMTimeStamp		iif.DIMM.time							long	sec	Time of data measurement in seconds from epoch
DIMMMeanFlux		iif.DIMM.spare.f[0]						float	---	DIMM flux measurement
##spares: there are 10 each of bools, doubles, floats, ints, longs, and strings
##DIMMXxx		iif.DIMM.spare.b[0]						bool	---	DIMM xxx
##DIMMXxx		iif.DIMM.spare.d[0]						double	---	DIMM xxx
##DIMMXxx		iif.DIMM.spare.f[0]						float	---	DIMM xxx
##DIMMXxx		iif.DIMM.spare.i[0]						int	---	DIMM xxx
##DIMMXxx		iif.DIMM.spare.l[0]						long	---	DIMM xxx
##DIMMXxx		iif.DIMM.spare.s[0]						string	---	DIMM xxx
#
#[IIF data]
Build			iif.build							string	---	IIF build string
L_FocalStation		iif.side[0].authorizedFocalStation				string	---	Authorized Focal Station
L_Instrument		iif.side[0].authorizedInstrument				string	---	Authorized Instrument 
R_FocalStation		iif.side[1].authorizedFocalStation				string	---	Authorized Focal Station
R_Instrument		iif.side[1].authorizedInstrument				string	---	Authorized Instrument 
IIFRunning		iif.running.iif							bool	---	IIF subsystem running
DDSRunning		iif.running.dds							bool	---	DDS subsystem running
LSSRunning		iif.running.lss							bool	---	LSS subsystem running
ECSRunning		iif.running.ecs							bool	---	ECS subsystem running
ENVRunning		iif.running.env							bool	---	ENV subsystem running
PCSRunning		iif.running.pcs							bool	---	PCS subsystem running
MCSRunning		iif.running.mcs							bool	---	MCS subsystem running
OSSRunning		iif.running.oss							bool	---	OSS subsystem running
L_PMCRunning		iif.running.pmcl						bool	---	PMC subsystem running
L_PSFRunning		iif.running.psfl						bool	---	PSF subsystem running
L_GCSRunning		iif.running.gcsl						bool	---	GCS subsystem running
L_AOSRunning		iif.running.aosl						bool	---	AOS subsystem running
R_PMCRunning		iif.running.pmcr						bool	---	PMC subsystem running
R_PSFRunning		iif.running.psfr						bool	---	PSF subsystem running
R_GCSRunning		iif.running.gcsr						bool	---	GCS subsystem running
R_AOSRunning		iif.running.aosr						bool	---	AOS subsystem running
IIFOnSource		iif.onSource							bool	---	Mount is onSource
iif.onSource		iif.onSource							bool	---	Mount is onSource
IIFAzOnSource		iif.azOnSource							bool	---	Azimuth is onSource
IIFElOnSource		iif.elOnSource							bool	---	Elevation is onSource
IIFAllOnSource		iif.allOnSource							bool	---	Mount and all rotators are onSource
L_IIFOnSource		iif.side[0].onSource						bool	---	Mount and rotator are onSource
R_IIFOnSource		iif.side[1].onSource						bool	---	Mount and rotator are onSource
L_PresetMode		iif.side[0].preset.modeName					string	---	Preset mode
R_PresetMode		iif.side[1].preset.modeName					string	---	Preset mode
L_EffectiveMode		iif.side[0].preset.effectiveModeName				string	---	Effective Preset mode
R_EffectiveMode		iif.side[1].preset.effectiveModeName				string	---	Effective Preset mode
L_PseudoMonocular	iif.side[0].pseudoMonocular					bool	---	Pseudo-monocular flag
R_PseudoMonocular	iif.side[1].pseudoMonocular					bool	---	Pseudo-monocular flag
L_ShutterOpen		iif.side[0].shutterOpen						bool	---	Shutter door is open
R_ShutterOpen		iif.side[1].shutterOpen						bool	---	Shutter door is open
L_FrontRotatorReady	iif.side[0].frontRotReady					bool	---	Front rotator and cable chain are ready
R_FrontRotatorReady	iif.side[1].frontRotReady					bool	---	Front rotator and cable chain are ready
L_DirectRotatorReady	iif.side[0].directRotReady					bool	---	Direct rotator and cable chain are ready
R_DirectRotatorReady	iif.side[1].directRotReady					bool	---	Direct rotator and cable chain are ready
L_AOReferenceRA		iif.side[0].preset.data.aoreference.coords[0]			float	rad	AO reference star RA
R_AOReferenceRA		iif.side[1].preset.data.aoreference.coords[0]			float	rad	AO reference star RA
L_AOReferenceDEC	iif.side[0].preset.data.aoreference.coords[1]			float	rad	AO reference star DEC
R_AOReferenceDEC	iif.side[1].preset.data.aoreference.coords[1]			float	rad	AO reference star DEC
L_OffsetApplied		iif.side[0].offset.applied					bool	---	An offset was applied by the PCS
R_OffsetApplied		iif.side[1].offset.applied					bool	---	An offset was applied by the PCS
#
#[GCS data]
L_AGWFilter		gcs.side[0].AGW.filterName					string	---	Name of the selected AGw filter
L_AGWFilterPos		gcs.side[0].AGW.filterPosition					int	---	Position of the selected AGw filter
L_AGWFocus		gcs.side[0].AGW.focus						double	mm	AGw focus
L_AGWHappy		gcs.side[0].AGW.generalState					bool	---	True if AGw happy
L_AGWPosX		gcs.side[0].AGW.genericXachieved				double	mm	Achieved X position of the AGw probe
L_AGWReqX		gcs.side[0].AGW.genericXrequested				double	mm	Requested X position of the AGw probe
L_AGWPosY		gcs.side[0].AGW.genericYachieved				double	mm	Achieved Y position of the AGw probe
L_AGWReqY		gcs.side[0].AGW.genericYrequested				double	mm	Requested Y position of the AGw probe
L_AGWKFPPosX		gcs.side[0].AGW.SFPachieved_X					double	mm	Achieved PCS X position
L_AGWKFPPosY		gcs.side[0].AGW.SFPachieved_Y					double	mm	Achieved PCS Y position
L_AGWKFPReqX		gcs.side[0].AGW.SFPrequested_X					double	mm	Requested PCS X position
L_AGWKFPReqY		gcs.side[0].AGW.SFPrequested_Y					double	mm	Requested PCS Y position
L_AGWState		gcs.side[0].AGW.state						string	---	
L_GuideBadCount		gcs.side[0].badGuideStarCounter					int	count	Count of guide star not found
L_GuideExpTime		gcs.side[0].GuideCam.exposureTime				int	msec	Eposure time for guiding
L_GuideDEC		gcs.side[0].GuideCam.GS_DEC					double	rad	Guide star DEC
L_GuideRA		gcs.side[0].GuideCam.GS_RA					double	rad	Guide start RA
L_GuideHotspotX		gcs.side[0].GuideCam.hotspot_x					double	pix	X coordinate of the CCD's hotspot
L_GuideHotspotY		gcs.side[0].GuideCam.hotspot_y					double	pix	Y coordinate of CCD's hotspot
L_GuideIntTime		gcs.side[0].GuideCam.integrationTime				int	msec	Integration time for guiding
L_GuideFlag		gcs.side[0].guidingFlag						bool	---	True if the GCS is calculating centroids
L_GuideAcquisition	gcs.side[0].isActiveAcquisitionStep				bool	---	True if in acquisition process
L_GuideActive		gcs.side[0].activeGuiding					bool	---	True if guiding but not in acquisition
L_GuideAcquireImage	gcs.side[0].GuideCam.activeImageAcquisition			bool	---	True if guider acquiring an image
L_GuideBinning      gcs.side[0].GuideCam.binning_X              int pixel   Guide camera bin factor
L_GuideFreq		gcs.side[0].setGuideFrequency					float	Hz	Guiding frequency
L_GuideSeeing		gcs.side[0].GuideCam.averagedSeeing				double	arcsec	Guider seeing
L_GuideSeeingValid	gcs.side[0].GuideCam.mean_values_valid				bool	---	True if guider seeing has meaning
L_GuideImageTime	gcs.side[0].GuideCam.date_lastImage				string	---	Date of last guide image
L_GuideImageTimeStamp	gcs.side[0].GuideCam.lastImageTaken				long	sec	Time stamp of last guide image in seconds from epoch
L_GuideStarLost		gcs.side[0].guideStarLost					bool	---	Guide star lost
L_GuidingStatus		gcs.side[0].guidingStatus					string	---	Guiding status
L_WFSCycleTime		gcs.side[0].setWFScycleTime					int	sec	Cycle time for WFS
L_WFSExpTime		gcs.side[0].WFSCam.exposureTime					int	msec	Exposure time for WFS
L_WFSHotspotX		gcs.side[0].WFSCam.hotspot_x					double	pix	X coordinate of the CCD's hotspot
L_WFSHotspotY		gcs.side[0].WFSCam.hotspot_y					double	pix	Y coordinate of CCD's hotspot
L_WFSIntTime		gcs.side[0].WFSCam.integrationTime				int	sec	Integration time for WFS
L_WFSCounter		gcs.side[0].WFSCam.imageCounter					int	---	Number of requested images
L_WFSFilename		gcs.side[0].WFSCam.imageFilename				string	---	Filename of the last saved image
L_WFSFWHMMean		gcs.side[0].WFSCam.spotsFWHMMean				double	arcsec	Mean of FWHM for WFS spots
L_WFSFWHMSigma		gcs.side[0].WFSCam.spotsFWHMSigma				double	arcsec	Sigma of FWHM for WFS spots
L_WFSPath		gcs.side[0].WFSCam.imagePath					string	---	Pathname to the saved WFS images
L_WFSFlag		gcs.side[0].WFSflag						bool	---	True if the GCS is calculating Zernikes
L_WFSAcquireImage	gcs.side[0].WFSCam.activeImageAcquisition			bool	---	True if WFS acquiring an image
L_WFSStatusValue	gcs.side[0].WFSingStatusValue					long	---	0 OK, 1 warning, 2 error
L_WFSRMS		gcs.side[0].Zernikes.RMS					double	nm	RMS of PSF-transferred Zernikes
L_WFSRMShex		gcs.side[0].Zernikes.RMShex					double	nm	RMS of Z4, Z5, Z6
L_WFSRMSlow		gcs.side[0].Zernikes.RMSlow					double	nm	RMS of Z4 through Z11
L_WFSIsCollimated	gcs.side[0].isCollimated					bool	---	True if Zernike RMS below limit
L_WFSZ2			gcs.side[0].Zernikes.z[1]					float	nm	Z2  coefficient as reported to PSF
L_WFSZ3			gcs.side[0].Zernikes.z[2]					float	nm	Z3  coefficient as reported to PSF
L_WFSZ4			gcs.side[0].Zernikes.z[3]					float	nm	Z4  coefficient as reported to PSF
L_WFSZ5			gcs.side[0].Zernikes.z[4]					float	nm	Z5  coefficient as reported to PSF
L_WFSZ6			gcs.side[0].Zernikes.z[5]					float	nm	Z6  coefficient as reported to PSF
L_WFSZ7			gcs.side[0].Zernikes.z[6]					float	nm	Z7  coefficient as reported to PSF
L_WFSZ8			gcs.side[0].Zernikes.z[7]					float	nm	Z8  coefficient as reported to PSF
L_WFSZ9			gcs.side[0].Zernikes.z[8]					float	nm	Z9  coefficient as reported to PSF
L_WFSZ10		gcs.side[0].Zernikes.z[9]					float	nm	Z10 coefficient as reported to PSF
L_WFSZ11		gcs.side[0].Zernikes.z[10]					float	nm	Z11 coefficient as reported to PSF
L_WFSZ12		gcs.side[0].Zernikes.z[11]					float	nm	Z12 coefficient as reported to PSF
L_WFSZ13		gcs.side[0].Zernikes.z[12]					float	nm	Z13 coefficient as reported to PSF
L_WFSZ14		gcs.side[0].Zernikes.z[13]					float	nm	Z14 coefficient as reported to PSF
L_WFSZ15		gcs.side[0].Zernikes.z[14]					float	nm	Z15 coefficient as reported to PSF
L_WFSZ16		gcs.side[0].Zernikes.z[15]					float	nm	Z16 coefficient as reported to PSF
L_WFSZ17		gcs.side[0].Zernikes.z[16]					float	nm	Z17 coefficient as reported to PSF
L_WFSZ18		gcs.side[0].Zernikes.z[17]					float	nm	Z18 coefficient as reported to PSF
L_WFSZ19		gcs.side[0].Zernikes.z[18]					float	nm	Z19 coefficient as reported to PSF
L_WFSZ20		gcs.side[0].Zernikes.z[19]					float	nm	Z20 coefficient as reported to PSF
L_WFSZ21		gcs.side[0].Zernikes.z[20]					float	nm	Z21 coefficient as reported to PSF
L_WFSZ22		gcs.side[0].Zernikes.z[21]					float	nm	Z22 coefficient as reported to PSF
R_AGWFilter		gcs.side[1].AGW.filterName					string	---	name of the selected AGw filter
R_AGWFilterPos		gcs.side[1].AGW.filterPosition					int	---	position of the selected AGw filter
R_AGWFocus		gcs.side[1].AGW.focus						double	mm	AGw focus
R_AGWHappy		gcs.side[1].AGW.generalState					bool	---	True if AGw happy
R_AGWPosX		gcs.side[1].AGW.genericXachieved				double	mm	Achieved X position of the AGw probe
R_AGWReqX		gcs.side[1].AGW.genericXrequested				double	mm	Requested X position of the AGw probe
R_AGWPosY		gcs.side[1].AGW.genericYachieved				double	mm	Achieved Y position of the AGw probe
R_AGWReqY		gcs.side[1].AGW.genericYrequested				double	mm	Requested Y position of the AGw probe
R_AGWKFPPosX		gcs.side[1].AGW.SFPachieved_X					double	mm	Achieved PCS X position
R_AGWKFPPosY		gcs.side[1].AGW.SFPachieved_Y					double	mm	Achieved PCS Y position
R_AGWKFPReqX		gcs.side[1].AGW.SFPrequested_X					double	mm	Requested PCS X position
R_AGWKFPReqY		gcs.side[1].AGW.SFPrequested_Y					double	mm	Requested PCS Y position
R_AGWState		gcs.side[1].AGW.state						string	---	
R_GuideBadCount		gcs.side[1].badGuideStarCounter					int	count	Count of guide star not found
R_GuideExpTime		gcs.side[1].GuideCam.exposureTime				int	msec	Eposure time for guiding
R_GuideDEC		gcs.side[1].GuideCam.GS_DEC					double	rad	Guide star DEC
R_GuideRA		gcs.side[1].GuideCam.GS_RA					double	rad	Guide start RA
R_GuideHotspotX		gcs.side[1].GuideCam.hotspot_x					double	pix	X coordinate of the CCD's hotspot
R_GuideHotspotY		gcs.side[1].GuideCam.hotspot_y					double	pix	Y coordinate of CCD's hotspot
R_GuideIntTime		gcs.side[1].GuideCam.integrationTime				int	msec	Integration time for guiding
R_GuideFlag		gcs.side[1].guidingFlag						bool	---	True if the GCS is calculating centroids
R_GuideAcquisition	gcs.side[1].isActiveAcquisitionStep				bool	---	True if in acquisition process
R_GuideActive		gcs.side[1].activeGuiding					bool	---	True if guiding but not in acquisition
R_GuideAcquireImage	gcs.side[1].GuideCam.activeImageAcquisition			bool	---	True if guider acquiring an image
R_GuideBinning      gcs.side[1].GuideCam.binning_X              int pixel   Guide camera bin factor
R_GuideFreq		gcs.side[1].setGuideFrequency					float	Hz	Guiding frequency
R_GuideSeeing		gcs.side[1].GuideCam.averagedSeeing				double	arcsec	Seeing
R_GuideSeeingValid	gcs.side[1].GuideCam.mean_values_valid				bool	---	True if seeing has meaning
R_GuideImageTime	gcs.side[1].GuideCam.date_lastImage				string	---	Date of last guide image
R_GuideImageTimeStamp	gcs.side[1].GuideCam.lastImageTaken				long	sec	Time stamp of last guide image in seconds from epoch
R_GuideStarLost		gcs.side[1].guideStarLost					bool	---	Guide star lost
R_GuidingStatus		gcs.side[1].guidingStatus					string	---	Guiding status
R_WFSCycleTime		gcs.side[1].setWFScycleTime					int	sec	Cycle time for WFS
R_WFSExpTime		gcs.side[1].WFSCam.exposureTime					int	msec	Exposure time for WFS
R_WFSHotspotX		gcs.side[1].WFSCam.hotspot_x					double	pix	X coordinate of the CCD's hotspot
R_WFSHotspotY		gcs.side[1].WFSCam.hotspot_y					double	pix	Y coordinate of CCD's hotspot
R_WFSIntTime		gcs.side[1].WFSCam.integrationTime				int	sec	Integration time for WFS
R_WFSCounter		gcs.side[1].WFSCam.imageCounter					int	---	Number of requested images
R_WFSFilename		gcs.side[1].WFSCam.imageFilename				string	---	Filename of the last saved image
R_WFSFWHMMean		gcs.side[1].WFSCam.spotsFWHMMean				double	arcsec	Mean of FWHM for WFS spots
R_WFSFWHMSigma		gcs.side[1].WFSCam.spotsFWHMSigma				double	arcsec	Sigma of FWHM for WFS spots
R_WFSPath		gcs.side[1].WFSCam.imagePath					string	---	Pathname to the saved WFS images
R_WFSFlag		gcs.side[1].WFSflag						bool	---	True if the GCS is calculating Zernikes
R_WFSAcquireImage	gcs.side[1].WFSCam.activeImageAcquisition			bool	---	True if WFS acquiring an image
R_WFSStatusValue	gcs.side[1].WFSingStatusValue					long	---	0 OK, 1 warning, 2 error
R_WFSRMS		gcs.side[1].Zernikes.RMS					double	nm	RMS of PSF-transferred Zernikes
R_WFSRMShex		gcs.side[1].Zernikes.RMShex					double	nm	RMS of Z4, Z5, Z6
R_WFSRMSlow		gcs.side[1].Zernikes.RMSlow					double	nm	RMS of Z4 through Z11
R_WFSIsCollimated	gcs.side[1].isCollimated					bool	---	True if Zernike RMS below limit
R_WFSZ2			gcs.side[1].Zernikes.z[1]					float	nm	Z2  coefficient as reported to PSF
R_WFSZ3			gcs.side[1].Zernikes.z[2]					float	nm	Z3  coefficient as reported to PSF
R_WFSZ4			gcs.side[1].Zernikes.z[3]					float	nm	Z4  coefficient as reported to PSF
R_WFSZ5			gcs.side[1].Zernikes.z[4]					float	nm	Z5  coefficient as reported to PSF
R_WFSZ6			gcs.side[1].Zernikes.z[5]					float	nm	Z6  coefficient as reported to PSF
R_WFSZ7			gcs.side[1].Zernikes.z[6]					float	nm	Z7  coefficient as reported to PSF
R_WFSZ8			gcs.side[1].Zernikes.z[7]					float	nm	Z8  coefficient as reported to PSF
R_WFSZ9			gcs.side[1].Zernikes.z[8]					float	nm	Z9  coefficient as reported to PSF
R_WFSZ10		gcs.side[1].Zernikes.z[9]					float	nm	Z10 coefficient as reported to PSF
R_WFSZ11		gcs.side[1].Zernikes.z[10]					float	nm	Z11 coefficient as reported to PSF
R_WFSZ12		gcs.side[1].Zernikes.z[11]					float	nm	Z12 coefficient as reported to PSF
R_WFSZ13		gcs.side[1].Zernikes.z[12]					float	nm	Z13 coefficient as reported to PSF
R_WFSZ14		gcs.side[1].Zernikes.z[13]					float	nm	Z14 coefficient as reported to PSF
R_WFSZ15		gcs.side[1].Zernikes.z[14]					float	nm	Z15 coefficient as reported to PSF
R_WFSZ16		gcs.side[1].Zernikes.z[15]					float	nm	Z16 coefficient as reported to PSF
R_WFSZ17		gcs.side[1].Zernikes.z[16]					float	nm	Z17 coefficient as reported to PSF
R_WFSZ18		gcs.side[1].Zernikes.z[17]					float	nm	Z18 coefficient as reported to PSF
R_WFSZ19		gcs.side[1].Zernikes.z[18]					float	nm	Z19 coefficient as reported to PSF
R_WFSZ20		gcs.side[1].Zernikes.z[19]					float	nm	Z20 coefficient as reported to PSF
R_WFSZ21		gcs.side[1].Zernikes.z[20]					float	nm	Z21 coefficient as reported to PSF
R_WFSZ22		gcs.side[1].Zernikes.z[21]					float	nm	Z22 coefficient as reported to PSF
#
#[MCS data]
AZPosition		mcs.azDrive.position						double	arcsec	Azimuth position
AZTarget		mcs.azDrive.targetPosition					double	arcsec	Commanded azimuth position
AZServoMode		mcs.azDrive.trackingMode					string	---	Azimuth servo mode
AZVelocity		mcs.azDrive.velocity						double	asec/s	Azimuth velocity
AZTimeStamp		mcs.azDrive.time						long	sec	Azimuth timestamp
AZTimeToLimit		mcs.azDrive.secondsToLimit					float	sec	Azimuth time to limit
ELPosition		mcs.elDrive.position						double	arcsec	Elevation position
ELTarget		mcs.elDrive.targetPosition					double	arcsec	Commanded elevation position
ELServoMode		mcs.elDrive.trackingMode					string	---	Elevation servo mode
ELVelocity		mcs.elDrive.velocity						double	asec/s	Elevation velocity
ELTimeStamp		mcs.elDrive.time						long	sec	Elevation timestamp
L_FBGRPosition		mcs.rotatorSide[0].rotators[2].actualPositionASec		float	arcsec	FBG rotator position
L_FBGRVelocity		mcs.rotatorSide[0].rotators[2].actualVelocityASec		float	asec/s	FBG rotator velocity
L_FBGRTimeToLimit	mcs.rotatorSide[0].rotators[2].secondsToLimit			float	sec	FBG rotator time to limit
L_RBGRPosition		mcs.rotatorSide[0].rotators[4].actualPositionASec		float	arcsec	RBG rotator position
L_RBGRVelocity		mcs.rotatorSide[0].rotators[4].actualVelocityASec		float	asec/s	RBG rotator velocity
L_RBGRTimeToLimit	mcs.rotatorSide[0].rotators[4].secondsToLimit			float	sec	RBG rotator time to limit
L_DGRPosition		mcs.rotatorSide[0].rotators[5].actualPositionASec		float	arcsec	DG rotator position
L_DGRVelocity		mcs.rotatorSide[0].rotators[5].actualVelocityASec		float	asec/s	DG rotator velocity
L_DGRTimeToLimit	mcs.rotatorSide[0].rotators[5].secondsToLimit			float	sec	DG rotator time to limit
R_FBGRPosition		mcs.rotatorSide[1].rotators[2].actualPositionASec		float	arcsec	FBG rotator position
R_FBGRVelocity		mcs.rotatorSide[1].rotators[2].actualVelocityASec		float	asec/s	FBG rotator velocity
R_FBGRTimeToLimit	mcs.rotatorSide[1].rotators[2].secondsToLimit			float	sec	FBG rotator time to limit
R_DGRPosition		mcs.rotatorSide[1].rotators[5].actualPositionASec		float	arcsec	DG rotator position
R_DGRVelocity		mcs.rotatorSide[1].rotators[5].actualVelocityASec		float	asec/s	DG rotator velocity
R_DGRTimeToLimit	mcs.rotatorSide[1].rotators[5].secondsToLimit			float	sec	DG rotator time to limit
#
#[OSS data]
L_M2X			oss.side[0].adsc.abs_pos[0]					float	mm	Secondary mirror X position
L_M2Y			oss.side[0].adsc.abs_pos[1]					float	mm	Secondary mirror y position
L_M2Z			oss.side[0].adsc.abs_pos[2]					float	mm	Secondary mirror Z position
L_M2Rx			oss.side[0].adsc.abs_pos[3]					float	arcsec	Secondary mirror RX position
L_M2Ry			oss.side[0].adsc.abs_pos[4]					float	arcsec	Secondary mirror RY position
L_M2Rz			oss.side[0].adsc.abs_pos[5]					float	arcsec	Secondary mirror RZ position
L_M2StateMsg		oss.side[0].adsc.state_msg					string	---	Secondary mirror state
L_M3Tip			oss.side[0].terc.abs_pos[0]					float	arcsec	Tertiary mirror tip position
L_M3Tilt		oss.side[0].terc.abs_pos[1]					float	arcsec	Tertiary mirror tilt position
L_M3Piston		oss.side[0].terc.abs_pos[2]					float	mm	Tertiary mirror piston position
L_M3Sel			oss.side[0].terc.abs_pos[3]					float	deg	Tertiary mirror selector position
L_M3StateMsg		oss.side[0].terc.state_msg					string	---	Tertiary mirror state
R_M2X			oss.side[1].adsc.abs_pos[0]					float	mm	Secondary mirror X position
R_M2Y			oss.side[1].adsc.abs_pos[1]					float	mm	Secondary mirror y position
R_M2Z			oss.side[1].adsc.abs_pos[2]					float	mm	Secondary mirror Z position
R_M2Rx			oss.side[1].adsc.abs_pos[3]					float	arcsec	Secondary mirror RX position
R_M2Ry			oss.side[1].adsc.abs_pos[4]					float	arcsec	Secondary mirror RY position
R_M2Rz			oss.side[1].adsc.abs_pos[5]					float	arcsec	Secondary mirror RZ position
R_M2StateMsg		oss.side[1].adsc.state_msg					string	---	Secondary mirror state
R_M3Tip			oss.side[1].terc.abs_pos[0]					float	arcsec	Tertiary mirror tip position
R_M3Tilt		oss.side[1].terc.abs_pos[1]					float	arcsec	Tertiary mirror tilt position
R_M3Piston		oss.side[1].terc.abs_pos[2]					float	mm	Tertiary mirror piston position
R_M3Sel			oss.side[1].terc.abs_pos[3]					float	deg	Tertiary mirror selector position
R_M3StateMsg		oss.side[1].terc.state_msg					string	---	Tertiary mirror state
#
#[PCS data]
# Azimuth and elevation/altitude coefficients and timestamp of the demand trajectories
PCSTimeStamp		pcs.heartbeat							long	sec	PCS time stamp
AZDemandTimeStamp	pcs.mcsDemand.mountDemand.azimuth.timestamp			double	days	Azimuth polynomial timestamp MJD(TAI)
AZDemandPosition	pcs.mcsDemand.mountDemand.azimuth.a0				double	rad	Azimuth position polynomial coefficient
AZDemandVelocity	pcs.mcsDemand.mountDemand.azimuth.a1				double	rad/s	Azimuth velocity polynomial coefficient
AZDemandAcceleration	pcs.mcsDemand.mountDemand.azimuth.a2				double	rad/s/s	Azimuth acceleration polynomial coefficient
ELDemandTimeStamp	pcs.mcsDemand.mountDemand.altitude.timestamp			double	days	Elevation/Altitude polynomial timestamp MJD(TAI)
ELDemandPosition	pcs.mcsDemand.mountDemand.altitude.a0				double	rad	Elevation/Altitude position polynomial coefficient
ELDemandVelocity	pcs.mcsDemand.mountDemand.altitude.a1				double	rad/s	Elevation/Altitude velocity polynomial coefficient
ELDemandAcceleration	pcs.mcsDemand.mountDemand.altitude.a2				double	rad/s/s	Elevation/Altitude acceleration polynomial coefficient
# Mount achieved positions
MountAchievedRAHMS	pcs.mount.achieved.achieved_RA.RAString				string HMS	Mount achieved RA
MountAchievedHAHMS	pcs.mount.achieved.achieved_HA.HAString				string HMS	Mount achieved HA
MountAchievedDECDMS	pcs.mount.achieved.achieved_DEC.DECString			string DMS	Mount achieved DEC
MountAchievedAZDMS	pcs.mount.achieved.achieved_AZ.AZString				string DMS	Mount achieved AZ
MountAchievedALTDMS	pcs.mount.achieved.achieved_ALT.ALTString			string DMS	Mount achieved ALT
MountAchievedRA		pcs.mount.achieved.achieved_RA.Radians				double rad	Mount achieved RA
MountAchievedHA		pcs.mount.achieved.achieved_HA.Radians				double rad	Mount achieved HA
MountAchievedDEC	pcs.mount.achieved.achieved_DEC.Radians				double rad	Mount achieved DEC
MountAchievedAZ		pcs.mount.achieved.achieved_AZ.Radians				double rad	Mount achieved AZ
MountAchievedALT	pcs.mount.achieved.achieved_ALT.Radians				double rad	Mount achieved ALT
# Time
UTC			pcs.UTC 							string	HMS	Coordinated Universal Time
LST			pcs.LST 							string	HMS	Local Sidereal Time
MJDUTC			pcs.MJDUTC							double	MJD	Modified Julian Day UTC
Epoch			pcs.epoch							double	years	Epoch of today (UTC)
# Astronomical parallactic angle
ParAngle		pcs.pointingStatus.achieved.parallacticAngle			double	deg	Parallactic angle
AirMass			pcs.airmass							double	---	Air mass
# Sided data dictionary items
L_AchievedDECDMS	pcs.side[0].pointingStatus.achieved.achieved_DEC.DECString	string	DMS	Target Dec (sexagesimal) 
L_AchievedDEC		pcs.side[0].pointingStatus.achieved.achieved_DEC.Radians	double	rad	Target Dec 
L_AchievedRAHMS		pcs.side[0].pointingStatus.achieved.achieved_RA.RAString	string	HMS	Target RA (sexagesimal) 
L_AchievedRA		pcs.side[0].pointingStatus.achieved.achieved_RA.Radians		double	rad	Target RA 
L_AchievedAZDMS		pcs.side[0].pointingStatus.achieved.achieved_AZ.AZString	string	DMS	Target AZ (sexagesimal) 
L_AchievedAZ		pcs.side[0].pointingStatus.achieved.achieved_AZ.Radians		double	rad	Target AZ
L_AchievedALTDMS	pcs.side[0].pointingStatus.achieved.achieved_ALT.ALTString	string	DMS	Target ALT (sexagesimal) 
L_AchievedALT		pcs.side[0].pointingStatus.achieved.achieved_ALT.Radians	double	rad	Target ALT
L_AchievedGALLDeg	pcs.side[0].pointingStatus.achieved.achieved_L.Degrees		double	deg	Target L (degrees) 
L_AchievedGALBDeg	pcs.side[0].pointingStatus.achieved.achieved_B.Degrees		double	deg	Target B (degrees) 
L_AZGain		pcs.side[0].azGain						double	---	Azimuth gain (proportional coeff) for filtering guide centroids
L_CA			pcs.side[0].pointingModel.CA					double	arcsec	Pointing Model coeff CA - nonperpendicularity of EL and pointing axes
L_DECOffset		pcs.side[0].pointingStatus.target.offset_DEC			double	rad	Current offset of Dec in focal plane, depends on ABS/REL offset
L_ELGain		pcs.side[0].elGain						double	---	Elevation/Altitude gain (proportional coeff) for filter guide centroids
L_GSCumXPredmMeas	pcs.side[0].pointingStatus.guider.delta_X			double	mm	Cumulative(predicted-measured) KFP guide star X positions
L_GSCumYPredmMeas	pcs.side[0].pointingStatus.guider.delta_Y			double	mm	Cumulative(predicted-measured) KFP guide star Y positions
L_GSPresetDECDMS	pcs.side[0].pointingStatus.guider.guideStar_DEC.DECString	string	DMS	Guide Star Dec (sexagesimal)
L_GSPresetRAHMS		pcs.side[0].pointingStatus.guider.guideStar_RA.RAString		string	HMS	Guide Star RA (sexagesimal)
L_GSXMeasured		pcs.side[0].pointingStatus.guider.measured_X			double	mm	Measured guide star KFP X position
L_GSXPredicted		pcs.side[0].pointingStatus.guider.predicted_X			double	mm	Predicted guide star KFP X postion
L_GSYMeasured		pcs.side[0].pointingStatus.guider.measured_Y			double	mm	Measured guide star KFP Y position
L_GSYPredicted		pcs.side[0].pointingStatus.guider.predicted_Y			double	mm	Predicted guide star KFP Y postion
L_IA			pcs.side[0].pointingModel.IA					double	arcsec	Pointing Model coeff IA - index error in AZ 
L_IE			pcs.side[0].pointingModel.IE					double	arcsec	Pointing Model coeff IE - index error in EL
L_MountDEC      pcs.spareDBL4                                   double  radians On-sky mount position (F(instrument pointing model and wavelength))
L_MountDECDMS   pcs.spareSTR4                                   string  ---     On-sky mount position (F(instrument pointing model and wavelength))
L_MountRA       pcs.spareDBL3                                   double  radians On-sky mount position (F(instrument pointing model and wavelength))
L_MountRAHMS    pcs.spareSTR3                                   string  ---     On-sky mount position (F(instrument pointing model and wavelength))
L_PointingModel		pcs.side[0].pointingModel.pointingModelFile			string	---	Pointing Model Filename
L_PosAngle		pcs.side[0].pointingStatus.positionAngle			double	rad	If POSITION mode: rotation offset angle. Else position on sky
L_ParAngle		pcs.side[0].pointingStatus.parallacticAngle			double	rad	If PARALLACTIC mode: rotational offset angle. Else position on sky
L_POXBase		pcs.side[0].pointingStatus.pointingOrigin.base_x    double	mm	Base Pointing Origin X KFP coordinate
L_POXOffset		pcs.side[0].pointingStatus.pointingOrigin.offset_x	double	mm	Accumulated X offset in KFP, depends on ABS/REL offset
L_POXCurrent	pcs.side[0].pointingStatus.pointingOrigin.x		    double	mm	Current X pointing origin including base in KFP, depends on ABS/REL offset
L_POYBase		pcs.side[0].pointingStatus.pointingOrigin.base_y	double	mm	Base Pointing Origin Y KFP coordinate
L_POYOffset		pcs.side[0].pointingStatus.pointingOrigin.offset_y	double	mm	Accumulated Y offset in KFP, depends on ABS/REL offset
L_POYCurrent	pcs.side[0].pointingStatus.pointingOrigin.y		    double	mm	Current Y pointing origin including base in KFP, depends on ABS/REL offset
L_PORACurrent   pcs.side[0].pointingStatus.pointingOrigin.coord_RA.Radians  double  rad RA associated with the current pointing origin
L_PODECCurrent  pcs.side[0].pointingStatus.pointingOrigin.coord_DEC.Radians double  rad DEC associated with the current pointing origin
L_PORACurrentHMS    pcs.side[0].pointingStatus.pointingOrigin.coord_RA.RAString     string  --- RA (sexagesimal) associated with the current pointing origin
L_PODECCurrentDMS   pcs.side[0].pointingStatus.pointingOrigin.coord_DEC.DECString   string  --- DEC (sexagesimal) associated with the current pointing origin
L_PresetParAngle	pcs.side[0].preset.target_parallacticAngle			float	rad	Preset requested base angle for rotator mode = PARALLACTIC
L_PresetPosAngle 	pcs.side[0].preset.target_positionAngle 			double	rad	Preset requested base angle for rotator mode = POSITION	
L_PresetRotMode		pcs.side[0].preset.target_rotatorMode				string	---	Preset Rotator Mode (POSITION | PARALLACTIC | IDLE)
L_PresetTargetDECDMS	pcs.side[0].preset.target_DEC.DECString				string	DMS	Target Dec based on Preset input (sexagesimal) 
L_PresetTargetRAHMS	pcs.side[0].preset.target_RA.RAString				string	HMS	Target RA  based on Preset input (sexagesimal)
L_PresetTargetAZDMS	pcs.side[0].preset.target_AZ.AZString				string	DMS	Target AZ  based on Preset input (sexagesimal)
L_PresetTargetALTDMS	pcs.side[0].preset.target_ALT.ALTString				string	DMS	Target ALT based on Preset input (sexagesimal)
L_PresetTargetGALLDeg	pcs.side[0].preset.target_L.Degrees				double	deg	Target L   based on Preset input (degrees)
L_PresetTargetGALBDeg	pcs.side[0].preset.target_B.Degrees				double	deg	Target B   based on Preset input (degrees)
L_RAOffset 		pcs.side[0].pointingStatus.target.offset_RA			double	rad	Current offset of RA in focal plane, depends on ABS/REL offset
L_RotAngle		pcs.side[0].pointingStatus.rotatorAngle				double	rad	Rotator angle - same as the rotator position polynomial coefficient
L_RotCenterDECDMS	pcs.side[0].pointingStatus.rotator.rotCenter_DEC.DECString	string	DMS	Current Dec of rotator center based on Preset/Offset input (sexagesimal)
L_RotCenterDEC		pcs.side[0].pointingStatus.rotator.rotCenter_DEC.Radians	double	rad	Current Dec of rotator center based on Preset/Offset input
L_RotCenterRAHMS	pcs.side[0].pointingStatus.rotator.rotCenter_RA.RAString	string	HMS	Current RA rotator center based on Preset/Offset input (sexagesimal)
L_RotCenterRA		pcs.side[0].pointingStatus.rotator.rotCenter_RA.Radians		double	rad	Current RA rotator center based on Preset/Offset input
L_RotDemandPosition	pcs.mcsDemand.rotatorDemandSX.angle 				double  rad	Rotator position polynomial coefficient 
L_RotMode		pcs.side[0].pointingStatus.rotatorMode				string	---	Rotator mode (POSITION | PARALLACTIC | IDLE)
L_TargetDEC		pcs.side[0].pointingStatus.target.target_DEC.Radians		double	rad	Target Dec based on Preset/Offset input  
L_TargetParAngle	pcs.side[0].pointingStatus.target.parallacticAngle		double	deg 	Predicted target parallactic angle based on Preset/Offset input
L_TargetRA		pcs.side[0].pointingStatus.target.target_RA.Radians		double	rad	Target RA based on Preset/Offset input 
L_FocalLength		pcs.side[0].focalLength						double	mm	Focal length of authorized focal station
R_AchievedDECDMS	pcs.side[1].pointingStatus.achieved.achieved_DEC.DECString	string	DMS	Target Dec (sexagesimal) 
R_AchievedDEC		pcs.side[1].pointingStatus.achieved.achieved_DEC.Radians	double	rad	Target Dec 
R_AchievedRAHMS		pcs.side[1].pointingStatus.achieved.achieved_RA.RAString	string	HMS	Target RA (sexagesimal) 
R_AchievedRA		pcs.side[1].pointingStatus.achieved.achieved_RA.Radians		double	rad	Target RA 
R_AchievedAZDMS		pcs.side[1].pointingStatus.achieved.achieved_AZ.AZString	string	DMS	Target AZ (sexagesimal) 
R_AchievedAZ		pcs.side[1].pointingStatus.achieved.achieved_AZ.Radians		double	rad	Target AZ
R_AchievedALTDMS	pcs.side[1].pointingStatus.achieved.achieved_ALT.ALTString	string	DMS	Target ALT (sexagesimal) 
R_AchievedALT		pcs.side[1].pointingStatus.achieved.achieved_ALT.Radians	double	rad	Target ALT
R_AchievedGALLDeg	pcs.side[1].pointingStatus.achieved.achieved_L.Degrees		double	deg	Target L (degrees) 
R_AchievedGALBDeg	pcs.side[1].pointingStatus.achieved.achieved_B.Degrees		double	deg	Target B (degrees) 
R_AZGain		pcs.side[1].azGain						double	---	Azimuth gain (proportional coeff) for filtering guide centroids
R_CA			pcs.side[1].pointingModel.CA					double	arcsec	Pointing Model coeff CA - nonperpendicularity of EL and pointing axes
R_DECOffset		pcs.side[1].pointingStatus.target.offset_DEC			double	rad	Current offset of Dec in focal plane, depends on ABS/REL offset
R_ELGain		pcs.side[1].elGain						double	---	Elevation/Altitude gain (proportional coeff) for filter guide centroids
R_GSCumXPredmMeas	pcs.side[1].pointingStatus.guider.delta_X			double	mm	Cumulative(predicted-measured) KFP guide star X positions
R_GSCumYPredmMeas	pcs.side[1].pointingStatus.guider.delta_Y			double	mm	Cumulative(predicted-measured) KFP guide star Y positions
R_GSPresetDECDMS	pcs.side[1].pointingStatus.guider.guideStar_DEC.DECString	string	DMS	Guide Star Dec (sexagesimal)
R_GSPresetRAHMS		pcs.side[1].pointingStatus.guider.guideStar_RA.RAString		string	HMS	Guide Star RA (sexagesimal)
R_GSXMeasured		pcs.side[1].pointingStatus.guider.measured_X			double	mm	Measured guide star KFP X position
R_GSXPredicted		pcs.side[1].pointingStatus.guider.predicted_X			double	mm	Predicted guide star KFP X postion
R_GSYMeasured		pcs.side[1].pointingStatus.guider.measured_Y			double	mm	Measured guide star KFP Y position
R_GSYPredicted		pcs.side[1].pointingStatus.guider.predicted_Y			double	mm	Predicted guide star KFP Y postion
R_IA			pcs.side[1].pointingModel.IA					double	arcsec	Pointing Model coeff IA - index error in AZ 
R_IE			pcs.side[1].pointingModel.IE					double	arcsec	Pointing Model coeff IE - index error in EL
R_MountDEC      pcs.spareDBL6                                   double  radians On-sky mount position (F(instrument pointing model and wavelength))
R_MountDECDMS   pcs.spareSTR6                                   string  ---     On-sky mount position (F(instrument pointing model and wavelength))
R_MountRA       pcs.spareDBL5                                   double  radians On-sky mount position (F(instrument pointing model and wavelength))
R_MountRAHMS    pcs.spareSTR5                                   string  ---     On-sky mount position (F(instrument pointing model and wavelength))
R_PointingModel		pcs.side[1].pointingModel.pointingModelFile			string	---	Pointing Model Filename
R_PosAngle		pcs.side[1].pointingStatus.positionAngle			double	rad	If POSITION mode: rotational offset angle. Else position on sky
R_ParAngle		pcs.side[1].pointingStatus.parallacticAngle			double	rad	If PARALLACTIC mode: rotational offset angle. Else position on sky
R_POXBase		pcs.side[1].pointingStatus.pointingOrigin.base_x	double	mm	Base Pointing Origin X KFP coordinate
R_POXOffset		pcs.side[1].pointingStatus.pointingOrigin.offset_x	double	mm	Accumulated X offset in KFP, depends on ABS/REL offset
R_POXCurrent	pcs.side[1].pointingStatus.pointingOrigin.x		    double	mm	Current X pointing origin including base in KFP, depends on ABS/REL offset
R_POYBase		pcs.side[1].pointingStatus.pointingOrigin.base_y	double	mm	Base Pointing Origin Y KFP coordinate
R_POYOffset		pcs.side[1].pointingStatus.pointingOrigin.offset_y	double	mm	Accumulated Y offset in KFP, depends on ABS/REL offset
R_POYCurrent	pcs.side[1].pointingStatus.pointingOrigin.y		    double	mm	Current Y pointing origin including base in KFP, depends on ABS/REL offset
R_PORACurrent   pcs.side[1].pointingStatus.pointingOrigin.coord_RA.Radians  double  rad RA associated with the current pointing origin
R_PODECCurrent  pcs.side[1].pointingStatus.pointingOrigin.coord_DEC.Radians double  rad DEC associated with the current pointing origin
R_PORACurrentHMS    pcs.side[1].pointingStatus.pointingOrigin.coord_RA.RAString     string  --- RA (sexagesimal) associated with the current pointing origin
R_PODECCurrentDMS   pcs.side[1].pointingStatus.pointingOrigin.coord_DEC.DECString   string  --- DEC (sexagesimal) associated with the current pointing origin
R_PresetParAngle	pcs.side[1].preset.target_parallacticAngle			float	rad	Preset requested base angle for rotator mode = PARALLACTIC
R_PresetPosAngle 	pcs.side[1].preset.target_positionAngle 			double	rad	Preset requested base angle for rotator mode = POSITION
R_PresetRotMode		pcs.side[1].preset.target_rotatorMode				string	---	Preset Rotator Mode (POSITION | PARALLACTIC | IDLE)
R_PresetTargetDECDMS	pcs.side[1].preset.target_DEC.DECString				string	DMS	Target Dec based on Preset input (sexagesimal) 
R_PresetTargetRAHMS	pcs.side[1].preset.target_RA.RAString				string	HMS	Target RA  based on Preset input (sexagesimal)
R_PresetTargetAZDMS	pcs.side[1].preset.target_AZ.AZString				string	DMS	Target AZ  based on Preset input (sexagesimal)
R_PresetTargetALTDMS	pcs.side[1].preset.target_ALT.ALTString				string	DMS	Target ALT based on Preset input (sexagesimal)
R_PresetTargetGALLDeg	pcs.side[1].preset.target_L.Degrees				double	deg	Target L   based on Preset input (degrees)
R_PresetTargetGALBDeg	pcs.side[1].preset.target_B.Degrees				double	deg	Target B   based on Preset input (degrees)
R_RAOffset		pcs.side[1].pointingStatus.target.offset_RA			double	rad	Current offset of RA in focal plane, depends on ABS/REL offset
R_RotAngle		pcs.side[1].pointingStatus.rotatorAngle				double	rad	Rotator angle - same as the rotator position polynomial coefficient
R_RotCenterDECDMS	pcs.side[1].pointingStatus.rotator.rotCenter_DEC.DECString	string	DMS	Current Dec of rotator center based on Preset/Offset input (sexagesimal)
R_RotCenterDEC		pcs.side[1].pointingStatus.rotator.rotCenter_DEC.Radians	double	rad	Current Dec of rotator center based on Preset/Offset input
R_RotCenterRAHMS	pcs.side[1].pointingStatus.rotator.rotCenter_RA.RAString	string	HMS	Current RA of rotator center based on Preset/Offset input (sexagesimal)
R_RotCenterRA		pcs.side[1].pointingStatus.rotator.rotCenter_RA.Radians		double	rad	Current RA of rotator center based on Preset/Offset input
R_RotDemandPosition	pcs.mcsDemand.rotatorDemandDX.angle 				double	rad	Rotator position polynomial coefficient 
R_RotMode		pcs.side[1].pointingStatus.rotatorMode				string	---	Rotator mode (POSITION | PARALLACTIC | IDLE)
R_TargetDEC		pcs.side[1].pointingStatus.target.target_DEC.Radians		double	rad	Target Dec based on Preset/Offset input  
R_TargetParAngle	pcs.side[1].pointingStatus.target.parallacticAngle		double	deg 	Predicted target parallactic angle based on Preset/Offset input
R_TargetRA		pcs.side[1].pointingStatus.target.target_RA.Radians		double	rad	Target RA based on Preset/Offset input 
R_FocalLength		pcs.side[1].focalLength						double	mm	Focal length of authorized focal station
# non-sidereal target
NonSiderealTarget	pcs.isNonSiderealTarget						bool	---	True if target non-sidereal
L_NSRATRKRate		pcs.side[0].preset.target_NSRARateCosDec			double	asec/hr	Differential tracking rate for RA
L_NSDECTRKRate		pcs.side[0].preset.target_NSDecRate				double	asec/hr	Differential tracking rate for Dec
L_NSTRKEpoch    	pcs.side[0].preset.target_NSmjdutc				double	MJD	Differential tracking reference epoch (UTC days)
L_NSTRKEquinox		pcs.side[0].preset.target_NSEquinox				string	---	Tracking equinox
L_NSTRKFrame		pcs.side[0].preset.target_NSFrame				string	---	Tracking coordinate frame
L_NSEphemerisName	pcs.side[0].preset.target_NSEphemeris				string	---	Ephemeris file name
L_NSType		pcs.side[0].preset.target_NStype				string	---	Type of target
R_NSRATRKRate		pcs.side[1].preset.target_NSRARateCosDec			double	asec/hr	Differential tracking rate for RA
R_NSDECTRKRate		pcs.side[1].preset.target_NSDecRate				double	asec/hr	Differential tracking rate for Dec
R_NSTRKEpoch    	pcs.side[1].preset.target_NSmjdutc				double	MJD	Differential tracking reference epoch (UTC days)
R_NSTRKEquinox		pcs.side[1].preset.target_NSEquinox				string	---	Tracking equinox
R_NSTRKFrame		pcs.side[1].preset.target_NSFrame				string	---	Tracking coordinate frame
R_NSEphemerisName	pcs.side[1].preset.target_NSEphemeris				string	---	Ephemeris file name
R_NSType		pcs.side[1].preset.target_NStype				string	---	Type of target
#
#[PMC data]
L_M1X			pmc.side[0].mirrorRpt.position[0]				float	mm	Primary mirror X position
L_M1Y			pmc.side[0].mirrorRpt.position[1]				float	mm	Primary mirror Y position
L_M1Z			pmc.side[0].mirrorRpt.position[2]				float	mm	Primary mirror Z position
L_M1Rx			pmc.side[0].mirrorRpt.position[3]				float	arcsec	Primary mirror RX position
L_M1Ry			pmc.side[0].mirrorRpt.position[4]				float	arcsec	Primary mirror RY position
L_M1Rz			pmc.side[0].mirrorRpt.position[5]				float	arcsec	Primary mirror RZ position
L_M1AirTemp		pmc.side[0].thermalRpt.ambientThermAvg				float	C	Primary mirror air temperature
L_M1GlassTemp		pmc.side[0].thermalRpt.glassThermAvg				float	C	Primary mirror glass temperature
L_M1TargetTemp		pmc.side[0].thermalRpt.target					float	C	Primary mirror ventilation target temperature
R_M1X			pmc.side[1].mirrorRpt.position[0]				float	mm	Primary mirror X position
R_M1Y			pmc.side[1].mirrorRpt.position[1]				float	mm	Primary mirror Y position
R_M1Z			pmc.side[1].mirrorRpt.position[2]				float	mm	Primary mirror Z position
R_M1Rx			pmc.side[1].mirrorRpt.position[3]				float	arcsec	Primary mirror RX position
R_M1Ry			pmc.side[1].mirrorRpt.position[4]				float	arcsec	Primary mirror RY position
R_M1Rz			pmc.side[1].mirrorRpt.position[5]				float	arcsec	Primary mirror RZ position
R_M1AirTemp		pmc.side[1].thermalRpt.ambientThermAvg				float	C	Primary mirror air temperature
R_M1GlassTemp		pmc.side[1].thermalRpt.glassThermAvg				float	C	Primary mirror glass temperature
R_M1TargetTemp		pmc.side[1].thermalRpt.target					float	C	Primary mirror ventilation target temperature
#
#[PSF data]
L_M1CollX		psf.side[0].primaryMirror.collimation.collimation[0]		float	mm	Primary mirror collimation position
L_M1CollY		psf.side[0].primaryMirror.collimation.collimation[1]		float	mm	Primary mirror collimation position
L_M1CollZ		psf.side[0].primaryMirror.collimation.collimation[2] 		float	mm	Primary mirror collimation position
L_M1CollRx		psf.side[0].primaryMirror.collimation.collimation[3]		float	arcsec	Primary mirror collimation position
L_M1CollRy		psf.side[0].primaryMirror.collimation.collimation[4]		float	arcsec	Primary mirror collimation position
L_M1CollRz		psf.side[0].primaryMirror.collimation.collimation[5]		float	arcsec	Primary mirror collimation position
L_M1CollTemp		psf.side[0].primaryMirror.collimation.temperature		float	C	Primary mirror collimation temperature 1
L_M1CollTemp2		psf.side[0].primaryMirror.collimation.temperature2		float	C	Primary mirror collimation temperature 2
L_M1ActOptX		psf.side[0].primaryMirror.collimation.activeOptics[0]		float	mm	Primary mirror collimation active optics correction
L_M1ActOptY		psf.side[0].primaryMirror.collimation.activeOptics[1]		float	mm	Primary mirror collimation active optics correction
L_M1ActOptZ		psf.side[0].primaryMirror.collimation.activeOptics[2]		float	mm	Primary mirror collimation active optics correction
L_M1ActOptRx		psf.side[0].primaryMirror.collimation.activeOptics[3]		float	arcsec	Primary mirror collimation active optics correction
L_M1ActOptRy		psf.side[0].primaryMirror.collimation.activeOptics[4]		float	arcsec	Primary mirror collimation active optics correction
L_M1ActOptRz		psf.side[0].primaryMirror.collimation.activeOptics[5]		float	arcsec	Primary mirror collimation active optics correction
L_M1Mode1OffX		psf.side[0].primaryMirror.collimation.mode1PointingOffsets[0]	float	mm	Primary mirror collimation mode1 pointing offset
L_M1Mode1OffY		psf.side[0].primaryMirror.collimation.mode1PointingOffsets[1]	float	mm	Primary mirror collimation mode1 pointing offset
L_M1Mode1OffZ		psf.side[0].primaryMirror.collimation.mode1PointingOffsets[2]	float	mm	Primary mirror collimation mode1 pointing offset
L_M1Mode1OffRx		psf.side[0].primaryMirror.collimation.mode1PointingOffsets[3]	float	arcsec	Primary mirror collimation mode1 pointing offset
L_M1Mode1OffRy		psf.side[0].primaryMirror.collimation.mode1PointingOffsets[4]	float	arcsec	Primary mirror collimation mode1 pointing offset
L_M1Mode1OffRz		psf.side[0].primaryMirror.collimation.mode1PointingOffsets[5]	float	arcsec	Primary mirror collimation mode1 pointing offset
L_M1Mode1ManX		psf.side[0].primaryMirror.collimation.mode1ManualPointingOffsets[0]	float	mm	Primary mirror collimation mode1 manual pointing offset
L_M1Mode1ManY		psf.side[0].primaryMirror.collimation.mode1ManualPointingOffsets[1]	float	mm	Primary mirror collimation mode1 manual pointing offset
L_M1Mode1ManZ		psf.side[0].primaryMirror.collimation.mode1ManualPointingOffsets[2]	float	mm	Primary mirror collimation mode1 manual pointing offset
L_M1Mode1ManRx		psf.side[0].primaryMirror.collimation.mode1ManualPointingOffsets[3]	float	arcsec	Primary mirror collimation mode1 manual pointing offset
L_M1Mode1ManRy		psf.side[0].primaryMirror.collimation.mode1ManualPointingOffsets[4]	float	arcsec	Primary mirror collimation mode1 manual pointing offset
L_M1Mode1ManRz		psf.side[0].primaryMirror.collimation.mode1ManualPointingOffsets[5]	float	arcsec	Primary mirror collimation mode1 manual pointing offset
L_M1Z2			psf.side[0].primaryMirror.wavefront.coefficients[1]		float	nm	Primary mirror Z2
L_M1Z3			psf.side[0].primaryMirror.wavefront.coefficients[2]		float	nm	Primary mirror Z3
L_M1Z4			psf.side[0].primaryMirror.wavefront.coefficients[3]		float	nm	Primary mirror Z4
L_M1Z5			psf.side[0].primaryMirror.wavefront.coefficients[4]		float	nm	Primary mirror Z5
L_M1Z6			psf.side[0].primaryMirror.wavefront.coefficients[5]		float	nm	Primary mirror Z6
L_M1Z7			psf.side[0].primaryMirror.wavefront.coefficients[6]		float	nm	Primary mirror Z7
L_M1Z8			psf.side[0].primaryMirror.wavefront.coefficients[7]		float	nm	Primary mirror Z8
L_M1Z9			psf.side[0].primaryMirror.wavefront.coefficients[8]		float	nm	Primary mirror Z9
L_M1Z10			psf.side[0].primaryMirror.wavefront.coefficients[9]		float	nm	Primary mirror Z10
L_M1Z11			psf.side[0].primaryMirror.wavefront.coefficients[10]		float	nm	Primary mirror Z11
L_M1Z12			psf.side[0].primaryMirror.wavefront.coefficients[11]		float	nm	Primary mirror Z12
L_M1Z13			psf.side[0].primaryMirror.wavefront.coefficients[12]		float	nm	Primary mirror Z13
L_M1Z14			psf.side[0].primaryMirror.wavefront.coefficients[13]		float	nm	Primary mirror Z14
L_M1Z15			psf.side[0].primaryMirror.wavefront.coefficients[14]		float	nm	Primary mirror Z15
L_M1Z16			psf.side[0].primaryMirror.wavefront.coefficients[15]		float	nm	Primary mirror Z16
L_M1Z17			psf.side[0].primaryMirror.wavefront.coefficients[16]		float	nm	Primary mirror Z17
L_M1Z18			psf.side[0].primaryMirror.wavefront.coefficients[17]		float	nm	Primary mirror Z18
L_M1Z19			psf.side[0].primaryMirror.wavefront.coefficients[18]		float	nm	Primary mirror Z19
L_M1Z20			psf.side[0].primaryMirror.wavefront.coefficients[19]		float	nm	Primary mirror Z20
L_M1Z21			psf.side[0].primaryMirror.wavefront.coefficients[20]		float	nm	Primary mirror Z21
L_M1Z22			psf.side[0].primaryMirror.wavefront.coefficients[21]		float	nm	Primary mirror Z22
L_M2CollX		psf.side[0].secondaryMirror.collimation.collimation[0]		float	mm	Secondary mirror collimation position
L_M2CollY		psf.side[0].secondaryMirror.collimation.collimation[1]		float	mm	Secondary mirror collimation position
L_M2CollZ		psf.side[0].secondaryMirror.collimation.collimation[2]		float	mm	Secondary mirror collimation position
L_M2CollRx		psf.side[0].secondaryMirror.collimation.collimation[3]		float	arcsec	Secondary mirror collimation position
L_M2CollRy		psf.side[0].secondaryMirror.collimation.collimation[4]		float	arcsec	Secondary mirror collimation position
L_M2CollRz		psf.side[0].secondaryMirror.collimation.collimation[5]		float	arcsec	Secondary mirror collimation position
L_M2CollTemp		psf.side[0].secondaryMirror.collimation.temperature		float	C	Secondary mirror collimation temperature
L_M2ActOptX		psf.side[0].secondaryMirror.collimation.activeOptics[0]		float	mm	Secondary mirror collimation active optics correction
L_M2ActOptY		psf.side[0].secondaryMirror.collimation.activeOptics[1]		float	mm	Secondary mirror collimation active optics correction
L_M2ActOptZ		psf.side[0].secondaryMirror.collimation.activeOptics[2]		float	mm	Secondary mirror collimation active optics correction
L_M2ActOptRx		psf.side[0].secondaryMirror.collimation.activeOptics[3]		float	arcsec	Secondary mirror collimation active optics correction
L_M2ActOptRy		psf.side[0].secondaryMirror.collimation.activeOptics[4]		float	arcsec	Secondary mirror collimation active optics correction
L_M2ActOptRz		psf.side[0].secondaryMirror.collimation.activeOptics[5]		float	arcsec	Secondary mirror collimation active optics correction
L_M2Mode1OffX		psf.side[0].secondaryMirror.collimation.mode1PointingOffsets[0]	float	mm	Secondary mirror collimation mode1 pointing offset
L_M2Mode1OffY		psf.side[0].secondaryMirror.collimation.mode1PointingOffsets[1]	float	mm	Secondary mirror collimation mode1 pointing offset
L_M2Mode1OffZ		psf.side[0].secondaryMirror.collimation.mode1PointingOffsets[2]	float	mm	Secondary mirror collimation mode1 pointing offset
L_M2Mode1OffRx		psf.side[0].secondaryMirror.collimation.mode1PointingOffsets[3]	float	arcsec	Secondary mirror collimation mode1 pointing offset
L_M2Mode1OffRy		psf.side[0].secondaryMirror.collimation.mode1PointingOffsets[4]	float	arcsec	Secondary mirror collimation mode1 pointing offset
L_M2Mode1OffRz		psf.side[0].secondaryMirror.collimation.mode1PointingOffsets[5]	float	arcsec	Secondary mirror collimation mode1 pointing offset
L_M2Mode1ManX		psf.side[0].secondaryMirror.collimation.mode1ManualPointingOffsets[0]	float	mm	Secondary mirror collimation mode1 manual pointing offset
L_M2Mode1ManY		psf.side[0].secondaryMirror.collimation.mode1ManualPointingOffsets[1]	float	mm	Secondary mirror collimation mode1 manual pointing offset
L_M2Mode1ManZ		psf.side[0].secondaryMirror.collimation.mode1ManualPointingOffsets[2]	float	mm	Secondary mirror collimation mode1 manual pointing offset
L_M2Mode1ManRx		psf.side[0].secondaryMirror.collimation.mode1ManualPointingOffsets[3]	float	arcsec	Secondary mirror collimation mode1 manual pointing offset
L_M2Mode1ManRy		psf.side[0].secondaryMirror.collimation.mode1ManualPointingOffsets[4]	float	arcsec	Secondary mirror collimation mode1 manual pointing offset
L_M2Mode1ManRz		psf.side[0].secondaryMirror.collimation.mode1ManualPointingOffsets[5]	float	arcsec	Secondary mirror collimation mode1 manual pointing offset
L_M3CollTip		psf.side[0].tertiaryMirror.collimation.collimation[0]		float	arcsec	Tertiary mirror collimation position
L_M3CollTilt		psf.side[0].tertiaryMirror.collimation.collimation[1]		float	arcsec	Tertiary mirror collimation position
L_M3CollPiston		psf.side[0].tertiaryMirror.collimation.collimation[2]		float	mm	Tertiary mirror collimation position
L_M3CollSel		psf.side[0].tertiaryMirror.collimation.collimation[3]		float	deg	Tertiary mirror collimation position
L_M3CollTemp		psf.side[0].tertiaryMirror.collimation.temperature		float	C	Tertiary mirror collimation temperature
R_M1CollX		psf.side[1].primaryMirror.collimation.collimation[0]		float	mm	Primary mirror collimation position
R_M1CollY		psf.side[1].primaryMirror.collimation.collimation[1]		float	mm	Primary mirror collimation position
R_M1CollZ		psf.side[1].primaryMirror.collimation.collimation[2] 		float	mm	Primary mirror collimation position
R_M1CollRx		psf.side[1].primaryMirror.collimation.collimation[3]		float	arcsec	Primary mirror collimation position
R_M1CollRy		psf.side[1].primaryMirror.collimation.collimation[4]		float	arcsec	Primary mirror collimation position
R_M1CollRz		psf.side[1].primaryMirror.collimation.collimation[5]		float	arcsec	Primary mirror collimation position
R_M1CollTemp		psf.side[1].primaryMirror.collimation.temperature		float	C	Primary mirror collimation temperature
R_M1CollTemp2		psf.side[1].primaryMirror.collimation.temperature2		float	C	Primary mirror collimation temperature 2
R_M1ActOptX		psf.side[1].primaryMirror.collimation.activeOptics[0]		float	mm	Primary mirror collimation active optics correction
R_M1ActOptY		psf.side[1].primaryMirror.collimation.activeOptics[1]		float	mm	Primary mirror collimation active optics correction
R_M1ActOptZ		psf.side[1].primaryMirror.collimation.activeOptics[2]		float	mm	Primary mirror collimation active optics correction
R_M1ActOptRx		psf.side[1].primaryMirror.collimation.activeOptics[3]		float	arcsec	Primary mirror collimation active optics correction
R_M1ActOptRy		psf.side[1].primaryMirror.collimation.activeOptics[4]		float	arcsec	Primary mirror collimation active optics correction
R_M1ActOptRz		psf.side[1].primaryMirror.collimation.activeOptics[5]		float	arcsec	Primary mirror collimation active optics correction
R_M1Mode1OffX		psf.side[1].primaryMirror.collimation.mode1PointingOffsets[0]	float	mm	Primary mirror collimation mode1 pointing offset
R_M1Mode1OffY		psf.side[1].primaryMirror.collimation.mode1PointingOffsets[1]	float	mm	Primary mirror collimation mode1 pointing offset
R_M1Mode1OffZ		psf.side[1].primaryMirror.collimation.mode1PointingOffsets[2]	float	mm	Primary mirror collimation mode1 pointing offset
R_M1Mode1OffRx		psf.side[1].primaryMirror.collimation.mode1PointingOffsets[3]	float	arcsec	Primary mirror collimation mode1 pointing offset
R_M1Mode1OffRy		psf.side[1].primaryMirror.collimation.mode1PointingOffsets[4]	float	arcsec	Primary mirror collimation mode1 pointing offset
R_M1Mode1OffRz		psf.side[1].primaryMirror.collimation.mode1PointingOffsets[5]	float	arcsec	Primary mirror collimation mode1 pointing offset
R_M1Mode1ManX		psf.side[1].primaryMirror.collimation.mode1ManualPointingOffsets[0]	float	mm	Primary mirror collimation mode1 manual pointing offset
R_M1Mode1ManY		psf.side[1].primaryMirror.collimation.mode1ManualPointingOffsets[1]	float	mm	Primary mirror collimation mode1 manual pointing offset
R_M1Mode1ManZ		psf.side[1].primaryMirror.collimation.mode1ManualPointingOffsets[2]	float	mm	Primary mirror collimation mode1 manual pointing offset
R_M1Mode1ManRx		psf.side[1].primaryMirror.collimation.mode1ManualPointingOffsets[3]	float	arcsec	Primary mirror collimation mode1 manual pointing offset
R_M1Mode1ManRy		psf.side[1].primaryMirror.collimation.mode1ManualPointingOffsets[4]	float	arcsec	Primary mirror collimation mode1 manual pointing offset
R_M1Mode1ManRz		psf.side[1].primaryMirror.collimation.mode1ManualPointingOffsets[5]	float	arcsec	Primary mirror collimation mode1 manual pointing offset
R_M1Z2			psf.side[1].primaryMirror.wavefront.coefficients[1]		float	nm	Primary mirror Z2
R_M1Z3			psf.side[1].primaryMirror.wavefront.coefficients[2]		float	nm	Primary mirror Z3
R_M1Z4			psf.side[1].primaryMirror.wavefront.coefficients[3]		float	nm	Primary mirror Z4
R_M1Z5			psf.side[1].primaryMirror.wavefront.coefficients[4]		float	nm	Primary mirror Z5
R_M1Z6			psf.side[1].primaryMirror.wavefront.coefficients[5]		float	nm	Primary mirror Z6
R_M1Z7			psf.side[1].primaryMirror.wavefront.coefficients[6]		float	nm	Primary mirror Z7
R_M1Z8			psf.side[1].primaryMirror.wavefront.coefficients[7]		float	nm	Primary mirror Z8
R_M1Z9			psf.side[1].primaryMirror.wavefront.coefficients[8]		float	nm	Primary mirror Z9
R_M1Z10			psf.side[1].primaryMirror.wavefront.coefficients[9]		float	nm	Primary mirror Z10
R_M1Z11			psf.side[1].primaryMirror.wavefront.coefficients[10]		float	nm	Primary mirror Z11
R_M1Z12			psf.side[1].primaryMirror.wavefront.coefficients[11]		float	nm	Primary mirror Z12
R_M1Z13			psf.side[1].primaryMirror.wavefront.coefficients[12]		float	nm	Primary mirror Z13
R_M1Z14			psf.side[1].primaryMirror.wavefront.coefficients[13]		float	nm	Primary mirror Z14
R_M1Z15			psf.side[1].primaryMirror.wavefront.coefficients[14]		float	nm	Primary mirror Z15
R_M1Z16			psf.side[1].primaryMirror.wavefront.coefficients[15]		float	nm	Primary mirror Z16
R_M1Z17			psf.side[1].primaryMirror.wavefront.coefficients[16]		float	nm	Primary mirror Z17
R_M1Z18			psf.side[1].primaryMirror.wavefront.coefficients[17]		float	nm	Primary mirror Z18
R_M1Z19			psf.side[1].primaryMirror.wavefront.coefficients[18]		float	nm	Primary mirror Z19
R_M1Z20			psf.side[1].primaryMirror.wavefront.coefficients[19]		float	nm	Primary mirror Z20
R_M1Z21			psf.side[1].primaryMirror.wavefront.coefficients[20]		float	nm	Primary mirror Z21
R_M1Z22			psf.side[1].primaryMirror.wavefront.coefficients[21]		float	nm	Primary mirror Z22
R_M2CollX		psf.side[1].secondaryMirror.collimation.collimation[0]		float	mm	Secondary mirror collimation position
R_M2CollY		psf.side[1].secondaryMirror.collimation.collimation[1]		float	mm	Secondary mirror collimation position
R_M2CollZ		psf.side[1].secondaryMirror.collimation.collimation[2]		float	mm	Secondary mirror collimation position
R_M2CollRx		psf.side[1].secondaryMirror.collimation.collimation[3]		float	arcsec	Secondary mirror collimation position
R_M2CollRy		psf.side[1].secondaryMirror.collimation.collimation[4]		float	arcsec	Secondary mirror collimation position
R_M2CollRz		psf.side[1].secondaryMirror.collimation.collimation[5]		float	arcsec	Secondary mirror collimation position
R_M2CollTemp		psf.side[1].secondaryMirror.collimation.temperature		float	C	Secondary mirror collimation temperature
R_M2ActOptX		psf.side[1].secondaryMirror.collimation.activeOptics[0]		float	mm	Secondary mirror collimation active optics correction
R_M2ActOptY		psf.side[1].secondaryMirror.collimation.activeOptics[1]		float	mm	Secondary mirror collimation active optics correction
R_M2ActOptZ		psf.side[1].secondaryMirror.collimation.activeOptics[2]		float	mm	Secondary mirror collimation active optics correction
R_M2ActOptRx		psf.side[1].secondaryMirror.collimation.activeOptics[3]		float	arcsec	Secondary mirror collimation active optics correction
R_M2ActOptRy		psf.side[1].secondaryMirror.collimation.activeOptics[4]		float	arcsec	Secondary mirror collimation active optics correction
R_M2ActOptRz		psf.side[1].secondaryMirror.collimation.activeOptics[5]		float	arcsec	Secondary mirror collimation active optics correction
R_M2Mode1ManX		psf.side[1].secondaryMirror.collimation.mode1ManualPointingOffsets[0]	float	mm	Secondary mirror collimation mode1 manual pointing offset
R_M2Mode1ManY		psf.side[1].secondaryMirror.collimation.mode1ManualPointingOffsets[1]	float	mm	Secondary mirror collimation mode1 manual pointing offset
R_M2Mode1ManZ		psf.side[1].secondaryMirror.collimation.mode1ManualPointingOffsets[2]	float	mm	Secondary mirror collimation mode1 manual pointing offset
R_M2Mode1ManRx		psf.side[1].secondaryMirror.collimation.mode1ManualPointingOffsets[3]	float	arcsec	Secondary mirror collimation mode1 manual pointing offset
R_M2Mode1ManRy		psf.side[1].secondaryMirror.collimation.mode1ManualPointingOffsets[4]	float	arcsec	Secondary mirror collimation mode1 manual pointing offset
R_M2Mode1ManRz		psf.side[1].secondaryMirror.collimation.mode1ManualPointingOffsets[5]	float	arcsec	Secondary mirror collimation mode1 manual pointing offset
R_M2Mode1OffX		psf.side[1].secondaryMirror.collimation.mode1PointingOffsets[0]	float	mm	Secondary mirror collimation mode1 pointing offset
R_M2Mode1OffY		psf.side[1].secondaryMirror.collimation.mode1PointingOffsets[1]	float	mm	Secondary mirror collimation mode1 pointing offset
R_M2Mode1OffZ		psf.side[1].secondaryMirror.collimation.mode1PointingOffsets[2]	float	mm	Secondary mirror collimation mode1 pointing offset
R_M2Mode1OffRx		psf.side[1].secondaryMirror.collimation.mode1PointingOffsets[3]	float	arcsec	Secondary mirror collimation mode1 pointing offset
R_M2Mode1OffRy		psf.side[1].secondaryMirror.collimation.mode1PointingOffsets[4]	float	arcsec	Secondary mirror collimation mode1 pointing offset
R_M2Mode1OffRz		psf.side[1].secondaryMirror.collimation.mode1PointingOffsets[5]	float	arcsec	Secondary mirror collimation mode1 pointing offset
R_M3CollTip		psf.side[1].tertiaryMirror.collimation.collimation[0]		float	arcsec	Tertiary mirror collimation position
R_M3CollTilt		psf.side[1].tertiaryMirror.collimation.collimation[1]		float	arcsec	Tertiary mirror collimation position
R_M3CollPiston		psf.side[1].tertiaryMirror.collimation.collimation[2]		float	mm	Tertiary mirror collimation position
R_M3CollSel		psf.side[1].tertiaryMirror.collimation.collimation[3]		float	deg	Tertiary mirror collimation position
R_M3CollTemp		psf.side[1].tertiaryMirror.collimation.temperature		float	C	Tertiary mirror collimation temperature
#
#[AOS data]
L_AOBadSeeing		aos.side[0].badSeeing				int	---	AO bad seeing flag
L_AOShape		aos.side[0].adsec.shape				string	---	AO secondary shape
L_AOOffsetX		aos.side[0].cmds.ao.offsetxy.x			double	---	AO X offset
L_AOOffsetY		aos.side[0].cmds.ao.offsetxy.y			double	---	AO Y offset
L_AOOffsetZ		aos.side[0].cmds.ao.offsetz.z			double	---	AO Z offset
L_AOmode		aos.side[0].cmds.ao.presetao.aomode		string	---	AO mode
L_AORefMag		aos.side[0].cmds.ao.presetao.mag		double	---	AO reference star magnitude
L_AORefCindex		aos.side[0].cmds.ao.presetao.cindex		double	---	AO reference star color index
L_AORefX		aos.side[0].cmds.ao.presetao.rocoordx		double	---	AO reference star X
L_AORefY		aos.side[0].cmds.ao.presetao.rocoordy		double	---	AO reference star Y
L_AOdx			aos.side[0].ao.param.dx				double	---	AO pyramid X displacement
L_AOdy			aos.side[0].ao.param.dy				double	---	AO pyramid Y displacement
L_AOfreq		aos.side[0].ao.param.freq			double	---	AO CCD frequency
L_AOgain		aos.side[0].ao.param.gain			double	---	AO loop gain
L_AOmag			aos.side[0].ao.param.mag			double	---	AO measured magnitude
L_AOnbins		aos.side[0].ao.param.nbins			int	---	AO number of bins
L_AOnmodes		aos.side[0].ao.param.nmodes			int	---	AO number of modes
L_AOr0			aos.side[0].ao.param.r0				double	---	AO evualted R0
L_AOslnull		aos.side[0].ao.param.slnull			string	---	AO slope null
L_AOsnmode		aos.side[0].ao.param.snmode			double	---	AO S/N per mode
L_AOttmodul		aos.side[0].ao.param.ttmodul			double	---	AO tip-tilt modulation
L_AOStatus		aos.side[0].adsec.status			string	---	AO adsec status
L_AOCorrectedModes	aos.side[0].ao.correctedmodes			int	---	AO number of corrected modes
L_AOMode		aos.side[0].ao.mode				string	---	AO mode
L_AOslReady		aos.side[0].ao.sl_ready				int	---	AO seeing limited ready
L_AOaoReady		aos.side[0].ao.ao_ready				int	---	AO adaptive ready
L_AOLoopOn		aos.side[0].ao.loopon				int	---	AO loop on flag
L_AOStrehl		aos.side[0].ao.strehl				double	---	AO estimated Strehl ratio
L_AOFLAOWccdBin		aos.side[0].flaow.ccdbin			int	---	AO FLAO CCD binning
L_AOFLAOWccdFreq	aos.side[0].flaow.ccdfreq			double	Hz	AO FLAO CCD loop frequency
L_AOFLAOWmodAmp		aos.side[0].flaow.mod_ampl			double	---	AO FLAO modulation amplitude
L_AOFLAOWcounts		aos.side[0].flaow.counts			int	c/sa	AO FLAO counts per subaperture
L_AOLBTIWccdBin		aos.side[0].lbtiw.ccdbin			int	---	AO LBTI CCD binning
L_AOLBTIWccdFreq	aos.side[0].lbtiw.ccdfreq			double	Hz	AO LBTI CCD loop frequency
L_AOLBTIWmodAmp		aos.side[0].lbtiw.mod_ampl			double	---	AO LBTI modulation amplitude
L_AOLBTIWcounts		aos.side[0].lbtiw.counts			int	c/sa	AO LBTI counts per subaperture
L_AOOffloadY		aos.side[0].adsec.offload[1]			double	arcsec	AO Y tip/tilt offload
L_AOOffloadX		aos.side[0].adsec.offload[2]			double	arcsec	AO X tip/tilt offload
L_AOOffloadZ		aos.side[0].adsec.offload[3]			double	mm	AO Z offload
L_AnemTimeStamp		aos.side[0].adsec.anem_time			long	sec	AO anemometer time stamp seconds from epoch
L_AnemWindAvg1s		aos.side[0].adsec.anem_speed[3]			double	m/s	AO anemometer 1 second average speed
L_AnemWindAvg10s	aos.side[0].adsec.anem_speed[7]			double	m/s	AO anemometer 10 seconds average speed
L_AnemWindAvg1m		aos.side[0].adsec.anem_speed[11]		double	m/s	AO anemometer 1 minute average speed
L_ARGOSStatus		aos.side[0].argos.ArbitratorState		string	---	AROGOS state
R_AOBadSeeing		aos.side[1].badSeeing				int	---	AO bad seeing flag
R_AOShape		aos.side[1].adsec.shape				string	---	AO secondary shape
R_AOOffsetX		aos.side[1].cmds.ao.offsetxy.x			double	---	AO X offset
R_AOOffsetY		aos.side[1].cmds.ao.offsetxy.y			double	---	AO Y offset
R_AOOffsetZ		aos.side[1].cmds.ao.offsetz.z			double	---	AO Z offset
R_AOmode		aos.side[1].cmds.ao.presetao.aomode		string	---	AO mode
R_AORefMag		aos.side[1].cmds.ao.presetao.mag		double	---	AO reference star magnitude
R_AORefCindex		aos.side[1].cmds.ao.presetao.cindex		double	---	AO reference star color index
R_AORefX		aos.side[1].cmds.ao.presetao.rocoordx		double	---	AO reference star X
R_AORefY		aos.side[1].cmds.ao.presetao.rocoordy		double	---	AO reference star Y
R_AOdx			aos.side[1].ao.param.dx				double	---	AO pyramid X displacement
R_AOdy			aos.side[1].ao.param.dy				double	---	AO pyramid Y displacement
R_AOfreq		aos.side[1].ao.param.freq			double	---	AO CCD frequency
R_AOgain		aos.side[1].ao.param.gain			double	---	AO loop gain
R_AOmag			aos.side[1].ao.param.mag			double	---	AO measured magnitude
R_AOnbins		aos.side[1].ao.param.nbins			int	---	AO number of bins
R_AOnmodes		aos.side[1].ao.param.nmodes			int	---	AO number of modes
R_AOr0			aos.side[1].ao.param.r0				double	---	AO evualted R0
R_AOslnull		aos.side[1].ao.param.slnull			string	---	AO slope null
R_AOsnmode		aos.side[1].ao.param.snmode			double	---	AO S/N per mode
R_AOttmodul		aos.side[1].ao.param.ttmodul			double	---	AO tip-tilt modulation
R_AOStatus		aos.side[1].adsec.status			string	---	AO adsec status
R_AOCorrectedModes	aos.side[1].ao.correctedmodes			int	---	AO number of corrected modes
R_AOMode		aos.side[1].ao.mode				string	---	AO mode
R_AOslReady		aos.side[1].ao.sl_ready				int	---	AO seeing limited ready
R_AOaoReady		aos.side[1].ao.ao_ready				int	---	AO adaptive ready
R_AOLoopOn		aos.side[1].ao.loopon				int	---	AO loop on flag
R_AOStrehl		aos.side[1].ao.strehl				double	---	AO estimated Strehl ratio
R_AOFLAOWccdBin		aos.side[1].flaow.ccdbin			int	---	AO FLAO CCD binning
R_AOFLAOWccdFreq	aos.side[1].flaow.ccdfreq			double	Hz	AO FLAO CCD loop frequency
R_AOFLAOWmodAmp		aos.side[1].flaow.mod_ampl			double	---	AO FLAO modulation amplitude
R_AOFLAOWcounts		aos.side[1].flaow.counts			int	c/sa	AO FLAO counts per subaperture
R_AOLBTIWccdBin		aos.side[1].lbtiw.ccdbin			int	---	AO LBTI CCD binning
R_AOLBTIWccdFreq	aos.side[1].lbtiw.ccdfreq			double	Hz	AO LBTI CCD loop frequency
R_AOLBTIWmodAmp		aos.side[1].lbtiw.mod_ampl			double	---	AO LBTI modulation amplitude
R_AOLBTIWcounts		aos.side[1].lbtiw.counts			int	c/sa	AO LBTI counts per subaperture
R_AOOffloadY		aos.side[1].adsec.offload[1]			double	arcsec	AO Y tip/tilt offload
R_AOOffloadX		aos.side[1].adsec.offload[2]			double	arcsec	AO X tip/tilt offload
R_AOOffloadZ		aos.side[1].adsec.offload[3]			double	mm	AO Z offload
R_AnemTimeStamp		aos.side[1].adsec.anem_time			long	sec	AO anemometer time stamp seconds from epoch
R_AnemWindAvg1s		aos.side[1].adsec.anem_speed[3]			double	m/s	AO anemometer 1 second average speed
R_AnemWindAvg10s	aos.side[1].adsec.anem_speed[7]			double	m/s	AO anemometer 10 seconds average speed
R_AnemWindAvg1m		aos.side[1].adsec.anem_speed[11]		double	m/s	AO anemometer 1 minute average speed
R_ARGOSStatus		aos.side[1].argos.ArbitratorState		string	---	AROGOS state
#
#[ECS data]
L_MirrorVentOn		ecs.mirrorVent.PB0401_Status.runState		bool	---	Left mirror ventilation blower on
L_MirrorVentDuctTemp	ecs.mirrorVent.TT0403_DuctTemp			float	C	Left mirror ventilation duct temperature
L_MirrorVentDuctRH	ecs.mirrorVent.RH0401_DuctRelHum		float	%	Left mirror ventilation duct relative humidity
R_MirrorVentOn		ecs.mirrorVent.PB0402_Status.runState		bool	---	Right mirror ventilation blower on
R_MirrorVentDuctTemp	ecs.mirrorVent.TT0404_DuctTemp			float	C	Right mirror ventilation duct temperature
R_MirrorVentDuctRH	ecs.mirrorVent.RH0402_DuctRelHum		float	%	Right mirror ventilation duct relative humidity
#
#[IRTC data]
##spares: there are 10 each of bools, doubles, floats, ints, longs, and strings
L_IRTCSpareBool		iif.IRTC.side[0].spare.b[0]			bool	---	IRTC spare bool
L_IRTCSpareDouble	iif.IRTC.side[0].spare.d[0]			double	---	IRTC spare double
L_IRTCSpareFloat	iif.IRTC.side[0].spare.f[0]			float	---	IRTC spare float
L_IRTCSpareInt		iif.IRTC.side[0].spare.i[0]			int	---	IRTC spare int
L_IRTCSpareLong		iif.IRTC.side[0].spare.l[0]			long	---	IRTC spare long
L_IRTCSpareString	iif.IRTC.side[0].spare.s[0]			string	---	IRTC spare string
##spares: there are 10 each of bools, doubles, floats, ints, longs, and strings
R_IRTCSpareBool		iif.IRTC.side[1].spare.b[0]			bool	---	IRTC spare bool
R_IRTCSpareDouble	iif.IRTC.side[1].spare.d[0]			double	---	IRTC spare double
R_IRTCSpareFloat	iif.IRTC.side[1].spare.f[0]			float	---	IRTC spare float
R_IRTCSpareInt		iif.IRTC.side[1].spare.i[0]			int	---	IRTC spare int
R_IRTCSpareLong		iif.IRTC.side[1].spare.l[0]			long	---	IRTC spare long
R_IRTCSpareString	iif.IRTC.side[1].spare.s[0]			string	---	IRTC spare string
#
#[LBC data]
LBCOBProgress		iif.LBC.obProgress				string	---	OB status (ready/running)
LBCSwProcess		iif.LBC.swProcess				int	---	Instrument software process state
L_LBCFilter		iif.LBC.side[0].filterName			string	---     Filter name
L_LBCShutterState	iif.LBC.side[0].shutterState			string	---	N/A/enabled/disabled/not commanded/open/closed
L_LBCDetectorState	iif.LBC.side[0].detectorState			string	---	ready/setup/flushing/hard flushing/exposure/saving readout/passive/preset
L_LBCGuidingState	iif.LBC.side[0].guidingState			string	---	processing/failed/not required/delaying/starting/exposing/ready/..
L_LBCRotatorAngle	iif.LBC.side[0].rotatorAngle			float	deg	Rotator angle
L_LBCPositionAngle	iif.LBC.side[0].positionAngle			float	deg	Position angle
L_LBCCCDTemp		iif.LBC.side[0].ccdTemp				float	K	CCD detector temperature
L_LBCDewarPres		iif.LBC.side[0].dewarPres			float	mbar	CCD dewar vacuum pressure
L_LBCDewarTemp		iif.LBC.side[0].dewarTemp			float	K	CCD dewar LN reservoir temperature
L_LBCFWHM		iif.LBC.side[0].FWHM				float	arcsec	Calculated full width at half max for the guide image
L_LBCSeeing		iif.LBC.side[0].averagedSeeing			float	arcsec	Averaged seeing for the guide image
L_LBCPowerState		iif.LBC.side[0].powerState			int	---	Power state
L_LBCSetupState		iif.LBC.side[0].setupState			int	---	Configuration state
L_LBCHealthState	iif.LBC.side[0].healthState			int	---	Health state
L_LBCHeartbeatTime	iif.LBC.side[0].timestamp			string	HMS	When the last data item was sent to DD from LBC     
L_LBCExposureSeq	iif.LBC.side[0].expoSeq				string	sec	Exposure time n of m [sec] elapsed
L_LBCImageSeq		iif.LBC.side[0].imageSeq			string	---	Image m of n in the sequence
L_LBCFilterSeq		iif.LBC.side[0].filterSeq			string	---	Filter change m of n in the sequence
L_LBCUpdateTime		iif.LBC.side[0].updateTime			long	sec	Houskeeping update time in seconds from epoch
L_LBCCameraError	iif.LBC.side[0].cameraError			int	---	Science camera error state
L_LBCChannelError	iif.LBC.side[0].channelError			int	---	Overall channel error state
L_LBCFilterError	iif.LBC.side[0].filterError			int	---	Filter error state
L_LBCHKProcess		iif.LBC.side[0].hkProcess			int	---	Housekeeping process state
L_LBCOBError		iif.LBC.side[0].obError				int	---	OB processing error state
L_LBCProfibusError	iif.LBC.side[0].profibusError			int	---	Profibus error state
L_LBCPowerError		iif.LBC.side[0].powerError			int	---	Power error state
L_LBCRotatorError	iif.LBC.side[0].rotatorError			int	---	Rotator error state
L_LBCTCSError		iif.LBC.side[0].tcsError			int	---	TCS error state
L_LBCTrackerError	iif.LBC.side[0].trackerError			int	---	Tech camera error state
L_LBCUploadError	iif.LBC.side[0].uploadError			int	---	Upload error state
L_LBCSpareError1	iif.LBC.side[0].spareError[0]			int	---	Spare error
L_LBCSpareError2	iif.LBC.side[0].spareError[1]			int	---	Spare error
L_LBCSpareError3	iif.LBC.side[0].spareError[2]			int	---	Spare error
L_LBCSpareError4	iif.LBC.side[0].spareError[3]			int	---	Spare error
L_LBCSpareError5	iif.LBC.side[0].spareError[4]			int	---	Spare error
L_LBCSpareError6	iif.LBC.side[0].spareError[5]			int	---	Spare error
L_LBCSpareError7	iif.LBC.side[0].spareError[6]			int	---	Spare error
L_LBCSpareError8	iif.LBC.side[0].spareError[7]			int	---	Spare error
L_LBCSpareError9	iif.LBC.side[0].spareError[8]			int	---	Spare error
L_LBCSpareError10	iif.LBC.side[0].spareError[9]			int	---	Spare error
L_LBCErrorMessage	iif.LBC.side[0].errorMessage			string	---	Error message associated with any of the error states
L_LBCChannelState	iif.LBC.side[0].channelState			string	---	enabled/ready/preset-expose-save/stop/parking/warning/error/inhibited/deactivated/disabled
L_LBCGuideImagePath	iif.LBC.side[0].guideImagePath			string	---	Path for guide image
L_LBCGuideImageFilename	iif.LBC.side[0].guideImageFilename		string	---	Name of guide image
L_LBCLastGuideImageTaken	iif.LBC.side[0].lastGuideImageTaken	long	sec	Guide image timestamp in seconds from epoch
##spares: there are 10 each of bools, doubles, floats, ints, longs, and strings
##L_LBCXxx		iif.LBC.side[0].spare.b[0]			bool	---	LBC xxx
##L_LBCXxx		iif.LBC.side[0].spare.d[0]			double	---	LBC xxx
##L_LBCXxx		iif.LBC.side[0].spare.f[0]			float	---	LBC xxx
##L_LBCXxx		iif.LBC.side[0].spare.i[0]			int	---	LBC xxx
##L_LBCXxx		iif.LBC.side[0].spare.l[0]			long	---	LBC xxx
##L_LBCXxx		iif.LBC.side[0].spare.s[0]			string	---	LBC xxx
R_LBCFilter		iif.LBC.side[1].filterName			string	---     Filter name
R_LBCShutterState	iif.LBC.side[1].shutterState			string	---	N/A/enabled/disabled/not commanded/open/closed
R_LBCDetectorState	iif.LBC.side[1].detectorState			string	---	ready/setup/flushing/hard flushing/exposure/saving readout/passive/preset
R_LBCGuidingState	iif.LBC.side[1].guidingState			string	---	processing/failed/not required/delaying/starting/exposing/ready/..
R_LBCRotatorAngle	iif.LBC.side[1].rotatorAngle			float	deg	Rotator angle
R_LBCPositionAngle	iif.LBC.side[1].positionAngle			float	deg	Position angle
R_LBCCCDTemp		iif.LBC.side[1].ccdTemp				float	K	CCD detector temperature
R_LBCDewarPres		iif.LBC.side[1].dewarPres			float	mbar	CCD dewar vacuum pressure
R_LBCDewarTemp		iif.LBC.side[1].dewarTemp			float	K	CCD dewar LN reservoir temperature
R_LBCFWHM		iif.LBC.side[1].FWHM				float	arcsec	Calculated full width at half max for the guide image
R_LBCSeeing		iif.LBC.side[1].averagedSeeing			float	arcsec	Averaged seeing for the guide image
R_LBCPowerState		iif.LBC.side[1].powerState			int	---	Power state
R_LBCSetupState		iif.LBC.side[1].setupState			int	---	Configuration state
R_LBCHealthState	iif.LBC.side[1].healthState			int	---	Health state
R_LBCHeartbeatTime	iif.LBC.side[1].timestamp			string	HMS	When the last data item was sent to DD from LBC     
R_LBCExposureSeq	iif.LBC.side[1].expoSeq				string	sec	Exposure time n of m [sec] elapsed
R_LBCImageSeq		iif.LBC.side[1].imageSeq			string	---	Image m of n in the sequence
R_LBCFilterSeq		iif.LBC.side[1].filterSeq			string	---	Filter change m of n in the sequence
R_LBCUpdateTime		iif.LBC.side[1].updateTime			long	sec	Housekeeping update time in seconds from epoch
R_LBCCameraError	iif.LBC.side[1].cameraError			int	---	Science camera error state
R_LBCChannelError	iif.LBC.side[1].channelError			int	---	Overall channel error state
R_LBCFilterError	iif.LBC.side[1].filterError			int	---	Filter error state
R_LBCHKProcess		iif.LBC.side[1].hkProcess			int	---	Housekeeping process state
R_LBCOBError		iif.LBC.side[1].obError				int	---	OB processing error state
R_LBCProfibusError	iif.LBC.side[1].profibusError			int	---	Profibus error state
R_LBCPowerError		iif.LBC.side[1].powerError			int	---	Power error state
R_LBCRotatorError	iif.LBC.side[1].rotatorError			int	---	Rotator error state
R_LBCTCSError		iif.LBC.side[1].tcsError			int	---	TCS error state
R_LBCTrackerError	iif.LBC.side[1].trackerError			int	---	Tech camera error state
R_LBCUploadError	iif.LBC.side[1].uploadError			int	---	Upload error state
R_LBCGuideImagePath	iif.LBC.side[1].guideImagePath			string	---	Path for guide image
R_LBCGuideImageFilename	iif.LBC.side[1].guideImageFilename		string	---	Name of guide image
R_LBCLastGuideImageTaken	iif.LBC.side[1].lastGuideImageTaken	long	sec	Guide image timestamp in seconds from epoch
R_LBCSpareError1	iif.LBC.side[1].spareError[0]			int	---	Spare error
R_LBCSpareError2	iif.LBC.side[1].spareError[1]			int	---	Spare error
R_LBCSpareError3	iif.LBC.side[1].spareError[2]			int	---	Spare error
R_LBCSpareError4	iif.LBC.side[1].spareError[3]			int	---	Spare error
R_LBCSpareError5	iif.LBC.side[1].spareError[4]			int	---	Spare error
R_LBCSpareError6	iif.LBC.side[1].spareError[5]			int	---	Spare error
R_LBCSpareError7	iif.LBC.side[1].spareError[6]			int	---	Spare error
R_LBCSpareError8	iif.LBC.side[1].spareError[7]			int	---	Spare error
R_LBCSpareError9	iif.LBC.side[1].spareError[8]			int	---	Spare error
R_LBCSpareError10	iif.LBC.side[1].spareError[9]			int	---	Spare error
R_LBCErrorMessage	iif.LBC.side[1].errorMessage			string	---	Error message associated with any of the error states
R_LBCChannelState	iif.LBC.side[1].channelState			string	---	enabled/ready/preset-expose-save/stop/parking/warning/error/inhibited/deactivated/disabled
##spares: there are 10 each of bools, doubles, floats, ints, longs, and strings
##R_LBCXxx		iif.LBC.side[1].spare.b[0]			bool	---	LBC xxx
##R_LBCXxx		iif.LBC.side[1].spare.d[0]			double	---	LBC xxx
##R_LBCXxx		iif.LBC.side[1].spare.f[0]			float	---	LBC xxx
##R_LBCXxx		iif.LBC.side[1].spare.i[0]			int	---	LBC xxx
##R_LBCXxx		iif.LBC.side[1].spare.l[0]			long	---	LBC xxx
##R_LBCXxx		iif.LBC.side[1].spare.s[0]			string	---	LBC xxx
#
#[LUCIFER data]
L_LUCIDDUpdateTime		iif.LUCIFER.side[0].ddUpdateTime		long	sec	Time in seconds from epoch
L_LUCIFilterWheel1Position	iif.LUCIFER.side[0].filterWheel1Position	int	---	Filter wheel 1 number
L_LUCIFilterWheel1Status	iif.LUCIFER.side[0].filterWheel1Status		int	---	Filter wheel 1 status (0=OK, 1=active, 2=idle, 3=engineering, 4=warning, 5=error, 6=panic)
L_LUCIFilterWheel2Position	iif.LUCIFER.side[0].filterWheel2Position	int	---	Filter wheel 2 number
L_LUCIFilterWheel2Status	iif.LUCIFER.side[0].filterWheel2Status		int	---	Filter wheel 2 status (0=OK, 1=active, 2=idle, 3=engineering, 4=warning, 5=error, 6=panic)
L_LUCIGratingSelected		iif.LUCIFER.side[0].gratingSelected		string	---	Grating name
L_LUCIGratingStatus		iif.LUCIFER.side[0].gratingStatus		int	---	Grating status (0=OK, 1=active, 2=idle, 3=engineering, 4=warning, 5=error, 6=panic)
L_LUCICameraName		iif.LUCIFER.side[0].cameraName			string	---	Name of selected camera
L_LUCICameraUnitStatus		iif.LUCIFER.side[0].cameraUnitStatus		int	---	Camera status (0=OK 1=active, 2=idle, 3=engineering, 4=warning, 5=error, 6=panic)
L_LUCIPupilViewerPosition	iif.LUCIFER.side[0].pupilViewerPosition		int	---	Pupil viewer position (0 in, 1 out, -1 unknown)
L_LUCIPupilViewerStatus		iif.LUCIFER.side[0].pupilViewerStatus		int	---	Pupil viewer status (0=OK, 1=active, 2=idle, 3=engineering, 4=warning, 5=error, 6=panic)
L_LUCICalibrationUnitPosition	iif.LUCIFER.side[0].calibrationUnitPosition	int	---	Calibration unit position (0 out, 1 in, -1 inknown)
L_LUCICalibrationUnitStatus	iif.LUCIFER.side[0].calibrationUnitStatus	int	---	Calibration unit status (0=OK, 1=active, 2=idle, 3=engineering, 4=warning, 5=error, 6=panic)
L_LUCIReadoutStatus		iif.LUCIFER.side[0].readoutStatus		int	---	Readout status (0=OK, 1=active, 2=idle, 3=engineering, 4=warning, 5=error, 6=panic)
L_LUCITemperatureAlarm		iif.LUCIFER.side[0].temperatureAlarm		bool	---	True if temperature in alarm
L_LUCITemperatures[0]		iif.LUCIFER.side[0].temperatures[0]		float	K	Structure bottom temperature
L_LUCITemperatures[1]		iif.LUCIFER.side[0].temperatures[1]		float	K	Focal plane unit temperature
L_LUCITemperatures[2]		iif.LUCIFER.side[0].temperatures[2]		float	K	Getter unit temperature
L_LUCITemperatures[3]		iif.LUCIFER.side[0].temperatures[3]		float	K	Structure top temperature
L_LUCITemperatures[4]		iif.LUCIFER.side[0].temperatures[4]		float	K	Camera unit temperature
L_LUCITemperatures[5]		iif.LUCIFER.side[0].temperatures[5]		float	K	Grating unit temperature
L_LUCITemperatures[6]		iif.LUCIFER.side[0].temperatures[6]		float	K	MOS unit temperature
L_LUCITemperatures[7]		iif.LUCIFER.side[0].temperatures[7]		float	K	MOS unit temperature
L_LUCITemperatures[8]		iif.LUCIFER.side[0].temperatures[8]		float	K	Electronic rack temperature
L_LUCITemperatures[9]		iif.LUCIFER.side[0].temperatures[9]		float	K	Electronic rack temperature
L_LUCITemperatures[10]		iif.LUCIFER.side[0].temperatures[10]		float	K	Electronic rack temperature
L_LUCITemperatures[11]		iif.LUCIFER.side[0].temperatures[11]		float	K	Electronic rack temperature
L_LUCITemperatures[12]		iif.LUCIFER.side[0].temperatures[12]		float	K	Measured temperature
L_LUCITemperatures[13]		iif.LUCIFER.side[0].temperatures[13]		float	K	Measured temperature
L_LUCIPressures[0]		iif.LUCIFER.side[0].pressures[0]		float	mbar	Measured pressure
L_LUCIPressures[1]		iif.LUCIFER.side[0].pressures[1]		float	mbar	Measured pressure
L_LUCIPressureStatus[0]		iif.LUCIFER.side[0].pressureStatus[0]		int	---	Pressure status (0=OK, 1=underRange, 2=overRange, 3=sensorError, 4=sensorOff, 5=noSensor, 6=IDerror)
L_LUCIPressureStatus[1]		iif.LUCIFER.side[0].pressureStatus[1]		int	---	Pressure status (0=OK, 1=underRange, 2=overRange, 3=sensorError, 4=sensorOff, 5=noSensor, 6=IDerror)
L_LUCIExpTimeRemaining		iif.LUCIFER.side[0].expTimeRemaining		float	sec	Exposure time remaining
L_LUCINumberExposures		iif.LUCIFER.side[0].numberExposures		int	---	Number of exposures remaining
L_LUCIDetectorState		iif.LUCIFER.side[0].detectorState		string	---	Detector state (Integrating, stopped, flushing, etc)
L_LUCIDetectorStatus		iif.LUCIFER.side[0].detectorStatus		int	---	Detector status (0=OK, 1=active, 2=idle, 3=engineering, 4=warning, 5=error, 6=panic)
L_LUCIMOSUnitStatus		iif.LUCIFER.side[0].MOSUnitStatus		int	---	MOS unit status (0=OK, 1=active, 2=idle, 3=engineering, 4=warning, 5=error, 6=panic)
L_LUCIMaskID			iif.LUCIFER.side[0].maskID			string	---	ID of mask in use
L_LUCIShutterState		iif.LUCIFER.side[0].shutterState		string	---	open/closed
L_LUCIPowerOn[0]		iif.LUCIFER.side[0].powerOn[0]			bool	---	Power for MCE, ROE, coldHead1, coldHead2
L_LUCIPowerOn[1]		iif.LUCIFER.side[0].powerOn[1]			bool	---	Power for MCE, ROE, coldHead1, coldHead2
L_LUCIPowerOn[2]		iif.LUCIFER.side[0].powerOn[2]			bool	---	Power for MCE, ROE, coldHead1, coldHead2
L_LUCIPowerOn[3]		iif.LUCIFER.side[0].powerOn[3]			bool	---	Power for MCE, ROE, coldHead1, coldHead2
L_LUCIPower[0]			iif.LUCIFER.side[0].power[0]			float	volt	Voltages for MCE, ROE, coldHead1, coldHead2
L_LUCIPower[1]			iif.LUCIFER.side[0].power[1]			float	volt	Voltages for MCE, ROE, coldHead1, coldHead2
L_LUCIPower[2]			iif.LUCIFER.side[0].power[2]			float	volt	Voltages for MCE, ROE, coldHead1, coldHead2
L_LUCIPower[3]			iif.LUCIFER.side[0].power[3]			float	volt	Voltages for MCE, ROE, coldHead1, coldHead2
L_LUCIExposureState		iif.LUCIFER.side[0].exposureState		string	---	Running, ready
L_LUCISaveState			iif.LUCIFER.side[0].saveState			string	---	Saving, ...
L_LUCIExposureCounts		iif.LUCIFER.side[0].exposureCounts		string	---	Exposures remaining/total exposures
L_LUCISpareString1		iif.LUCIFER.side[0].exposureCounts		string	---	Exposures remaining/total exposures
L_LUCIExposureRemaining		iif.LUCIFER.side[0].exposureRemaining		string	sec	Time remaining/total time
L_LUCISpareString2		iif.LUCIFER.side[0].exposureRemaining		string	sec	Time remaining/total time
L_LUCITurnoutWarning		iif.LUCIFER.side[0].turnoutWarning		bool	---	Mask in turnout longer than 15 minutes
L_LUCISpareInt1			iif.LUCIFER.side[0].turnoutWarning		bool	---	Mask in turnout longer than 15 minutes
##spares: there are 10 each of bools, doubles, floats, ints, longs, and strings
##L_LUCIXxx			iif.LUCIFER.side[0].spare.b[0]			bool	---	LUCIFER xxx
##L_LUCIXxx			iif.LUCIFER.side[0].spare.d[0]			double	---	LUCIFER xxx
##L_LUCIXxx			iif.LUCIFER.side[0].spare.f[0]			float	---	LUCIFER xxx
##L_LUCIXxx			iif.LUCIFER.side[0].spare.i[0]			int	---	LUCIFER xxx
##L_LUCIXxx			iif.LUCIFER.side[0].spare.l[0]			long	---	LUCIFER xxx
##L_LUCIXxx			iif.LUCIFER.side[0].spare.s[0]			string	---	LUCIFER xxx
R_LUCIDDUpdateTime		iif.LUCIFER.side[1].ddUpdateTime		long	sec	Time in seconds from epoch
R_LUCIFilterWheel1Position	iif.LUCIFER.side[1].filterWheel1Position	int	---	Filter wheel 1 number
R_LUCIFilterWheel1Status	iif.LUCIFER.side[1].filterWheel1Status		int	---	Filter wheel 1 status (0=OK, 1=active, 2=idle, 3=engineering, 4=warning, 5=error, 6=panic)
R_LUCIFilterWheel2Position	iif.LUCIFER.side[1].filterWheel2Position	int	---	Filter wheel 2 number
R_LUCIFilterWheel2Status	iif.LUCIFER.side[1].filterWheel2Status		int	---	Filter wheel 2 status (0=OK, 1=active, 2=idle, 3=engineering, 4=warning, 5=error, 6=panic)
R_LUCIGratingSelected		iif.LUCIFER.side[1].gratingSelected		string	---	Grating name
R_LUCIGratingStatus		iif.LUCIFER.side[1].gratingStatus		int	---	Grating status (0=OK, 1=active, 2=idle, 3=engineering, 4=warning, 5=error, 6=panic)
R_LUCICameraName		iif.LUCIFER.side[1].cameraName			string	---	Name of selected camera
R_LUCICameraUnitStatus		iif.LUCIFER.side[1].cameraUnitStatus		int	---	Camera status (0=OK, 1=active, 2=idle, 3=engineering, 4=warning, 5=error, 6=panic)
R_LUCIPupilViewerPosition	iif.LUCIFER.side[1].pupilViewerPosition		int	---	Pupil viewer position (0 in, 1 out, -1 unknown)
R_LUCIPupilViewerStatus		iif.LUCIFER.side[1].pupilViewerStatus		int	---	Pupil viewer status (0=OK, 1=active, 2=idle, 3=engineering, 4=warning, 5=error, 6=panic)
R_LUCICalibrationUnitPosition	iif.LUCIFER.side[1].calibrationUnitPosition	int	---	Calibration unit position (0 out, 1 in, -1 inknown)
R_LUCICalibrationUnitStatus	iif.LUCIFER.side[1].calibrationUnitStatus	int	---	Calibration unit status (0=OK, 1=active, 2=idle, 3=engineering, 4=warning, 5=error, 6=panic)
R_LUCIReadoutStatus		iif.LUCIFER.side[1].readoutStatus		int	---	Readout status (0=OK, 1=active, 2=idle, 3=engineering, 4=warning, 5=error, 6=panic)
R_LUCITemperatureAlarm		iif.LUCIFER.side[1].temperatureAlarm		bool	---	True if temperature in alarm
R_LUCITemperatures[0]		iif.LUCIFER.side[1].temperatures[0]		float	K	Structure bottom temperature
R_LUCITemperatures[1]		iif.LUCIFER.side[1].temperatures[1]		float	K	Focal plane unit temperature
R_LUCITemperatures[2]		iif.LUCIFER.side[1].temperatures[2]		float	K	Getter unit temperature
R_LUCITemperatures[3]		iif.LUCIFER.side[1].temperatures[3]		float	K	Structure top temperature
R_LUCITemperatures[4]		iif.LUCIFER.side[1].temperatures[4]		float	K	Camera unit temperature
R_LUCITemperatures[5]		iif.LUCIFER.side[1].temperatures[5]		float	K	Grating unit temperature
R_LUCITemperatures[6]		iif.LUCIFER.side[1].temperatures[6]		float	K	MOS unit temperature
R_LUCITemperatures[7]		iif.LUCIFER.side[1].temperatures[7]		float	K	MOS unit temperature
R_LUCITemperatures[8]		iif.LUCIFER.side[1].temperatures[8]		float	K	Electronic rack temperature
R_LUCITemperatures[9]		iif.LUCIFER.side[1].temperatures[9]		float	K	Electronic rack temperature
R_LUCITemperatures[10]		iif.LUCIFER.side[1].temperatures[10]		float	K	Electronic rack temperature
R_LUCITemperatures[11]		iif.LUCIFER.side[1].temperatures[11]		float	K	Electronic rack temperature
R_LUCITemperatures[12]		iif.LUCIFER.side[1].temperatures[12]		float	K	Measured temperature
R_LUCITemperatures[13]		iif.LUCIFER.side[1].temperatures[13]		float	K	Measured temperature
R_LUCIPressures[0]		iif.LUCIFER.side[1].pressures[0]		float	mbar	Measured pressure
R_LUCIPressures[1]		iif.LUCIFER.side[1].pressures[1]		float	mbar	Measured pressure
R_LUCIPressureStatus[0]		iif.LUCIFER.side[1].pressureStatus[0]		int	---	Pressure status (0=OK, 1=underRange, 2=overRange, 3=sensorError, 4=sensorOff, 5=noSensor, 6=IDerror)
R_LUCIPressureStatus[1]		iif.LUCIFER.side[1].pressureStatus[1]		int	---	Pressure status (0=OK, 1=underRange, 2=overRange, 3=sensorError, 4=sensorOff, 5=noSensor, 6=IDerror)
R_LUCIExpTimeRemaining		iif.LUCIFER.side[1].expTimeRemaining		float	sec	Exposure time remaining
R_LUCINumberExposures		iif.LUCIFER.side[1].numberExposures		int	---	Number of exposures remaining
R_LUCIDetectorState		iif.LUCIFER.side[1].detectorState		string	---	Detector state (Integrating, stopped, flushing, etc)
R_LUCIDetectorStatus		iif.LUCIFER.side[1].detectorStatus		int	---	Detector status (0=OK, 1=active, 2=idle, 3=engineering, 4=warning, 5=error, 6=panic)
R_LUCIMOSUnitStatus		iif.LUCIFER.side[1].MOSUnitStatus		int	---	MOS unit status (0=OK, 1=active, 2=idle, 3=engineering, 4=warning, 5=error, 6=panic)
R_LUCIMaskID			iif.LUCIFER.side[1].maskID			string	---	ID of mask in use
R_LUCIShutterState		iif.LUCIFER.side[1].shutterState		string 	---	open/closed
R_LUCIPowerOn[0]		iif.LUCIFER.side[1].powerOn[0]			bool	---	Power for MCE, ROE, coldHead1, coldHead2
R_LUCIPowerOn[1]		iif.LUCIFER.side[1].powerOn[1]			bool	---	Power for MCE, ROE, coldHead1, coldHead2
R_LUCIPowerOn[2]		iif.LUCIFER.side[1].powerOn[2]			bool	---	Power for MCE, ROE, coldHead1, coldHead2
R_LUCIPowerOn[3]		iif.LUCIFER.side[1].powerOn[3]			bool	---	Power for MCE, ROE, coldHead1, coldHead2
R_LUCIPower[0]			iif.LUCIFER.side[1].power[0]			float	volt	Voltages for MCE, ROE, coldHead1, coldHead2
R_LUCIPower[1]			iif.LUCIFER.side[1].power[1]			float	volt	Voltages for MCE, ROE, coldHead1, coldHead2
R_LUCIPower[2]			iif.LUCIFER.side[1].power[2]			float	volt	Voltages for MCE, ROE, coldHead1, coldHead2
R_LUCIPower[3]			iif.LUCIFER.side[1].power[3]			float	volt	Voltages for MCE, ROE, coldHead1, coldHead2
R_LUCIExposureState		iif.LUCIFER.side[1].exposureState		string	---	Running, ready
R_LUCISaveState			iif.LUCIFER.side[1].saveState			string	---	Saving, ...
R_LUCIExposureCounts		iif.LUCIFER.side[1].exposureCounts		string	---	Exposures remaining/total exposures
R_LUCISpareString1		iif.LUCIFER.side[1].exposureCounts		string	---	Exposures remaining/total exposures
R_LUCIExposureRemaining		iif.LUCIFER.side[1].exposureRemaining		string	sec	Time remaining/total time
R_LUCISpareString2		iif.LUCIFER.side[1].exposureRemaining		string	sec	Time remaining/total time
R_LUCITurnoutWarning		iif.LUCIFER.side[1].turnoutWarning		bool	---	Mask in turnout longer than 15 minutes
R_LUCISpareInt1			iif.LUCIFER.side[1].turnoutWarning		bool	---	Mask in turnout longer than 15 minutes
##spares: there are 10 each of bools, doubles, floats, ints, longs, and strings
##R_LUCIXxx			iif.LUCIFER.side[1].spare.b[0]			bool	---	LUCIFER xxx
##R_LUCIXxx			iif.LUCIFER.side[1].spare.d[0]			double	---	LUCIFER xxx
##R_LUCIXxx			iif.LUCIFER.side[1].spare.f[0]			float	---	LUCIFER xxx
##R_LUCIXxx			iif.LUCIFER.side[1].spare.i[0]			int	---	LUCIFER xxx
##R_LUCIXxx			iif.LUCIFER.side[1].spare.l[0]			long	---	LUCIFER xxx
##R_LUCIXxx			iif.LUCIFER.side[1].spare.s[0]			string	---	LUCIFER xxx
#
#[MODS data]
L_MODSLLBPower		iif.MODS.side[0].LLBPower			string	---	Lamp/laser box AC power state (ON/OFF/FAULT)
L_MODSInstConfig	iif.MODS.side[0].InstConfig			string	---	Instrument configuration (Dual/Red/Blue Imaging/Grating/Prism)
L_MODSBlueCCDTemp	iif.MODS.side[0].blueCCDTemp			float	C	Blue CCD detector mount temperature
L_MODSBlueDewPres	iif.MODS.side[0].blueDewarPressure		float	torr	Blue CCD dewar vacuum pressure
L_MODSBlueDewTemp	iif.MODS.side[0].blueDewarTemp			float	C	Blue CCD dewar LN reservoir temperature
L_MODSBlueHEBTemp	iif.MODS.side[0].blueHEBTemp			float	C	Blue CCD Head Electronics Box internal air temperature
L_MODSBlueHEBPower	iif.MODS.side[0].blueHEBPower			string	---	Blue CCD Head Electronics Box AC power state (ON/OFF/FAULT/MANUAL)
L_MODSBlueIEBTemp	iif.MODS.side[0].blueIEBTemp			float	C	Blue Instrument Electronics Box internal air temperature
L_MODSBlueIEBPower	iif.MODS.side[0].blueIEBPower			string	---	Blue Instrument Electronics Box AC power state (ON/OFF/FAULT)
L_MODSGlycolReturnPres	iif.MODS.side[0].glycolReturnPressure		float	psi-g	Glycol-coolant return-line pressure
L_MODSGlycolReturnTemp	iif.MODS.side[0].glycolReturnTemp		float	C	Glycol-coolant return-line temperature
L_MODSGlycolSupplyPres	iif.MODS.side[0].glycolSupplyPressure		float	psi-g	Glycol-coolant supply-line pressure
L_MODSGlycolSupplyTemp	iif.MODS.side[0].glycolSupplyTemp		float	C	Glycol-coolant supply-line temperature
L_MODSHatch		iif.MODS.side[0].hatch				string	---	Dark hatch state
L_MODSIMCSLaser		iif.MODS.side[0].imcsLaser			string	---	IMCS IR laser power state
L_MODSName		iif.MODS.side[0].modsName			string	---	Attached MODS unit name (MODS1 or MODS2)
L_MODSPowerState	iif.MODS.side[0].powerState			string	---	Power state (ON/OFF/FAULT)
L_MODSRedCCDTemp	iif.MODS.side[0].redCCDTemp			float	C	Red CCD detector mount temperature
L_MODSRedDewPres	iif.MODS.side[0].redDewarPressure		float	torr	Red CCD dewar vacuum pressure
L_MODSRedDewTemp	iif.MODS.side[0].redDewarTemp			float	C	Red CCD dewar LN reservoir temperature
L_MODSRedHEBTemp	iif.MODS.side[0].redHEBTemp			float	C	Red CCD Head Electronics Box internal air temperature
L_MODSRedHEBPower	iif.MODS.side[0].redHEBPower			string	---	Red CCD Head Electronics Box AC power state (ON/OFF/FAULT/MANUAL)
L_MODSRedIEBTemp	iif.MODS.side[0].redIEBTemp			float	C	Red Instrument Electronics Box internal air temperature
L_MODSRedIEBPower	iif.MODS.side[0].redIEBPower			string	---	Red Instrument Electronics Box AC power state (ON/OFF/FAULT)
L_MODSTimeStamp		iif.MODS.side[0].timeStamp			long	sec	Time of data measurement in seconds from epoch
L_MODSUpdateTime	iif.MODS.side[0].updateTime			string	HMS	Date/time string UTC ISO-8601 format
L_MODSIUBTemp		iif.MODS.side[0].utilBoxTemp			float	C	Utility distribution box internal air temperature
L_MODSCalibTower	iif.MODS.side[0].calibTower			string	---	IN/OUT position of the calibration tower
L_MODSMaskID		iif.MODS.side[0].maskID				string	---	Mask identifier
L_MODSBlueImageQuality	iif.MODS.side[0].blueIQ				float	TBD	Blue image quality metric
L_MODSBlueFilter	iif.MODS.side[0].blueFilter			string	---	Blue filter name
L_MODSBlueGrating	iif.MODS.side[0].blueGrating			string 	---	Blue grating name
L_MODSBlueCCDState	iif.MODS.side[0].blueCCDState			string	---	Blue CCD exposure state (IDLE/ERASING/EXPOSING/READOUT)
L_MODSBlueSetupState	iif.MODS.side[0].blueSetupState			int	---	Blue configuration state
L_MODSBlueShutterState	iif.MODS.side[0].blueShutterState		string	---	Blue CCD shutter state
L_MODSRedImageQuality	iif.MODS.side[0].redIQ				float	TBD	Red image quality metric
L_MODSRedFilter		iif.MODS.side[0].redFilter			string	---	Red filter name
L_MODSRedGrating	iif.MODS.side[0].redGrating			string	---	Red grating name
L_MODSRedCCDState	iif.MODS.side[0].redCCDState			string	---	Red CCD exposure state (IDLE/ERASING/EXPOSING/READOUT)
L_MODSRedSetupState	iif.MODS.side[0].redSetupState			int	---	Red configuration state
L_MODSRedShutterState	iif.MODS.side[0].redShutterState		string	---	Red CCD shutter state
L_MODSGuideCamPower	iif.MODS.side[0].guideCamPower			string	---	AGw unit guide camera controller AC power state (ON/OFF/FAULT/MANUAL)
L_MODSWFSCamPower	iif.MODS.side[0].WFSCamPower			string	---	AGw unit wavefront sensor camera AC power state (ON/OFF/FAULT/MANUAL)
##spares: there are 10 each of bools, doubles, floats, ints, longs, and strings
##L_MODSXxx		iif.MODS.side[0].spare.b[0]			bool	---	MODS xxx
##L_MODSXxx		iif.MODS.side[0].spare.d[0]			double	---	MODS xxx
##L_MODSXxx		iif.MODS.side[0].spare.f[0]			float	---	MODS xxx
##L_MODSXxx		iif.MODS.side[0].spare.i[0]			int	---	MODS xxx
##L_MODSXxx		iif.MODS.side[0].spare.l[0]			long	---	MODS xxx
##L_MODSXxx		iif.MODS.side[0].spare.s[0]			string	---	MODS xxx
R_MODSLLBPower		iif.MODS.side[1].LLBPower			string	---	Lamp/laser box AC power state (ON/OFF/FAULT)
R_MODSInstConfig	iif.MODS.side[1].InstConfig			string	---	Instrument configuration (Dual/Red/Blue Imaging/Grating/Prism)
R_MODSBlueCCDTemp	iif.MODS.side[1].blueCCDTemp			float	C	Blue CCD detector mount temperature
R_MODSBlueDewPres	iif.MODS.side[1].blueDewarPressure		float	torr	Blue CCD dewar vacuum pressure
R_MODSBlueDewTemp	iif.MODS.side[1].blueDewarTemp			float	C	Blue CCD dewar LN reservoir temperature
R_MODSBlueHEBTemp	iif.MODS.side[1].blueHEBTemp			float	C	Blue CCD Head Electronics Box internal air temperature
R_MODSBlueHEBPower	iif.MODS.side[1].blueHEBPower			string	---	Blue CCD Head Electronics Box AC power state (ON/OFF/FAULT/MANUAL)
R_MODSBlueIEBTemp	iif.MODS.side[1].blueIEBTemp			float	C	Blue Instrument Electronics Box internal air temperature
R_MODSBlueIEBPower	iif.MODS.side[1].blueIEBPower			string	---	Blue Instrument Electronics Box AC power state (ON/OFF/FAULT)
R_MODSGlycolReturnPres	iif.MODS.side[1].glycolReturnPressure		float	psi-g	Glycol-coolant return-line pressure
R_MODSGlycolReturnTemp	iif.MODS.side[1].glycolReturnTemp		float	C	Glycol-coolant return-line temperature
R_MODSGlycolSupplyPres	iif.MODS.side[1].glycolSupplyPressure		float	psi-g	Glycol-coolant supply-line pressure
R_MODSGlycolSupplyTemp	iif.MODS.side[1].glycolSupplyTemp		float	C	Glycol-coolant supply-line temperature
R_MODSHatch		iif.MODS.side[1].hatch				string	---	Dark hatch state
R_MODSIMCSLaser		iif.MODS.side[1].imcsLaser			string	---	IMCS IR laser power state
R_MODSName		iif.MODS.side[1].modsName			string	---	Attached MODS unit name (MODS1 or MODS2)
R_MODSPowerState	iif.MODS.side[1].powerState			string	---	Power state (ON/OFF/FAULT)
R_MODSRedCCDTemp	iif.MODS.side[1].redCCDTemp			float	C	Red CCD detector mount temperature
R_MODSRedDewPres	iif.MODS.side[1].redDewarPressure		float	torr	Red CCD dewar vacuum pressure
R_MODSRedDewTemp	iif.MODS.side[1].redDewarTemp			float	C	Red CCD dewar LN reservoir temperature
R_MODSRedHEBTemp	iif.MODS.side[1].redHEBTemp			float	C	Red CCD Head Electronics Box internal air temperature
R_MODSRedHEBPower	iif.MODS.side[1].redHEBPower			string	---	Red CCD Head Electronics Box AC power state (ON/OFF/FAULT/MANUAL)
R_MODSRedIEBTemp	iif.MODS.side[1].redIEBTemp			float	C	Red camera Instrument Electronics Box internal air temperature
R_MODSRedIEBPower	iif.MODS.side[1].redIEBPower			string	---	Red Instrument Electronics Box AC power state (ON/OFF/FAULT)
R_MODSTimeStamp		iif.MODS.side[1].timeStamp			long	sec	Time of data measurement in seconds from epoch
R_MODSUpdateTime	iif.MODS.side[1].updateTime			string	HMS	Date/time string UTC ISO-8601 format
R_MODSIUBTemp		iif.MODS.side[1].utilBoxTemp			float	C	Utility distribution box internal air temperature
R_MODSCalibTower	iif.MODS.side[1].calibTower			string	---	IN/OUT position of the calibration tower
R_MODSMaskID		iif.MODS.side[1].maskID				string	---	Mask identifier
R_MODSBlueImageQuality	iif.MODS.side[1].blueIQ				float	TBD	Blue image quality metric
R_MODSBlueFilter	iif.MODS.side[1].blueFilter			string	---	Blue filter name
R_MODSBlueGrating	iif.MODS.side[1].blueGrating			string 	---	Blue grating name
R_MODSBlueCCDState	iif.MODS.side[1].blueCCDState			string	---	Blue CCD exposure state (IDLE/ERASING/EXPOSING/READOUT)
R_MODSBlueSetupState	iif.MODS.side[1].blueSetupState			int	---	Blue configuration state
R_MODSBlueShutterState	iif.MODS.side[1].blueShutterState		string	---	Blue CCD shutter state
R_MODSRedImageQuality	iif.MODS.side[1].redIQ				float	TBD	Red image quality metric
R_MODSRedFilter		iif.MODS.side[1].redFilter			string	---	Red filter name
R_MODSRedGrating	iif.MODS.side[1].redGrating			string	---	Red grating name
R_MODSRedCCDState	iif.MODS.side[1].redCCDState			string	---	Red CCD exposure state (IDLE/ERASING/EXPOSING/READOUT)
R_MODSRedSetupState	iif.MODS.side[1].redSetupState			int	---	Red configuration state
R_MODSRedShutterState	iif.MODS.side[1].redShutterState		string	---	Red CCD shutter state
R_MODSGuideCamPower	iif.MODS.side[1].guideCamPower			string	---	AGw unit guide camera controller AC power state (ON/OFF/FAULT/MANUAL)
R_MODSWFSCamPower	iif.MODS.side[1].WFSCamPower			string	---	AGw unit wavefront sensor camera AC power state (ON/OFF/FAULT/MANUAL)
##spares: there are 10 each of bools, doubles, floats, ints, longs, and strings
##R_MODSXxx		iif.MODS.side[1].spare.b[0]			bool	---	MODS xxx
##R_MODSXxx		iif.MODS.side[1].spare.d[0]			double	---	MODS xxx
##R_MODSXxx		iif.MODS.side[1].spare.f[0]			float	---	MODS xxx
##R_MODSXxx		iif.MODS.side[1].spare.i[0]			int	---	MODS xxx
##R_MODSXxx		iif.MODS.side[1].spare.l[0]			int	---	MODS xxx
##R_MODSXxx		iif.MODS.side[1].spare.s[0]			string	---	MODS xxx
#
#[LBTI data]
##spares: there are 10 each of bools, doubles, floats, ints, longs, and strings
##L_LBTIXxx		iif.LBTI.side[0].spare.b[0]			bool	---	LBTI xxx
##L_LBTIXxx		iif.LBTI.side[0].spare.d[0]			double	---	LBTI xxx
##L_LBTIXxx		iif.LBTI.side[0].spare.f[0]			float	---	LBTI xxx
##L_LBTIXxx		iif.LBTI.side[0].spare.i[0]			int	---	LBTI xxx
##L_LBTIXxx		iif.LBTI.side[0].spare.l[0]			long	---	LBTI xxx
##L_LBTIXxx		iif.LBTI.side[0].spare.s[0]			string	---	LBTI xxx
##spares: there are 10 each of bools, doubles, floats, ints, longs, and strings
##R_LBTIXxx		iif.LBTI.side[1].spare.b[0]			bool	---	LBTI xxx
##R_LBTIXxx		iif.LBTI.side[1].spare.d[0]			double	---	LBTI xxx
##R_LBTIXxx		iif.LBTI.side[1].spare.f[0]			float	---	LBTI xxx
##R_LBTIXxx		iif.LBTI.side[1].spare.i[0]			int	---	LBTI xxx
##R_LBTIXxx		iif.LBTI.side[1].spare.l[0]			long	---	LBTI xxx
##R_LBTIXxx		iif.LBTI.side[1].spare.s[0]			string	---	LBTI xxx
#
#[PEPSIPFU data]
##spares: there are 10 each of bools, doubles, floats, ints, longs, and strings
##L_PEPSIPFUXxx		iif.PEPSIPFU.side[0].spare.b[0]			bool	---	PEPSIPFU xxx
##L_PEPSIPFUXxx		iif.PEPSIPFU.side[0].spare.d[0]			double	---	PEPSIPFU xxx
##L_PEPSIPFUXxx		iif.PEPSIPFU.side[0].spare.f[0]			float	---	PEPSIPFU xxx
##L_PEPSIPFUXxx		iif.PEPSIPFU.side[0].spare.i[0]			int	---	PEPSIPFU xxx
##L_PEPSIPFUXxx		iif.PEPSIPFU.side[0].spare.l[0]			long	---	PEPSIPFU xxx
##L_PEPSIPFUXxx		iif.PEPSIPFU.side[0].spare.s[0]			string	---	PEPSIPFU xxx
##spares: there are 10 each of bools, doubles, floats, ints, longs, and strings
##R_PEPSIPFUXxx		iif.PEPSIPFU.side[1].spare.b[0]			bool	---	PEPSIPFU xxx
##R_PEPSIPFUXxx		iif.PEPSIPFU.side[1].spare.d[0]			double	---	PEPSIPFU xxx
##R_PEPSIPFUXxx		iif.PEPSIPFU.side[1].spare.f[0]			float	---	PEPSIPFU xxx
##R_PEPSIPFUXxx		iif.PEPSIPFU.side[1].spare.i[0]			int	---	PEPSIPFU xxx
##R_PEPSIPFUXxx		iif.PEPSIPFU.side[1].spare.l[0]			long	---	PEPSIPFU xxx
##R_PEPSIPFUXxx		iif.PEPSIPFU.side[1].spare.s[0]			string	---	PEPSIPFU xxx
#
#[PEPSIPOL data]
##spares: there are 10 each of bools, doubles, floats, ints, longs, and strings
##L_PEPSIPOLXxx		iif.PEPSIPOL.side[0].spare.b[0]			bool	---	PEPSIPOL xxx
##L_PEPSIPOLXxx		iif.PEPSIPOL.side[0].spare.d[0]			double	---	PEPSIPOL xxx
##L_PEPSIPOLXxx		iif.PEPSIPOL.side[0].spare.f[0]			float	---	PEPSIPOL xxx
##L_PEPSIPOLXxx		iif.PEPSIPOL.side[0].spare.i[0]			int	---	PEPSIPOL xxx
##L_PEPSIPOLXxx		iif.PEPSIPOL.side[0].spare.l[0]			long	---	PEPSIPOL xxx
##L_PEPSIPOLXxx		iif.PEPSIPOL.side[0].spare.s[0]			string	---	PEPSIPOL xxx
##spares: there are 10 each of bools, doubles, floats, ints, longs, and strings
##R_PEPSIPOLXxx		iif.PEPSIPOL.side[1].spare.b[0]			bool	---	PEPSIPOL xxx
##R_PEPSIPOLXxx		iif.PEPSIPOL.side[1].spare.d[0]			double	---	PEPSIPOL xxx
##R_PEPSIPOLXxx		iif.PEPSIPOL.side[1].spare.f[0]			float	---	PEPSIPOL xxx
##R_PEPSIPOLXxx		iif.PEPSIPOL.side[1].spare.i[0]			int	---	PEPSIPOL xxx
##R_PEPSIPOLXxx		iif.PEPSIPOL.side[1].spare.l[0]			long	---	PEPSIPOL xxx
##R_PEPSIPOLXxx		iif.PEPSIPOL.side[1].spare.s[0]			string	---	PEPSIPOL xxx
#
#[LINC data]
##spares: there are 10 each of bools, doubles, floats, ints, longs, and strings
##L_LINCXxx		iif.LINC.side[0].spare.b[0]			bool	---	LINC xxx
##L_LINCXxx		iif.LINC.side[0].spare.d[0]			double	---	LINC xxx
##L_LINCXxx		iif.LINC.side[0].spare.f[0]			float	---	LINC xxx
##L_LINCXxx		iif.LINC.side[0].spare.i[0]			int	---	LINC xxx
##L_LINCXxx		iif.LINC.side[0].spare.l[0]			long	---	LINC xxx
##L_LINCXxx		iif.LINC.side[0].spare.s[0]			string	---	LINC xxx
##spares: there are 10 each of bools, doubles, floats, ints, longs, and strings
##R_LINCXxx		iif.LINC.side[1].spare.b[0]			bool	---	LINC xxx
##R_LINCXxx		iif.LINC.side[1].spare.d[0]			double	---	LINC xxx
##R_LINCXxx		iif.LINC.side[1].spare.f[0]			float	---	LINC xxx
##R_LINCXxx		iif.LINC.side[1].spare.i[0]			int	---	LINC xxx
##R_LINCXxx		iif.LINC.side[1].spare.l[0]			long	---	LINC xxx
##R_LINCXxx		iif.LINC.side[1].spare.s[0]			string	---	LINC xxx
