pro hsi_params_manual, d

str = { $
	name: '', $
	class: '', $
	units: '', $
	default: '', $
	range: '', $
	level: '', $
	purpose: '', $
	more_doc: '' }

k = -1
d = replicate(str, 2000)


; Control parameters for hsi_sohdata
k = k + 1
d[k].name = 'soh_time_range'
d[k].class = 'hsi_sohdata'
d[k].units = 'sec'
d[k].default = ''
d[k].range = ''
d[k].level = 'Standard
d[k].purpose = 'Time range for the SOH data relative to obs_time_interval '
d[k].more_doc = ''

k = k + 1
d[k].name = 'soh_label'
d[k].class = 'hsi_sohdata'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Standard'
d[k].purpose = 'Pointer to a string array with the keywords wanted'
d[k].more_doc = ''

; Control parameters for hsi_packet
k = k + 1
d[k].name = 'file_type'
d[k].class = 'hsi_packet'
d[k].units = 'N/A'
d[k].default = 'fits'
d[k].range = 'fits, gse, itos, raw'
d[k].level = 'Expert'
d[k].purpose = 'File type '
d[k].more_doc = ''

; Control parameters for hsi_modul_pattern
k = k + 1
d[k].name = 'imaging_strategy'
d[k].class = 'hsi_modul_pattern'
d[k].units = 'N/A'
d[k].default = 'hsi_annsec_pattern'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

; Control parameters for hsi_calib_eventlist
k = k + 1
d[k].name = 'xyoffset'
d[k].class = 'hsi_calib_eventlist'
d[k].units = 'arcsec'
d[k].default = '[600,200]'
d[k].range = '0 - 1000'
d[k].level = 'Standard'
d[k].purpose = 'Offset of map center from Sun center'
d[k].more_doc = ''

k = k + 1
d[k].name = 'use_auto_time_bin'
d[k].class = 'hsi_calib_eventlist'
d[k].units = 'N/A'
d[k].default = '1'
d[k].range = '0 - 1'
d[k].level = 'Advanced
d[k].purpose = 'If set, time binning is automatically set based on flare offset and ' + $
	'cbe_digital_quality parameter'
d[k].more_doc = ''

k = k + 1
d[k].name = 'cbe_digital_quality'
d[k].class = 'hsi_calib_eventlist'
d[k].units = 'N/A'
d[k].default = '0.900000'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'cbe_powers_of_two'
d[k].class = 'hsi_calib_eventlist'
d[k].units = 'N/A'
d[k].default = '1'
d[k].range = '0 - 1'
d[k].level = 'Advanced'
d[k].purpose = 'If set, forces multipliers on time_bin_min to be powers of 2'
d[k].more_doc = ''

k = k + 1
d[k].name = 'user_flux_var'
d[k].class = 'hsi_calib_eventlist'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = ''
d[k].more_doc = 'If USE_FLUX_VAR is set, then hsi_calib_eventlist::DEMODULATE ' + $
	'attempts to construct a demodulated ' + $
	'profile of the true flux variation in the energy band, unmarred by grid modulation.  ' + $
	'The SMOOTHING_TIME is in seconds, and is used with the IDL smooth function, as part ' + $
	'of this algorithm.  The SMOOTHING_TIME should not be longer than the accumulation ' + $
	'interval.  If you want to use your own smoothing profile, determine it on regular ' + $
	'bins, and load it into USER_FLUX_VAR.  To subsequently disable that, and use' + $
	"the algorithm's value, set USER_FLUX_VAR to a scalar value, preferably either 1 or 0."

k = k + 1
d[k].name = 'use_flux_var'
d[k].class = 'hsi_calib_eventlist'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = '0 - 1'
d[k].level = 'Advanced'
d[k].purpose = 'If set, attempt to reconstruct flux variations unmarred by grid modulation'
d[k].more_doc = 'If USE_FLUX_VAR is set, then hsi_calib_eventlist::DEMODULATE ' + $
	'attempts to construct a demodulated ' + $
	'profile of the true flux variation in the energy band, unmarred by grid modulation.  ' + $
	'The SMOOTHING_TIME is in seconds, and is used with the IDL smooth function, as part ' + $
	'of this algorithm.  The SMOOTHING_TIME should not be longer than the accumulation ' + $
	'interval.  If you want to use your own smoothing profile, determine it on regular ' + $
	'bins, and load it into USER_FLUX_VAR.  To subsequently disable that, and use' + $
	"the algorithm's value, set USER_FLUX_VAR to a scalar value, preferably either 1 or 0."

k = k + 1
d[k].name = 'smoothing_time'
d[k].class = 'hsi_calib_eventlist'
d[k].units = 'sec'
d[k].default = '.5'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Smoothing time for flux variation profile.  Used only if use_flux_var is set.'
d[k].more_doc = 'If USE_FLUX_VAR is set, then hsi_calib_eventlist::DEMODULATE ' + $
	'attempts to construct a demodulated ' + $
	'profile of the true flux variation in the energy band, unmarred by grid modulation.  ' + $
	'The SMOOTHING_TIME is in seconds, and is used with the IDL smooth function, as part ' + $
	'of this algorithm.  The SMOOTHING_TIME should not be longer than the accumulation ' + $
	'interval.  If you want to use your own smoothing profile, determine it on regular ' + $
	'bins, and load it into USER_FLUX_VAR.  To subsequently disable that, and use' + $
	"the algorithm's value, set USER_FLUX_VAR to a scalar value, preferably either 1 or 0."

k = k + 1
d[k].name = 'srt_filename'
d[k].class = 'hsi_calib_eventlist'
d[k].units = 'N/A'
d[k].default = 'srt_2*.dat'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'eb_index'
d[k].class = 'hsi_calib_eventlist'
d[k].units = ''
d[k].default = '0'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = 'Not used.'
d[k].more_doc = ''

k = k + 1
d[k].name = 'use_time_window'
d[k].class = 'hsi_calib_eventlist'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

; Control parameters for hsi_monitor_rate
k = k + 1
d[k].name = 'mr_time_range'
d[k].class = 'hsi_monitor_rate'
d[k].units = 'sec'
d[k].default = '[0,0]'
d[k].range = '0 - 100'
d[k].level = 'Expert'
d[k].purpose = 'Time interval for which monitor rates are requested'
d[k].more_doc = ''

k = k + 1
d[k].name = 'no_102'
d[k].class = 'hsi_monitor_rate'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'det_index_mask'
d[k].class = 'hsi_monitor_rate'
d[k].units = 'N/A'
d[k].default = '[0,0,0,1,1,1,1,1,0]'
d[k].range = '0 - 1'
d[k].level = 'Standard'
d[k].purpose = 'Flags for selecting detectors'
d[k].more_doc = ''


; Control parameters for hsi_modul_profile
k = k + 1
d[k].name = 'vimage'
d[k].class = 'hsi_modul_profile'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

; Control parameters for hsi_fastrate
k = k + 1
d[k].name = 'fr_time_range'
d[k].class = 'hsi_fastrate'
d[k].units = 'sec'
d[k].default = ''
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'fr_energy_band'
d[k].class = 'hsi_fastrate'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'fr_det_index_mask'
d[k].class = 'hsi_fastrate'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

; Control parameters for hsi_obs_summary
k = k + 1
d[k].name = 'filename'
d[k].class = 'hsi_obs_summary'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Standard'
d[k].purpose = 'File to retrieve data from.'
d[k].more_doc = ''

k = k + 1
d[k].name = 'obs_time_interval'
d[k].class = 'hsi_obs_summary'
d[k].units = 'ANYTIM'
d[k].default = ''
d[k].range = ''
d[k].level = 'Standard'
d[k].purpose = 'Absolute time interval to retrieve data for.'
d[k].more_doc = ''

k = k + 1
d[k].name = 'data_dir'
d[k].class = 'hsi_obs_summary'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Standard'
d[k].purpose = "Directory input file is in."
d[k].more_doc = ''

; Control parameters for hsi_vismod_pattern
; Control parameters for hsi_pixon
k = k + 1
d[k].name = 'pixon_resolution'
d[k].class = 'hsi_pixon'
d[k].units = 'pixel'
d[k].default = '1'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Minimum resolution to search'
d[k].more_doc = ''

k = k + 1
d[k].name = 'pixon_snr'
d[k].class = 'hsi_pixon'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = '0 - 1'
d[k].level = 'Advanced'
d[k].purpose = 'If set, weight residuals by the signal-to-noise ratio.  Not very useful.'
d[k].more_doc = ''

k = k + 1
d[k].name = 'pixon_guess'
d[k].class = 'hsi_pixon'
d[k].units = 'N/A'
d[k].default = 'Back projection image'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Image used as initial guess for pixon reconstruction'
d[k].more_doc = ''

k = k + 1
d[k].name = 'pixon_sizes'
d[k].class = 'hsi_pixon'
d[k].units = 'N/A'
d[k].default = 'Powers of sqrt(2.0)'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Array of pixon resolutions to use. Choose  ' + $
	'findgen(32)+1 for more robust but slower solution.'
d[k].more_doc = ''

k = k + 1
d[k].name = 'pixon_sensitivity'
d[k].class = 'hsi_pixon'
d[k].units = 'N/A'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Sensitivity used in creating pixon map.  0. is most sensitive, > 3. is very insensitive.'
d[k].more_doc = ''

k = k + 1
d[k].name = 'pixon_noplot'
d[k].class = 'hsi_pixon'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = '0 - 1'
d[k].level = 'Standard'
d[k].purpose = 'If set, do not show intermediate plots'
d[k].more_doc = ''

k = k + 1
d[k].name = 'pixon_smpattwritedir'
d[k].class = 'hsi_pixon'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Standard'
d[k].purpose = 'Directory to save new smoothed patterns in if they are calculated'
d[k].more_doc = ''

k = k + 1
d[k].name = 'pixon_progress_bar'
d[k].class = 'hsi_pixon'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = '0 - 1'
d[k].level = 'Standard'
d[k].purpose = 'If set, show progress bar with cancel option'
d[k].more_doc = ''

; Control parameters for hsi_image
k = k + 1
d[k].name = 'flare_id_nr'
d[k].class = 'hsi_image'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'image_algorithm'
d[k].class = 'hsi_image'
d[k].units = 'N/A'
d[k].default = 'Bproj'
d[k].range = 'BProj, Clean, MEM Sato, MEMVIS, Pixon, Forward Fit'
d[k].level = 'Standard'
d[k].purpose = 'Algorithm to use in image reconstruction'
d[k].more_doc = ''

k = k + 1
d[k].name = 'imaging_method'
d[k].class = 'hsi_image'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

; Control parameters for hsi_psf
k = k + 1
d[k].name = 'xy_pixel'
d[k].class = 'hsi_psf'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

; Control parameters for hsi_forwardfit
k = k + 1
d[k].name = 'ff_n_par'
d[k].class = 'hsi_forwardfit'
d[k].units = 'N/A'
d[k].default = '4'
d[k].range = '4,6,7'
d[k].level = 'Standard'
d[k].purpose = 'Number of free parameters per gaussian component'
d[k].more_doc = 'Number of free parameters per gaussian component: ' + $
	'4 for gaussian, 6 for elliptical, 7 for curved elliptical'

k = k + 1
d[k].name = 'ff_n_gaussians'
d[k].class = 'hsi_forwardfit'
d[k].units = 'N/A'
d[k].default = '1'
d[k].range = '>1'
d[k].level = 'Standard'
d[k].purpose = 'Number of gaussian components'
d[k].more_doc = ''

k = k + 1
d[k].name = 'ff_nitmax'
d[k].class = 'hsi_forwardfit'
d[k].units = 'N/A'
d[k].default = '10'
d[k].range = '>3'
d[k].level = 'Standard'
d[k].purpose = 'Max number of iterations'
d[k].more_doc = ''

k = k + 1
d[k].name = 'ff_ftol'
d[k].class = 'hsi_forwardfit'
d[k].units = 'N/A'
d[k].default = '0.0001'
d[k].range = '>0'
d[k].level = 'Standard'
d[k].purpose = 'Tolerance for convergence'
d[k].more_doc = ''

k = k + 1
d[k].name = 'ff_min_sigma'
d[k].class = 'hsi_forwardfit'
d[k].units = 'N/A'
d[k].default = '1.02'
d[k].range = '>1'
d[k].level = 'Standard'
d[k].purpose = 'Minimum sigma in modulation for a detector to be included'
d[k].more_doc = ''

k = k + 1
d[k].name = 'ff_minsep'
d[k].class = 'hsi_forwardfit'
d[k].units = 'arcsec'
d[k].default = '0.0'
d[k].range = '>0'
d[k].level = 'Standard'
d[k].purpose = 'Minimum separation required between centroids of adjacent gaussians'
d[k].more_doc = ''

k = k + 1
d[k].name = 'ff_fixed_pixel'
d[k].class = 'hsi_forwardfit'
d[k].units = 'N/A'
d[k].default = '1'
d[k].range = '0 - 1'
d[k].level = 'Advanced'
d[k].purpose = 'If set, disable automated pixel adjustment'
d[k].more_doc = ''

k = k + 1
d[k].name = 'ff_pixelized'
d[k].class = 'hsi_forwardfit'
d[k].units = 'N/A'
d[k].default = '1'
d[k].range = '0 - 1'
d[k].level = 'Advanced'
d[k].purpose = 'Not implemented yet'
d[k].more_doc = ''

k = k + 1
d[k].name = 'ff_testplot'
d[k].class = 'hsi_forwardfit'
d[k].units = 'N/A'
d[k].default = '1'
d[k].range = '0 - 1'
d[k].level = 'Standard'
d[k].purpose = 'If set, show intermediate plots'
d[k].more_doc = ''

k = k + 1
d[k].name = 'ff_savefile'
d[k].class = 'hsi_forwardfit'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = '0 - 1'
d[k].level = 'Standard'
d[k].purpose = 'If set, save intermediate plots (PS file) and parameters (IDL save file)'
d[k].more_doc = ''

k = k + 1
d[k].name = 'ff_savename'
d[k].class = 'hsi_forwardfit'
d[k].units = ''
d[k].default = 'hsi_forwardfit.sav'
d[k].range = ''
d[k].level = 'Standard'
d[k].purpose = 'Name of file to write if ff_savefile is set'
d[k].more_doc = ''

k = k + 1
d[k].name = 'ff_progress_bar'
d[k].class = 'hsi_forwardfit'
d[k].units = 'N/A'
d[k].default = '1'
d[k].range = '0 - 1'
d[k].level = 'Standard'
d[k].purpose = 'If set, show progress bar with cancel option'
d[k].more_doc = ''

k = k + 1
d[k].name = 'ff_init_set'
d[k].class = 'hsi_forwardfit'
d[k].units = ''
d[k].default = '0'
d[k].range = '0 - 1'
d[k].level = 'Advanced'
d[k].purpose = 'Choose method for initializing parameters'
d[k].more_doc = 'ff_init_set is used to choose the method for initializing parameters'+ $
	'<P>   (for example - the position of gaussian sources)' + $
	'<P>0 - determined from maxima in backprojection maps' + $
	'<P>1 - pre-estimated from previous run saved in file ff_last.sav'

