clpool |
Table of contents
ProcedureCLPOOL ( Clear the pool of kernel variables ) ENTRY CLPOOL AbstractRemove all kernel variables from the kernel pool. Watches on kernel variables are retained. Required_ReadingKERNEL KeywordsCONSTANTS FILES DeclarationsNone. Brief_I/ONone. Detailed_InputNone. Detailed_OutputNone. ParametersNone. ExceptionsError free. 1) All known agents (those established through the SPICELIB routine SWPOOL) will be "notified" that their watched variables have been updated whenever CLPOOL is called. FilesNone. ParticularsCLPOOL clears the pool of kernel variables maintained by the kernel POOL subsystem. All the variables in the pool are deleted. However, all watcher information is retained. Each watched variable will be regarded as having been updated. Any agent associated with that variable will have a notice posted for it indicating that its watched variable has been updated. Application programs can delete watches by calling the SPICELIB routine DWPOOL. See the header of that routine for details. ExamplesThe 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 code example demonstrates how to assign values to kernel pool variables, how to check for the existence of kernel pool variables and how to clear the kernel pool, i.e. how to delete all variable assignments loaded into the kernel pool. Place a value into the kernel pool and check for the variable to which the value has been assigned. Clear the kernel pool and check for that variable again. Example code begins here. PROGRAM CLPOOL_EX1 IMPLICIT NONE C C Local variables C DOUBLE PRECISION DVALS ( 1 ) INTEGER N LOGICAL FOUND C C Place a value into the kernel pool. Recall the routines C for direct insertion of pool assignments have arrays for C input. C DVALS( 1 ) = -666.D0 CALL PDPOOL ( 'TEST_VAR', 1, DVALS ) C C Check for the variable assignment to TEST_VAR. C CALL GDPOOL ( 'TEST_VAR', 1, 1, N, DVALS, FOUND ) WRITE(*,'(A)') 'First call to GDPOOL:' IF ( FOUND ) THEN WRITE(*,'(A,F8.2)') ' TEST_VAR value:', DVALS(1) ELSE WRITE(*,'(A)') ' TEST_VAR not in kernel pool.' END IF C C Now clear the kernel pool. C CALL CLPOOL () C C Again, check for the TEST_VAR assignment. C CALL GDPOOL ( 'TEST_VAR', 1, 1, N, DVALS, FOUND ) WRITE(*,'(A)') 'Second call to GDPOOL:' IF ( FOUND ) THEN WRITE(*,'(A,F6.2)') ' TEST_VAR value:', DVALS(1) ELSE WRITE(*,'(A)') ' TEST_VAR not in kernel pool.' END IF END When this program was executed on a Mac/Intel/gfortran/64-bit platform, the output was: First call to GDPOOL: TEST_VAR value: -666.00 Second call to GDPOOL: TEST_VAR not in kernel pool. Restrictions1) This routine should not be used to unload kernels that have been loaded via FURNSH. Literature_ReferencesNone. Author_and_InstitutionN.J. Bachman (JPL) J. Diaz del Rio (ODC Space) B.V. Semenov (JPL) W.L. Taber (JPL) I.M. Underwood (JPL) VersionSPICELIB Version 8.2.1, 17-AUG-2021 (JDR) Edited the header to comply with NAIF standard. Added complete code example. Routine declared error free. SPICELIB Version 8.2.0, 01-JUL-2014 (NJB) (BVS) Description of behavior of watcher subsystem was expanded. Last update was 30-JUL-2013 (BVS) Updated to increment POOL state counter. SPICELIB Version 8.1.0, 19-MAR-2009 (NJB) Watcher update code was re-written for compatibility with new watcher system implementation. Updated $Restrictions header section. Updated code example to use TXTOPN. SPICELIB Version 8.0.0, 04-JUN-1999 (WLT) Added the entry points PCPOOL, PDPOOL and PIPOOL to allow direct insertion of data into the kernel pool without having to read an external file. Added the interface LMPOOL that allows SPICE programs to load text kernels directly from memory instead of requiring a text file. Added the entry point SZPOOL to return kernel pool definition parameters. Added the entry point DVPOOL to allow the removal of a variable from the kernel pool. Added the entry point GNPOOL to allow users to determine variables that are present in the kernel pool SPICELIB Version 7.0.0, 20-SEP-1995 (WLT) The implementation of the kernel pool was completely redone to improve performance in loading and fetching data. In addition the pool was upgraded so that variables may be either string or numeric valued. This entry point clears the string valued variables as well as the numeric valued variables. SPICELIB Version 6.0.0, 31-MAR-1992 (WLT) The entry points SWPOOL and CVPOOL were added. SPICELIB Version 4.0.0, 12-JUN-1990 (IMU) All entry points except POOL and CLPOOL now initialize the pool if it has not been done yet. SPICELIB Version 1.0.0, 08-JAN-1989 (IMU) |
Fri Dec 31 18:36:04 2021