Binary-Text Conversions Cell Operations Polynomial Operations Constants & Units Coordinate System Conversions Encode/Decode & Compression Operations Error Handling File I/O Maintenance & DAF Operations Geometric Object Operations Initialize & Fill Arrays I/0 Operations Kernel & Segment Operations Logical Compares Matrix & Vector Operations Numerical Calculations Numerical Compares Restricted Calls Search/Find Operations Set Operations Sort Operations State Vector Info Operations String Operations Symbol Table Operations Time/Date Operations Window & Interval Operations Miscellaneous Operations
UNSUPPORTED But Useful Key to some Abbreviations
Sub/Fn What does it do?
* Binary-Text Conversions
dafa2b convert ascii text DAF to = binary DAF. daft2b reconstruct a binary DAF from an open text file . daftb convert contents of ascii DAF encoded text file into = binary. dafb2a convert binary DAF to = ascii DAF. dafb2t write contents of binary DAF to an open text file.
* Cell Operations
appndc append an item to a character cell. appndd append an item to a d.p. cell. appndi append an item to an int. cell. cardc return the cardinality (# lmnts) of a character cell. cardd return cardinality of d.p. cell. cardi return cardinality of int. cell. copyc copy contents of character cell to another. copyd copy contents of d.p. cell to another. copyi copy contents of int. cell to another. cyclac cycle elements of a character array forward or backward. cyclad cycle elements of a d.p. array fwd or bkwd. cyclai cycle elements of an int array fwd or bkwd. excess set long err msg to indicate # of excess lmnts encountered by routine operating on cells or data structs based on cells. ssizec set size (max cardinality) of char cell. ssized same as above except for d.p. cell. ssizei same as above except for int. cell. swapac swap 2 nonintersecting contiguous lmnt groups of char array. swapad same as above except for d.p. array. swapai same as above except for int. array. swapc swap contents of 2 char strings. swapd swap contents of 2 d.p. variables. swapi same as above except for ints.
* Polynomial Operations
chbder given Chebyshev expans coeffs, retrn val & 1st N derivs for X. chbint given Chebyshev expans coeffs, return value & derivative for X. chbval given Chebyshev expansion coeffs, return value at input X. lgresp eval. Lagrange interp poly for set of coord pairs w/ 1st components are =ly spaced @ given X. lgrint eval Lagrange interp poly for given coord pairs @ given X. polyds compute the val of a poly. & it's first N-derivatives @ val T.
* Constants & Units
clight return IAU value of speed of light in km/s. convrt convert value in one set of units to another set. dpr return the number of degrees per radian. halfpi return pi over 2. pi return d.p. val of pi. rpd return # of radians per degree. spd d.p. function that returns # of seconds in a day. twopi return value of 2*pi. tyear return # of seconds in a tropical year.
* Coordinate System Conversions
axisar build rot. matrix to rot. vectors given angle about given axis. bodeul ret. Euler angles to comp transf from inertial to body-fixed coords for object in kernel pool. bodmat return J2000 to body Equator & Prime Meridian coordinates transformation matrix for spec. body. chgirf change intertial reference frames. cyllat convert from cylindrical to latitudinal coords. cylrec convert from cylindrical to rectangular coords. cylsph convert from cylindrical to spherical coords. drotat calculate derivative w/rt angle of rot. of 3x3 coord. system rot. matrix generated by rot of given angle about given axis. eul2m construct rotation matrix from set of Euler angles. frame build right-hand coord frame w/ X parallel to input X. georec convert geodetic coords to rectangular. latcyl convert from latitudinal coords to cylindrical coords. latrec convert from latitudinal coords to rectangular coords. latsph convert from latitudinal coords to spherical coords. reccyl convert from rectangular to cylindrical coords. recgeo convert from rectangular to geodetic coordinates. reclat convert from rectangular to latitudinal coords. recrad convert from rectangular to range, RA, & Dec. recsph convert from rectangular to spherical coords. radrec convert range, RA, Dec to rectangular coords. sphcyl convert from spherical to cylindrical coords. sphlat convert from spherical to latitudinal coords. sphrec convert from spherical to rectangular coords. spkapp return state of target relative to obsrvr w/ opt corrects for light time & aberration. tipbod return 3x3 matrix to transform positions in inertial coords to positions in body-equator-&-prime-meridian coords. tisbod same as above except 6x6 matrix for r&v states. twovec find transform to right-hand frame w/ given vector as axis, & having 2nd vector lying in given coordinate plane.
* Encode/Decode & Compression Operations
chbase ret. base val used to encode unsigned int vals in char strings. cmprss compress a character string (repeated characters). dafb2a convert binary DAF to = ascii DAF. dafbt cnvrt binary DAF file content to = ascii DAF encoded text file. dp2hx convert d.p. # to an = char string using base-16 sci. notation. dpstr convert d.p. # to = char string representation (base-10). dpstrf cnvrt d.p. # to = formatted char string base-10 representation. enchar encode non- int # into char string as expansion of # in base CHBASE (a function of the size of the available char set). hx2dp convert hex string (sci not.) into = d.p. #. hx2int convert signed hex string to integer. int2hx convert integer into = signed hex string. intord convert int to = written ordinal phrase (10=tenth). intstr convert integer to = char string. inttxt convert int to = written phrase (10 = ten). packac pack char array content--make arbitr spaced set & adjacent. packad same as above, except for d.p. array. packai same as above, except for int. array. rdencc read & decode encoded chars from text file. rdencd read N encoded d.p. #s from text file; decode into = d.p. #s. rdenci read N encoded int #s from text file; decode into = int. #s. sc01 cnvrt between different reps of type 1 s'craft clock. scdecd cnvrt d.p. encoded s'craft clock time into char. rep. sce2s cnvrt ephem secs > j2k (ET) to char string rep of SCLK val. sce2t cnvrt ephem secs > j2k (ET) to encoded s'craft clock ticks. scencd encode char rep of s'craft clock time into d.p. #. scfmt cnvrt encoded s'craft clock ticks to char clock format. scs2e cnvrt s'craft clock string to ephem secs past j2k (ET). sct2e cnvrt encoded s'craft clock ticks to ephem secs > j2k (ET). sctiks cnvrt s'craft clock format string to # of ticks. spca2b cnvrt ascii text SPK or CK to = binary, including comments. spcb2a cnvrt binary SPK/CK to = text ascii file, inc. comment area. spcb2t cnvrt content of binary SPK/CK to text, inc. comment area. wrencc encode & write chars to a text file. wrencd same as above except for d.p. #s. wrenci same as above except for int. #s.
* Error Handling
erract retrieve or set the default error action. errch subst char string for 1st occur of marker in cur long err msg. errdev retrieve or set name of current output device for err msgs. errdp subst d.p. # for 1st occur. of marker in cur long err msg. errfnm subst 1st occur of marker in long err msg w/ file name of lu#. errint substit. int for 1st occur. of marker in current long err msg. errprt retrieve or set list of err msg items for output on err. excess set long err msg to indicate # of excess lmnts encountered by routine operating on cells or data structs based on cells. expln return explanation of short error msg. getmsg get cur short err msg, short err msg explan, or long err msg. ioerr set long err msg = std i/o err msg composed from action, name of file, & value iostat. outmsg output error msgs. reset reset err status to val of "no err". setmsg set the value of the current long error message. sigerr n4m err processing mechanism given type of error occured. trcpkg maintain a trace of subroutine calls for err msgs.
* File I/O Maintenance & DAF Operations
dafah assign handles to DAFs as they are opened. dafana add a new array to an existing DAF. dafarr add a given # of reserved records to a d.p. array file (DAF). dafa2b convert ascii text DAF to = binary DAF. dafb2a convert binary DAF to = ascii DAF. dafb2t write contents of binary DAF to an open text file. daffa find arrays in a DAF. dafps pack (assemble) an array summary from d.p. & int components. dafra reorder arrays in a DAF according to a given order vector. dafrcr read contents of a character record from a DAF. dafrda read d.p. data bounded by 2 addresses within a DAF. dafrfr read contents of the file record of a DAF. dafrrr remove given # of reserved records from DAF. dafrwa convert a record/word pair to its = address within a DAF. dafrwd read, write, & rewrite d.p. records to and from DAFs. daft2b reconstruct a binary DAF from an open text file . daftb convert contents of ascii DAF encoded text file into = binary. dafwcr write or rewrite contents of a char. record to a DAF. dafwda write or rewrite d.p. data bounded by 2 addresses within a DAF. dafwfr write or rewrite contents of the file record of a DAF. fndlun return number of a free logical unit if one available. getlun return number of a free logical unit. locln locate group of lines in a text file w/ given delimiters. pool maintain pool of variables read from SPICE asciii kernel files. txtopn open new text file for write access. txtopr open text file for read access.
* Geometric Object Operations
cgv2el form ellipse from a center vector & 2 generating vectors. conics determine state of orbiting body from conic elements. edlimb find limb of a triaxial ellipsoid viewed from a given point. el2cgv cnvrt ellipse to center vector & 2 gen'ing vectors (semi-axes). elltof solve elliptic time-of-flight eqn MA=E-e sin(E) for ecc anom. hyptof solve time-of-flight eqn MA=e sinh(F)-F for hyp ecc anom. inedpl find intersection of plane & triaxial ellipsoid. inelpl find intersection of plane & ellipse. inrypl find intersection of plane & ray. nearpt locate pt. on ellipsoid surface nearest given pt. Also return altitude of position above ellipsoid. npedln find nearest pt. on triaxial ellipsoid to given line & separ. npelpt find nearest pt. on ellipse to given pt. in 3D & separation. nplnpt find nearest pt. on line to given pt. & separation. nvc2pl make plane from normal vector & constant. nvp2pl make plane from normal vector & point. oscelt determine set of osculating conic orbital lmnts corresponding to state of body at some epoch. partof solve time-of-flght eqn MA=D+D^3)/3 for parabolic ecc. anom. pjelpl project an ellipse onto a plane, orthogonally. pl2nvc return unit normal vector & constant defining given plane. pl2nvp return unit normal vector & pt. defining given plane. pl2psv return pt. & 2 orthog spanning vectors that gen a given plane. psv2pl generate plane from point & 2 spanning vectors. saelgv find semi-axis vectors of ellipse gen'd by 2 arb 3D vectors. sphsd return distance between 2 points on sphere along great circle. spkapp return state of target relative to obsrvr w/ opt corrects for light time & aberration. spkpv return state (r&v) of target w/rt some center of motion. spkssb return state (r&v) of target w/rt solar system barycenter. srfrec cnvrt planetocentric lat & long to rectangular coords. stelab correct apparent position of object for stellar aberration. surfnm compute outward radial unit norm vector from pt. on ellipsoid. surfpt determine intersect of line-of-sight w/ ellipsoid surface. spkez return apparent state (r&v) of target w/rt observer, w/ option light-time & aberration corrections. spkgeo compute geometric state (r&v) of target w/rt observer. tipbod return 3x3 matrix to transform positions in inertial coords to positions in body-equator-&-prime-meridian coords. tisbod same as above except 6x6 matrix for r&v states.
* Initialize & Fill Arrays
clearc clear a character string array with blank strings. cleard fill a d.p. array with zeros. cleari fill an int array with zeros. fillc fill a char string array w/ given string. filld fill a d.p. array w/ given value. filli fill a int. array w/ given value. inslac insert 1 or more elements into char array @ indicated location. inslad insert 1 or more elements into d.p. array @ indicated location. inslai insert 1 or more elements into int. array @ indicated location. insrtc insert item into a char set. insrtd insert item into a d.p. set. insrti insert item into a int set. inssub insert substring into char string @ given location. movec copy lmnts of 1 char array into another. moved copy lmnts of 1 d.p. array into another. movei copy lmnts of 1 int. array into another.
* I/0 Operations
dafb2t write contents of binary DAF to an open text file. dafrcr read contents of a character record from a DAF. dafrda read d.p. data bounded by 2 addresses within a DAF. dafrfr read contents of the file record of a DAF. dafrwd read, write, & rewrite d.p. records to and from DAFs. exists determine whether file exists. fndlun return number of a free logical unit if one available. locln locate group of lines in a text file w/ given delimiters. prompt prompt user for keyboard input. rdker open & read content of spice ascii kernel file. rdkvar read next var from ascii kernel file into d.p. symbol table. rdtext read next line of text from text file. spkbsr load/unload files for use by readers by buffering segments. spkw05 write SPK type 5 seg given time-ordered set of discrete states, epochs, & gravitational parameter of central body. spkw08 write type 8 segment to SPK file. spkw09 write type 9 segment to SPK file. txtopn open new text file for write access. txtopr open text file for read access. wrencc encode & write chars to a text file. wrencd same as above except for d.p. #s. wrenci same as above except for int. #s. wrkvar write val of variable in d.p. symbol table to ascii kernel file. wrline write char string to output device.
* Kernel & Segment Operations
bodfnd do values exist for some item for any body in kernel pool? bodvar return values of some item for any body in the kernel pool. ckbsr buffer segments for CK readers. cke01 eval pointing recrd from ckr01 for CK data type 1 segment. Return C-matrix & optionally ang vel assoc w/ time CLKOUT. cke02 same as above, except for return from ckr02 & data type 2 seg. cke03 Same as above, except for ckr03 & data type 3 segment. ckgr01 given handle & descriptor of data type 1 seg in CK file, return a given pointing record from that segment. ckgr02 same as above, except for data type 2 segment. ckgr03 same as above, except for data type 3 segment. cknr01 given handle of CK file & data type 1 seg descriptor, return # of pointing records in that segment. cknr02 same as above, except for data type 2 segment. cknr03 same as above, except for data type 3 segment. ckpfs evaluate pointing data from a segment for a given time. ckr01 read a pointing record from a CK segment, data type 1. ckr02 same as above, except for data type 2. ckr03 same as above, except for data type 3. ckw01 add a type 1 segment to a CK file. ckw02 same as above, except for data type 2. ckw03 same as above, except for data type 3. sclu01 look up type 1 SCLK kernel data. spca2b cnvrt ascii text SPK or CK to = binary, including comments. spcac append text file w/in comnt area of binary SPK/CK. spcb2a cnvrt binary SPK/CK to = text ascii file, inc. comment area. spcb2t cnvrt content of binary SPK/CK to text, inc. comment area. spcdc empty the comment area of a binary SPK/CK file. spcec extract text from commnt area of binary SPK/CK to text file. spcopn open new SPK/CK file for subsequent writes. spcrfl read 1st line of text from comment area of binary SPK/CK. spct2b reconstruct binary SPK/CK file inc. comments from text file. spke01 eval 1 SPK data record from type 1 segment (difference lines). spke02 same as above except type 2 (Chebyshev Polys/position only). spke03 same as above except type 3 (Cheby, position & velocity). spke05 ibid; type 5 (2 body prop btween discrete state vectors). spke08 ibid; type 8 (= spaced discrete states w/ Lagrange interp). spke09 ibid; type 9 (discrete states w/ Lagrange interp). spkr01 same as spke01, except *read* instead of *evaluate*. spkr02 same as spke02, except " ". spkr03 same as spke03, " ". spkr05 same as spke05, " ". spkr08 same as spke08, " ". spkr09 same as spke09, " ". spks01 extract subset of data in SPK type 1 segment into new seg. spks02 same as above, except type 2. spks03 same as above, except type 3. spks05 same as above, except type 5. spks08 same as above, except type 8. spks09 same as above, except type 9. spksub extract data subset from SPK segment into separate segment. spkw05 write SPK type 5 seg given time-ordered set of discrete states, epochs, & gravitational parameter of central body. spkw08 write type 8 segment to SPK file. spkw09 write type 9 segment to SPK file.
* Logical Compares
alltru determine if all entries in array of logicals are .true. diffc take difference of 2 character sets to form a third set. diffd take difference of 2 d.p. sets to form a third. diffi take difference of 2 int. sets to form a third. eqstr determine whether 2 strings are =. even determine if integer is even. notru are none of the entries in an array of logicals .true. ? opsgnd logical function true if input d.p. args have opposite sign. opsgni same as above except for integers. setd given a relational operator, compare 2 d.p. sets. seti given a relational operator, compare 2 int. sets. somfls determine if some of the entries in logical array are .false. somtru determine if some of the entries in logical array are .true.
* Matrix & Vector Operations
det compute determinant of d.p. 3x3 matrix. diags2 diagonalize a symmetric 2x2 matrix invert generate the inverse of a 3x3 matrix. invstm return the inverse of a state transformation matrix. irftrn rtrn matrix to trnsfrm vectors frm 1 inertial r.f. to another. isrot indicate if 3x3 matrix is a rotation matrix. m2eul factor rot matrix as product of 3 rotations about given axis. m2q find unit quaternion corresponding to given rotation matrix. mequ set 1 d.p. 3x3 matrix = another. mequg set 1 d.p. matrix of arbitrary size = another. mtxm mult the transpose of a 3x3 matrix & another 3x3 matrix. mtxmg mult transpose of 1 matrix w/ another (arbtry, compat. size.). mtxv mult transpose of 3x3 on the left w/ vector on right. mtxvg mult transpose of matrix & vector of arbitrary size. mxm mult 2 3x3 matrices. mxmg mult 2 d.p. matrices of arb. size. mxmt mult a 3x3 matrix & transpose of another 3x3. mxmtg mult a matrix & transpose of another, both arbitrary size. mxv mult 3x3 d.p. matrix w/ 3D d.p. vector. mxvg mult a matrix & vector of general dimensions. prodad return product of lmnts of a d.p. array. prodai return product of lmnts of an int array. q2m find rot matrix corresponding to given unit quaternion. raxisa compute rot axis given by input matrix & rot angle about it. rotate calc 3x3 rot matrix gen'd by rot of given angle about given axis. i.e. Rotate coordinate system (same for next). rotmat apply rot of angle radians about IAXIS to matrix. rotvec apply rot about axis to vector. sumad return sum of elements of d.p. array. sumai same as above except for int. ucrss compute normalized cross product of 2 3-vectors. unorm normalize a d.p. 3-vector & return magnitude. unormg same as above except N-vector. vadd add 2 3D vectors. vaddg add 2 N-dimensional vectors. vcrss compute cross product of 2 3-D vectors. vdist return distance between 2 3-D vectors (|| V1 - V2 ||). vdistg same as above except for N-dimensional vectors. vdot compute dot product of 2 d.p. 3-D vectors. vdotg same as above except for N-dimensional vectors. vequ make 1 d.p. 3-D vector = to another. vequg same as above except for N-D vectors. vhat find unit vector along d.p. 3D vector. vhatg same as above except for N-D vector. vlcom compute 3-D vector linear combo of 2 d.p. 3-D vectors. vlcom3 same as above except for 3 d.p. 3-D vectors. vlcomg same as vlcom, except for N-D vectors. vminug negate d.p. N-dim vector. vminus negate d.p. 3-D vector. vnorm compute magnitude of 3-D d.p. vector. vnormg compute magnitude of N-dim d.p. vector. vpack pack 3 scalar components into a vector. vperp find component of a vector perpendicular to 2nd 3-D vector. vprjp project a vector onto given plane orthogonally. vprjpi find vector in given plane that maps to given vector in another plane under orthogonal projection. vproj find projection of 1 3-D vector onto another vector. vprojg same as above except for N-dim vectors. vrel return relative difference between 2 3-D vectors. vrelg same as above except for N-dim vectors. vrotv rot vector about given axis by angle; return rot'd vector. vscl multiply a scalar & 3-D d.p. vector. vsclg multiply a scalar & N-dim d.p. vector. vsep find separation angle (rads) between 2 d.p. 3-D vectors. vsepg same as above except for N-dim vectors. vsub compute difference between 2 3-D d.p. vectors (V1 - V2). vsubg same as above except for N-dim vectors. vtmv multiply transpose of 3-D column vector, 3x3 matrix, & another 3-D vector. vtmvg multiply transpose of n-dim column vector, nxm matrix, & an m-dim column vector. vupack unpack 3 scalars from components of a vector. vzero indicate whether a 3-vector is the zero vector. vzerog indicate whether a N-vector is the zero vector. xposbl transpose square blocks w/in matrix.(BTMAT may overwrite BMAT). xpose transpose a 3x3 matrix. xposeg transpose NxN matrix.
* Numerical Calculations
dacosh return inverse hyperbolic cosine of a d.p. argument. datanh return inverse hyperbolic tangent of d.p. arguement. dcbrt return cube root of d.p. #. dpmax return value of > (+) # representable in a d.p. variable. dpmin return value of < (-) # representable in a d.p. variable. elltof solve elliptic time-of-flight eqn MA=E-e sin(E) for ecc anom. exact round input d.p. # to given exact val if # & val = to w/in tol. hx2dp convert hex string (sci not.) into = d.p. #. hx2int convert signed hex string to integer. gcd return greatest common divisor of 2 ints. intmax return value of largest + # representable in integer var. intmin return val. of smallest - # representable in int var. prop2b propogate 0-mass body forward dT in 2-body central force model. rquad find roots of quadratic equation. stmp03 compute values of Stumpff functs C_0 thru C_3 @ given point. sumad return sum of elements of d.p. array. sumai same as above except for int. trace return trace of 3x3 matrix. traceg return trace of square matrix of arbitrary dimension.
* Numerical Compares
approx true if 2 d.p. #s are = to within given tolerance. brcktd bracket a d.p. number. Given # & interval, leave # alone if w/in, otherwise set to nearest endpoint. brckti same as brcktd, except for an integer. even determine if integer is even. exact round input d.p. # to given exact val if # & val = to w/in tol. odd is # odd? sigdgt retain only significant digits in a numeric string. smsgnd logical fn true if d.p. args have same sign. smsgni same as above except int args.
* Restricted Calls
accept --- this subroutine for use by spicelib subcalls alone!!! prtpkg --- this subroutine for use by spicelib subcalls only! putact --- this subroutine for use by spicelib subcalls only! putdev --- this subroutine for use by spicelib subcalls only! putlms --- this subroutine for use by spicelib subcalls only! putsms --- this subroutine for use by spicelib subcalls only! seterr --- reserved for spicelib calls only.
* Search/Find Operations
bsrchc binary search for index of given val in char array (< order). bsrchd do binary search for given value in d.p. array. bsrchi do binary search for given value in int. array. cpos find 1st occur. of a char from char set searching forward. cposr same as above, except searching in reverse. dxtrct find keyword & succeeding numeric words w/in string. Parse & store numeric words; remove keyword & numerics from input. esrchc search for val w/in char string array. Return index of 1st 1. exists determine whether file exists. fetchc return locat w/in set array of Nth element w/in ascii order. fetchd same as above except for d.p. set. fetchi same as above except for int. set. fndnwd find begin & end of 1st word starting @ or after given char. isordv does array of N items contain ints 1-N? isrchc if val w/in a char string array, return index of 1st match. isrchd if val w/in d.p. array, return index of 1st match. isrchi same as above except for int. kxtrct extract a substring starting with a keyword. lastnb return index of last non-blank char in a char string. lastpc return index of last printable char in a char string. locln locate group of lines in a text file w/ given delimiters. lstcld for X & array of non-> #s, get index of lmnt w/ val nearest X. lstcli same as above except for integers. lstlec for char string & orderd array of char strings, find index of > array lmnt <= given string. lstled given X & array of non-> #s, find index of > array lmnt <= X. lstlei same as above except for integers. lstltc same as lstlec, except only less-than, not less-than-or-equal. lstltd same as lstled, except only for <, not for <=. lstlti same as above, except for integers. ltrim return max of 1 & the location of 1st non-blank char in string. matchw is string matched by a template containing wild cards? maxac locate max lmnt of a char array. maxad locate max lmnt of d.p. array. maxai locate max lmnt of int. array. minac locate min lmnt of char array. minad locate min lmnt of d.p. array. minai locate min lmnt of int. array. pos given start loc find 1st occur in string of substring srch fwd. posr same as above, except reverse search. replch replace all occur of single char w/ another char. replwd replace Nth word in string w/ new word. repmc replace marker w/ a char string. repmct replace marker w/ text representation of a cardinal #. repmd replace marker w/ d.p. #. repmf replace marker w/ a formatted d.p. val. repmi replace marker w/ an int. repmot replace marker w/ text representation of an ordinal. repsub replace substring (left:right) w/ string of arb length. rmdupc remove duplicate lmnts from char array. rmdupd remove duplicate lmnts from d.p. array. rmdupi remove duplicate lmnts from int array. rtrim return max of 1 & loc of last non-blank char in string.
* Set Operations
elemc determine whether item is element of a character set. elemd determine whether item is element of a d.p. set. elemi determine whether item is element of an int set. interc intersect 2 char sets to form 3rd. interd intersect 2 d.p. sets to form 3rd. interi intersect 2 int. sets to form 3rd. ordc int function returns ordinal position of char item in set. ordd int function same as above for d.p. set. ordi int function same as above for int. set. orderc determine order of lmnts in array of char strings. orderd determine order of lmnts in d.p. array. orderi same as above except for int. array. remlac remove 1+ lmnts from char array @ indicated location. remlad same as above, except using d.p. array. remlai same as above, except from int array. removc remove item from a char set. removd remove item from a d.p. set. removi remove item from an int set. reordc reorder lmnts of array of char strings by order vector rule. reordd same as above except for d.p. array. reordi same as above except for int array. rmdupc remove duplicate lmnts from char array. rmdupd remove duplicate lmnts from d.p. array. rmdupi remove duplicate lmnts from int array. sdiffc take symmetric diff of 2 char sets to form 3rd. sdiffd take symmetric diff of 2 d.p. sets to form 3rd. sdiffi take symmetric diff of 2 int sets to form 3rd. setd given a relational operator, compare 2 d.p. sets. seti given a relational operator, compare 2 int. sets. unionc union two char sets to form 3rd. uniond union 2 d.p. sets to form 3rd. unioni union 2 int. sets to form 3rd. validc create valid set from a char set array. validd create valid set from d.p. set array. validi create valid set from int. set array.
* Sort Operations
orderc determine order of lmnts in array of char strings. orderd determine order of lmnts in d.p. array. orderi same as above except for int. array. shellc sort array of char strings by ascii collat seq w/ Shell Sort. shelld sort d.p. array using the Shell Sort. shelli sort int. array using the Shell Sort.
* State Vector Info Operations
ckgp get inertial ref'd instr pointing for given s'craft clk time. ckgpav get inert. ref'd instr pointing & ang vel for given s'crft clk. sc01 cnvrt between different reps of type 1 s'craft clock. scdecd cnvrt d.p. encoded s'craft clock time into char. rep. sctype return s'craft clock type for given s'craft. scpart get s'craft clock partition info from s'craft clock kernel.
* String Operations
astrip strip ascii characters from a character string. clearc clear a character string array with blank strings. copyc copy contents of character cell to another. countc count characters in a group of lines in a text file. cpos find 1st occur. of a char string in another searching forward. cposr same as above, except searching in reverse. cyclec cycle contents of a char string left or right. eqstr determine whether 2 strings are =. esrchc search for val w/in char string array. Return index of 1st 1. fillc fill a char string array w/ given string. fndnwd find begin & end of 1st word starting @ or after given char. frstnb return index of 1st non-blank char in char string. frstpc retrn indx of 1st printable char in char string (ascii 33-126). inssub insert substring into char string @ given location. kxtrct extract a substring starting with a keyword. lastnb return index of last non-blank char in a char string. lastpc return index of last printable char in a char string. lbuild build a list of items delimited by a character. lcase convert the chars in a string to lowercase. ljust left justify a char string. lparse parse list of items delimited by single char. lparsm parse a list of items separated by multiple delimiters. lparss parse list of items w/ multiple delimiters; put results in set. locln locate group of lines in a text file w/ given delimiters. ltrim return max of 1 & the location of 1st non-blank char in string. matchw is string matched by a template containing wild cards? nblen return non-blank length of char string. nbwid determine > non-blank width of a char array. ncpos find 1st occur. in a string of a char not belonging to given char set, starting @ given location searching fwd. ncposr same as above, but searching in reverse. nextwd return next word in given char string, & left justify rest. nparsd parse char string representing # & return d.p. value. nparsi parse char string representing # & return ftn-trunctd int val. nthwd return Nth word in char string & location in string. pcwid determine printable width of char array. pos given start loc find 1st occur in string of substring srch fwd. posr same as above, except reverse search. prefix add a prefix to a char string. remsub remove substring (left:right) from char string. quote 'quote' non-blank part of char string between delimiters. replch replace all occur of single char w/ another char. replwd replace Nth word in string w/ new word. repmct replace marker w/ text representation of a cardinal #. rjust right justify a char string. rtrim return max of 1 & loc of last non-blank char in string. scdecd cnvrt d.p. encoded s'craft clock time into char. rep. scencd encode char rep of s'craft clock time into d.p. #. scfmt cnvrt encoded s'craft clock ticks to char clock format. scs2e cnvrt s'craft clock string to ephem secs past j2k (ET). sct2e cnvrt encoded s'craft clock ticks to ephem secs > j2k (ET). sctiks cnvrt s'craft clock format string to # of ticks. shiftc shift char string content < or >, w/out wrap; + given fill. shiftl shift char string content left, w/out wrap, + given fill. shiftr same as above except to right. suffix add suffix to char string. ucase convert chars in string to upper case. wdcnt return # of words in a string. wdindx find index of a word w/in a string. wrline write char string to output device.
* Symbol Table Operations
sydelc delete symbol (& associated values) from char symbol table. sydeld same as above except for d.p. symbol table. sydeli same as above except for int. symbol table. sydimc return dimension of given symbol in char symbol table or 0. sydimd same as above except for d.p. symbol table. sydimi same as above except for int. symbol table. sydupc duplicate (w/ replace) symbol w/in char symbol table. sydupd same as above except for d.p. symbol table. sydupi same as above except for int. symbol table. syenqc enqueue val into given symbol in char symbol table. syenqd same as above except for d.p. symbol table. syenqi same as above except for int. symbol table. syfetc fetch Nth symbol in char symbol table. syfetd same as above except for d.p. symbol table. syfeti same as above except for int. symbol table. sygetc return dimension & associated vals for given char symbol. sygetd same as above except for d.p. symbol table. sygeti same as above except for int. symbol table. synthc return Nth val assoc'd w/ given symbol in char symbol table. synthd same as above except for d.p. symbol table. synthi same as above except for int. symbol table. syordc order components of 1 symbol in char symbol table (ascii). syordd order components of 1 symbol in d.p. symbol table (incr). syordi same as above except for ints. sypopc Pop (& remove) val assoc w/ given symbol in char symbol table. sypopd same as above except for vals in d.p. symbol table. sypopi same as above except for ints. sypshc push (insert) val onto given symbol in char symbol table. sypshd same as above except for d.p. symbol table. sypshi same as above except for ints. syputc set (& replace) N vals of given symbol in char symbol table. syputd same as above except for d.p. symbol table. syputi same as above except for int. symbol table. syrenc rename existing symbol in char symbol table. syrend same as above except for d.p. symbol table. syreni same as above except for int. symbol table. syseld select subset of vals assoc w/ given symbol in d.p. symbol table. syseli same as above except for int. symbol table. sysetc set (& replace) 1 val of given symbol in char symbol table. (see syputc) sysetd same as above except for d.p. symbol table. syseti same as above except for int. symbol table. sytrnc transpose 2 vals assoc w/ given symbol in char symbol table. sytrnd same as above except for d.p. symbol table. sytrni same as above except for int. symbol table. wrkvar write val of variable in d.p. symbol table to ascii kernel file.
* Time/Date Operations
b1900 return julian date corresponding to besselian date 1900.0. b1950 return julian date corresponding to besselian date 1950.0. deltet return value of Delta ET (ET-UTC) for input epoch. et2utc cnvrt input time: ephem secs past j2k to Cal DOY, or Jul date. j1900 return julian date of 1899dec31 12:00:00 (1900jan0.5). j1950 return julian date of 1950jan01 00:00:00 (1950jan1.0). j2000 return julian date of 2000jan01 12:00:00 (2000jan1.5). j2100 return julian date of 2100jan01 12:00:00 (2100jan1.5). jyear return # of seconds in a julian year. tparse parse a UTC time string. unitim transform time from 1 uniform scale to another. Allowed scales are TAI, TDT, TDB, ET, JED, JDTDB, & JDTDT. utc2et cnvrt Calendar time or Julian Date, UTC to eph secs > j2k.
* Window & Interval Operations
wncomd determine complement of d.p. window w/rt interval [a,b]. wncond contract each of the intervals of a d.p. window. wndifd place difference of 2 d.p. windows into a third window. wnelmd determine whether a point is an lmnt of a d.p. window. wnexpd expand each of the intervals of a d.p. window. wnextd extract left or right endpoints from a d.p. window. wnfetd fetch given interval from a d.p. window. wnfild fill small gaps between adjacent intervals of d.p. window. wnfltd filter (remove) small intervals from d.p. window. wnincd determine whether inverval is included in d.p. window. wninsd insert interval into a d.p. window. wnintd place intersection of 2 d.p. windows into 3rd window. wnreld compare 2 d.p. windows. wnsumd summarize the contents of a d.p. window. wnunid place union of 2 d.p. windows into a 3rd window. wnvald form valid d.p. window from contents of a window array.
* Miscellaneous Operations
return logic fn true if spicelib routnes return immediate upon entry. scardc set cardinality of char cell. scardd set cardinality of d.p. cell. scardi set cardinality of int. cell. sizec return size (max cardinality) of a char cell. sized same as above except for d.p. cell. sizei same as above except for int. cell.
Many abbreviations are used to keep the length of each description down. For detailed description of what each subroutine or function does see the specific subroutine.
Some Abbreviations: int = integer char = character S = Spacecraft d.p. = double precision # = number P = Planet 2bly = doubly lmnt = element I = Instrument val = value s'crft = spacecraft C = C-Matrix (Orientation) non-< = non increasing gen' = generate E = Events ecc = eccentricity anom = anomaly L rec = record loc = location I lu = logical unit reps = representations B DAS = j2k = J2000 cnvrt = convert DAF = Double-precision Array File w/rt = with respect to w/ = with r&v = position & velocity
xxxx-xxxx=xxxx-xxxx=xxxx-xxxx=xxxx-xxxx=xxxx-xxxx=xxxx-xxxx=xxxx-xxxx=xxxx-xxxx=
cnfirm return logical status of yes/no query. dasioc perform fortran i/o of character records. dasiod perform fortran i/o of d.p. records. dasioi perform fortran i/o of integer records. ekaddr_m return address range of given column element. getfnm prompt user for filename. getopt display list of options & get menu choice. iso2utc convert ISO date/time string to UTC string. locqts_m locate quoted substrings in a string. matchi is a string matched by a template containing wildcards? readla read lines from fortran lu into char array buffer readln read 1 text line from fortran lu, reporting eof if it occurs. scpars parse char expr. of spccrft clk time & encode as d.p. #. scps01 convert char represent of type 1 spccrft clock count to ticks. writla write an array of text line to fortran logical unit (lu). writln write 1 line of text to fortran lu.
8/24/96