k = k + 1
d[k].name = 'ff_background_map'
d[k].class = 'hsi_forwardfit'
d[k].units = ''
d[k].default = '1'
d[k].range = '0 - 1'
d[k].level = 'Standard'
d[k].purpose = 'If set, forward-fit includes background of unmodulated sources'
d[k].more_doc = ''

k = k + 1
d[k].name = 'ff_background_det'
d[k].class = 'hsi_forwardfit'
d[k].units = ''
d[k].default = '1'
d[k].range = '0 - 1'
d[k].level = 'Standard'
d[k].purpose = 'If set, forward-fit includes detector background in time profiles'
d[k].more_doc = ''

; Control parameters for hsi_bproj_strategy
k = k + 1
d[k].name = 'flatfield'
d[k].class = 'hsi_bproj_strategy'
d[k].units = 'N/A'
d[k].default = '1'
d[k].range = '0 - 1'
d[k].level = 'Standard'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'vrate'
d[k].class = 'hsi_bproj_strategy'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'weight'
d[k].class = 'hsi_bproj_strategy'
d[k].units = 'N/A'
d[k].default = '1'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = 'just for the transition'
d[k].more_doc = ''

k = k + 1
d[k].name = 'natural_weighting'
d[k].class = 'hsi_bproj_strategy'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'uniform_weighting'
d[k].class = 'hsi_bproj_strategy'
d[k].units = 'N/A'
d[k].default = '1'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'spatial_frequency_weight'
d[k].class = 'hsi_bproj_strategy'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'taper'
d[k].class = 'hsi_bproj_strategy'
d[k].units = 'N/A'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

; Control parameters for hsi_annsec_pattern
k = k + 1
d[k].name = 'factor_by'
d[k].class = 'hsi_annsec_pattern'
d[k].units = 'N/A'
d[k].default = '1'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'modpat_skip'
d[k].class = 'hsi_annsec_pattern'
d[k].units = 'N/A'
d[k].default = '1'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Controls the interpolation of modulation patterns'
d[k].more_doc = 'Used to control how fine the interpolation of the modulation patterns is when ' + $
	'constructing the image.  The default of 1 means use every modulation pattern available ' + $
	'(best resolution).  Increasing modpat_skip results in faster image reconstruction with some ' + $
	'loss of resolution in the image.  Setting modpat_skip as high as 12 usually results in ' + $
	'an acceptable image.'

k = k + 1
d[k].name = 'r0_offset'
d[k].class = 'hsi_annsec_pattern'
d[k].units = 'arcsec'
d[k].default = '2560.'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Distance between annular sector axis and map center'
d[k].more_doc = 'R0_offset is the distance in arcseconds between the annular sector axis (not nececessarily ' + $
	'the telescope axis or sun-center) and the map center. r0_offset must be greater than ' + $
	'the half-length of the FOV along the radial directions.  The default is image_dim[0] * ' + $
	'pixel_size[0] * pixel_scale  * 10.'

; Control parameters for hsi_modul_pattern_strategy
k = k + 1
d[k].name = 'image_dim'
d[k].class = 'hsi_modul_pattern_strategy'
d[k].units = 'pixel'
d[k].default = '[64,64]'
d[k].range = '16 - 1024'
d[k].level = 'Standard'
d[k].purpose = 'Dimensions of image'
d[k].more_doc = 'Image_dim defines the total number of pixels used in the x and y dimensions.<br>' + $
	'Pixel_size defines the size in arcsec of each pixel in x and y. ' + $
	'<P>The total size of the reconstructed image is image_dim times pixel_size.<br>' + $
	'Example: if image_dim=[32,64] and pixel_size=[4,4] then image will be 128 X 256 arcsec'


k = k + 1
d[k].name = 'pixel_scale'
d[k].class = 'hsi_modul_pattern_strategy'
d[k].units = 'N/A'
d[k].default = '1.0'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'pixel_size'
d[k].class = 'hsi_modul_pattern_strategy'
d[k].units = 'arcsec'
d[k].default = '[4,4]'
d[k].range = '1 - 100'
d[k].level = 'Standard'
d[k].purpose = 'X,Y size of the image pixel'
d[k].more_doc = 'Image_dim defines the total number of pixels used in the x and y dimensions.<br>' + $
	'Pixel_size defines the size in arcsec of each pixel in x and y. ' + $
	'<P>The total size of the reconstructed image is image_dim times pixel_size.<br>' + $
	'Example: if image_dim=[32,64] and pixel_size=[4,4] then image will be 128 X 256 arcsec'

; Control parameters for hsi_spectrogram
k = k + 1
d[k].name = 'poisson'
d[k].class = 'hsi_spectrogram'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'seed'
d[k].class = 'hsi_spectrogram'
d[k].units = 'N/A'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'coincidence_flag'
d[k].class = 'hsi_spectrogram'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = '0 -1'
d[k].level = 'Advanced'
d[k].purpose = 'If set, divide the spectrogram into coincident and anti-coincident events'
d[k].more_doc = ''

k = k + 1
d[k].name = 'other_a2d_index_mask'
d[k].class = 'hsi_spectrogram'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = '0 - 1'
d[k].level = 'Advanced'
d[k].purpose = 'Set which other a2ds to return spectrum for'
d[k].more_doc = ''

k = k + 1
d[k].name = 'seg_index_mask'
d[k].class = 'hsi_spectrogram'
d[k].units = 'N/A'
d[k].default = 'All 0'
d[k].range = '0 - 1'
d[k].level = 'Standard'
d[k].purpose = 'Flags for selecting detector and segment'
d[k].more_doc = 'If seg_index_mask and det_index_mask are both set, ' + $
	'det_index_mask takes priority.  <br><br>' + $
	'<P>If neither is set, then a2d_index_mask takes priority.  a2d_index_mask ' + $
	'defaults to all 1''s.  a2d_index_mask should not be changed by users. ' + $
	'<P>det_index_mask is dimensioned bytarr(9) for detectors 1-9. <br>' +  $
	'seg_index_mask is dimensioned bytarr(18): the first 9 indicies refer to ' + $
	'the front segment for detectors 1-9, the second 9 indicies refer to the rear.'

k = k + 1
d[k].name = 'rebin_method'
d[k].class = 'hsi_spectrogram'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = 'Place-holder for spectral dependent rebinning'
d[k].more_doc = ''

k = k + 1
d[k].name = 'rebin_poisson_flag'
d[k].class = 'hsi_spectrogram'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = 'Place-holder for poisson option for rebinning'
d[k].more_doc = ''

k = k + 1
d[k].name = 'rebin_seed'
d[k].class = 'hsi_spectrogram'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = 'Place-holder for poisson seed option for rebinning'
d[k].more_doc = ''

k = k + 1
d[k].name = 'contig_energy_edges'
d[k].class = 'hsi_spectrogram'
d[k].units = 'N/A'
d[k].default = '1'
d[k].range = '0 - 1'
d[k].level = 'Advanced'
d[k].purpose = 'If set, force energy bins to be contiguous'
d[k].more_doc = ''

k = k + 1
d[k].name = 'livetime_enable'
d[k].class = 'hsi_spectrogram'
d[k].units = ''
d[k].default = '1'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = 'default is to process and use livetime'
d[k].more_doc = ''

k = k + 1
d[k].name = 'align512'
d[k].class = 'hsi_spectrogram'
d[k].units = ''
d[k].default = '1'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = 'Align time edges to 512 busec boundaries used with livetime'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sum_flag'
d[k].class = 'hsi_spectrogram'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = '0 - 1'
d[k].level = 'Standard'
d[k].purpose = 'If set, sum the spectrograms over collimators'
d[k].more_doc = 'If COINCIDENCE_FLAG is set, but SUM_COINCIDENCE is not set, ' + $
	'then SUM_FLAG will cause collimators to be summed, but coincidence and ' + $
	'and anti_coincidence spectrum will not be summed.'

k = k + 1
d[k].name = 'sum_coincidence'
d[k].class = 'hsi_spectrogram'
d[k].units = ''
d[k].default = '0'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = 'If set, sum the anti-coincidence and coincidence spectrum'
d[k].more_doc = 'If set, the normal anti-coincidence spectrum will be added to ' + $
	'the coincidence spectrum. ' + $
	'<P><P>NOTE: If COINCIDENCE_FLAG has not been set, setting SUM_COINCIDENCE ' + $
	' will set COINCIDENCE_FLAG and force ' + $
	'reprocessing the spectrogram (spectrum & lightcurve) on calls to GETDATA().'

k = k + 1
d[k].name = 'sp_dp_cutoff'
d[k].class = 'hsi_spectrogram'
d[k].units = ''
d[k].default = '0.000000'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = 'This functionality is disabled 17-nov-02'
d[k].more_doc = ''

k = k + 1
d[k].name = 'use_total_count'
d[k].class = 'hsi_spectrogram'
d[k].units = ''
d[k].default = '0'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = 'For developers only. Total_count is normally not used'
d[k].more_doc = ''

; Control parameters for hsi_srm
k = k + 1
d[k].name = 'ct_edges'
d[k].class = 'hsi_srm'
d[k].units = 'N/A'
d[k].default = '2'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Define counts binning'
d[k].more_doc = 'If a single number, refers to a particular standard ' + $
	'binning (these TBD).  If a string, will be taken ' + $
	'to refer to an input file. Otherwise will be a ' + $
	'(N+1) vector containing boundaries for ' + $
	'N channels of the counts side of the ' + $
	'matrices (in that order). If any of the use_saved[]s ' + $
	'are defined, the binning of that will override ' + $
	'what is supplied.'

k = k + 1
d[k].name = 'ph_edges'
d[k].class = 'hsi_srm'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Define photon binning'
d[k].more_doc = 'If a single number, refers to a particular standard ' + $
	'binning (these TBD).  If a string, will be taken ' + $
	'to refer to an input file. Otherwise will be a ' + $
	'(N+1) vector containing boundaries for ' + $
	'N channels of the photon side of the ' + $
	'matrices (in that order). If any of the use_saved[]s ' + $
	'are defined, the binning of that will override ' + $
	'what is supplied.'

k = k + 1
d[k].name = 'use_segment'
d[k].class = 'hsi_srm'
d[k].units = 'N/A'
d[k].default = '[bytarr(9)+1,bytarr(9)]'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'If set, include the corresponding one of 18 detector segments'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sep_dets'
d[k].class = 'hsi_srm'
d[k].units = 'N/A'
d[k].default = '1'
d[k].range = '0 - 1'
d[k].level = 'Advanced'
d[k].purpose = 'If set, return separate matrices for each detector used'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sep_virds'
d[k].class = 'hsi_srm'
d[k].units = ''
d[k].default = '1'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'astro'
d[k].class = 'hsi_srm'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = '0 - 1'
d[k].level = 'Advanced'
d[k].purpose = 'If set, treat as an astrophysical source (out-of-aperture)'
d[k].more_doc = ''

k = k + 1
d[k].name = 'dead_seg'
d[k].class = 'hsi_srm'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'If set, consider the corresponding one of 18 detector segments to be passive'
d[k].more_doc = ''

k = k + 1
d[k].name = 'simplify'
d[k].class = 'hsi_srm'
d[k].units = 'N/A'
d[k].default = 'bytarr(10)+2'
d[k].range = '0 - 3'
d[k].level = 'Advanced'
d[k].purpose = 'Code to select submatrix terms to use'
d[k].more_doc = 'bytarr(10) For each submatrix: ' + $
	'<P>0 - Full calculation of diagonal, off diagonal terms ' + $
	'<P>1 - Off diagonal terms are an approximation - for most submatrices ' + $
	'this will mean an average of all segments of the right kind ' + $
	'(f,r,coinc.) instead of detector-specific results ' + $
	'<P>2 - Diagonal terms only ' + $
	'<P>3 - Diagonal terms only, and all = 1 (or zero if ' + $
	'it is a normally off-diagonal matrix)'

k = k + 1
d[k].name = 'atten_state'
d[k].class = 'hsi_srm'
d[k].units = 'N/A'
d[k].default = '1'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Attenuator setting'
d[k].more_doc = ''

k = k + 1
d[k].name = 'earth_position'
d[k].class = 'hsi_srm'
d[k].units = 'N/A'
d[k].default = '180.'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Earth Position'
d[k].more_doc = 'Earth position.  If scalar, it is a spin-integrated zenith angle.  ' + $
	'If an array of two values, the second is the azimuth angle (from spacecraft +x).  ' + $
	'<P>Default is azimuth averaged, zenith=180 (Earth behind).'

k = k + 1
d[k].name = 'offax_position'
d[k].class = 'hsi_srm'
d[k].units = 'degrees'
d[k].default = '.25'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Position of source'
d[k].more_doc = 'If scalar > 0, offax_position is a single radius angle in degrees ' + $
	'and azimuth average.  If an array of two values, then zenith and azimuth angles.'

k = k + 1
d[k].name = 'integrator'
d[k].class = 'hsi_srm'
d[k].units = 'N/A'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Assumed power law index over whole spectrum'
d[k].more_doc = 'Assumed power law index over whole spectrum for purposes of ' + $
	'splitting channels into "subchannels", calculating the response for each, ' + $
	'weighting by the assumed powerlaw, and summing back together.'

k = k + 1
d[k].name = 'srm_time_wanted'
d[k].class = 'hsi_srm'
d[k].units = 'sec'
d[k].default = ''
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = 'Time of the observation, for purposes of time-varying ' + $
	'resolution (relative to standard time-zero)'
d[k].more_doc = ''

k = k + 1
d[k].name = 'srm_use_saved'
d[k].class = 'hsi_srm'
d[k].units = 'N/A'
d[k].default = 'bytarr(10)'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'For each submatrix to be read from a saved file, set to the filename'
d[k].more_doc = ''

k = k + 1
d[k].name = 'srm_make_saved'
d[k].class = 'hsi_srm'
d[k].units = 'N/A'
d[k].default = 'bytarr(10)'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'For each submatrix to be written to a saved file, set to the filename'
d[k].more_doc = ''

k = k + 1
d[k].name = 'print_subrms'
d[k].class = 'hsi_srm'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = '0 - 1'
d[k].level = 'Advanced'
d[k].purpose = 'If set, print the submatrices to the screen.  Beware: may be large.'
d[k].more_doc = ''

k = k + 1
d[k].name = 'verbose'
d[k].class = 'hsi_srm'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = '0 -1'
d[k].level = 'Advanced'
d[k].purpose = 'If set, print periodic status updates'
d[k].more_doc = ''

k = k + 1
d[k].name = 'display_result'
d[k].class = 'hsi_srm'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = '0 - 1'
d[k].level = 'Advanced'
d[k].purpose = 'If set, plot the final matrices'
d[k].more_doc = ''

k = k + 1
d[k].name = 'pha_on_row'
d[k].class = 'hsi_srm'
d[k].units = 'N/A'
d[k].default = '1'
d[k].range = '0 - 1'
d[k].level = 'Advanced'
d[k].purpose = 'If set, units of srm are [count energy, photon energy, matrix number].  ' + $
	'If not set, count and photon indices reversed.'
