;+ ; NAME: ; jpl_close ; PURPOSE: ; Close an ephemeris file ; CATEGORY: ; ucsd/gen/idl/ephem ; CALLING SEQUENCE: PRO jpl_close, kill=kill ; INPUTS: ; (none) ; OPTIONAL INPUTS: ; /kill ; INCLUDE: @compile_opt.pro ; On error, return to caller ; CALLS: ; InitVar, destroyvar ; SEE ALSO: ; jpl_init ; COMMON BLOCKS: common JPL_INFO, JPL_PNTR ; Pointer to heap variable ; PROCEDURE: ; > Common block is filled by href=jpl_init= ; > jpl_close closes an open ephemeris file with logical unit ; number (*JPL_PNTR).iU. ; > If /kill is set then the heap variable to which JPL_PNTR points ; is destroyed. ; MODIFICATION HISTORY: ; AUG-1999, Paul Hick (UCSD/CASS) ; FEB-2005, Paul Hick (UCSD/CASS; pphick@ucsd.edu) ; Introduced /kill keyword ;- InitVar, kill, /key IF ptr_valid(JPL_PNTR) THEN BEGIN IF (*JPL_PNTR).iU NE -1 THEN BEGIN free_lun, (*JPL_PNTR).iU ; Close ephemeris file (*JPL_PNTR).iFile = -1 (*JPL_PNTR).iU = -1 ENDIF IF kill THEN BEGIN ptr_free, JPL_PNTR ; Destroy heap variable, makes JPL_PNTR invalid pointer destroyvar, JPL_PNTR ENDIF ENDIF RETURN & END