Skip to content
Snippets Groups Projects
interpol_param.pro 722 B
Newer Older
Roberto Susino's avatar
Roberto Susino committed
function interpol_param, table, par_name, date, empty_params = empty_params
	i = where(table.par_name eq par_name, count)
Roberto Susino's avatar
Roberto Susino committed
	if count lt 1 then return, 0.0 ; this should not be necessary
Roberto Susino's avatar
Roberto Susino committed
	par_date = dblarr(count)
	par_val = fltarr(count)
Roberto Susino's avatar
Roberto Susino committed
	for j = 0, count - 1 do begin
Roberto Susino's avatar
Roberto Susino committed
		k = i[j]
		if table.eng_val[k] eq 'N/A' then begin
			table.eng_val[k] = table.raw_val[k]
			if ~ isa(empty_params) then $
				empty_params = table.par_name[k] else $
					empty_params = [empty_params, table.par_name[k]]
		endif
		par_date[j] = date_conv(table.gen_time[k], 'JULIAN')
		par_val[j] = float(table.eng_val[k])
Roberto Susino's avatar
Roberto Susino committed
	endfor 
Roberto Susino's avatar
Roberto Susino committed
	value = interpol(par_val, par_date, date_conv(date, 'JULIAN'))
Roberto Susino's avatar
Roberto Susino committed
	if finite(value) then return, value else return, 0.0
Roberto Susino's avatar
Roberto Susino committed
end