d[k].more_doc = ''

k = k + 1
d[k].name = 'srt_filename'
d[k].class = 'hsi_srm'
d[k].units = ''
d[k].default = 'srt_*.dat'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'apt_filename'
d[k].class = 'hsi_srm'
d[k].units = 'N/A'
d[k].default = 'apt_*.txt'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = ''
d[k].more_doc = ''

; Control parameters for hsi_simulation
k = k + 1
d[k].name = 'sim_time_unit'
d[k].class = 'hsi_simulation'
d[k].units = 'binary microsec (2^-20 sec)'
d[k].default = '1'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Time unit of the time tag in the eventlist.'
d[k].more_doc = 'sim_time_unit is the time unit, in binary microseconds of the .time tag in ' + $
	'the eventlist structure. The default value is 1. It is a good idea to set both ' + $
	'sim_time_unit and time_unit to the same value for all simulations. Note that for ' + $
	'simulations longer than 2048.0 seconds, a larger value of sim_time_unit is ' + $
	'needed. If the time range passed in is lnger that 2048.0 seconds, then the ' + $
	'time_unit will be increased to 16. '

k = k + 1
d[k].name = 'sim_ut_ref'
d[k].class = 'hsi_simulation'
d[k].units = 'ANYTIM'
d[k].default = '--'
d[k].range = '--'
d[k].level = 'Advanced'
d[k].purpose = 'Reference time for simulation'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_time_range'
d[k].class = 'hsi_simulation'
d[k].units = 'sec'
d[k].default = '[0,4]'
d[k].range = '--'
d[k].level = 'Advanced'
d[k].purpose = 'Time range of simulation, relative to sim_ut_ref'
d[k].more_doc = 'time range, in seconds, relative to the reference time ' + $
	'sim_ut_ref for the simulation. Note that sim_time_range is not required if a ' + $
	'time array or time profile is passed in. '

k = k + 1
d[k].name = 'sim_use_spectrum'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = '0 - 1'
d[k].level = 'Advanced'
d[k].purpose = 'If set, use an input spectrum or model spectrum to create simulations.'
d[k].more_doc = 'If set, use an input spectrum or model spectrum to create simulations.  ' + $
	'If set, must also set sim_spec_model and sim_spec_pars, or sim_photon_flux and sim_photon_energy ' + $
	'keywords.

k = k + 1
d[k].name = 'sim_photons_per_coll'
d[k].class = 'hsi_simulation'
d[k].units = 'photons/sec/coll'
d[k].default = '10000.'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Set overall flux level of simulated data'
d[k].more_doc = 'sim_photons_per_coll, a floating point number, is used to control the overall ' + $
	'flux level of the simulated data. The units are in photons per second per ' + $
	'collimator incident on the spacecraft, with a default value of 10000. This is ' + $
	'dealt with differently in the new software; in previous versions, ' + $
	'sim_photons_per_coll referred to photon counts, after the energy response matrix ' + $
	'of the given detector was accounted for, now this number refers to the total ' + $
	'photon flux incident before taking the detector response into account. This ' + $
	'means that there are fewer counts registered in the new version for the same ' + $
	'value of sim_photons_per_coll. This is a scalar. This parameter is ignored if ' + $
	'sim_use_spectrum is set. Note that this is the total value of photons per ' + $
	'detector, if there are multple sources in the image ' + $
	'then the counts are divided up between the sources, ' + $
	'photons_per_source=sim_photons_per_coll*model.amplitude/total(model.amplitude) ' + $
	'<P>If no control parameters are set, then the simulation will run using ' + $
	'sim_photons_per_coll = 1.0e4, as always. '

k = k + 1
d[k].name = 'sim_time_profile_ptr'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Set time profile for simulation (pointer)'
d[k].more_doc = 'sim_time_profile_ptr is a pointer to a structure with two tags, time and ' + $
	'profile. The time profile of the generated events follows profile. The observed ' + $
	'time of the event is governed by interpolating the time integration of the ' + $
	'profile using the time tag, referenced to the start of the time_range. (See ' + $
	'Numerical Recipies, Chapter 7) Profile has values from 0 to 1. Note also that ' + $
	'the time profile will have steps; if you want variation on small time scales, ' + $
	'then you need to pass in a time profile with a small time resolution, or set the ' + $
	'/sim_interp_tprofile keyword.'

k = k + 1
d[k].name = 'sim_photon_flux_ptr'
d[k].class = 'hsi_simulation'
d[k].units = 'photons/cm^2/sec/keV'
d[k].default = ''
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Photon fluxes for simulation (pointer)
d[k].more_doc = 'sim_photon_flux_ptr is a pointer to an array of photon flux in ' + $
	'photons/cm^2/sec/keV. If this is set the sim_spec_pars and sim_spec_model ' + $
	'keywords are ignored, but the photon_energy_ptr keyword must also be used. Note ' + $
	'that photon flux arrays can be different for different sources, just pass in the ' + $
	'array as (n_energies, n_times, n_sources). Note that the values in ' + $
	'sim_photon_flux_ptr can be used to give the shape of the spectrum if the ' + $
	'sim_photons_per_coll parameter is set, but not the magnitude. Note that this is ' + $
	'the total flux for all sources, unless a photon flux is specified for each ' + $
	'source; if there are multple sources in the image ' + $
	'then the flux is divided up between the sources, ' + $
	'flux_per_source=sim_photon_flux*model.amplitude/total(model.amplitude) If a flux ' + $
	'is specified for each source, then model.amplitude is not used. ' + $
	'<P>There are two ways to deal with time variation. If the shape of the spectrum ' + $
	'varies with time then a time array must be passed in using the ' + $
	'sim_photon_times_ptr keyword. If the spectral shape is constant, and only the ' + $
	'magnitude of the spectrum changes, then pass in a time profile and time array in ' + $
	'the sim_time_profile_ptr keyword.'

k = k + 1
d[k].name = 'sim_photon_energy_ptr'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Photon energies for the input photon flux (pointer)'
d[k].more_doc = 'sim_photon_energy_ptr is a pointer to an array of photon energies for the ' + $
	'input photon flux. This is required if sim_photon_flux_ptr is used. '

k = k + 1
d[k].name = 'sim_photon_times_ptr'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Time array for input photon flux (pointer)'
d[k].more_doc = 'sim_photon_times_ptr is a pointer to a time array for the input photon flux.  ' + $
	'This is needed if sim_photon_flux_ptr is a 2d (n_energies, ntimes) or 3d ' + $
	'(n_energies, ntimes, n_sources) array. '

k = k + 1
d[k].name = 'sim_spec_pars'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Spectral parameters for the given model'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_spec_model'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_interp_tprofile'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = '0 - 1'
d[k].level = 'Advanced'
d[k].purpose = 'If set, interpolate time profile'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_interp_dt'
d[k].class = 'hsi_simulation'
d[k].units = 'sec'
d[k].default = '1/128'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Time interval for interpolating option (sim_interp_tprofile)'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_just_background'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = '0 - 1'
d[k].level = 'Advanced'
d[k].purpose = 'If set, only background counts are produced'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_background'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Factor to multiply background spectrum given by HESSI_BACKGROUND'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_bkgd_time_unit'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_bkgd_ut_ref'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Same meaning as sim_ut_ref, for background'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_bkgd_time_range'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Same meaning as sim_time_range, for background'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_use_bkgd_spectrum'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Same meaning as sim_use_spectrum, for background'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_bkgd_time_profile_ptr'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Same meaning as sim_time_profile_ptr, for background'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_bkgd_photons_per_coll'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = '0.'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Same meaning as sim_photons_per_coll, for background'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_bkgd_photon_flux_ptr'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Same meaning as sim_photon_flux_ptr, for background'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_bkgd_photon_energy_ptr'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Same meaning as sim_photon_energy_ptr, for background'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_bkgd_photon_times_ptr'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Same meaning as sim_photon_times_ptr, for background'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_bkgd_spec_model'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Same meaning as sim_spec_model, for background'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_bkgd_spec_pars'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Same meaning as sim_spec_pars, for background'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_bkgd_interp_tprofile'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Same meaning as sim_interp_tprofile, for background'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_bkgd_interp_dt'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Same meaning as sim_interp_dt, for background'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_aspect_solution'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Existing aspect solution object to use for aspect solution'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_a2d_index_mask'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = 'All 1s'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Detector/segment selection'
d[k].more_doc = 'sim_a2d_index_mask is a 27 element byte array that controls which detector ' + $
	'data is used in the simulation. A value of 1 indicates the detector will be ' + $
	'used, and a value of 0 indicates that it will not. The first 9 elements refer to ' + $
	'the front segments of detectors 1-9, the next 9 elements of the array refer to ' + $
	'the low energy portion of the rear segments of detectors 1-9, and the last 9 ' + $
	'elements refer to the high energy portion of the rear segments for detectors ' + $
	'1-9. '

k = k + 1
d[k].name = 'sim_pixel_size'
d[k].class = 'hsi_simulation'
d[k].units = 'arcsec'
d[k].default = '1'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Pixel size'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_xyoffset'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = '[600,200]'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Center of the simulation box'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_model_ptr'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Model for source for simulation'
d[k].more_doc = 'sim_model can be used to pass in a structure (labelled gaussian_source_str) ' + $
	'which specifies a 2d Gaussian source. The Gaussian is specified by its ' + $
	'amplitude, x and y standard deviation (in arcseconds), its position relative to ' + $
	'the center of the image (in arcseconds), and its tilt angle. The amplitude ' + $
	'refers to the total photon flux from the source, not the peak value. The maximum ' + $
	'value of amplitude is 1, if you want two sources of equal strength, set both ' + $
	'amplitudes to 1.0. See the demo program <A ' + $
	'href="http://sprg.ssl.berkeley.edu/~jimm/hessi/hsi_sim_flare.html#sim_2gaussians.pro">sim_2gaussians.pro ' + $
	'</A>in the <A ' + $
	'href="http://sprg.ssl.berkeley.edu/~jimm/hessi/hsi_sim_flare.html">hsi_sim_flare ' + $
	'</A>document. The model also may be of the type {curved_gaussian_source_str}, ' + $
	'which has a curvature value in addition to the above parameters. The model can ' + $
	'also be given as an array with zeroes everywhere except at the location of point ' + $
	'sources. The non zero values should be specified in normalized units, with a ' + $
	'maximum of 1.0. The default model is a two-component gaussian source with equal ' + $
	'amplitudes, and xy standard deviations of 0.001 arcsec, to simulate point ' + $
	'sources. '

k = k + 1
d[k].name = 'sim_energy_band'
d[k].class = 'hsi_simulation'
d[k].units = 'keV'
d[k].default = '[6.,100.]'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Energy band for simulation'
d[k].more_doc = 'sim_energy_band is the energy band for the simulation, the default is [6.0, ' + $
	'100.0] keV. If sim_energy_band has n+1 elements, then the simulation routines ' + $
	'are run n times, once for each energy band. This is the way to simulate large ' + $
	'energy ranges;e.g., if you need to do the range from 3 to 1000 keV, you can pass ' + $
	'in sim_energy_band=[3, 20, 50, 100, 200, 400, 600, 800, 1000] (or something ' + $
	'similar) so that the variation of the grid responses with energy can be ' + $
	'accounted for properly. '

k = k + 1
d[k].name = 'sim_gain_generation'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = '1'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Code for gain-generation.  0=old, 1=new, 2=on-orbit?'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_gain_time_wanted'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_max_size'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = '128'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Default 1d max dimension'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_saszero'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'If set, aspect solution is constant with pointing=[0,0] and roll_period=4'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_srt_filename'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Grid response data file to use.  Default is latest version.'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_seed'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Seed for random number routines.  Set it to reproduce results.'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_nbuff'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = '5.e5'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Max number of photons processed at one time.  Set higher if you have more memory.'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_idpu_version'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Version number of IDPU software'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_cryocooler_power'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = '1'
d[k].range = '0 - 1'
d[k].level = 'Advanced'
d[k].purpose = 'If set, cryocooler is on'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_cold_plate_temp'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = '20'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Cold_plate temperature -60'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_idpu_temp'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = '20'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'IDPU temperature -60'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_heater_power'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = '1'
d[k].range = '0 - 1'
d[k].level = 'Advanced'
d[k].purpose = 'If set, heater is on'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_hv_power'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = '1'
d[k].range = '0 - 1'
d[k].level = 'Advanced'
d[k].purpose = 'If set, high voltage is on'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_actuator_power'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = '1'
d[k].range = '0 - 1'
d[k].level = 'Advanced'
d[k].purpose = 'If set, actuator is on'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_fast_rates'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = '0 - 1'
d[k].level = 'Advanced'
d[k].purpose = 'If set, fast rates are enabled'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_sc_transmit'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'If set, spacecraft is transmitting'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_insun'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = '1'
d[k].range = '0 - 1'
d[k].level = 'Advanced'
d[k].purpose = 'If set, spacecraft is in sunlight'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_ssr_state'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Measurs of how full SSR memory is.  0=empty, 8=full'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_atten_state'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = '1'
d[k].range = '0,1,2,3'
d[k].level = 'Advanced'
d[k].purpose = 'Attenuator state.  0=no attenuators, 1=Thin in, thick out, ' + $
	'2=thick in, thin out, 3=both in.'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_roll_period'
d[k].class = 'hsi_simulation'
d[k].units = 'sec'
d[k].default = '4.0'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_quiet'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = ''
d[k].more_doc = ''

; Control parameters for hsi_eventlist_strategy
k = k + 1
d[k].name = 'a2d_index_mask'
d[k].class = 'hsi_eventlist_strategy'
d[k].units = 'N/A'
d[k].default = 'BytArr(27) + 1B'
d[k].range = '0 - 1'
d[k].level = 'Expert'
d[k].purpose = 'Mask for the selection of a2d events'
d[k].more_doc = ''

k = k + 1
d[k].name = 'energy_band'
d[k].class = 'hsi_eventlist_strategy'
d[k].units = 'keV'
d[k].default = '[12,25]'
d[k].range = '1 - 15000'
d[k].level = 'Standard'
d[k].purpose = 'Not used.'
d[k].more_doc = 'The ENERGY_BAND parameter in ' + $
	'the hsi_binned_eventlist class is used for imaging. ' + $
	'The ENERGY_BAND parameter in the hsi_eventlist_strategy class is no longer used. ' + $
	'<P>ENERGY_BAND is no longer used at all for the lightcurve and spectrum objects. ' + $
	'For lightcurve and spectrum, the default value is [0.,0.] and should not be changed. ' + $
	'<P>For lightcurve, use LTC_ENERGY_BAND to set energy bands.' + $
	'<P>For spectrum, use SP_ENERGY_BINNING to set energy bands.' + $
	'<P><P>For image, use ENERGY_BAND to set the min, max of the energies to use, but see ' + $
	'IM_ENERGY_BINNING and EB_INDEX for more options for setting energy bands ' + $
	'for images.'

