#=============================================================================
#Filename:	TdsDataRes
#Author:	K. Sturdevant	
#Description:	TDS Data Definition Resources
#Notes:		Uls Resources	
#Warnings:	
#See Also:	
##Sccs:         @(#) /mgds/REL19_0_5/tds/etc/setup/uls/TdsDataRes ver.1 10/04/94;13:13:02
#=============================================================================

#-----------------------------------------------------------------------------
# Cacheing
#-----------------------------------------------------------------------------
#    TDS Data Description for Ulysses
#
#    NertCache.CtgPath points to the location of the C-ISAM catalog files.
#    *nertCachePath points to data caches.  There will be separate caches
#    for each data class for each spacecraft.
#  
#    As of V18, the cache directories can span partitions, so 
#    here are examples of nertCachePath overrides for spacecraft, dataClass 
#    *nertCachePath:      	This is the global default
#    *Uls*nertCachePath:	Specifies cache path for the Uls spcecrft 
#    *Sul*eng*nertCachePath:    Specifies cache path for the eng dataClass of
#				the Sul spcecrft only 
#    *eng*nertCachePath:	Specifies cache path for ALL eng dataClass of
#				ALL spacecrafts.
#


NertCache.CtgPath:              /local/tds/uls/ctg
*nertCachePath:                 /local/tds/uls/cache

NertCache.SpaceCraft:		Uls, Sul

#-----------------------------------------------------------------------------
# Purging Spooler Files
#-----------------------------------------------------------------------------

*purgeState:            Disabled
*triggerTime:           07/06/1992:07:00:00
*triggerInt:            007-00:00
*purgeConfirm:          True


#-----------------------------------------------------------------------------
# Field definitions.
#-----------------------------------------------------------------------------
*Fields:			ert, sclk, rct, mst, scet, data_source, \
				record_id, jplsfdu

*data_source.comparisonRtn:	tdmsCompareLongs
*data_source.fieldSpecSize:             1
*record_id.comparisonRtn:       tdmsCompareLongs
*record_id.fieldSpecSize:       4
*jplsfdu.comparisonRtn:		NullCompareRtn
*jplsfdu.fieldSpecSize:                 4
*comparisonRtn:			tdmsCompareSfoctimes

*maxRctRegressionIncr.Converter:        RctToInt


#---------------------------------------------------------------------------
#
# DssId to DataSource Mappings
#
#---------------------------------------------------------------------------
# H81     "DSS 12":             129
# H82     "DSS 14":             130
# H83     "DSS 15":             131
# H84     "DSS 16":             132
# HDB     "DSS 17":             219
# H92     "DSS 42":             146
# H93     "DSS 43":             147
# H94     "DSS 45":             148
# H95     "DSS 46":             149
# HF3     "DSS 61":             243
# HE5     "DSS 62":             229
# HF4     "DSS 63":             244
# HFD     "DSS 65":             253
# HF6     "DSS 66":             246
# H97     "DSS 68":             151

# H55     "DSS  5":              85
# H5B     "DSS  6":              91
# H5F     "DSS  7":              95
# H66     "DSS  8":             102

# H9A     "DSS 34":             154
# HBD     "DSS  9":             189
# HC9     "DSS 24":             201
# HCA     "DSS 25":             202
# HCB     "DSS 26":             203
# HE6     "DSS 27":             230
# HE7     "DSS 28":             231

*dss12:           129
*dss14:           130
*dss15:           131
*dss16:           132
*dss17:           219
*dss42:           146
*dss43:           147
*dss45:           148
*dss46:           149
*dss61:           243
*dss62:           229
*dss63:           244
*dss65:           253
*dss66:           246
*dss68:           151

*dss5:            85
*dss6:            91
*dss7:            95
*dss8:            102

*dss34:           154
*dss09:           189
*dss9:            189
*dss24:           201
*dss25:           202
*dss26:           203
*dss27:           230
*dss28:           231

#-----------------------------------------------------------------------------
# Key definitions.
#-----------------------------------------------------------------------------
*KeysList:			ert_key, sclk_key, rct_key, mst_key, \
				no_key, qqc_rct_key, qqc_ert_key,\
				mon_mst_key, mon_ert_key

*ert_key.sequence:		ert
*ert_key.tiebreakers:          	data_source

*sclk_key.sequence:		sclk
*sclk_key.tiebreakers:		
*sclk_key.ascentCheckRtn:	SimpleSclkRegressionHandler
*sclk_key.seqFieldValidRtn:	IsSclkValid

*rct_key.sequence:		rct
*rct_key.tiebreakers:		data_source
*rct_key.parameterList:         maxEnqueuedSfdus,  maxRctRegressionIncr
*rct_key.maxRctRegressionIncr:  0:0:3.000

*qqc_rct_key.sequence:		rct
*qqc_rct_key.ascentCheckRtn:	RctRegressionHandler
*qqc_rct_key.tiebreakers:	data_source
*qqc_rct_key.parameterList:	maxEnqueuedSfdus, maxRctRegressInc
*qqc_rct_key.maxRctRegressInc:	0:0:3.000

