Index of Functions: A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X 
Index Page
pckopn

Table of contents
Procedure
Abstract
Required_Reading
Keywords
Declarations
Brief_I/O
Detailed_Input
Detailed_Output
Parameters
Exceptions
Files
Particulars
Examples
Restrictions
Literature_References
Author_and_Institution
Version

Procedure

     PCKOPN ( PCK, open new file )

     SUBROUTINE PCKOPN ( NAME, IFNAME, NCOMCH, HANDLE )

Abstract

     Create a new PCK file, returning the handle of the opened file.

Required_Reading

     PCK

Keywords

     PCK

Declarations

     IMPLICIT NONE

     CHARACTER*(*)         NAME
     CHARACTER*(*)         IFNAME
     INTEGER               NCOMCH
     INTEGER               HANDLE

Brief_I/O

     VARIABLE  I/O  DESCRIPTION
     --------  ---  --------------------------------------------------
     NAME       I   The name of the PCK file to be opened.
     IFNAME     I   The internal filename for the PCK.
     NCOMCH     I   The number of characters to reserve for comments.
     HANDLE     O   The handle of the opened PCK file.

Detailed_Input

     NAME     is the name of the PCK file to be created.

     IFNAME   is the internal filename for the PCK file that is being
              created. 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 'PCK_file' is perfectly
              acceptable. You may also leave it blank if you like.

     NCOMCH   is the space, measured in characters, to be
              initially set aside for the comment area when a new PCK
              file is opened. 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 PCK
              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.

Detailed_Output

     HANDLE   is the handle of the opened PCK file. 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.

Parameters

     None.

Exceptions

     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 a CK file the
         value of HANDLE will not represent a valid file handle.

Files

     See NAME and HANDLE.