k = k + 1
d[k].name = 'gain_time_wanted'
d[k].class = 'hsi_eventlist_strategy'
d[k].units = 'N/A'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'gain_generation'
d[k].class = 'hsi_eventlist_strategy'
d[k].units = 'N/A'
d[k].default = '1000'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'time_range'
d[k].class = 'hsi_eventlist_strategy'
d[k].units = 'sec or ANYTIM'
d[k].default = '[0,4]'
d[k].range = '0 - ?'
d[k].level = 'Standard'
d[k].purpose = 'Time range to accumulate relative to ' + $
    'obs_time_interval, or absolute'
d[k].more_doc = 'If time_range is given as a fully referenced absolute time in ' + $
	'in ANYTIM format (e.g. [''2000/9/1 12:06:10'', ''2000/9/1 12:06:16''], then ' + $
	'the control parameter obs_time_interval is set to time_range. ' + $
	'<P>Otherwise, time_range is in seconds relative to obs_time_interval.'

k = k + 1
d[k].name = 'number_of_half_rotations'
d[k].class = 'hsi_eventlist_strategy'
d[k].units = ''
d[k].default = '0'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'time_unit'
d[k].class = 'hsi_eventlist_strategy'
d[k].units = 'binary microsec (2^-20 sec)'
d[k].default = '1'
d[k].range = '1 - 32'
d[k].level = 'Expert'
d[k].purpose = 'Time unit used in the eventlist time tags '
d[k].more_doc = 'Time unit must be 1 for coincidence.  Defaults to 1 for spectrum '+ $
	'and image, 16 for lightcurve.'

k = k + 1
d[k].name = 'no_livetime'
d[k].class = 'hsi_eventlist_strategy'
d[k].units = ''
d[k].default = '0'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'ct_interpolate'
d[k].class = 'hsi_eventlist_strategy'
d[k].units = ''
d[k].default = '0'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'deflt_atten_state'
d[k].class = 'hsi_eventlist_strategy'
d[k].units = ''
d[k].default = '1'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Use this value for attenuator state if can"t read it from packet.' + $
	' Used with sim data.'
d[k].more_doc = ''

k = k + 1
d[k].name = 'extend_time_range'
d[k].class = 'hsi_eventlist_strategy'
d[k].units = ''
d[k].default = '2.0'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = 'Internal parameter - extends time to find dropouts'
d[k].more_doc = ''

k = k + 1
d[k].name = 'dp_cutoff'
d[k].class = 'hsi_eventlist_strategy'
d[k].units = ''
d[k].default = '0.01'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = 'dropout cutoff, min duration for dropout to be recognized'
d[k].more_doc = ''

k = k + 1
d[k].name = 'dp_enable'
d[k].class = 'hsi_eventlist_strategy'
d[k].units = ''
d[k].default = '1'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = 'If set, handle dropouts'
d[k].more_doc = ''

k = k + 1
d[k].name = 'min_time_4_off'
d[k].class = 'hsi_eventlist_strategy'
d[k].units = ''
d[k].default = '0.1'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = 'Minimum time without events to consider detectors off'
d[k].more_doc = ''

k = k + 1
d[k].name = 'dp_lld'
d[k].class = 'hsi_eventlist_strategy'
d[k].units = ''
d[k].default = '51,49,52,54,52,44,50,46,40'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = 'Events at this channel or below don"t end datagap.'
d[k].more_doc = ''

; Control parameters for hsi_eventlist_file
k = k + 1
d[k].name = 'ev_filename'
d[k].class = 'hsi_eventlist_file'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

; Control parameters for hsi_bproj
; Control parameters for hsi_aspect_solution
k = k + 1
d[k].name = 'aspect_mode'
d[k].class = 'hsi_aspect_solution'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'aspect_cntl_level'
d[k].class = 'hsi_aspect_solution'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'aspect_sim'
d[k].class = 'hsi_aspect_solution'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'aspect_time_range'
d[k].class = 'hsi_aspect_solution'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'as_interpol'
d[k].class = 'hsi_aspect_solution'
d[k].units = ''
d[k].default = 'quad'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'ras_time_extension'
d[k].class = 'hsi_aspect_solution'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'saszero'
d[k].class = 'hsi_aspect_solution'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = '0 - 1'
d[k].level = 'Expert'
d[k].purpose = 'If set, assume a perfect aspect solution'
d[k].more_doc = ''

k = k + 1
d[k].name = 'as_spin_period'
d[k].class = 'hsi_aspect_solution'
d[k].units = ''
d[k].default = '4.0'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'as_roll_offset'
d[k].class = 'hsi_aspect_solution'
d[k].units = ''
d[k].default = '0.00000000'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'as_roll_solution'
d[k].class = 'hsi_aspect_solution'
d[k].units = ''
d[k].default = 'fix'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = '"FIX, PMT, RAS"'
d[k].more_doc = ''

k = k + 1
d[k].name = 'as_point_solution'
d[k].class = 'hsi_aspect_solution'
d[k].units = ''
d[k].default = 'sas'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = '"SAS, FSS"'
d[k].more_doc = ''

k = k + 1
d[k].name = 'pmtras_diagnostic'
d[k].class = 'hsi_aspect_solution'
d[k].units = ''
d[k].default = '0'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = 'to be passed to pmtras_analy'
d[k].more_doc = ''

; Control parameters for hsi_packet_file

k = k + 1
d[k].name = 'check_bad_packet'
d[k].class = 'hsi_packet_file'
d[k].units = ''
d[k].default = '0'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'adp_test'
d[k].class = 'hsi_packet_file'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = '0 - 1'
d[k].level = 'Expert'
d[k].purpose = 'If set, some selection tests are done for the aspect data ' + $
    'processor '
d[k].more_doc = ''

k = k + 1
d[k].name = 'app_id'
d[k].class = 'hsi_packet_file'
d[k].units = 'N/A'
d[k].default = 'All'
d[k].range = '0 - 300'
d[k].level = 'Expert'
d[k].purpose = 'Only packets with this or these app id(s) are returned ' + $
    '(scalar or vector)'
d[k].more_doc = ''

k = k + 1
d[k].name = 'obs_time_interval'
d[k].class = 'hsi_packet_file'
d[k].units = 'ANYTIM'
d[k].default = '[0.d,0.d]'
d[k].range = ''
d[k].level = 'Standard'
d[k].purpose = 'Absolute time interval to retrieve data for.'
d[k].more_doc = 'Primary method for selecting overall time interval of data to retrieve.  ' + $
	'Use time_range parameter to specify offsets from obs_time_interval[0] for exact times to analyze.  ' + $
	'Filename parameter will automatically be set to the file containing the requested time. ' + $
	'<P>Example: obs_time_interval =   [''2000/09/01 12:00:32'', ''2000/09/01 14:30:23''] '

k = k + 1
d[k].name = 'packet_time_range'
d[k].class = 'hsi_packet_file'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'packet_per_bunch'
d[k].class = 'hsi_packet_file'
d[k].units = 'N/A'
d[k].default = '1000'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'filename'
d[k].class = 'hsi_packet_file'
d[k].units = 'N/A'
d[k].default = 'None'
d[k].range = ''
d[k].level = 'Standard'
d[k].purpose = 'Name(s) of the level-0/telemetry data file(s)'
d[k].more_doc = 'Specifies the filename containing the level-0 ' + $
	'data. The filename may be of type FITS, ITOS, GSE, SMEX or RAW. ' + $
	'<br>Note: users will normally select data by setting a time interval ' + $
	'through the obs_time_interval and/or time_range parameters, which ' + $
	'will automatically set the correct filename.'

; Control parameters for hsi_lightcurve
k = k + 1
d[k].name = 'ltc_energy_band'
d[k].class = 'hsi_lightcurve'
d[k].units = 'keV'
d[k].default = '[3,15000]'
d[k].range = '1 - 15000'
d[k].level = 'Standard'
d[k].purpose = 'Energy band(s) for the lightcurve'
d[k].more_doc = ''

k = k + 1
d[k].name = 'ltc_time_range'
d[k].class = 'hsi_lightcurve'
d[k].units = 'sec'
d[k].default = '[0,0]'
d[k].range = '0 - 1.e9'
d[k].level = 'Standard'
d[k].purpose = 'Time range for the light curve relative to obs_time_interval'
d[k].more_doc = ''

k = k + 1
d[k].name = 'ltc_time_resolution'
d[k].class = 'hsi_lightcurve'
d[k].units = 'sec'
d[k].default = '.1'
d[k].range = '.001 - ?'
d[k].level = 'Standard'
d[k].purpose = 'Lightcurve time bin size'
d[k].more_doc = ''

; Control parameters for hsi_binned_eventlist

k = k + 1
d[k].name = 'energy_band'
d[k].class = 'hsi_binned_eventlist'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'Standard'
d[k].purpose = 'Min and max energy value of the analysis interval'
d[k].more_doc = 'The ENERGY_BAND parameter in ' + $
	'the hsi_binned_eventlist class is used for imaging. ' + $
	'The ENERGY_BAND parameter in the hsi_eventlist_strategy class is no longer used. ' + $
	'<P>ENERGY_BAND is no longer used at all for the lightcurve and spectrum objects. ' + $
	'For lightcurve and spectrum, the default value is [0.,0.] and should not be changed. ' + $
	'<P>For lightcurve, use LTC_ENERGY_BAND to set energy bands.' + $
	'<P>For spectrum, use SP_ENERGY_BINNING to set energy bands.' + $
	'<P><P>For image, use ENERGY_BAND to set the min, max of the energies to use, but see ' + $
	'IM_ENERGY_BINNING and EB_INDEX for more options for setting energy bands ' + $
	'for images.'

k = k + 1
d[k].name = 'front_segment'
d[k].class = 'hsi_binned_eventlist'
d[k].units = 'N/A'
d[k].default = '1'
d[k].range = '0 - 1'
d[k].level = 'Standard'
d[k].purpose = 'If set, use detector front segments'
d[k].more_doc = ''

k = k + 1
d[k].name = 'rear_segment'
d[k].class = 'hsi_binned_eventlist'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = '0 - 1'
d[k].level = 'Standard'
d[k].purpose = 'If set, use detector rear segments'
d[k].more_doc = ''

k = k + 1
d[k].name = 'im_energy_binning'
d[k].class = 'hsi_binned_eventlist'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'Standard'
d[k].purpose = 'Defines energy binning.  If scalar, interpret as code ' + $
   'for predefined energy bins, otherwise as energy edges'
d[k].more_doc = 'Defines the energy binning for making images. ' + $
	'<P>If this is a single value (scalar), the energy edges are read from ' + $
     'the corresponding ct_edges table in the ' + $
	'dbase. To see a description of the codes, look at the file ' + $
	'$SSW/hessi/dbase/energy_binning.txt. ' + $
	'<P>If it is a 1D array with M values, it ' + $
	'considers each value as the edge of a ' + $
	'(contiguous) energy channel (therefore there ' + $
	'will be M-1 energy bins). ' + $
	'<P>If it is a 2 x N ' + $
	'array, then each 2-element vector is a ' + $
	'separate energy channel, and there will be N energy bins. ' + $
	'<P><P>IM_ENERGY_BINNING is used in conjunction with EB_INDEX. ' + $
	'EB_INDEX is the index into the energy bin array (starting at 0) to use. ' + $
	'ENERGY_BAND will be set to the energy edges actually used.' + $
	'<P><P>The advantage of using IM_ENERGY_BINNING and EB_INDEX instead of ENERGY_BAND ' + $
	'is that it will be faster ' + $
	'if you are doing multiple energy bins for a time range, since  ' + $
	'the binned eventlist will only be called once for a given time range. ' + $
	'<P><P>NOTE:  Using ENERGY_BAND still works for setting the energy band.  However, ' + $
	'once you have set IM_ENERGY_BINNING in a given object, you can ' + $
	'no longer use ENERGY_BAND to set the energy edges.'

k = k + 1
d[k].name = 'eb_index'
d[k].class = 'hsi_binned_eventlist'
d[k].units = ''
d[k].default = '0'
d[k].range = ''
d[k].level = 'Standard'
d[k].purpose = 'Selects the energy bin to use.'
d[k].more_doc = 'EB_INDEX is the index into the energy bin array (starting at 0) to use. ' + $
	'Used in conjunction with IM_ENERGY_BINNING.  IM_ENERGY_BINNING defines energy ' + $
	'binning for making images. ' + $
	'<P>ENERGY_BAND will be set to the energy edges actually used.' + $
	'<P><P>The advantage of using IM_ENERGY_BINNING and EB_INDEX instead of ENERGY_BAND ' + $
	'is that it will be faster ' + $
	'if you are doing multiple energy bins for a time range, since  ' + $
	'the binned eventlist will only be called once for a given time range. '

k = k + 1
d[k].name = 'time_bin_def'
d[k].class = 'hsi_binned_eventlist'
d[k].units = 'N/A'
d[k].default = '[1,1,2,4,8,8,16,32,64]'
d[k].range = '1 - 2^6'
d[k].level = 'Advanced'
d[k].purpose = 'Factors multiplying time_bin_min to define detector-'+ $
	'dependent time bin size'
d[k].more_doc = ''

k = k + 1
d[k].name = 'time_bin_min'
d[k].class = 'hsi_binned_eventlist'
d[k].units = 'binary microsec (2^-20 sec)'
d[k].default = '1024'
d[k].range = '1 - ?'
d[k].level = 'Advanced'
d[k].purpose = 'Min time bin size (used with time_bin_def to set ' + $
	'time bins for each detector)'
d[k].more_doc = ''

k = k + 1
d[k].name = 'det_index_mask'
d[k].class = 'hsi_binned_eventlist'
d[k].units = 'N/A'
d[k].default = '[0,0,0,1,1,1,1,1,0]'
d[k].range = '0 - 1'
d[k].level = 'Standard'
d[k].purpose = 'Flags for selecting detectors'
d[k].more_doc = 'IMAGE:  <P>det_index_mask is a 9x3 byte array.  It is used to specify ' + $
	'the detectors and harmonics used by the imaging software.  The first index refers to ' + $
	'the 9 collimators, the second index refers to the fundamental, second and third harmonic.' + $
	'<P>Example:  set det_index_mask[0:2,0]=1 and all other values to 0 to use only the ' + $
	'fundamental on the first 3 collimators.' + $
	'<P>SPECTRUM: <P>' + $
	'If seg_index_mask and det_index_mask are both set, ' + $
	'det_index_mask takes priority. ' + $
	'<P>If neither is set, then a2d_index_mask takes priority.  a2d_index_mask ' + $
	'defaults to all 1''s.  a2d_index_mask should not be changed by users.' + $
	'<P>det_index_mask is dimensioned bytarr(9) for detectors 1-9. <br>' +  $
	'seg_index_mask is dimensioned bytarr(18): the first 9 indicies refer to ' + $
	'the front segment for detectors 1-9, the second 9 indicies refer to the rear.'


; Control parameters for hsi_spectrum
k = k + 1
d[k].name = 'sp_chan_binning'
d[k].class = 'hsi_spectrum'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = '0 - 8192'
d[k].level = 'Standard'
d[k].purpose = 'Defines the channel binning.  If scalar, defines bin ' + $
   'size, otherwise edges.'