*qqc_ert_key.sequence:		ert
*qqc_ert_key.ascentCheckRtn:	ErtRegressionHandler
*qqc_ert_key.tiebreakers:	data_source
*qqc_ert_key.parameterList:	maxEnqueuedSfdus, maxErtRegressInc
*qqc_ert_key.maxErtRegressInc:	0:0:3.000

*mon_mst_key.sequence:          mst
*mon_mst_key.ascentCheckRtn:    ErtRegressionHandler
*mon_mst_key.tiebreakers:       record_id
*mon_mst_key.parameterList:     maxEnqueuedSfdus, maxErtRegressInc
*mon_mst_key.maxErtRegressInc:  0:0:3.000

*mon_ert_key.sequence:          ert
*mon_ert_key.ascentCheckRtn:    ErtRegressionHandler
*mon_ert_key.tiebreakers:       record_id
*mon_ert_key.parameterList:     maxEnqueuedSfdus, maxErtRegressInc
*mon_ert_key.maxErtRegressInc:  0:0:3.000

*mst_key.sequence:		mst
*mst_key.tiebreakers:		data_source

*no_key.sequence:		jplsfdu
*no_key.tiebreakers:
*no_key.ascentCheckRtn:		NullAscentCheck

*ascentCheckRtn:		tdmsCheckAscendingSfoctime
*seqFieldValidRtn:		IsSeqFieldValid

*sfduBestingRtn:		sfduBestingRtn

#-----------------------------------------------------------------------------
# Global Defaults for lifeTime, maxEnqueuedSfdus, maxBytesPerSegment, keys
#-----------------------------------------------------------------------------
*lifeTime:			030-00:00
*maxEnqueuedSfdus:		25
*maxBytesPerSegment:		1000000
*spl_K_BytesPerSeg:		13000
*keys:				ert_key, rct_key

#-----------------------------------------------------------------------------
# Data Description/Cache Definitions
#-----------------------------------------------------------------------------
DataTypeClasses:		eng, sci, qqc, chqqc, mon, chmon, fill, misc



#-----------------------------------------------------------------------------
# Engineering Frames 
#-----------------------------------------------------------------------------
*eng.dataTypes:			eng
*eng*TimeOrder:			ert


#-----------------------------------------------------------------------------
# Science Frames
#-----------------------------------------------------------------------------
*sci.dataTypes:			sci_pb_1_1_il,   sci_pb_1_3_il,\
				sci_pb_1_7_il,   sci_pb_unk_il,\
				sci_pb,          sci_fill_1_1_il,\
				sci_fill_1_3_il, sci_fill_1_7_il, \
				sci_fill_unk_il, sci_fill, \
				sci_non_il, sci

*sci.composedOf:		sci_pb_1_1_il,   sci_pb_1_3_il,\
                                sci_pb_1_7_il,   sci_pb_unk_il,\
                                sci_pb,          sci_fill_1_1_il,\
                                sci_fill_1_3_il, sci_fill_1_7_il, \
                                sci_fill_unk_il, sci_fill, \
                                sci_non_il

*sci_pb.composedOf:		sci_pb_1_1_il,   sci_pb_1_3_il,\
				sci_pb_1_7_il,   sci_pb_unk_il

*sci_fill.composedOf:		sci_fill_1_1_il, sci_fill_1_3_il,\
				sci_fill_1_7_il, sci_fill_unk_il

*sci*TimeOrder:		ert


#-----------------------------------------------------------------------------
# Monitor 
#-----------------------------------------------------------------------------
*mon.dataTypes:			gif_mon_block1, gif_mon_block2,\
				gif_mon_block3, gif_mon_block4, mon

*mon.composedOf:		gif_mon_block1, gif_mon_block2,\
                                gif_mon_block3, gif_mon_block4

*mon*keys:			mon_mst_key, mon_ert_key
*mon*TimeOrder:			mst


#-----------------------------------------------------------------------------
# Channelized Monitor 
#-----------------------------------------------------------------------------
*chmon.dataTypes:		ch_gif_mon_block1, ch_gif_mon_block2,\
				ch_gif_mon_block3, ch_gif_mon_block4,\
				ch_mon, chmon

*chmon.composedOf:		ch_gif_mon_block1, ch_gif_mon_block2,\
                                ch_gif_mon_block3, ch_gif_mon_block4

*chmon.ch_mon.composedOf:	ch_gif_mon_block1, ch_gif_mon_block2,\
                                ch_gif_mon_block3, ch_gif_mon_block4

*chmon*keys:			mon_mst_key, mon_ert_key
*chmon*TimeOrder:		mst





#-----------------------------------------------------------------------------
# QQC
#-----------------------------------------------------------------------------
*qqc.dataTypes:			qqc_hbeat_in_sync, qqc_hbeat_out_sync,\
				qqc_hbeat_no_data, qqc_tdm_fail_acq,\
				qqc_in_sync, qqc_out_sync, qqc_no_data,\
				qqc_sclk_change, qqc_fid_change, qqc_decom,\
				qqc_summary, qqc_data_summary, qqc