Particulars

     Open a new PCK file, reserving room for comments if requested.

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) Suppose that you have sets of Chebyshev polynomial
        coefficients in an array pertaining to the orientation of
        the Moon body-fixed frame with the frame class ID 301
        relative to the J2000 reference frame, and want
        to put these into a type 2 segment PCK file. The following
        example could be used to add one new type 2 segment. To add
        multiple segments, put the call to PCKW02 in a loop.


        Example code begins here.


              PROGRAM PCKOPN_EX1
              IMPLICIT NONE

        C
        C     Local parameters
        C
              CHARACTER*(*)         FNAME
              PARAMETER           ( FNAME = 'pckopn_ex1.bpc' )

              INTEGER               BODY
              PARAMETER           ( BODY   = 301  )

              INTEGER               IIDLEN
              PARAMETER           ( IIDLEN = 40   )

              INTEGER               POLYDG
              PARAMETER           ( POLYDG = 9    )

              INTEGER               SZCDAT
              PARAMETER           ( SZCDAT = 60   )

        C
        C     Local variables
        C
              CHARACTER*(IIDLEN)    IFNAME
              CHARACTER*(IIDLEN)    SEGID

              DOUBLE PRECISION      BTIME
              DOUBLE PRECISION      CDATA  ( SZCDAT )
              DOUBLE PRECISION      FIRST
              DOUBLE PRECISION      INTLEN
              DOUBLE PRECISION      LAST

              INTEGER               HANDLE
              INTEGER               N
              INTEGER               NRESVC

        C
        C     Set the input data: RA/DEC/W coefficients,
        C     begin time for the first record, start/end times
        C     for the segment, length of the time covered by
        C     each record, and number of logical records.
        C
        C     CDATA contains the RA/DEC/W coefficients: first the
        C     the POLYDEG + 1 for the RA first record, then the
        C     POLYDEG + 1 for the DEC first record, then the
        C     POLYDEG +1 for W first record, then the POLYDEG + 1
        C     for the RA second record, and so on.
        C
              DATA                  CDATA /
             .   -5.4242086033301107D-002, -5.2241405162792561D-005,
             .    8.9751456289930307D-005, -1.5288696963234620D-005,
             .    1.3218870864581395D-006,  5.9822156790328180D-007,
             .   -6.5967702052551211D-008, -9.9084309118396298D-009,
             .    4.9276055963541578D-010,  1.1612267413829385D-010,
             .    0.42498898565916610D0,    1.3999219324235620D-004,
             .   -1.8855140511098865D-005, -2.1964684808526649D-006,
             .    1.4229817868138752D-006, -1.6991716166847001D-007,
             .   -3.4824688140649506D-008,  2.9208428745895990D-009,
             .    4.4217757657060300D-010, -3.9211207055305402D-012,
             .    2565.0633504619473D0,     0.92003769451305328D0,
             .   -8.0503797901914501D-005,  1.1960860244433900D-005,
             .   -1.2237900518372542D-006, -5.3651349407824562D-007,
             .    6.0843372260403005D-008,  9.0211287487688797D-009,
             .   -4.6460429330339309D-010, -1.0446918704281774D-010,
             .   -5.3839796353225056D-002,  4.3378021974424991D-004,
             .    4.8130091384819459D-005, -1.2283066272873327D-005,
             .   -5.4099296265403208D-006, -4.4237368347319652D-007,
             .    1.3004982445546169D-007,  1.9017128275284284D-008,
             .   -7.0368223839477803D-011, -1.7119414526133175D-010,
             .    0.42507987850614548D0,   -7.1844899448557937D-005,
             .   -5.1052122872412865D-005, -8.9810401387721321D-006,
             .   -1.4611718567948972D-007,  4.0883847771062547D-007,
             .    4.6812854485029333D-008, -4.5698075960784951D-009,
             .   -9.8679875320349531D-010, -7.9392503778178240D-011,
             .    2566.9029069934054D0,     0.91952244801740568D0,
             .   -6.0426151041179828D-005,  1.0850559330577959D-005,
             .    5.1756033678137497D-006,  4.2127585555214782D-007,
             .   -1.1774737441872970D-007, -1.7397191490163833D-008,
             .    5.8908810244396165D-012,  1.4594279337955166D-010 /

              FIRST  =   -43200.D0
              LAST   =  1339200.D0
              BTIME  =  FIRST
              INTLEN =   691200.D0
              N      =  2

        C
        C     Open a new PCK file.  For simplicity, we will not
        C     reserve any space for the comment area, so the
        C     number of reserved comment characters is zero.
        C     The variable IFNAME is the internal file name.
        C
              NRESVC  =  0
              IFNAME  =  'Test PCK/Created 04-SEP-2019'

              CALL PCKOPN ( FNAME, IFNAME, NRESVC, HANDLE    )

        C
        C     Create a segment identifier.
        C
              SEGID = 'MY_SAMPLE_PCK_TYPE_2_SEGMENT'

        C
        C     Write the segment.
        C
              CALL PCKW02 (  HANDLE, BODY,  'J2000',
             .               FIRST,  LAST,   SEGID,   INTLEN,
             .               N,      POLYDG, CDATA,   BTIME)

        C
        C     Close the file.
        C
              CALL PCKCLS ( HANDLE )

              END


        When this program is executed, no output is presented on
        screen. After run completion, a new PCK type 2 exists in
        the output directory.

Restrictions

     None.

Literature_References

     None.

Author_and_Institution

     N.J. Bachman       (JPL)
     J. Diaz del Rio    (ODC Space)
     K.R. Gehringer     (JPL)
     E.D. Wright        (JPL)

Version

    SPICELIB Version 2.0.2, 04-JUL-2021 (JDR)

        Edited the header to comply with NAIF standard. Removed
        unnecessary $Revisions section. Added complete code example
        based on existing fragment.

    SPICELIB Version 2.0.1, 03-JAN-2014 (EDW)

        Minor edits to $Procedure; clean trailing whitespace.
        Corrected order of header sections to conform to NAIF
        standard.

    SPICELIB Version 2.0.0, 09-NOV-2006 (NJB)

        Routine has been upgraded to support comment
        area allocation using NCOMCH.

    SPICELIB Version 1.0.0, 26-JAN-1995 (KRG)
Fri Dec 31 18:36:38 2021