d[k].more_doc = 'Defines the channel binning. It can be a ' + $
	'single value, which assumes a constant channel ' + $
	'binning, or an array of channel "edges". If ' + $
	'this is used (i.e. nonzero) it has precedence ' + $
	'over the sp_energy_binning parameter.'

k = k + 1
d[k].name = 'sp_chan_min'
d[k].class = 'hsi_spectrum'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'sp_chan_max'
d[k].class = 'hsi_spectrum'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'sp_energy_binning'
d[k].class = 'hsi_spectrum'
d[k].units = 'N/A'
d[k].default = '7'
d[k].range = '0 - ?'
d[k].level = 'Standard'
d[k].purpose = 'Defines energy binning.  If scalar, interpret as code ' + $
   'for predefined energy bins, otherwise as energy edges'
d[k].more_doc = 'Defines the energy binning of the spectra.  ' + $
	'<P>If this is a single value (scalar), the energy edges are read from ' + $
     'the corresponding ct_edges table in the ' + $
	'dbase. To see a description of the codes, look at the file ' + $
	'$SSW/hessi/dbase/energy_binning.txt. ' + $
	'<P>If it is a 1D array with M values, it ' + $
	'considers each value as the edge of a ' + $
	'(contiguous) energy channel (therefore there ' + $
	'will be M-1 energy bins). ' + $
	'<P>If it is a 2 x N ' + $
	'array, then each 2-element vector is a ' + $
	'separate energy channel, and the resulting ' + $
	'spectrum has N energy bins.' + $
	'<P>If sp_chan_binning is not 0, then sp_chan_binning takes precedence ' + $
	'over sp_energy_binning.'

k = k + 1
d[k].name = 'sp_bin_time_unit'
d[k].class = 'hsi_spectrum'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = 'If set, sp_time_interval in l64 word as time unit.'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sp_time_interval'
d[k].class = 'hsi_spectrum'
d[k].units = 'sec'
d[k].default = '60'
d[k].range = '0 - ?'
d[k].level = 'Standard'
d[k].purpose = 'Defines time interval(s) for spectra.  If scalar, interpret as width, ' + $
	'otherwise as time bin edges'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sp_semi_calibrated'
d[k].class = 'hsi_spectrum'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = '0 - 1'
d[k].level = 'Standard'
d[k].purpose = 'If set, calibrates the count rate spectrum using only' + $
	' the diagonal elements of the response matrix'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sp_data_structure'
d[k].class = 'hsi_spectrum'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = '0 - 1'
d[k].level = 'Standard'
d[k].purpose = 'If set, then GETDATA returns a structure with data ' + $
	' (counts, rate, or flux) and errors.'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sp_data_unit'
d[k].class = 'hsi_spectrum'
d[k].units = 'N/A'
d[k].default = 'Counts'
d[k].range = 'Counts, Rate, Flux'
d[k].level = 'Standard'
d[k].purpose = 'Type of data to return in spectrum - counts, counts/sec, ' + $
	'or counts/sec/cm^2/keV'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sp_error_out'
d[k].class = 'hsi_spectrum'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'det_index_mask'
d[k].class = 'hsi_spectrum'
d[k].units = 'N/A'
d[k].default = 'All 0'
d[k].range = '0 - 1'
d[k].level = 'Standard'
d[k].purpose = 'Flags for selecting detectors'
d[k].more_doc = 'IMAGE:  <P>det_index_mask is a 9x3 byte array.  It is used to specify ' + $
	'the detectors and harmonics used by the imaging software.  The first index refers to ' + $
	'the 9 collimators, the second index refers to the fundamental, second and third harmonic.' + $
	'<P>Example:  set det_index_mask[0:2,0]=1 and all other values to 0 to use only the ' + $
	'fundamental on the first 3 collimators.' + $
	'<P>SPECTRUM: <P>' + $
	'If seg_index_mask and det_index_mask are both set, ' + $
	'det_index_mask takes priority. ' + $
	'<P>If neither is set, then a2d_index_mask takes priority.  a2d_index_mask ' + $
	'defaults to all 1''s.  a2d_index_mask should not be changed by users.' + $
	'<P>det_index_mask is dimensioned bytarr(9) for detectors 1-9. <br>' +  $
	'seg_index_mask is dimensioned bytarr(18): the first 9 indicies refer to ' + $
	'the front segment for detectors 1-9, the second 9 indicies refer to the rear.'

k = k + 1
d[k].name = 'flare_start_time'
d[k].class = 'hsi_spectrum'
d[k].units = ''
d[k].default = '0.00000000'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = 'Include flare start and end time to exclude from corrections'
d[k].more_doc = ''

k = k + 1
d[k].name = 'flare_end_time'
d[k].class = 'hsi_spectrum'
d[k].units = ''
d[k].default = '0.00000000'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = 'for attenuator and grid trans'
d[k].more_doc = ''

k = k + 1
d[k].name = 'flare_bck_time'
d[k].class = 'hsi_spectrum'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

; Control parameters for hsi_multi_image
k = k + 1
d[k].name = 'im_time_interval'
d[k].class = 'hsi_multi_image'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'multi_time_range'
d[k].class = 'hsi_multi_image'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'multi_fits_filename'
d[k].class = 'hsi_multi_image'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'progress_bar'
d[k].class = 'hsi_multi_image'
d[k].units = ''
d[k].default = '1'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

; Control parameters for hsi_qlook
k = k + 1
d[k].name = 'class_name'
d[k].class = 'hsi_qlook'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Standard'
d[k].purpose = 'Class name to retrieve data for.'
d[k].more_doc = ''

k = k + 1
d[k].name = 'version'
d[k].class = 'hsi_qlook'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'version number'
d[k].more_doc = ''

k = k + 1
d[k].name = 'id_string'
d[k].class = 'hsi_qlook'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'An identifying string'
d[k].more_doc = ''

k = k + 1
d[k].name = 'vers_info'
d[k].class = 'hsi_qlook'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Version number for info'
d[k].more_doc = ''

k = k + 1
d[k].name = 'vers_data'
d[k].class = 'hsi_qlook'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Version number for data'
d[k].more_doc = ''

k = k + 1
d[k].name = 'obs_time_interval'
d[k].class = 'hsi_qlook'
d[k].units = 'ANYTIM'
d[k].default = ''
d[k].range = ''
d[k].level = 'Standard'
d[k].purpose = 'Absolute time interval to retrieve data for.'
d[k].more_doc = ''

k = k + 1
d[k].name = 'filename'
d[k].class = 'hsi_qlook'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Standard'
d[k].purpose = 'File (including path) to retrieve data from.  Ignored if obs_time_interval is set.'
d[k].more_doc = ''

k = k + 1
d[k].name = 'energy_band'
d[k].class = 'hsi_qlook'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'time_range'
d[k].class = 'hsi_qlook'
d[k].units = 'ANYTIM'
d[k].default = ''
d[k].range = ''
d[k].level = 'Standard'
d[k].purpose = 'Absolute time range of data to retrieve.  ' + $
	'Used only if filename is set.'
d[k].more_doc = ''

k = k + 1
d[k].name = 'nodata'
d[k].class = 'hsi_qlook'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'read_from_archive'
d[k].class = 'hsi_qlook'
d[k].units = ''
d[k].default = '0'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

; Control parameters for hsi_image_cube
k = k + 1
d[k].name = 'orig_control'
d[k].class = 'hsi_image_cube'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'orig_info'
d[k].class = 'hsi_image_cube'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'ebands'
d[k].class = 'hsi_image_cube'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'times'
d[k].class = 'hsi_image_cube'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

; Control parameters for hsi_image_movie
k = k + 1
d[k].name = 'fitsfile'
d[k].class = 'hsi_image_movie'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'show_options'
d[k].class = 'hsi_image_movie'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'show_what'
d[k].class = 'hsi_image_movie'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'movie_dim'
d[k].class = 'hsi_image_movie'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'oper_dim'
d[k].class = 'hsi_image_movie'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'invert_oper'
d[k].class = 'hsi_image_movie'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'e_index'
d[k].class = 'hsi_image_movie'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 't_index'
d[k].class = 'hsi_image_movie'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'show_surface'
d[k].class = 'hsi_image_movie'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'scaling_options'
d[k].class = 'hsi_image_movie'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'scaling_choice'
d[k].class = 'hsi_image_movie'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'scaling_slope'
d[k].class = 'hsi_image_movie'
d[k].units = 'N/A'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'threshold'
d[k].class = 'hsi_image_movie'
d[k].units = 'N/A'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'normalize_each'
d[k].class = 'hsi_image_movie'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'show_lc'
d[k].class = 'hsi_image_movie'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'movie_size'
d[k].class = 'hsi_image_movie'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'colors'
d[k].class = 'hsi_image_movie'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

; Control parameters for hsi_memvis
k = k + 1
d[k].name = 'vis_show_image'
d[k].class = 'hsi_memvis'
d[k].units = 'N/A'
d[k].default = '1'
d[k].range = '0 - 1'
d[k].level = 'Standard'
d[k].purpose = 'If set, show intermediate images'
d[k].more_doc = ''

k = k + 1
d[k].name = 'vis_chi_limit'
d[k].class = 'hsi_memvis'
d[k].units = 'N/A'
d[k].default = '1.1'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Chi-squared value at which image reconstruction ' + $
    'will stop'
d[k].more_doc = ''

k = k + 1
d[k].name = 'vis_lambda_max'
d[k].class = 'hsi_memvis'
d[k].units = 'N/A'
d[k].default = '20'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Max value of lambda allowed '
d[k].more_doc = 'During image reconstruction, each lambda iteration corresponds to a weakening of the ' + $
	'smoothness constraint, allowing a better fit (smaller chi-square) to the data. This parameter sets the ' + $
	'maximum value that the lambda iteration can reach at which point mem_vis will exit and ' + $
	'return the last image. Note that the lambda iteration step is not fixed, it accelerates as the ' + $
    'image reconstruction progresses.'

k = k + 1
d[k].name = 'vis_no_chi2'
d[k].class = 'hsi_memvis'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = '0 - 1'
d[k].level = 'Advanced'
d[k].purpose = 'If set, mem_vis iterates to vis_lambda_max, and ignores ' + $
    'vis_chi_limit'
d[k].more_doc = ''

k = k + 1
d[k].name = 'vis_iter_max'
d[k].class = 'hsi_memvis'
d[k].units = 'N/A'
d[k].default = '150'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Max number of iterations for a given lambda'
d[k].more_doc = ''

k = k + 1
d[k].name = 'vis_delta_max'
d[k].class = 'hsi_memvis'
d[k].units = 'N/A'
d[k].default = '.001'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Max value of delta for a switch to new lambda'
d[k].more_doc = ''

k = k + 1
d[k].name = 'vis_itgain'
d[k].class = 'hsi_memvis'
d[k].units = 'N/A'
d[k].default = '.3'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Initial value of the iteration gain'
d[k].more_doc = ''

k = k + 1
d[k].name = 'vis_lnorm'
d[k].class = 'hsi_memvis'
d[k].units = 'N/A'
d[k].default = '1.e-5'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Initial strength of the entropy constraint'
d[k].more_doc = 'Controls the initial strength of the entropy constraint. A small value corresponds to a very ' + $
    'strong smoothness constraint, and a large value corresponds to a very weak constraint. A ' + $
    'large value allows for very fast reconstruction of an image of point sources, but will result in ' + $
    'very poor broken up images if the sources are extended. The default is currently 1e-5, which ' + $
    'is a low value allowing for safe, but slow, reconstruction of most sources.'

k = k + 1
d[k].name = 'vis_init_btot'
d[k].class = 'hsi_memvis'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = '0 - 1'
d[k].level = 'Advanced'
d[k].purpose = 'If set, initialize the value of btot'
d[k].more_doc = ''

k = k + 1
d[k].name = 'vis_progress_bar'
d[k].class = 'hsi_memvis'
d[k].units = 'N/A'
d[k].default = '1'
d[k].range = '0 - 1'
d[k].level = 'Standard'
d[k].purpose = 'If set, display progress bar with cancel option'
d[k].more_doc = ''

k = k + 1
d[k].name = 'vis_sys_err'
d[k].class = 'hsi_memvis'
d[k].units = 'N/A'
d[k].default = '.01'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Systematic error term'
d[k].more_doc = ''

; Control parameters for hsi_mem_sato
k = k + 1
d[k].name = 'sato_show_image'
d[k].class = 'hsi_mem_sato'
d[k].units = 'N/A'
d[k].default = '1'
d[k].range = '0 - 1'
d[k].level = 'Standard'
d[k].purpose = 'If set, show intermediate images'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sato_chi_limit'
d[k].class = 'hsi_mem_sato'
d[k].units = 'N/A'
d[k].default = '1.03'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Chi-squared value at which image reconstruction will stop'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sato_lambda_max'
d[k].class = 'hsi_mem_sato'
d[k].units = 'N/A'
d[k].default = '20'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Max value of lambda allowed'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sato_no_chi2'
d[k].class = 'hsi_mem_sato'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = '0 - 1'
d[k].level = 'Expert'
d[k].purpose = 'If set, do not used the chi^2 to stop'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sato_iter_max'
d[k].class = 'hsi_mem_sato'
d[k].units = 'N/A'
d[k].default = '30'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Max number of iterations for a given lambda'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sato_delta_max'
d[k].class = 'hsi_mem_sato'
d[k].units = 'N/A'
d[k].default = '.03'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Max value of delta for a switch to new lambda'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sato_itgain'
d[k].class = 'hsi_mem_sato'
d[k].units = 'N/A'
d[k].default = '.3'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Initial value of the iteration gain'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sato_lnorm'
d[k].class = 'hsi_mem_sato'
d[k].units = 'N/A'
d[k].default = '.1'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Normalization factor for lambda'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sato_init_btot'
d[k].class = 'hsi_mem_sato'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = '0 - 1'
d[k].level = 'Advanced'
d[k].purpose = 'If 1 initialize the value of btot'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sato_progress_bar'
d[k].class = 'hsi_mem_sato'
d[k].units = 'N/A'
d[k].default = '1'
d[k].range = '0 - 1'
d[k].level = 'Standard'
d[k].purpose = 'If set, display progress bar with cancel button'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sato_sys_err'
d[k].class = 'hsi_mem_sato'
d[k].units = 'N/A'
d[k].default = '.01'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Systematic error term'
d[k].more_doc = ''

; Control parameters for hsi_clean
k = k + 1
d[k].name = 'clean_niter'
d[k].class = 'hsi_clean'
d[k].units = 'N/A'
d[k].default = '33'
d[k].range = '1 - ?'
d[k].level = 'Standard'
d[k].purpose = 'Max number of iterations'
d[k].more_doc = ''

k = k + 1
d[k].name = 'clean_more_iter'
d[k].class = 'hsi_clean'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = '0 - 1'
d[k].level = 'Standard'
d[k].purpose = 'If set, resume cleaning from previous results'
d[k].more_doc = ''