*qqc.composedOf:		qqc_hbeat_in_sync, qqc_hbeat_out_sync,\
				qqc_hbeat_no_data, qqc_tdm_fail_acq,\
				qqc_in_sync, qqc_out_sync, qqc_no_data,\
				qqc_sclk_change, qqc_fid_change, qqc_decom,\
				qqc_summary, qqc_data_summary


*qqc*keys:			qqc_rct_key, qqc_ert_key
*qqc*TimeOrder:			rct
#*qqc.maxEnqueuedSfdus:		10
#*qqc*maxBytesPerSegment:	1000
#*qqc*spl_K_BytesPerSeg:		2

*qqc.cdbDataObject:			qqc

*qqc.qqc_hbeat_in_sync.cdbDataObject:	HBInSync
*qqc.qqc_hbeat_out_sync.cdbDataObject:	HBOutSync
*qqc.qqc_hbeat_no_data.cdbDataObject:	HBNoData
*qqc.qqc_tdm_fail_acq.cdbDataObject:	TDMFailAcq
*qqc.qqc_in_sync.cdbDataObject:		InSync
*qqc.qqc_out_sync.cdbDataObject:	OutSync
*qqc.qqc_no_data.cdbDataObject:		NoData
*qqc.qqc_sclk_change.cdbDataObject:	SCLKChange
*qqc.qqc_fid_change.cdbDataObject:	FIDChange
*qqc.qqc_decom.cdbDataObject:		Decom
*qqc.qqc_extr_begin.cdbDataObject:	ExtractBegin
*qqc.qqc_extr_end.cdbDataObject:	ExtractEnd
*qqc.qqc_summary.cdbDataObject:		Summary
*qqc.qqc_data_summary.cdbDataObject:	DataSummary

#-----------------------------------------------------------------------------
# CHAN QQC
#-----------------------------------------------------------------------------
*chqqc.dataTypes:		ch_qqc_hbeat_in_sync, ch_qqc_hbeat_out_sync,\
				ch_qqc_hbeat_no_data, ch_qqc_tdm_fail_acq,\
				ch_qqc_in_sync, ch_qqc_out_sync,\
				ch_qqc_no_data, ch_qqc_sclk_change,\
				ch_qqc_fid_change, ch_qqc_decom,\
				ch_qqc_summary, ch_qqc_data_summary, ch_qqc

*chqqc.ch_qqc.composedOf:	ch_qqc_hbeat_in_sync, ch_qqc_hbeat_out_sync,\
				ch_qqc_hbeat_no_data, ch_qqc_tdm_fail_acq,\
				ch_qqc_in_sync, ch_qqc_out_sync,\
				ch_qqc_no_data, ch_qqc_sclk_change,\
				ch_qqc_fid_change, ch_qqc_decom,\
				ch_qqc_summary, ch_qqc_data_summary

*chqqc*keys:			qqc_rct_key, qqc_ert_key
*chqqc*TimeOrder:		rct

*chqqc.cdbDataObject:				chQqc

*chqqc.ch_qqc_hbeat_in_sync.cdbDataObject:	chHBInSync
*chqqc.ch_qqc_hbeat_out_sync.cdbDataObject:	chHBOutSync
*chqqc.ch_qqc_hbeat_no_data.cdbDataObject:	chHBNoData
*chqqc.ch_qqc_tdm_fail_acq.cdbDataObject:	chTDMFailAcq
*chqqc.ch_qqc_in_sync.cdbDataObject:		chInSync
*chqqc.ch_qqc_out_sync.cdbDataObject:		chOutSync
*chqqc.ch_qqc_no_data.cdbDataObject:		chNoData
*chqqc.ch_qqc_sclk_change.cdbDataObject:	chSCLKChange
*chqqc.ch_qqc_fid_change.cdbDataObject:		chFIDChange
*chqqc.ch_qqc_decom.cdbDataObject:		chDecom
*chqqc.ch_qqc_extr_begin.cdbDataObject:		chExtractBegin
*chqqc.ch_qqc_extr_end.cdbDataObject:		chExtractEnd
*chqqc.ch_qqc_summary.cdbDataObject:		chSummary
*chqqc.ch_qqc_data_summary.cdbDataObject:	chDataSummary

#-----------------------------------------------------------------------------
# Fill Data
#-----------------------------------------------------------------------------
*fill.dataTypes:		filler, fill_unk_il, fill_1_1_il,\
				fill_7_1_il

*fill.filler.composedOf:	fill_unk_il, fill_1_1_il,\
                                fill_7_1_il

*fill*keys:			rct_key
*fill*TimeOrder:		rct






#-----------------------------------------------------------------------------
# Miscellaneous Sfdus
#-----------------------------------------------------------------------------
#    Everything we don't handle by one of the above specs goes into
#    an unsequenced miscellaneous cache.
*misc.dataTypes:		any
*misc*keys:			no_key

