| ReadVIDF | TCL UTILITIES USER MANUAL | ReadVIDF |
|---|
| set |
ReadVIDF  |
|
| Key | - | The data key associated with the with UDF hierarchy of the VIDF opened file. Key should have been obtained from a call to GetDataKey and the VIDF file opened in a call to FileOpen. |
| Ver | - | Version number associated this file |
| Field | - | The VIDF information field to return. A list of field names is given under the procedure description below. |
| Block | - | If the Field being requested is an element in either a table of constant definition block then this field specifies which table or constant definition to obtain the information from. If not then set this variable to 0. |
| Beg | - | If the information field contains multiple values this is the index of the first element to return. The first element in the field is element 0. |
| End | - | If the information field contains multiple values this is the index of the last element in the to return. If this variable is input as -1 then End is internally set to the last value in the field. |
| Ret | - | This is the returned information associated with the VIDF Field. If the field contains multiple values it is returned either as an array or a list of values depending on how AsArray is set. |
| AsArray | - | An optional variable which allows the VIDF data to be returned as either an array or a list of values. The default is to return the data as a list. Set the value to 1 to return as an array. This input only has meaning when the VIDF field being returned contains multiple values. |
| -1 | - | Invalid Field name |
| -2 | - | Total number of elements request is less than 0. (Probably End < Beg) |
| -3 | - | Beg exceeds the number of elements in the field. |
| -4 | - | End exceeds the number of elements in the field. |
| VIDF FIELD DEFINITIONS | ||
|---|---|---|
| FIELD | BLOCK | DEFINITION |
| PROJECT | Project lineage designation | |
| MISSION | Mission lineage designation | |
| EXPDESC | Experiment lineage designation | |
| INSTDESC | Instrument lineage designation | |
| CONTACT | Contact information | |
| NUMCOMNTS | Number of lines of comments | |
| COMMENTS | Comment field | |
| DSYEAR | Starting year of information | |
| DSDAY | Starting day of information | |
| DSMSEC | Starting millisecond of information | |
| DSUSEC | Starting microsecond of information | |
| DEYEAR | Ending year of information | |
| DEDAY | Ending day of information | |
| DEMSEC | Ending millisecond of information | |
| DEUSEC | Ending microsecond of information | |
| SMPID | Data storage information | |
| SENMODE | Data timing information | |
| NUMQUAL | Number of defined quality flags | |
| CALSETS | Number of ancillary measurements defined | |
| NUMTBLS | Number of defined tables | |
| NUMCONSTS | Number of defined constants | |
| STATUS | Number of instrument mode flags defined | |
| PADEFINED | Pitch Angle information flag | |
| SEN | Number of measurement definitions | |
| SWPLEN | Array length of measurements | |
| MAXNSS | Maximum number of sensor sets in a UDF data record | |
| DATALEN | Byte length of a UDF data record | |
| FILLFLAG | Data fill value defined flag | |
| FILL | Data fill value | |
| DAMETHOD | Array timing information | |
| STATUSNAME | Instrument mode definitions | |
| STATES | Instrument mode ranges | |
| SENNAME | Measurement definitions | |
| CALNAMES | Ancillary measurement definitions | |
| QUALNAME | Quality flag definitions | |
| PAFORMAT | Pitch Angle algorithm definition | |
| PAPROJECT | Magnetic field data UDF project name | |
| PAMISSION | Magnetic field data UDF mission name | |
| PAEXPER | Magnetic field data UDF experiment name | |
| PAINST | Magnetic field data UDF instrument name | |
| PAVINST | Magnetic field data UDF virtual instrument name | |
| PABXBYBZ | Magnetic field Bx, By, and Bz sensor numbers | |
| PAAPPS | Number of steps in the to-unit algorithm | |
| PATBLS | Algorithm table numbers | |
| PAOPS | Algorithm operations | |
| DATATYPE | Measurement format definitions | |
| TDWLEN | Measurement bit lengths | |
| SENSTATUS | Measurement status flags | |
| TIMEOFF | Measurement timing corrections | |
| CALUSE | Ancillary data mapping definitions | |
| CALWLEN | Ancillary data bit lengths | |
| CALTARGET | Ancillary data targets | |
| TBLSCASZ | TABLE | Number of elements in table scale array |
| TBLELESZ | TABLE | Number of elements in table definition array |
| TBLTYPE | TABLE | Table type |
| TBLDESCLEN | TABLE | Number of lines in table comment field |
| TBLDESC | TABLE | Table comment field |
| TBLVAR | TABLE | Number usage definition |
| TBLEXPAND | TABLE | Table expansion flag |
| CRITACTSZ | TABLE | Number of critical action definitions |
| CRITSTATUS | TABLE | Critical instrument mode numbers |
| CRITOFF | TABLE | Offsets into the critical action table |
| CRITACTION | TABLE | The critical action table elements |
| TBLFMT | TABLE | Table format definitions |
| TBLOFF | TABLE | Offsets into the table elements data |
| TBLSCA | TABLE | The table elements scaling information |
| TBL | TABLE | The table elements |
| CONSTID | CONSTANT | The constant definition identifier |
| CONSTDESCLEN | CONSTANT | Number of lines in constant comment field |
| CONSTDESC | CONSTANT | Constant comment field |
| CONSTSCA | CONSTANT | The constant elements scaling information |
| CONST | CONSTANT | The constant elements |
# GET the what sensor data are contained in the UDF IMOORBIT definition
# INITIALIZE the UDF common variables
UDFInits
# GET the key for the UDF hierarchy IMAGE IMAGE1 OA ORBIT IMOORBIT
set KeY [GetDataKey IMAGE IMAGE1 OA ORBIT IMOORBIT]
# OPEN the data file containing the time 2001 198 1 0 0
FileOpen $KeY 0 2001 198 1 0 0 2001 198 6 0 0
# POSITION the file pointer to the beginning of the requested time. Do
# this in case there are multiple time dependent VIDF's for this UDF.
FilePos $KeY 0 2001 198 1 0 0
# READ the number of defined sensors
ReadVIDF $KeY 0 SEN 0 0 -1 nS
# READ the sensor definitions
ReadVIDF $KeY 0 SENNAME 0 0 -1 sNames
# PRINT OUT THE MEASUREMENT DEFINITIONS
puts stderr "IMOORBIT contains the following $nS measurements:"
for { set I 0 } { $I < $nS } { incr I } {
puts stderr [format " Sensor %2d %s" $I [lindex $sNames $I]]
}
>IMOORBIT contains the following 25 measurements:
> Sensor 0 Satellite GCI Position: X
> Sensor 1 Satellite GCI Position: Y
> Sensor 2 Satellite GCI Position: Z
> Sensor 3 Satellite GCI Velocity: X
> Sensor 4 Satellite GCI Velocity: Y
> Sensor 5 Satellite GCI Velocity: Z
> Sensor 6 Satellite GSE Position: X
> Sensor 7 Satellite GSE Position: Y
> Sensor 8 Satellite GSE Position: Z
> Sensor 9 Satellite GSE Velocity: X
> Sensor 10 Satellite GSE Velocity: Y
> Sensor 11 Satellite GSE Velocity: Z
> Sensor 12 Satellite GSM Position: X
> Sensor 13 Satellite GSM Position: Y
> Sensor 14 Satellite GSM Position: Z
> Sensor 15 Satellite GSM Velocity: X
> Sensor 16 Satellite GSM Velocity: Y
> Sensor 17 Satellite GSM Velocity: Z
> Sensor 18 Sun GCI Position: X
> Sensor 19 Sun GCI Position: Y
> Sensor 20 Sun GCI Position: Z
> Sensor 21 Moon GCI Position: X
> Sensor 22 Moon GCI Position: Y
> Sensor 23 Moon GCI Position: Z
> Sensor 24 L-Shell
| Feb 18, 2007 |
|---|