k = k + 1
d[k].name = 'clean_negative_max_test'
d[k].class = 'hsi_clean'
d[k].units = 'N/A'
d[k].default = '1'
d[k].range = '0 - 1'
d[k].level = 'Advanced'
d[k].purpose = 'If set, stop iterating when highest absolute ' + $
	'comes from a negative peak'
d[k].more_doc = ''

k = k + 1
d[k].name = 'clean_frac'
d[k].class = 'hsi_clean'
d[k].units = 'N/A'
d[k].default = '0.1'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Fraction of map maximum that defines level for real features (gain)'
d[k].more_doc = ''

k = k + 1
d[k].name = 'clean_sigma_factor'
d[k].class = 'hsi_clean'
d[k].units = 'N/A'
d[k].default = '0.206'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Factor for multiplying pitch of grid parameters ' + $
	'to generate assumed width of point source'
d[k].more_doc = ''

k = k + 1
d[k].name = 'clean_sigma_beam'
d[k].class = 'hsi_clean'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Assumed width of a point source
d[k].more_doc = ''

k = k + 1
d[k].name = 'clean_taperpsf'
d[k].class = 'hsi_clean'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Tapering weights to apply to each collimator'
d[k].more_doc = ''

k = k + 1
d[k].name = 'clean_chi_sq_crit'
d[k].class = 'hsi_clean'
d[k].units = 'N/A'
d[k].default = '-1.0'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Stop iterating when chi square reaches this value
d[k].more_doc = ''

k = k + 1
d[k].name = 'clean_lambda'
d[k].class = 'hsi_clean'
d[k].units = 'N/A'
d[k].default = '-1.0'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Clean tweaking parameter #1'
d[k].more_doc = ''

k = k + 1
d[k].name = 'clean_mu'
d[k].class = 'hsi_clean'
d[k].units = 'N/A'
d[k].default = '-1.0'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Clean tweaking parameter #2'
d[k].more_doc = ''

k = k + 1
d[k].name = 'clean_nu'
d[k].class = 'hsi_clean'
d[k].units = 'N/A'
d[k].default = '-1.0'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Clean tweaking parameter #3'
d[k].more_doc = ''

k = k + 1
d[k].name = 'clean_sigma'
d[k].class = 'hsi_clean'
d[k].units = 'N/A'
d[k].default = '-1.0'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Clean tweaking parameter #4'
d[k].more_doc = ''

k = k + 1
d[k].name = 'clean_tau'
d[k].class = 'hsi_clean'
d[k].units = 'N/A'
d[k].default = '-1.0'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Clean tweaking parameter #5'
d[k].more_doc = ''

k = k + 1
d[k].name = 'clean_no_chi2'
d[k].class = 'hsi_clean'
d[k].units = 'N/A'
d[k].default = '1'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'If set, do not used the chi^2 to stop'
d[k].more_doc = ''

k = k + 1
d[k].name = 'clean_show_maps'
d[k].class = 'hsi_clean'
d[k].units = 'N/A'
d[k].default = '1'
d[k].range = '0 - 1'
d[k].level = 'Standard'
d[k].purpose = 'If set, show intermediate maps'
d[k].more_doc = ''

k = k + 1
d[k].name = 'clean_show_map_xdim'
d[k].class = 'hsi_clean'
d[k].units = 'N/A'
d[k].default = '1024'
d[k].range = 'pixel'
d[k].level = 'Standard'
d[k].purpose = 'X size of plot window for intermediate results'
d[k].more_doc = ''

k = k + 1
d[k].name = 'clean_show_chi'
d[k].class = 'hsi_clean'
d[k].units = 'N/A'
d[k].default = '1'
d[k].range = '0 - 1'
d[k].level = 'Standard'
d[k].purpose = 'If set, plot chi-square while iterating'
d[k].more_doc = ''

k = k + 1
d[k].name = 'clean_nwindow'
d[k].class = 'hsi_clean'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'Advanced'
d[k].purpose = 'Not used?'
d[k].more_doc = ''

k = k + 1
d[k].name = 'clean_box'
d[k].class = 'hsi_clean'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'Standard'
d[k].purpose = 'Define clean boxes (where we expect sources to be)'
d[k].more_doc = 'Clean boxes are used in the CLEAN image reconstruction algorithm to define ' + $
	'the locations where we expect source(s) to be found.  There are two ways to set clean boxes: ' + $
	'<P>clean_cw_nop, clean_cw_list:  This method can handle clean boxes that are any shape.  ' + $
	'clean_cw_list is a (2,n) array of x,y coordinates that define ' + $
	'the vertices of each clean box.  clean_cw_nop is a vector giving the number of elements in ' + $
	'clean_cw_list that correspond to each clean box.  For example, if cw_nop_list is a (2,9) ' + $
	'and cw_nop = [4,5], then clean_cw_list[*,0:3] are the vertices for the first clean box ' + $
	'(a triangle), and clean_cw_list[*,[4:8] are the vertices for the second clean box (a rectangle).' + $
	'<P>clean_box:  clean_box can only be used to define rectangular clean boxes.  clean_box is ' + $
	'a (4,n) array, where the 4 elements of the first dimension are xlo, ylo, xhi, yhi, and the ' + $
	'second dimension is the box number. ' + $
	'<P>If clean_box, clean_cw_nop, and clean_cw_list are all defined, clean_cw_nop/clean_cw_list ' + $
	'take priority.' + $
	'<P>Note: the graphical method for setting clean boxes (by setting clean_mark_box to 1) uses ' + $
	'only clean_cw_nop/clean_cw_list.  It does not know about any boxes set via the clean_box ' + $
	'parameter.'

k = k + 1
d[k].name = 'clean_cw_list'
d[k].class = 'hsi_clean'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'Standard'
d[k].purpose = 'Define clean boxes (where we expect sources to be)'
d[k].more_doc = 'Clean boxes are used in the CLEAN image reconstruction algorithm to define ' + $
	'the locations where we expect source(s) to be found.  There are two ways to set clean boxes: ' + $
	'<P>clean_cw_nop, clean_cw_list:  This method can handle clean boxes that are any shape.  ' + $
	'clean_cw_list is a (2,n) array of x,y coordinates that define ' + $
	'the vertices of each clean box.  clean_cw_nop is a vector giving the number of elements in ' + $
	'clean_cw_list that correspond to each clean box.  For example, if cw_nop_list is a (2,9) ' + $
	'and cw_nop = [4,5], then clean_cw_list[*,0:3] are the vertices for the first clean box ' + $
	'(a triangle), and clean_cw_list[*,[4:8] are the vertices for the second clean box (a rectangle).' + $
	'<P>clean_box:  clean_box can only be used to define rectangular clean boxes.  clean_box is ' + $
	'a (4,n) array, where the 4 elements of the first dimension are xlo, ylo, xhi, yhi, and the ' + $
	'second dimension is the box number. ' + $
	'<P>If clean_box, clean_cw_nop, and clean_cw_list are all defined, clean_cw_nop/clean_cw_list ' + $
	'take priority.' + $
	'<P>Note: the graphical method for setting clean boxes (by setting clean_mark_box to 1) uses ' + $
	'only clean_cw_nop/clean_cw_list.  It does not know about any boxes set via the clean_box ' + $
	'parameter.'

k = k + 1
d[k].name = 'clean_cw_nop'
d[k].class = 'hsi_clean'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'Standard'
d[k].purpose = 'Define clean boxes (where we expect sources to be)'
d[k].more_doc = 'Clean boxes are used in the CLEAN image reconstruction algorithm to define ' + $
	'the locations where we expect source(s) to be found.  There are two ways to set clean boxes: ' + $
	'<P>clean_cw_nop, clean_cw_list:  This method can handle clean boxes that are any shape.  ' + $
	'clean_cw_list is a (2,n) array of x,y coordinates that define ' + $
	'the vertices of each clean box.  clean_cw_nop is a vector giving the number of elements in ' + $
	'clean_cw_list that correspond to each clean box.  For example, if cw_nop_list is a (2,9) ' + $
	'and cw_nop = [4,5], then clean_cw_list[*,0:3] are the vertices for the first clean box ' + $
	'(a triangle), and clean_cw_list[*,[4:8] are the vertices for the second clean box (a rectangle).' + $
	'<P>clean_box:  clean_box can only be used to define rectangular clean boxes.  clean_box is ' + $
	'a (4,n) array, where the 4 elements of the first dimension are xlo, ylo, xhi, yhi, and the ' + $
	'second dimension is the box number. ' + $
	'<P>If clean_box, clean_cw_nop, and clean_cw_list are all defined, clean_cw_nop/clean_cw_list ' + $
	'take priority.' + $
	'<P>Note: the graphical method for setting clean boxes (by setting clean_mark_box to 1) uses ' + $
	'only clean_cw_nop/clean_cw_list.  It does not know about any boxes set via the clean_box ' + $
	'parameter.'

k = k + 1
d[k].name = 'clean_progress_bar'
d[k].class = 'hsi_clean'
d[k].units = 'N/A'
d[k].default = '1'
d[k].range = '0 - 1'
d[k].level = 'Standard'
d[k].purpose = 'If set, display progress bar with cancel button'
d[k].more_doc = ''

k = k + 1
d[k].name = 'clean_mark_box'
d[k].class = 'hsi_clean'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = '0 - 1'
d[k].level = 'Standard'
d[k].purpose = 'If set, graphically mark clean boxes on dirty map'
d[k].more_doc = ''

k = k + 1
d[k].name = 'clean_media_mode'
d[k].class = 'hsi_clean'
d[k].units = ''
d[k].default = '0'
d[k].range = ''
d[k].level = 'Expert'
d[k].purpose = ''
d[k].more_doc = ''

; Info parameters for hsi_aspect_solution
k = k + 1
d[k].name = 'as_quality'
d[k].class = 'hsi_aspect_solution'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

; Info parameters for hsi_annsec_pattern
k = k + 1
d[k].name = 'rmap_dim'
d[k].class = 'hsi_annsec_pattern'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'n_modpat'
d[k].class = 'hsi_annsec_pattern'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

; Info parameters for hsi_packet_file
k = k + 1
d[k].name = 'file_location'
d[k].class = 'hsi_packet_file'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

; Info parameters for hsi_packet
k = k + 1
d[k].name = 'file_time_range'
d[k].class = 'hsi_packet'
d[k].units = 'ANYTIM'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Start/end time of file specified in filename parameter'
d[k].more_doc = ''

k = k + 1
d[k].name = 'n_packet'
d[k].class = 'hsi_packet'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Number of packets in the file (or in selection)'
d[k].more_doc = ''

k = k + 1
d[k].name = 'packet_ref_time'
d[k].class = 'hsi_packet'
d[k].units = 'N/A'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'simulated_data'
d[k].class = 'hsi_packet'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

; Info parameters for hsi_eventlist
k = k + 1
d[k].name = 'eventlist_strategy'
d[k].class = 'hsi_eventlist'
d[k].units = 'N/A'
d[k].default = 'HSI_EVENTLIST_PACKET'
d[k].range = 'HSI_EVENTLIST_PACKET, HSI_EVENTLIST_SIMULATION'
d[k].level = 'N/A'
d[k].purpose = 'Strategy used by GETDATA to get event lists'
d[k].more_doc = ''

; Info parameters for hsi_modul_pattern
k = k + 1
d[k].name = 'img_strategy_available'
d[k].class = 'hsi_modul_pattern'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

; Info parameters for hsi_fits
k = k + 1
d[k].name = 'simulated_data'
d[k].class = 'hsi_fits'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

; Info parameters for hsi_monitor_rate
k = k + 1
d[k].name = 'dtime'
d[k].class = 'hsi_monitor_rate'
d[k].units = 'N/A'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'mon_ut_ref'
d[k].class = 'hsi_monitor_rate'
d[k].units = 'N/A'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'ncyles'
d[k].class = 'hsi_monitor_rate'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

; Info parameters for hsi_fastrate
k = k + 1
d[k].name = 'fr_ut_ref'
d[k].class = 'hsi_fastrate'
d[k].units = 'N/A'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'fr_abs_time_range'
d[k].class = 'hsi_fastrate'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'fr_n_interval'
d[k].class = 'hsi_fastrate'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'fr_data_range'
d[k].class = 'hsi_fastrate'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

; Info parameters for hsi_sohdata
k = k + 1
d[k].name = 'soh_absolute_time_range'
d[k].class = 'hsi_sohdata'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'soh_time_array'
d[k].class = 'hsi_sohdata'
d[k].units = 'se'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Array of collect times for each packet'
d[k].more_doc = ''

k = k + 1
d[k].name = 'soh_info'
d[k].class = 'hsi_sohdata'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'soh_data_files'
d[k].class = 'hsi_sohdata'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

; Info parameters for hsi_spectrum
k = k + 1
d[k].name = 'mask_flag'
d[k].class = 'hsi_spectrum'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = 'A2D, DET, SEG'
d[k].level = 'N/A'
d[k].purpose = 'Detector selection flag used'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sp_seg_index_mask'
d[k].class = 'hsi_spectrum'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'sp_det_index_mask'
d[k].class = 'hsi_spectrum'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'sp_data_ltf'
d[k].class = 'hsi_spectrum'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'sp_data_de'
d[k].class = 'hsi_spectrum'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'sp_data_dt'
d[k].class = 'hsi_spectrum'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'sp_eff_info'
d[k].class = 'hsi_spectrum'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'num_rm'
d[k].class = 'hsi_spectrum'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'number of detectors/segments used for averaging to "per ' + $
    'detector"'
d[k].more_doc = ''

; Info parameters for hsi_multi_image
k = k + 1
d[k].name = 'info_arr'
d[k].class = 'hsi_multi_image'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

; Info parameters for hsi_obssumm
k = k + 1
d[k].name = 'summary_start_time'
d[k].class = 'hsi_obssumm'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Start time of summary data.'
d[k].more_doc = ''

k = k + 1
d[k].name = 'summary_end_time'
d[k].class = 'hsi_obssumm'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Start time of summary data.'
d[k].more_doc = ''

k = k + 1
d[k].name = 'simulated_data'
d[k].class = 'hsi_obssumm'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'If set, data is simulated.'
d[k].more_doc = ''

k = k + 1
d[k].name = 'concat_flag'
d[k].class = 'hsi_obssumm'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'If set, summaries are concatenated.'
d[k].more_doc = ''

; Info parameters for hsi_qlook_monitor_rate
k = k + 1
d[k].name = 'ut_ref'
d[k].class = 'hsi_qlook_monitor_rate'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'start time'
d[k].more_doc = ''

k = k + 1
d[k].name = 'n_time_intv'
d[k].class = 'hsi_qlook_monitor_rate'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'the number of time intervals'
d[k].more_doc = ''

k = k + 1
d[k].name = 'time_intv'
d[k].class = 'hsi_qlook_monitor_rate'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'the number of time intervals'
d[k].more_doc = ''

k = k + 1
d[k].name = 'dim1_unit'
d[k].class = 'hsi_qlook_monitor_rate'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'an identifying string'
d[k].more_doc = ''

k = k + 1
d[k].name = 'dim1_ids'
d[k].class = 'hsi_qlook_monitor_rate'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = '6 different kinds of data'
d[k].more_doc = ''

