Table of contents
CSPICE_SPKOPN creates a new SPK file, returning the handle of the opened
file.
Given:
fname the name of the new SPK file to be created.
help, fname
STRING = Scalar
ifname the internal filename for the SPK file that is being created.
help, ifname
STRING = Scalar
The internal filename may be up to 60 characters long. If you
do not have any conventions for tagging your files, an internal
filename of 'SPK_file' is perfectly acceptable. You may also
leave it blank if you like.
ncomch the space, measured in characters, to be initially set aside for
the comment area when a new SPK file is opened.
help, ncomch
LONG = Scalar
The amount of space actually set aside may be greater than the
amount requested, due to the manner in which comment records are
allocated in an SPK file. However, the amount of space set aside
for comments will always be at least the amount that was
requested.
The value of ncomch should be greater than or equal to
zero, i.e., 0 <= ncomch. A negative value, should one
occur, will be assumed to be zero.
the call:
cspice_spkopn, fname, ifname, ncomch, handle
returns:
handle the handle of the opened SPK file.
help, handle
LONG = Scalar
If an error occurs when opening the file, the value of this
variable should not be used, as it will not represent a valid
handle.
None.
Any numerical results shown for this example may differ between
platforms as the results depend on the SPICE kernels used as input
and the machine specific arithmetic implementation.
1) This example demonstrates how to create an SPK type 8 kernel
containing only one segment, given a time-ordered set of
discrete states and epochs.
Example code begins here.
PRO spkopn_ex1
;;
;; Define the segment identifier parameters.
;;
BODY = 3
CENTER = 10
REF = 'J2000'
POLY_DEG = 3
SPK8 = 'spkopn_ex1.bsp'
N_DISCRETE = 9
;;
;; A set of epochs.
;;
DISCRETEEPOCHS = [ 100.d, 200.d, 300.d, 400.d, 500.d, $
600.d, 700.d, 800.d, 900.d $
]
;;
;; An array of discrete states to write to the SPK segment.
;;
DISCRETESTATES = [ $
[ 101.d, 201.d, 301.d, 401.d, 501.d, 601.d ], $
[ 102.d, 202.d, 302.d, 402.d, 502.d, 602.d ], $
[ 103.d, 203.d, 303.d, 403.d, 503.d, 603.d ], $
[ 104.d, 204.d, 304.d, 404.d, 504.d, 604.d ], $
[ 105.d, 205.d, 305.d, 405.d, 505.d, 605.d ], $
[ 106.d, 206.d, 306.d, 406.d, 506.d, 606.d ], $
[ 107.d, 207.d, 307.d, 407.d, 507.d, 607.d ], $
[ 108.d, 208.d, 308.d, 408.d, 508.d, 608.d ], $
[ 109.d, 209.d, 309.d, 409.d, 509.d, 609.d ] $
]
;;
;; Create a segment identifier.
;;
segid = 'SPK type 8 test segment'
;;
;; Open a new SPK file.
;;
cspice_spkopn, SPK8, 'Type 8 SPK internal file name.', 4, handle
step = DISCRETEEPOCHS[1] - DISCRETEEPOCHS[0]
;;
;; Create a type 8 segment.
;;
cspice_spkw08, handle, $
BODY, $
CENTER, $
REF, $
DISCRETEEPOCHS[0], $
DISCRETEEPOCHS[N_DISCRETE-1], $
segid, $
POLY_DEG, $
N_DISCRETE, $
DISCRETESTATES, $
DISCRETEEPOCHS[0], $
step
;;
;; Close the SPK file.
;;
cspice_spkcls, handle
END
When this program is executed, no output is presented on
screen. After run completion, a new SPK type 8 exists in
the output directory.
Open a new SPK file, reserving room for comments if requested.
1) If the value of `ncomch' is negative, a value of zero (0) will
be used for the number of comment characters to be set aside
for comments.
2) If an error occurs while attempting to open the SPK file, the
value of `handle' will not represent a valid file handle.
3) If any of the input arguments, `fname', `ifname' or `ncomch',
is undefined, an error is signaled by the IDL error handling
system.
4) If any of the input arguments, `fname', `ifname' or `ncomch',
is not of the expected type, or it does not have the expected
dimensions and size, an error is signaled by the Icy
interface.
5) If the output argument `handle' is not a named variable, an
error is signaled by the Icy interface.
See `fname' and `handle'.
None.
ICY.REQ
SPK.REQ
None.
J. Diaz del Rio (ODC Space)
E.D. Wright (JPL)
-Icy Version 1.1.0, 05-AUG-2021 (JDR)
Edited the header to comply with NAIF standard. Added
complete code example, based on the cspice_spkw08 example.
Changed the input argument name "name" to "fname" for consistency
with other routines.
Added -Parameters, -Exceptions, -Files, -Restrictions,
-Literature_References and -Author_and_Institution sections, and
completed -Particulars section.
Removed reference to the routine's corresponding CSPICE header from
-Abstract section.
Added arguments' type and size information in the -I/O section.
-Icy Version 1.0.2, 19-JAN-2009 (EDW)
Edits to header text and spelling correction.
-Icy Version 1.0.0, 16-JUN-2003 (EDW)
open a new SPK file
|