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
ckupf_c

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

Procedure

   ckupf_c ( CK, Unload pointing file ) 

   void ckupf_c ( SpiceInt handle )

Abstract

   Unload a CK pointing file so that it will no longer be searched
   by the readers.

Required_Reading

   CK
   DAF

Keywords

   POINTING


Brief_I/O

   VARIABLE  I/O  DESCRIPTION
   --------  ---  --------------------------------------------------
   handle     I   Handle of CK file to be unloaded

Detailed_Input

   handle      is the integer handle assigned to the CK file upon
               loading.

Detailed_Output

   None.

Parameters

   None.

Exceptions

   1)  Unloading a file that has not been loaded is a no-op.
       No error is signaled.

Files

   The file referred to by `handle' is unloaded.

Particulars

   Unloading a file with ckupf_c removes that file from consideration
   by the CK readers. In doing so, it frees up space for another
   file to be loaded.

Examples

   The numerical results shown for these examples 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) Unload a CK kernel specified by an integer handle, making
      room to load another CK.

         ckupf_c ( handle );

   2) Load a CASSINI CK file and obtain the position transformation
      matrix from J2000 to the spacecraft reference frame provided
      by the CK and its angular velocity vector at a given spacecraft
      clock time.


      Use the CK kernel below to load the CASSINI image navigated
      spacecraft pointing and orientation data.

         04153_04182ca_ISS.bc


      In order to convert from spacecraft clock time to "ticks,"
      (units of encoded SCLK) as required by ckgpav_c, we will need
      to load as well a CASSINI SCLK.

      Use the SCLK kernel below to load the CASSINI spacecraft clock
      time correlation data required for the conversion between
      spacecraft clock string representation and double precision
      encoding of spacecraft clock counts.

         cas00071.tsc


      Example code begins here.


      /.
         Program ckupf_ex2
      ./
      #include <stdio.h>
      #include "SpiceUsr.h"

      int main ()
      {
         /.
         Constants for this program:

         -- The code for the CASSINI spacecraft clock is -82.

         -- The code for CASSINI spacecraft reference frame is -82000.

         -- Tolerance: 1 second. It must be converted to "ticks"
            (units of encoded SCLK) for input to ckgpav_c.

         -- The reference frame we want is J2000.
         ./
         #define   SC        -82
         #define   INST      -82000
         #define   REF       "J2000"
         #define   TOL       "1.0"
         #define   MAXCLK    30

         #define   CK        "04153_04182ca_ISS.bc"
         #define   SCLK      "cas00071.tsc"

         /.
         Local variables.
         ./
         SpiceBoolean        found;

         SpiceChar         * sclkch  = "1465644281.0";

         SpiceChar           clkch   [MAXCLK];

         SpiceDouble         av      [3];
         SpiceDouble         cmat    [3][3];
         SpiceDouble         clkout;

         SpiceDouble         sclkdp;
         SpiceDouble         toltik;

         SpiceInt            i;
         SpiceInt            handle;

         /.
         Load the CK for read access. This call may be replaced (as
         recommended by NAIF) by furnsh_c.
         ./
         cklpf_c ( CK, &handle );

         /.
         We need to load a CASSINI SCLK kernel to convert from
         clock string to ticks.  Although not required for
         the CASSINI spacecraft clock, most modern spacecraft
         clocks require a leapseconds kernel to be loaded in
         addition to an SCLK kernel.
         ./
         furnsh_c ( SCLK );

         /.
         Convert tolerance from CASSINI formatted character string
         SCLK to ticks, which are units of encoded SCLK.
         ./
         sctiks_c ( SC, TOL, &toltik );

         /.
         ckgpav_c requires encoded spacecraft clock time.
         ./
         scencd_c ( SC, sclkch, &sclkdp );

         ckgpav_c ( INST,  sclkdp,  toltik,   REF,
                    cmat,  av,      &clkout,  &found );

         /.
         Display the results.
         ./
         if ( found )
         {
            scdecd_c ( SC, clkout, MAXCLK, clkch  );

            printf ( "Requested SCLK time         : %s\n", sclkch );
            printf ( "   CASSINI SCLK time        : %s\n", clkch  );
            printf ( "   J2000 to S/C frame matrix:\n\n" );
            for ( i = 0; i < 3; i++ )
            {
               printf("%20.10f %19.10f %19.10f\n",
                      cmat[i][0], cmat[i][1], cmat[i][2] );
            }
            printf ( "\n" );
            printf ( "   Angular velocity vector  : "
                     "%10.7f %10.7f %10.7f\n", av[0], av[1], av[2] );
         }
         else
         {
               printf ( "Pointing not found for time %s\n", sclkch );
         }

         /.
         Close the CK file. This call may be replaced (as
         recommended by NAIF) by unload_c, if furnsh_c has
         been used to load the file.
         ./
         ckupf_c ( handle );

         return ( 0 );
      }


      When this program was executed on a Mac/Intel/cc/64-bit
      platform, the output was:


      Requested SCLK time         : 1465644281.0
         CASSINI SCLK time        : 1/1465644281.171
         J2000 to S/C frame matrix:

             -0.3353514559        0.8643744402        0.3746948467
             -0.9378874268       -0.3438519652       -0.0461844200
              0.0889189272       -0.3669095980        0.9259971767

         Angular velocity vector  :  0.0000000  0.0000000  0.0000000


   3) The following example extracts the first 20 lines of the
      comment area of a CK, displaying the comments on the terminal
      screen.


      Example code begins here.


      /.
         Program ckupf_ex3
      ./
      #include <stdio.h>
      #include "SpiceUsr.h"

      int main()
      {

         /.
         Local parameters.
         ./
         #define FILSIZ          256
         #define LINLEN          1001
         #define BUFFSZ          20

         /.
         Local variables.
         ./
         SpiceBoolean            done;

         SpiceChar               ckname [FILSIZ];
         SpiceChar               buffer [BUFFSZ][LINLEN];

         SpiceInt                handle;
         SpiceInt                i;
         SpiceInt                n;


         prompt_c ( "Enter name of CK > ", FILSIZ, ckname );

         /.
         Open the CK for read access. This operation could have
         been done with dafopr_c.
         ./
         cklpf_c ( ckname, &handle );

         /.
         Extract up to 20 lines from the comment area of the
         loaded CK file and display them on the terminal screen.
         ./
         dafec_c ( handle, BUFFSZ, LINLEN, &n, buffer, &done );

         for ( i = 0;  i < n;  i++ )
         {
               printf ( "%s\n", buffer[i] );
         }

         /.
         Close the CK file. This operation could have been done
         with dafcls_c.
         ./
         ckupf_c ( handle );

         return ( 0 );
      }


      When this program was executed on a Mac/Intel/cc/64-bit
      platform, using the Cassini CK file named 04161_04164ra.bc as
      input CK file, the output was:


      Enter name of CK > 04161_04164ra.bc
      \beginlabel
      PDS_VERSION_ID               = PDS3
      RECORD_TYPE                  = FIXED_LENGTH
      RECORD_BYTES                 = 1024
      ^SPICE_KERNEL                = "04161_04164ra.bc"
      MISSION_NAME                 = "CASSINI-HUYGENS"
      SPACECRAFT_NAME              = "CASSINI ORBITER"
      DATA_SET_ID                  = "CO-S/J/E/V-SPICE-6-V1.0"
      KERNEL_TYPE_ID               = CK
      PRODUCT_ID                   = "04161_04164ra.bc"
      PRODUCT_CREATION_TIME        = 2005-06-29T21:28:09
      PRODUCER_ID                  = "CASSINI_AACS/JPL"
      MISSION_PHASE_NAME           = "SCIENCE CRUISE"
      PRODUCT_VERSION_TYPE         = ACTUAL
      PLATFORM_OR_MOUNTING_NAME    = "N/A"
      START_TIME                   = 2004-06-09T12:00:03.631
      STOP_TIME                    = 2004-06-12T11:58:57.943
      SPACECRAFT_CLOCK_START_COUNT = "1/1465475046.160"
      SPACECRAFT_CLOCK_STOP_COUNT  = "1/1465734182.160"
      TARGET_NAME                  = "N/A"

Restrictions

   None.

Literature_References

   None.

Author_and_Institution

   J. Diaz del Rio     (ODC Space)
   J.M. Lynch          (JPL)
   B.V. Semenov        (JPL)
   R.E. Thurman        (JPL)
   I.M. Underwood      (JPL)
   E.D. Wright         (JPL)

Version

   -CSPICE Version 1.0.3, 06-JUL-2021 (JDR)

       Updated the header to comply with NAIF standard. Added complete
       code examples.

   -CSPICE Version 1.0.2, 31-JAN-2008 (BVS)

       Removed '-Revisions' from the header.

   -CSPICE Version 1.0.1, 03-JUN-2003 (EDW)

       Correct typo in Procedure line.

   -CSPICE Version 1.0.0, 08-FEB-1998 (EDW) (JML) (RET) (IMU)

Index_Entries

   unload CK pointing file
Fri Dec 31 18:41:02 2021