| spkcls |
|
Table of contents
Procedure
SPKCLS ( SPK, Close file )
SUBROUTINE SPKCLS ( HANDLE )
Abstract
Close an open SPK file.
Required_Reading
SPK
Keywords
SPK
Declarations
IMPLICIT NONE
INTEGER HANDLE
Brief_I/O
VARIABLE I/O DESCRIPTION
-------- --- --------------------------------------------------
HANDLE I Handle of the SPK file to be closed.
Detailed_Input
HANDLE is the handle of the SPK file that is to be closed.
Detailed_Output
None.
Parameters
None.
Exceptions
1) If there are no segments in the file, the error
SPICE(NOSEGMENTSFOUND) is signaled.
Files
See argument HANDLE.
Particulars
Close the SPK file attached to HANDLE. The close operation tests
the file to ensure the presence of data segments.
A SPKCLS call should balance each call to SPKOPN.
Examples
The numerical results shown for this example may differ across
platforms. The results depend on the SPICE kernels used as
input, the compiler and supporting libraries, 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.
PROGRAM SPKCLS_EX1
IMPLICIT NONE
C
C Local parameters.
C
INTEGER NAMLEN
PARAMETER ( NAMLEN = 42 )
C
C Define the segment identifier parameters.
C
CHARACTER*(*) SPK8
PARAMETER ( SPK8 = 'spkcls_ex1.bsp' )
CHARACTER*(*) REF
PARAMETER ( REF = 'J2000' )
INTEGER BODY
PARAMETER ( BODY = 3 )
INTEGER CENTER
PARAMETER ( CENTER = 10 )
INTEGER DEGREE
PARAMETER ( DEGREE = 3 )
INTEGER NSTATS
PARAMETER ( NSTATS = 9 )
C
C Local variables.
C
CHARACTER*(NAMLEN) IFNAME
CHARACTER*(NAMLEN) SEGID
DOUBLE PRECISION BEGTIM
DOUBLE PRECISION FIRST
DOUBLE PRECISION LAST
DOUBLE PRECISION STATES ( 6, NSTATS )
DOUBLE PRECISION STEP
INTEGER HANDLE
INTEGER NCOMCH
C
C Set the array of discrete states to write to the SPK
C segment.
C
DATA STATES /
. 101.D0, 201.D0, 301.D0, 401.D0, 501.D0, 601.D0,
. 102.D0, 202.D0, 302.D0, 402.D0, 502.D0, 602.D0,
. 103.D0, 203.D0, 303.D0, 403.D0, 503.D0, 603.D0,
. 104.D0, 204.D0, 304.D0, 404.D0, 504.D0, 604.D0,
. 105.D0, 205.D0, 305.D0, 405.D0, 505.D0, 605.D0,
. 106.D0, 206.D0, 306.D0, 406.D0, 506.D0, 606.D0,
. 107.D0, 207.D0, 307.D0, 407.D0, 507.D0, 607.D0,
. 108.D0, 208.D0, 308.D0, 408.D0, 508.D0, 608.D0,
. 109.D0, 209.D0, 309.D0, 409.D0, 509.D0, 609.D0 /
C
C Set the start and end times of interval covered by
C segment, and the time step separating epochs of states.
C
FIRST = 100.D0
LAST = 900.D0
STEP = 100.D0
C
C NCOMCH is the number of characters to reserve for the
C kernel's comment area. This example doesn't write
C comments, so set to zero.
C
NCOMCH = 0
C
C Internal file name and segment ID.
C
IFNAME = 'Type 8 SPK internal file name.'
SEGID = 'SPK type 8 test segment'
C
C Open a new SPK file.
C
CALL SPKOPN( SPK8, IFNAME, NCOMCH, HANDLE )
C
C Set the epoch of first state in STATES array to be
C the start time of the interval covered by the segment.
C
BEGTIM = FIRST
C
C Create a type 8 segment.
C
CALL SPKW08 ( HANDLE, BODY, CENTER, REF,
. FIRST, LAST, SEGID, DEGREE,
. NSTATS, STATES, BEGTIM, STEP )
C
C Close the SPK file.
C
CALL 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.
Restrictions
None.
Literature_References
None.
Author_and_Institution
J. Diaz del Rio (ODC Space)
K.R. Gehringer (JPL)
F.S. Turner (JPL)
E.D. Wright (JPL)
Version
SPICELIB Version 1.2.1, 28-MAY-2021 (JDR)
Edited the header to comply with NAIF standard.
Added complete code example, based on the SPKW08 example.
Updated $Particulars section. Re-ordered header sections.
SPICELIB Version 1.2.0, 07-SEP-2001 (EDW)
Removed DAFHLU call; replaced ERRFN call with ERRHAN.
SPICELIB Version 1.1.0, 17-FEB-2000 (FST)
Removed the call to ZZFIXID. This will make all SPK files
created with future versions of the toolkit possess the
unambiguous ID word 'DAF/SPK '.
SPICELIB Version 1.0.0, 27-JAN-1995 (KRG)
|
Fri Dec 31 18:36:51 2021