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 scpart_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

       scpart_c ( Spacecraft Clock Partition Information )

       void scpart_c ( SpiceInt            sc,
                       SpiceInt          * nparts,
                       SpiceDouble         pstart [],
                       SpiceDouble         pstop  [] )

#### Abstract

       Get spacecraft clock partition information from a spacecraft
       clock kernel file.

#### Required_Reading

       SCLK

#### Keywords

       TIME

#### Brief_I/O

       VARIABLE  I/O  DESCRIPTION
       --------  ---  --------------------------------------------------
       sc         I   NAIF spacecraft identification code.
       nparts     O   The number of spacecraft clock partitions.
       pstart     O   Array of partition start times.
       pstop      O   Array of partition stop times.
       SPICE_SCLK_MXPART
                  P   Maximum number of partitions.

#### Detailed_Input

       sc          is the NAIF ID for the spacecraft whose clock partition
                   information is being requested.

#### Detailed_Output

       nparts      is the number of spacecraft clock time partitions
                   described in the kernel file for spacecraft `sc'.

       pstart      is an array containing `nparts' partition start times
                   represented as double precision, encoded SCLK
                   ("ticks"). The values contained in `pstart' are whole
                   numbers.

       pstop       is an array containing `nparts' partition end times
                   represented as double precision, encoded SCLK
                   ("ticks"). The values contained in `pstop' are whole
                   numbers.

#### Parameters

       See the include file

          SpiceSCLK.h

       for sizes and limits used by the SCLK system.

       SPICE_SCLK_MXPART

                   is the maximum number of spacecraft clock partitions
                   expected in the kernel file for any one spacecraft.
                   See the header file SpiceSCLK.h for this parameter's
                   value.

#### Exceptions

       1)  If the kernel variables containing the spacecraft clock
           partition start and stop times have not been loaded in the
           kernel pool, an error is signaled by a routine in the call
           tree of this routine.

       2)  If the number of start and stop times are different, the error
           SPICE(NUMPARTSUNEQUAL) is signaled by a routine in the call
           tree of this routine.

#### Files

       An SCLK kernel containing spacecraft clock partition start
       and stop times for the spacecraft clock indicated by `sc' must
       be loaded into the kernel pool.

#### Particulars

       scpart_c looks for two variables in the kernel pool for each
       spacecraft's partition information. If sc = -nn, then the names of
       the variables are

          SCLK_PARTITION_START_nn
          SCLK_PARTITION_END_nn

       The start and stop times returned are in units of "ticks".

#### 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) The following code example finds partition start and stop
          times for the Stardust spacecraft from a spacecraft clock
          kernel file. Since those times are always returned in units
          of ticks, the program uses scfmt_c to print the times in
          Stardust clock format.

          Use the SCLK kernel below to load the Stardust time
          correlation data and spacecraft clock partition information.

             sdu_sclkscet_00074.tsc

          Example code begins here.

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

          int main()
          {
             /.
             Local parameters.
             ./
             #define                CLKLEN   31

             /.
             Local variables.
             ./
             SpiceChar              start  [ CLKLEN ];
             SpiceChar              stop   [ CLKLEN ];

             SpiceDouble            pstart [ SPICE_SCLK_MXPART ];
             SpiceDouble            pstop  [ SPICE_SCLK_MXPART ];

             SpiceInt               sc;
             SpiceInt               i;
             SpiceInt               nparts;

             /.
             Assign the value for the Stardust spacecraft ID.
             ./
             sc = -29;

             /.
             Load the SCLK file.
             ./
             furnsh_c ( "sdu_sclkscet_00074.tsc" );

             /.
             Retrieve the arrays for `pstart' and `pstop' and the
             number of partitions within the SCLK.
             ./
             scpart_c ( sc, &nparts, pstart, pstop );

             /.
             Loop over each array value.
             ./
             for ( i = 0;  i < nparts;  i++ )
             {
                scfmt_c ( sc, pstart[ i ], CLKLEN, start );
                scfmt_c ( sc, pstop [ i ], CLKLEN, stop  );

                printf ( "\n"
                         "Partition: %d\n"
                         "   Start : %s\n"
                         "   Stop  : %s\n",
                          (int)i,
                          start,
                          stop                );
             }

             return ( 0 );
          }

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

          Partition: 0
             Start : 0000000000.000
             Stop  : 0602741011.080

          Partition: 1
             Start : 0602741014.217
             Stop  : 0605660648.173

          Partition: 2
             Start : 0605660649.000
             Stop  : 0631375256.224

          Partition: 3
             Start : 0631375257.000
             Stop  : 0633545577.218

          Partition: 4
             Start : 0633545578.000
             Stop  : 0644853954.043

          Partition: 5
             Start : 0644853954.000
             Stop  : 0655316480.089

          Partition: 6
             Start : 0655316480.000
             Stop  : 0660405279.066

          Partition: 7
             Start : 0660405279.000
             Stop  : 0670256568.229

          Partition: 8
             Start : 0670256569.000
             Stop  : 0674564039.091

          Partition: 9
             Start : 0674564040.000
             Stop  : 4294537252.255

#### Restrictions

       1)  This routine assumes that an SCLK kernel appropriate to the
           spacecraft identified by `sc' has been loaded into the kernel
           pool.

#### Literature_References

       None.

#### Author_and_Institution

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

#### Version

       -CSPICE Version 1.1.2, 07-AUG-2021 (JDR)

           Edited to header to comply with NAIF standard. Added
           reference to required SCLK and created complete example from
           existing code fragment using Stardust PDS archived data.

           Removed unnecessary include file "SpiceZst.h".

       -CSPICE Version 1.1.1, 19-MAR-2014 (NJB)

           Minor header comment updates were made.

       -CSPICE Version 1.1.0, 11-FEB-2008 (NJB)

           Definition of constant macro MXPART was deleted.
           Documentation was updated to reflect current
           MXPART value of 9999.

       -CSPICE Version 1.0.1, 14-AUG-2006 (EDW)

           Replace mention of ldpool_c with furnsh_c.

       -CSPICE Version 1.0.0, 08-FEB-1998 (NJB)

           Based on SPICELIB Version 1.1.0, 22-MAR-1993 (JML)

#### Index_Entries

       spacecraft_clock partition information

#### Link to routine scpart_c source file scpart_c.c

    Fri Dec 31 18:41:12 2021