; Info parameters for hsi_qlook_packet_rate
k = k + 1
d[k].name = 'ut_ref'
d[k].class = 'hsi_qlook_packet_rate'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'start time'
d[k].more_doc = ''

k = k + 1
d[k].name = 'n_time_intv'
d[k].class = 'hsi_qlook_packet_rate'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'the number of time intervals'
d[k].more_doc = ''

k = k + 1
d[k].name = 'time_intv'
d[k].class = 'hsi_qlook_packet_rate'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'the number of time intervals'
d[k].more_doc = ''

k = k + 1
d[k].name = 'app_id'
d[k].class = 'hsi_qlook_packet_rate'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'app_ids'
d[k].more_doc = ''

k = k + 1
d[k].name = 'dim1_unit'
d[k].class = 'hsi_qlook_packet_rate'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'an identifying string'
d[k].more_doc = ''

k = k + 1
d[k].name = 'dim1_ids'
d[k].class = 'hsi_qlook_packet_rate'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'one for each app_id'
d[k].more_doc = ''

; Info parameters for hsi_particlerate
k = k + 1
d[k].name = 'ut_ref'
d[k].class = 'hsi_particlerate'
d[k].units = 'ANYTIM'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Start time'
d[k].more_doc = ''

k = k + 1
d[k].name = 'n_time_intv'
d[k].class = 'hsi_particlerate'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'the number of time intervals'
d[k].more_doc = ''

k = k + 1
d[k].name = 'time_intv'
d[k].class = 'hsi_particlerate'
d[k].units = 'N/A'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'the number of time intervals'
d[k].more_doc = ''

k = k + 1
d[k].name = 'dim1_unit'
d[k].class = 'hsi_particlerate'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = '"Energy Bands (keV)"'
d[k].more_doc = ''

k = k + 1
d[k].name = 'dim1_ids'
d[k].class = 'hsi_particlerate'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

; Info parameters for hsi_obssummflag
k = k + 1
d[k].name = 'ut_ref'
d[k].class = 'hsi_obssummflag'
d[k].units = 'ANYTIM'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Start time'
d[k].more_doc = ''

k = k + 1
d[k].name = 'n_time_intv'
d[k].class = 'hsi_obssummflag'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'the number of time intervals, for this summary'
d[k].more_doc = ''

k = k + 1
d[k].name = 'time_intv'
d[k].class = 'hsi_obssummflag'
d[k].units = 'N/A'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'the number of time intervals, for this summary'
d[k].more_doc = ''

k = k + 1
d[k].name = 'nflags'
d[k].class = 'hsi_obssummflag'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'the number of data flags'
d[k].more_doc = ''

k = k + 1
d[k].name = 'flag_ids'
d[k].class = 'hsi_obssummflag'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'string identifiers for each data flag,'
d[k].more_doc = ''

; Info parameters for hsi_qlook_soh
k = k + 1
d[k].name = 'ut_ref'
d[k].class = 'hsi_qlook_soh'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'reference time'
d[k].more_doc = ''

k = k + 1
d[k].name = 'n_time_intv'
d[k].class = 'hsi_qlook_soh'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'the number of time intervals, for this summary'
d[k].more_doc = ''

k = k + 1
d[k].name = 'time_intv'
d[k].class = 'hsi_qlook_soh'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'the number of time intervals, for this summary'
d[k].more_doc = ''

k = k + 1
d[k].name = 'nsoh'
d[k].class = 'hsi_qlook_soh'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'the number of data types'
d[k].more_doc = ''

k = k + 1
d[k].name = 'name'
d[k].class = 'hsi_qlook_soh'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'the name of each data type'
d[k].more_doc = ''

k = k + 1
d[k].name = 'mnemonic'
d[k].class = 'hsi_qlook_soh'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'the label of each data type'
d[k].more_doc = ''

k = k + 1
d[k].name = 'units'
d[k].class = 'hsi_qlook_soh'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'units'
d[k].more_doc = ''

k = k + 1
d[k].name = 'limits'
d[k].class = 'hsi_qlook_soh'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = '[red_lo, yellow_lo, yellow_hi, red_hi]'
d[k].more_doc = ''

; Info parameters for hsi_ephemeris
k = k + 1
d[k].name = 'n_time_intv'
d[k].class = 'hsi_ephemeris'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'the number of ephemeris data points'
d[k].more_doc = ''

k = k + 1
d[k].name = 'time_intv'
d[k].class = 'hsi_ephemeris'
d[k].units = 'N/A'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'the number of ephemeris data points'
d[k].more_doc = ''

k = k + 1
d[k].name = 'ut_ref'
d[k].class = 'hsi_ephemeris'
d[k].units = 'ANYTIM'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Start time'
d[k].more_doc = ''

k = k + 1
d[k].name = 'dim1_unit'
d[k].class = 'hsi_ephemeris'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'S/C position an identifying string'
d[k].more_doc = ''

k = k + 1
d[k].name = 'dim1_ids'
d[k].class = 'hsi_ephemeris'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = '["X", "Y", "Z", "Vx", "Vy", "Vz"]'
d[k].more_doc = ''

; Info parameters for hsi_flarelist
k = k + 1
d[k].name = 'n_flares'
d[k].class = 'hsi_flarelist'
d[k].units = 'N/A'
d[k].default = '--'
d[k].range = '--'
d[k].level = 'N/A'
d[k].purpose = 'Number of HESSI flares in catalog'
d[k].more_doc = ''

k = k + 1
d[k].name = 'list_start_time'
d[k].class = 'hsi_flarelist'
d[k].units = 'CCSDS format'
d[k].default = '--'
d[k].range = '--'
d[k].level = 'N/A'
d[k].purpose = 'Start time of HESSI flare catalog'
d[k].more_doc = ''

k = k + 1
d[k].name = 'list_end_time'
d[k].class = 'hsi_flarelist'
d[k].units = 'CCSDS format'
d[k].default = '--'
d[k].range = '--'
d[k].level = 'N/A'
d[k].purpose = 'End time of HESSI flare catalog'
d[k].more_doc = ''

k = k + 1
d[k].name = 'nflags'
d[k].class = 'hsi_flarelist'
d[k].units = 'N/A'
d[k].default = '--'
d[k].range = '0 - 32'
d[k].level = 'N/A'
d[k].purpose = 'Number of flare data flags'
d[k].more_doc = ''

k = k + 1
d[k].name = 'flag_ids'
d[k].class = 'hsi_flarelist'
d[k].units = 'N/A'
d[k].default = '--'
d[k].range = '--'
d[k].level = 'N/A'
d[k].purpose = 'String identifiers for each flare flag'
d[k].more_doc = ''

k = k + 1
d[k].name = 'simulated_data'
d[k].class = 'hsi_flarelist'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'If set, data is simulated'
d[k].more_doc = ''

k = k + 1
d[k].name = 'concat_flag'
d[k].class = 'hsi_flarelist'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'If set, flare list has been concatenated from level 0 FITS files.'
d[k].more_doc = ''

; Info parameters for hsi_obs_background
k = k + 1
d[k].name = 'n_background'
d[k].class = 'hsi_obs_background'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'number of background measurements'
d[k].more_doc = ''

; Info parameters for hsi_qlook_image
k = k + 1
d[k].name = 'n_images'
d[k].class = 'hsi_qlook_image'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'the number of images'
d[k].more_doc = ''

k = k + 1
d[k].name = 'start_time'
d[k].class = 'hsi_qlook_image'
d[k].units = 'N/A'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'start time'
d[k].more_doc = ''

k = k + 1
d[k].name = 'end_time'
d[k].class = 'hsi_qlook_image'
d[k].units = 'N/A'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'concat_flag'
d[k].class = 'hsi_qlook_image'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'If set, data is concatenated.'
d[k].more_doc = ''

; Info parameters for hsi_qlook_pointing
k = k + 1
d[k].name = 'ut_ref'
d[k].class = 'hsi_qlook_pointing'
d[k].units = 'ANYTIM'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Start time'
d[k].more_doc = ''

k = k + 1
d[k].name = 'n_time_intv'
d[k].class = 'hsi_qlook_pointing'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'the number of time intervals'
d[k].more_doc = ''

k = k + 1
d[k].name = 'time_intv'
d[k].class = 'hsi_qlook_pointing'
d[k].units = 'N/A'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'the number of time intervals'
d[k].more_doc = ''

k = k + 1
d[k].name = 'n_sample'
d[k].class = 'hsi_qlook_pointing'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'number of smaller bins per time_intv'
d[k].more_doc = ''

k = k + 1
d[k].name = 'a1'
d[k].class = 'hsi_qlook_pointing'
d[k].units = 'N/A'
d[k].default = '10.'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Scaling factor; Pointing = a1*data+a0'
d[k].more_doc = ''

k = k + 1
d[k].name = 'a0'
d[k].class = 'hsi_qlook_pointing'
d[k].units = 'N/A'
d[k].default = '-1280.'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Scaling factor; Pointing = a1*data+a0'
d[k].more_doc = ''

k = k + 1
d[k].name = 'dim1_unit'
d[k].class = 'hsi_qlook_pointing'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = '"Image Axis" an identifying string'
d[k].more_doc = ''

k = k + 1
d[k].name = 'dim1_ids'
d[k].class = 'hsi_qlook_pointing'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = '"X", "Y"'
d[k].more_doc = ''

; Info parameters for hsi_qlook_roll_angle
k = k + 1
d[k].name = 'ut_ref'
d[k].class = 'hsi_qlook_roll_angle'
d[k].units = 'ANYTIM'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Start time'
d[k].more_doc = ''

k = k + 1
d[k].name = 'n_time_intv'
d[k].class = 'hsi_qlook_roll_angle'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'the number of time intervals'
d[k].more_doc = ''

k = k + 1
d[k].name = 'time_intv'
d[k].class = 'hsi_qlook_roll_angle'
d[k].units = 'N/A'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'the number of time intervals'
d[k].more_doc = ''

k = k + 1
d[k].name = 'n_sample'
d[k].class = 'hsi_qlook_roll_angle'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'number of smaller bins per time_intv'
d[k].more_doc = ''

k = k + 1
d[k].name = 'a1'
d[k].class = 'hsi_qlook_roll_angle'
d[k].units = 'N/A'
d[k].default = '2*pi*255'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Scaling factor; Roll Angle = a1*data+a0'
d[k].more_doc = ''

k = k + 1
d[k].name = 'a0'
d[k].class = 'hsi_qlook_roll_angle'
d[k].units = 'N/A'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Scaling factor; Roll Angle = a1*data+a0'
d[k].more_doc = ''

k = k + 1
d[k].name = 'dim1_unit'
d[k].class = 'hsi_qlook_roll_angle'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = '"Image Axis" an identifying string'
d[k].more_doc = ''

k = k + 1
d[k].name = 'dim1_ids'
d[k].class = 'hsi_qlook_roll_angle'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = '"X", "Y"'
d[k].more_doc = ''

; Info parameters for hsi_qlook_roll_period
k = k + 1
d[k].name = 'ut_ref'
d[k].class = 'hsi_qlook_roll_period'
d[k].units = 'ANYTIM'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Start time'
d[k].more_doc = ''

k = k + 1
d[k].name = 'n_time_intv'
d[k].class = 'hsi_qlook_roll_period'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'the number of time intervals'
d[k].more_doc = ''

k = k + 1
d[k].name = 'time_intv'
d[k].class = 'hsi_qlook_roll_period'
d[k].units = 'N/A'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'the number of time intervals'
d[k].more_doc = ''

k = k + 1
d[k].name = 'n_sample'
d[k].class = 'hsi_qlook_roll_period'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'number of smaller bins per time_intv'
d[k].more_doc = ''

k = k + 1
d[k].name = 'a1'
d[k].class = 'hsi_qlook_roll_period'
d[k].units = 'N/A'
d[k].default = '.1'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Scaling factor; Roll Period = a1*data+a0'
d[k].more_doc = ''

k = k + 1
d[k].name = 'a0'
d[k].class = 'hsi_qlook_roll_period'
d[k].units = 'N/A'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Scaling factor; Roll Period = a1*data+a0'
d[k].more_doc = ''

k = k + 1
d[k].name = 'dim1_unit'
d[k].class = 'hsi_qlook_roll_period'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = '"Image Axis" an identifying string'
d[k].more_doc = ''

k = k + 1
d[k].name = 'dim1_ids'
d[k].class = 'hsi_qlook_roll_period'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = '"X", "Y"'
d[k].more_doc = ''

; Info parameters for hsi_image
k = k + 1
d[k].name = 'algorithm_used'
d[k].class = 'hsi_image'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'algorithm_units'
d[k].class = 'hsi_image'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'alg_unit_scale'
d[k].class = 'hsi_image'
d[k].units = 'N/A'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'pixel_area'
d[k].class = 'hsi_image'
d[k].units = 'N/A'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'image_units'
d[k].class = 'hsi_image'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'algorithm_available'
d[k].class = 'hsi_image'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

; Info parameters for hsi_bproj
k = k + 1
d[k].name = 'bproj_alg_available'
d[k].class = 'hsi_bproj'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

; Info parameters for hsi_forwardfit
k = k + 1
d[k].name = 'ff_chi_ff'
d[k].class = 'hsi_forwardfit'
d[k].units = 'N/A'
d[k].default = '--'
d[k].range = '--'
d[k].level = 'N/A'
d[k].purpose = 'C-statistic of 9 detectors'
d[k].more_doc = ''

k = k + 1
d[k].name = 'ff_chiav_ff'
d[k].class = 'hsi_forwardfit'
d[k].units = 'N/A'
d[k].default = '--'
d[k].range = '--'
d[k].level = 'N/A'
d[k].purpose = 'Average of C-statistic of detectors used in reconstruction'
d[k].more_doc = ''

k = k + 1
d[k].name = 'ff_phot_sec'
d[k].class = 'hsi_forwardfit'
d[k].units = 'photons/sec'
d[k].default = '--'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Incident photon rate (photons/s)'
d[k].more_doc = ''

k = k + 1
d[k].name = 'ff_back_sec'
d[k].class = 'hsi_forwardfit'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Background photon rate (photons/s SC)'
d[k].more_doc = ''

k = k + 1
d[k].name = 'ff_cts_sec'
d[k].class = 'hsi_forwardfit'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Detected count rate (cts/s)'
d[k].more_doc = ''

k = k + 1
d[k].name = 'ff_peak_flux'
d[k].class = 'hsi_forwardfit'
d[k].units = 'cts/(s cm^2 asec^2)'
d[k].default = '--'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Normalized gaussian amplitude of peak of image (photons/s/cm2)'
d[k].more_doc = ''

