From 1d53b04e79e4734e501df979dbf856c301d45043 Mon Sep 17 00:00:00 2001 From: Roberto Susino <roberto.susino@inaf.it> Date: Tue, 18 Jan 2022 14:34:48 +0100 Subject: [PATCH] Add management of predictive SPICE metakernel --- load_spice_kernels.pro | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/load_spice_kernels.pro b/load_spice_kernels.pro index aded929..f2f225d 100644 --- a/load_spice_kernels.pro +++ b/load_spice_kernels.pro @@ -1,11 +1,11 @@ pro load_spice_kernels, path, unload = unload, kernel_list = kernel_list, kernel_version = kernel_version if keyword_set(unload) then cspice_kclear else begin - metakernel = path + '/mk/solo_ANC_soc-flown-mk.tm' - openr, in, metakernel, /get_lun kernel_list = list() - while ~ eof(in) do begin + + openr, unit, path + '/mk/solo_ANC_soc-pred-mk.tm', /get + while ~ eof(unit) do begin line = '' - readf, in, line + readf, unit, line if line.contains('$KERNELS', /fold) then begin line = line.replace('$KERNELS', path) line = line.replace("'", '') @@ -17,6 +17,23 @@ pro load_spice_kernels, path, unload = unload, kernel_list = kernel_list, kernel endif endwhile close, /all + + openr, unit, path + '/mk/solo_ANC_soc-flown-mk.tm', /get + while ~ eof(unit) do begin + line = '' + readf, unit, line + if line.contains('$KERNELS', /fold) then begin + line = line.replace('$KERNELS', path) + line = line.replace("'", '') + kernel_list.add, line.trim() + endif + if line.contains('SKD_VERSION', /fold) then begin + fields = stregex(line, ".*'([a-z_0-9]*)'", /extract, /sub) + kernel_version = fields[1] + endif + endwhile + close, /all + foreach item, kernel_list do cspice_furnsh, item endelse end -- GitLab