scli01 |
Table of contents
ProcedureSCLI01 ( SCLK lookup of integer data, type 1 ) ENTRY SCLI01 ( NAME, SC, MAXNV, N, IVAL ) AbstractLook up integer type 1 SCLK data from the kernel pool. Required_ReadingKERNEL SCLK KeywordsUTILITY DeclarationsCHARACTER*(*) NAME INTEGER SC INTEGER MAXNV INTEGER N INTEGER IVAL ( * ) Brief_I/OVARIABLE I/O DESCRIPTION -------- --- -------------------------------------------------- NAME, SC I Name of kernel data item, NAIF spacecraft ID code. MAXNV I Maximum number of integer values to return. N O Number of values actually returned. IVAL O Returned integer values. MXNFLD P Maximum number of fields in an SCLK string. NDELIM P Maximum number of delimiter codes. MXTSYS P Maximum number of supported parallel time systems. Detailed_InputNAME, SC are, respectively, a name and a NAIF integer code of a spacecraft that together define the name of a requested kernel data item. NAME is the full name as it appears in the SCLK kernel, except that it lacks the final underscore and spacecraft integer code (actually, the negative of the spacecraft code). This routine combines NAME and SC to make up the appropriate kernel variable name. For example, to look up data associated with the name SCLK01_N_FIELDS_77 you would supply NAME as SCLK01_N_FIELDS and SC as -77. MAXNV is the maximum number of values to return. MAXNV is used to prevent SCLI01 from writing past the end of the supplied array IVAL. Detailed_OutputN is the number of values actually returned. IVAL is an array containing the requested integer kernel data item. ParametersMXNFLD is an upper bound on the number of fields in a SCLK string. NDELIM is the number of delimiter codes. MXTSYS is the maximum number of supported parallel time systems that SCLK values may be mapped to or from. Exceptions1) If item specified by NAME and SC is not found in the kernel pool, and if the presence of the item is required, the error SPICE(KERNELVARNOTFOUND) is signaled. The output arguments are not modified. If the specified item is not required, the output argument N will take the value 0, and the output argument IVAL is not modified. 2) If the item specified by NAME and SC is found but does not have numeric type, the error SPICE(BADKERNELVARTYPE) is signaled. 3) This routine can check certain data for validity. If any of these items have invalid values, the error SPICE(VALUEOUTOFRANGE) is signaled. The output arguments are not modified. The values in question are: - The number of fields of a SCLK string - The number of delimiter codes - The output delimiter code - The time system code 4) If the dimension of the requested item exceeds MAXNV, the error SPICE(ARRAYTOOSMALL) is signaled. 5) If the dimension of the requested item is outside of the limits for that item, the error SPICE(INVALIDSIZE) is signaled. FilesNone. ParticularsThe purpose of this routine is to localize error checking for lookups of type 1 SCLK kernel pool data. This routine handles lookups of integer data. Examples1) To get the number of SCLK fields for the Galileo spacecraft clock, you can use the code fragment below: C C Load the SCLK kernel in question. We use a C made-up name for the kernel file; you would use C the actual name of your kernel file instead if you C were to carry out this procedure. C CALL FURNSH ( 'SAMPLE_GLL_SCLK.KER' ) SC = -77 NAME = 'SCLK01_N_FIELDS' CALL SCLI01 ( NAME, SC, MXNFLD, N, NFIELD ) After this subroutine call, NFIELD has the value 4. Restrictions1) SCLI01 assumes that a SCLK kernel appropriate to the spacecraft identified by SC has been loaded. 2) SCLI01 handles lookups of type 1 SCLK data only. Literature_ReferencesNone. Author_and_InstitutionN.J. Bachman (JPL) J. Diaz del Rio (ODC Space) W.L. Taber (JPL) E.D. Wright (JPL) VersionSPICELIB Version 3.0.0, 01-DEC-2021 (NJB) (JDR) New checks on item sizes have been added: sizes are now compared against upper bounds as well as lower bounds. Previously only lower bounds were used. Corrected comments about count checks. Made cosmetic changes to code and comments. Edited the header to comply with NAIF standard. SPICELIB Version 2.2.0, 20-NOV-2006 (NJB) (EDW) Routine was updated to use GIPOOL instead of RTPOOL. Header has been updated to remove warnings about memory corruption and to document exception handling for output buffer overflow errors. Header references to LDPOOL were replaced with references to FURNSH. SPICELIB Version 2.1.0, 19-OCT-1992 (NJB) This entry point was updated to fix a bug: if a kernel pool lookup fails, the number of elements returned N is now set to zero. SPICELIB Version 2.0.0, 17-APR-1992 (NJB) (WLT) SCLI01 was updated to handle a time system specification for the `parallel' time system in the SCLK kernel. Some corrections and other minor enhancements were made to the header. Comment section for permuted index source lines was added following the header. SPICELIB Version 1.0.0, 06-SEP-1990 (NJB) |
Fri Dec 31 18:36:46 2021