SPICE_INGEST - ITA-Solar/solo-spice-ql GitHub Wiki
Description
This routine takes as input a SPICE filename (or list of files, or a directory) and correctly places them in the SPICE data tree, creating new directories if necessary. The environment variable SPICE_DATA needs to be defined.
Syntax
spice_ingest [, filename] [, path_index= path_index] [, /force] [, /nolevel] [, /search_subdir] [, /help] [, /user_dir] [, top_dir=top_dir] [, dry_run=dry_run] [, destination=destination] [, file_moved=file_moved] [, files_found=files_found]
Arguments
filename
The name and path of a SPICE file. Can be an array of names. Or a directory (scalar), then all spice files in this directory will be moved. If not provided, all files from the current directory will be moved.
Optional inputs
path_index
If $SPICE_DATA or TOP_DIR contains multiple paths, then this keyword allows you to specify to which path you send the file(s). Default is 0.
top_dir
A path to a directory in which the file should be saved. The necessary subdirectories will be created (e.g. level2/2020/03/26).
Keywords
force
By default the routine will not overwrite a file that already exists in the destination directory. Setting 'force' allows the file to be overwritten.
nolevel
If set, then the level part of the default path is omitted (e.g. $SPICE_DATA/2020/06/21/ instead of $SPICE_DATA/level2/2020/06/21/).
search_subdir
If set and 'filename' is a directory, then the program looks for spice files recurrently, i.e. in all subdirectories.
help
If set, then a help message is printed.
user_dir
If set, the file(s) will be moved into $SPICE_DATA/user/ instead of $SPICE_DATA/
dry_run
If set, the file won't be moved, no directories will be created. The optional outputs will be the same as if this keyword was not set.
Optional Output
destination
Set this keyword to a named variable that receives a string array of same length than 'filename' or, in case 'filename' is a directory, of length of the number of files found in that directory. Contains the paths of each file after the move. This path is identical to its origin if the file hasn't been moved.
file_moved
Set this keyword to a named variable that receives an integer array of same length than 'destination'. Indicates which files have been moved (1=moved, 0=not moved).
files_found
Set this keyword to a named variable that receives a string array of same length than 'destination'. Contains all files that have been found, if input was a directory. Else it is identical to 'filename'.
Example
This would move all SPICE FITS files from the current directory into the $SPICE_DATA directory:
spice_ingest