Commit 84140d2e authored by Roberto Susino's avatar Roberto Susino
Browse files

Code optimizations

parent 5f6290e3
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -7,7 +7,7 @@ function fits_hdr2struct, string_hdr
		tag = tag.trim()
		if tag eq '' then continue
		if tag.startswith('end', /fold) or tag.contains('continue', /fold) then continue
		if isa(struct) then if where(tag_names(struct) eq tag) ge 0 then continue
		if isa(struct) then if (tag_names(struct)).hasvalue(tag) then continue
		struct = create_struct(struct, tag.replace('-', ' '), fxpar(string_hdr, tag))
	endfor

+5 −5
Original line number Diff line number Diff line
function get_light_time, utc, body, target, radvel = radvel
function get_light_time, utc, target, observer, rad_velocity = rad_velocity

	; convert the requested date into ephemeris time

	cspice_str2et, utc, et

	; coordinates of the body wrt the target in the j2000 system
	; coordinates of the target wrt the target in the j2000 system

	cspice_spkezr, body, et, 'J2000', 'NONE', target, state, ltime
	cspice_spkezr, target, et, 'J2000', 'NONE', observer, state, light_time

	; radial component of the velocity

	radvel = 1000.d0 * total(state[0 : 2] * state[3 : 5])/sqrt(total(state[0 : 2]^2))
	rad_velocity = 1000. * total(state[0 : 2] * state[3 : 5])/sqrt(total(state[0 : 2]^2))

	return, ltime
	return, light_time
end
+4 −3
Original line number Diff line number Diff line
@@ -126,6 +126,7 @@ pro metis_l2_prep_uv
	fxaddpar, primary_header, 'BUNIT', bunit
	fxaddpar, primary_header, 'DATAMIN', min(data, /nan)
	fxaddpar, primary_header, 'DATAMAX', max(data, /nan)
	fxaddpar, primary_header, 'WAVEBAND', cal_pack.uv_channel.name
	fxaddpar, primary_header, 'XPOSURE', header.xposure
	fxaddpar, primary_header, 'NSUMEXP', header.nsumexp

@@ -136,10 +137,10 @@ pro metis_l2_prep_uv

	; append solar ephemeris keywords

	ephemerides = solo_get_ephemerides(header, constants = cal_pack.constants)
	foreach element, ephemerides do fxaddpar, primary_header, element.name, element.value, element.comment, before = 'DATATYPE'
	ephemeris = solo_get_ephemeris(header, cal_pack)
	foreach element, ephemeris do fxaddpar, primary_header, element.name, element.value, element.comment, before = 'DATATYPE'

	history = [history, 'Solar ephemerides and WCS:', '  SKD version = ' + kernel_version]
	history = [history, 'Update WCS and solar ephemeris:', '  SKD version = ' + kernel_version]

	; delete useless keywords

+4 −3
Original line number Diff line number Diff line
@@ -120,6 +120,7 @@ pro metis_l2_prep_vl_generic
	fxaddpar, primary_header, 'BUNIT', bunit
	fxaddpar, primary_header, 'DATAMIN', min(data, /nan)
	fxaddpar, primary_header, 'DATAMAX', max(data, /nan)
	fxaddpar, primary_header, 'WAVEBAND', cal_pack.vl_channel.name
	fxaddpar, primary_header, 'XPOSURE', header.xposure
	fxaddpar, primary_header, 'NSUMEXP', header.nsumexp

@@ -130,10 +131,10 @@ pro metis_l2_prep_vl_generic

	; append solar ephemeris keywords

	ephemerides = solo_get_ephemerides(header, constants = cal_pack.constants)
	foreach element, ephemerides do fxaddpar, primary_header, element.name, element.value, element.comment, before = 'DATATYPE'
	ephemeris = solo_get_ephemeris(header, cal_pack)
	foreach element, ephemeris do fxaddpar, primary_header, element.name, element.value, element.comment, before = 'DATATYPE'

	history = [history, 'Solar ephemerides and WCS:', '  SKD version = ' + kernel_version]
	history = [history, 'Update WCS and solar ephemeris:', '  SKD version = ' + kernel_version]

	; delete useless keywords

+5 −3
Original line number Diff line number Diff line
@@ -224,6 +224,7 @@ pro metis_l2_prep_vl_polariz
	fxaddpar, primary_header, 'OBT_BEG', header.obt_beg, 'Start acquisition time in on-board time', format = 'F0.5'
	fxaddpar, primary_header, 'OBT_END', header.obt_end, 'End acquisition time in on-board time', format = 'F0.5'
	fxaddpar, primary_header, 'TELAPSE', telapse, '[s] Elapsed time between beginning and end of observation'
	fxaddpar, primary_header, 'WAVEBAND', cal_pack.vl_channel.name
	fxaddpar, primary_header, 'XPOSURE', header.xposure
	fxaddpar, primary_header, 'NSUMEXP', header.nsumexp
	fxaddpar, primary_header, 'TSENSOR', header.tsensor
@@ -236,10 +237,11 @@ pro metis_l2_prep_vl_polariz

	; append solar ephemeris keywords

	ephemerides = solo_get_ephemerides(header, constants = cal_pack.constants)
	foreach element, ephemerides do fxaddpar, primary_header, element.name, element.value, element.comment, before = 'DATATYPE'
	ephemeris = solo_get_ephemeris(header, cal_pack)
	foreach element, ephemeris do fxaddpar, primary_header, element.name, element.value, element.comment, before = 'DATATYPE'

	history = ['Update WCS and solar ephemeris:', '  SKD version = ' + kernel_version]
	
	history = ['Solar ephemerides and WCS:', '  SKD version = ' + kernel_version]
	tb_history = [tb_history, history]
	pb_history = [pb_history, history]

Loading