k = k + 1
d[k].name = 'ff_coeff_ff'
d[k].class = 'hsi_forwardfit'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Coefficients'
d[k].more_doc = 'Coefficients in array of form fltarr(npar,n_gaussians) '  + $
	'where npar is the number of parameters ' + $
	'(4 for gaussian, 6 for elliptical, 7 for curved elliptical) ' + $
	'and n_gaussians is the number of gaussian components used.  ' + $
	'<P>The parameters are: ' + $
	'<br>1) the relative flux amplitude,' + $
	'<br>2) the gaussian width (in arcsec) ' + $
	'<br>3) the x- and ' + $
	'<br>4) the y-position of the gaussian center relative to the map center (in arcsec)' + $
	'<br>5) the eccentricity for elliptical gaussians [e=ywidth/xwidth-1]' + $
    '<br>6) the tilt angle of elliptical gaussian (deg counterclockwise from x-axis)' + $
    '<br>7) curvature ratio, i.e. gaussian width/curvature radius'




; Info parameters for hsi_clean
k = k + 1
d[k].name = 'clean_resid_map'
d[k].class = 'hsi_clean'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Residual map in polar coordinates'
d[k].more_doc = ''

k = k + 1
d[k].name = 'clean_component_map'
d[k].class = 'hsi_clean'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Clean component map in polar coordinates'
d[k].more_doc = ''

k = k + 1
d[k].name = 'clean_source_map'
d[k].class = 'hsi_clean'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Clean source map in polar coordinates'
d[k].more_doc = ''

k = k + 1
d[k].name = 'clean_cleaned_map'
d[k].class = 'hsi_clean'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Cleaned map in polar coordinates'
d[k].more_doc = ''

k = k + 1
d[k].name = 'clean_components'
d[k].class = 'hsi_clean'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'clean_windows'
d[k].class = 'hsi_clean'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'clean_ed_flux'
d[k].class = 'hsi_clean'
d[k].units = 'N/A'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'clean_last_iter'
d[k].class = 'hsi_clean'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Last iteration # (starting from 0)'
d[k].more_doc = ''

k = k + 1
d[k].name = 'clean_chi_sq_tot'
d[k].class = 'hsi_clean'
d[k].units = 'N/A'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Final chi square'
d[k].more_doc = ''

k = k + 1
d[k].name = 'clean_chi_sq_value'
d[k].class = 'hsi_clean'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Final chi square for each subcollimator for each iteration'
d[k].more_doc = ''

k = k + 1
d[k].name = 'clean_chi_sq_iter'
d[k].class = 'hsi_clean'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'clean_chi_window'
d[k].class = 'hsi_clean'
d[k].units = 'N/A'
d[k].default = '-1'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Index of show_chi plot window'
d[k].more_doc = ''

k = k + 1
d[k].name = 'clean_map_window'
d[k].class = 'hsi_clean'
d[k].units = 'N/A'
d[k].default = '-1'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Index of show_map plot window'
d[k].more_doc = ''

k = k + 1
d[k].name = 'clean_normalization'
d[k].class = 'hsi_clean'
d[k].units = 'N/A'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'clean_stop'
d[k].class = 'hsi_clean'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Reason for stopping iterations'
d[k].more_doc = ''

; Info parameters for hsi_pixon

k = k + 1
d[k].name = 'pixon_sensitivity'
d[k].class = 'hsi_pixon'
d[k].units = 'N/A'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Sensitivity used in creating pixon map. 0. is most ' + $
    'sensitive, > 3. is very insensitive.'
d[k].more_doc = ''

k = k + 1
d[k].name = 'pixon_residual'
d[k].class = 'hsi_pixon'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Data residuals'
d[k].more_doc = ''

k = k + 1
d[k].name = 'pixon_rgof'
d[k].class = 'hsi_pixon'
d[k].units = 'N/A'
d[k].default = '--'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Final c-statistic'
d[k].more_doc = ''

k = k + 1
d[k].name = 'pixon_error'
d[k].class = 'hsi_pixon'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Array of estimated error in each pixel of reconstructed image'
d[k].more_doc = ''

k = k + 1
d[k].name = 'pixon_iterate'
d[k].class = 'hsi_pixon'
d[k].units = 'N/A'
d[k].default = '--'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Number of iterations used at final resolution'
d[k].more_doc = ''

k = k + 1
d[k].name = 'pixon_outresolution'
d[k].class = 'hsi_pixon'
d[k].units = 'N/A'
d[k].default = '-'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Minimum pixon size used'
d[k].more_doc = ''

k = k + 1
d[k].name = 'pixonmap'
d[k].class = 'hsi_pixon'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Map giving spatial scale used at each pixel'
d[k].more_doc = ''

k = k + 1
d[k].name = 'pixon_sizes'
d[k].class = 'hsi_pixon'
d[k].units = 'N/A'
d[k].default = 'Powers of sqrt(2.0)'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Array of pixon resolutions to use. Choose findgen(32)+1 for ' + $
    'more robust but slower solution.'
d[k].more_doc = ''

; Info parameters for hsi_calib_eventlist
k = k + 1
d[k].name = 'cbe_det_eff'
d[k].class = 'hsi_calib_eventlist'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'binned_n_event'
d[k].class = 'hsi_calib_eventlist'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Total counts in active energy_band'
d[k].more_doc = ''

; Info parameters for hsi_eventlist_packet
k = k + 1
d[k].name = 'ev_ut_ref'
d[k].class = 'hsi_eventlist_packet'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'lt_ut_ref'
d[k].class = 'hsi_eventlist_packet'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'csa_lld'
d[k].class = 'hsi_eventlist_packet'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'ut_ref'
d[k].class = 'hsi_eventlist_packet'
d[k].units = 'ANYTIM'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Reference time'
d[k].more_doc = ''

; Info parameters for hsi_eventlist_strategy
k = k + 1
d[k].name = 'n_event'
d[k].class = 'hsi_eventlist_strategy'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'ut_ref'
d[k].class = 'hsi_eventlist_strategy'
d[k].units = 'N/A'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'channel_range'
d[k].class = 'hsi_eventlist_strategy'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'coincidence_mask'
d[k].class = 'hsi_eventlist_strategy'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'info_dp_cutoff'
d[k].class = 'hsi_eventlist_strategy'
d[k].units = 'sec'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Threshold for defining a data gap.'
d[k].more_doc = ''

k = k + 1
d[k].name = 'info_dp_lld'
d[k].class = 'hsi_eventlist_strategy'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'User selectable gap closing lld. Not used as of Oct-02'
d[k].more_doc = ''

k = k + 1
d[k].name = 'absolute_time_range'
d[k].class = 'hsi_eventlist_strategy'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

; Info parameters for hsi_binned_eventlist
k = k + 1
d[k].name = 'n_bin'
d[k].class = 'hsi_binned_eventlist'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Number of bins for each detector and harmonics'
d[k].more_doc = ''

k = k + 1
d[k].name = 'binned_n_event'
d[k].class = 'hsi_binned_eventlist'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'ut_binned_eventlist'
d[k].class = 'hsi_binned_eventlist'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'valid_binned_index'
d[k].class = 'hsi_binned_eventlist'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

; Info parameters for hsi_lightcurve
; Info parameters for hsi_spectrogram
k = k + 1
d[k].name = 'binning'
d[k].class = 'hsi_spectrogram'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Binning scheme for spectrograms'
d[k].more_doc = ''

k = k + 1
d[k].name = 'this_det_index'
d[k].class = 'hsi_spectrogram'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Det_index_mask used'
d[k].more_doc = ''

k = k + 1
d[k].name = 'this_a2d_index'
d[k].class = 'hsi_spectrogram'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'A2d_index_mask used'
d[k].more_doc = ''

k = k + 1
d[k].name = 'this_seg_index'
d[k].class = 'hsi_spectrogram'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Seg_index_mask used'
d[k].more_doc = ''

k = k + 1
d[k].name = 'units_spectrogram'
d[k].class = 'hsi_spectrogram'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Units of spectrum'
d[k].more_doc = ''

k = k + 1
d[k].name = 'dim_spectrogram'
d[k].class = 'hsi_spectrogram'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Dimensions of spectrogram data array'
d[k].more_doc = ''

k = k + 1
d[k].name = 'c2b_param'
d[k].class = 'hsi_spectrogram'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Not used.'
d[k].more_doc = ''

k = k + 1
d[k].name = 'counts_2_unit'
d[k].class = 'hsi_spectrogram'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'total_count'
d[k].class = 'hsi_spectrogram'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'sec2time_unit'
d[k].class = 'hsi_spectrogram'
d[k].units = 'N/A'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'sp_atten_state'
d[k].class = 'hsi_spectrogram'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'RAS, 17-feb-2002'
d[k].more_doc = ''

k = k + 1
d[k].name = 'interval_atten_state'
d[k].class = 'hsi_spectrogram'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'atten state for each time interval, 0,1,2,3, -1 for ' + $
    'transition'
d[k].more_doc = ''

k = k + 1
d[k].name = 'shutter_correction'
d[k].class = 'hsi_spectrogram'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'float array,'
d[k].more_doc = ''

k = k + 1
d[k].name = 'dropout'
d[k].class = 'hsi_spectrogram'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'livetime_arr'
d[k].class = 'hsi_spectrogram'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'livetime_ctr'
d[k].class = 'hsi_spectrogram'
d[k].units = ''
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Livetime fraction from the livetime counters.  Only one ' + $
	'component of final livetime.'
d[k].more_doc = ''

; Info parameters for hsi_srm
k = k + 1
d[k].name = 'geom_area'
d[k].class = 'hsi_srm'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Geometrical area of each detector'
d[k].more_doc = 'Geometrical area of each detector assumed in generating the srm ' + $
	'in these units:  it is a circle of radius 7.1 cm (regardless of front or rear ' + $
	'segment - this makes the front segments less "efficient" than you might expect, ' + $
	'since their true diameter is about 6.1 cm)'

k = k + 1
d[k].name = 'info_ph_edges'
d[k].class = 'hsi_srm'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Photon binning used'
d[k].more_doc = ''

k = k + 1
d[k].name = 'info_ct_edges'
d[k].class = 'hsi_srm'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Count binning used'
d[k].more_doc = ''

k = k + 1
d[k].name = 'info_apt_filename'
d[k].class = 'hsi_srm'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'APT filename used'
d[k].more_doc = ''

; Info parameters for hsi_modvariance
k = k + 1
d[k].name = 'ut_ref'
d[k].class = 'hsi_modvariance'
d[k].units = 'N/A'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'start time'
d[k].more_doc = ''

k = k + 1
d[k].name = 'n_time_intv'
d[k].class = 'hsi_modvariance'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'the number of time intervals'
d[k].more_doc = ''

k = k + 1
d[k].name = 'time_intv'
d[k].class = 'hsi_modvariance'
d[k].units = 'N/A'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'the number of time intervals'
d[k].more_doc = ''

k = k + 1
d[k].name = 'variance_nbin'
d[k].class = 'hsi_modvariance'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'the number of time bins per spin period'
d[k].more_doc = ''

k = k + 1
d[k].name = 'energy_edges'
d[k].class = 'hsi_modvariance'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'The energy bin edges'
d[k].more_doc = ''

k = k + 1
d[k].name = 'dim1_unit'
d[k].class = 'hsi_modvariance'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = '"Collimator" an identifying string'
d[k].more_doc = ''

k = k + 1
d[k].name = 'dim1_ids'
d[k].class = 'hsi_modvariance'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = '"8", "9" Collimators'
d[k].more_doc = ''

; Info parameters for hsi_obssummrate
k = k + 1
d[k].name = 'ut_ref'
d[k].class = 'hsi_obssummrate'
d[k].units = 'N/A'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'start time'
d[k].more_doc = ''

k = k + 1
d[k].name = 'seg_index_mask'
d[k].class = 'hsi_obssummrate'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'detector ids'
d[k].more_doc = ''

k = k + 1
d[k].name = 'n_time_intv'
d[k].class = 'hsi_obssummrate'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'the number of time intervals'
d[k].more_doc = ''

k = k + 1
d[k].name = 'time_intv'
d[k].class = 'hsi_obssummrate'
d[k].units = 'N/A'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'the number of time intervals'
d[k].more_doc = ''

k = k + 1
d[k].name = 'n_energy_bands'
d[k].class = 'hsi_obssummrate'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'he number of energy bands'
d[k].more_doc = ''

k = k + 1
d[k].name = 'energy_edges'
d[k].class = 'hsi_obssummrate'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'the energy bin edges'
d[k].more_doc = ''

k = k + 1
d[k].name = 'dim1_unit'
d[k].class = 'hsi_obssummrate'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = '"Energy edges (keV)" an identifying string'
d[k].more_doc = ''

k = k + 1
d[k].name = 'dim1_ids'
d[k].class = 'hsi_obssummrate'
d[k].units = 'N/A'
d[k].default = ''
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'The energy bins in string format'
d[k].more_doc = ''

; Info parameters for hsi_simulation
k = k + 1
d[k].name = 'sim_out_time_unit'
d[k].class = 'hsi_simulation'
d[k].units = 'N/A'
d[k].default = '0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = ''
d[k].more_doc = ''

k = k + 1
d[k].name = 'sim_ut_ref'
d[k].class = 'hsi_simulation'
d[k].units = 'ANYTIM'
d[k].default = '0.0'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Reference time'
d[k].more_doc = ''

; Info parameters for hsi_memvis
k = k + 1
d[k].name = 'vis_lambda'
d[k].class = 'hsi_memvis'
d[k].units = 'N/A'
d[k].default = '--'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Final value of lambda'
d[k].more_doc = ''

k = k + 1
d[k].name = 'vis_iter'
d[k].class = 'hsi_memvis'
d[k].units = 'N/A'
d[k].default = '--'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Final value of iterations at last lambda'
d[k].more_doc = ''

k = k + 1
d[k].name = 'vis_chi2'
d[k].class = 'hsi_memvis'
d[k].units = 'N/A'
d[k].default = '--'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Final value of chi^2'
d[k].more_doc = ''

k = k + 1
d[k].name = 'vis_delta'
d[k].class = 'hsi_memvis'
d[k].units = 'N/A'
d[k].default = '--'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Final value of delta'
d[k].more_doc = ''

k = k + 1
d[k].name = 'vis_btot'
d[k].class = 'hsi_memvis'
d[k].units = 'N/A'
d[k].default = '--'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Final value of btot, the total brightness'
d[k].more_doc = ''

; Info parameters for hsi_mem_sato
k = k + 1
d[k].name = 'sato_lambda'
d[k].class = 'hsi_mem_sato'
d[k].units = 'N/A'
d[k].default = '--'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Final value of lambda'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sato_iter'
d[k].class = 'hsi_mem_sato'
d[k].units = 'N/A'
d[k].default = '--'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Final value of iterations at last lambda'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sato_chi2'
d[k].class = 'hsi_mem_sato'
d[k].units = 'N/A'
d[k].default = '--'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Final value of chi^2'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sato_delta'
d[k].class = 'hsi_mem_sato'
d[k].units = 'N/A'
d[k].default = '--'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Final value of delta'
d[k].more_doc = ''

k = k + 1
d[k].name = 'sato_btot'
d[k].class = 'hsi_mem_sato'
d[k].units = 'N/A'
d[k].default = '--'
d[k].range = ''
d[k].level = 'N/A'
d[k].purpose = 'Final value of btot, the total brightness'
d[k].more_doc = ''


d = d[0:k]
end
