| scli01 |
|
Table of contents
Procedure
SCLI01 ( SCLK lookup of integer data, type 1 )
ENTRY SCLI01 ( NAME, SC, MAXNV, N, IVAL )
Abstract
Look up integer type 1 SCLK data from the kernel pool.
Required_Reading
KERNEL
SCLK
Keywords
UTILITY
Declarations
CHARACTER*(*) NAME
INTEGER SC
INTEGER MAXNV
INTEGER N
INTEGER IVAL ( * )
Brief_I/O
VARIABLE 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_Input
NAME,
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_Output
N is the number of values actually returned.
IVAL is an array containing the requested integer
kernel data item.
Parameters
MXNFLD 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.
Exceptions
1) 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.
Files
None.
Particulars
The 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.
Examples
1) 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.
Restrictions
1) 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_References
None.
Author_and_Institution
N.J. Bachman (JPL)
J. Diaz del Rio (ODC Space)
W.L. Taber (JPL)
E.D. Wright (JPL)
Version
SPICELIB 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