;This is a programme to create a FITACF data structure ;storing only required variable as compared to the original ;FITACF sructure containing lots of extra information that is rarely used ; but capable of draining the computer resources very quickly. ; This program is used in FIT_ACF_ALL. ;---------------------------------------------------------------------------- pro fit_clipped, fit=fit, max_range=max_range, simple_stat=simple_stat if ~keyword_set(max_range) then MAX_RANGE=300 if ~keyword_set(simple_stat) then begin fit={FitData_clipped, $ revision: {rlstr, major: 0L, minor: 0L}, $ ;Radar software version information noise: {nfstr, sky: 0.0, lag0: 0.0, vel: 0.0}, $ ;Noise parameters: sky -- "sky-noise" registered while the transmitter is not operating, lag0 -- ?, vel --? pwr0: fltarr(MAX_RANGE), $ ;Lag 0 SNR directly from ACFs [dB] ;nlag: intarr(MAX_RANGE), $ ;Nnmber of valid ACF lags used for fitting qflg: bytarr(MAX_RANGE), $ ;Quality flag: 0 -- bad data, 1 -- good data gflg: bytarr(MAX_RANGE), $ ;Ground scatter flag: 0 -- ionospheric scatter, 1 -- ground scatter p_l: fltarr(MAX_RANGE), $ ;Lag 0 SNR from Lorentzian fit (linear fit to logarithm of ACF power), [dB] ; p_l_e: fltarr(MAX_RANGE), $ ;Respective error ; p_s: fltarr(MAX_RANGE), $ ;Lag 0 SNR from Gaussian fit (quadratic fit to logarithm of ACF power), [dB] ; p_s_e: fltarr(MAX_RANGE), $ ;Respective error slist:fltarr(MAX_RANGE), $ v: fltarr(MAX_RANGE),$ ;Line-of-sight Doppler velocity estimate from linear fit of ACF phase, [m/s] v_e: fltarr(MAX_RANGE), $ ;Respective error w_l: fltarr(MAX_RANGE), $ ;Spectral width from Lorentzian fit, [m/s] w_l_e: fltarr(MAX_RANGE), $ ;Respective error ; w_s: fltarr(MAX_RANGE), $ ;Spectral width from Gaussian fit, [m/s] ; w_s_e: fltarr(MAX_RANGE), $ ;Respective error ;sd_l: fltarr(MAX_RANGE), $ ;Standard deviation for Lorentzian fit, [units?] ;sd_s: fltarr(MAX_RANGE), $ ;Same for Gaussian fit, [units?] ;sd_phi: fltarr(MAX_RANGE), $ ;Same for phase fit, [rad?] ; x_qflg: bytarr(MAX_RANGE), $ ;Interferometer parameters (same for ACF but calculated for XCF using the same algorithms) + elevation data ; x_gflg: bytarr(MAX_RANGE), $ ;x_p_l: fltarr(MAX_RANGE), $ ;x_p_l_e: fltarr(MAX_RANGE), $ ;x_p_s: fltarr(MAX_RANGE), $ ;x_p_s_e: fltarr(MAX_RANGE), $ ;x_v: fltarr(MAX_RANGE), $ ;x_v_e: fltarr(MAX_RANGE), $ ;x_w_l: fltarr(MAX_RANGE), $ ;x_w_l_e: fltarr(MAX_RANGE), $ ;x_w_s: fltarr(MAX_RANGE), $ ;x_w_s_e: fltarr(MAX_RANGE), $ ; phi0: fltarr(MAX_RANGE), $ ;Phase difference at Lag 0 calculated through linear fit to XCF phase ; phi0_e: fltarr(MAX_RANGE), $ ;Respective error elv: fltarr(MAX_RANGE) $;, $ ;Elevation, [deg] ; elv_low: fltarr(MAX_RANGE), $ ;Lower estimate (phi0-phi0_e) ; elv_high: fltarr(MAX_RANGE), $ ;Higher estimate (phi0+phi0_e) ;x_sd_l: fltarr(MAX_RANGE), $ ;x_sd_s: fltarr(MAX_RANGE), $ ; x_sd_phi: fltarr(MAX_RANGE) $ } endif else begin fit={FitData_clipped, $ revision: {rlstr, major: 0L, minor: 0L}, $ noise: {nfstr, sky: 0.0, lag0: 0.0, vel: 0.0}, $ pwr0: fltarr(MAX_RANGE), $ nlag: intarr(MAX_RANGE), $ qflg: bytarr(MAX_RANGE), $ gflg: bytarr(MAX_RANGE) $ ; p_l: fltarr(MAX_RANGE), $ ; p_l_e: fltarr(MAX_RANGE), $ ; p_s: fltarr(MAX_RANGE), $ ; p_s_e: fltarr(MAX_RANGE), $ ;v: fltarr(MAX_RANGE) $ ; v_e: fltarr(MAX_RANGE), $ ;w_l: fltarr(MAX_RANGE), $ ; w_l_e: fltarr(MAX_RANGE), $ ; w_s: fltarr(MAX_RANGE), $ ; w_s_e: fltarr(MAX_RANGE), $ ;sd_l: fltarr(MAX_RANGE), $ ;sd_s: fltarr(MAX_RANGE), $ ;sd_phi: fltarr(MAX_RANGE), $ ; x_qflg: bytarr(MAX_RANGE), $ ; x_gflg: bytarr(MAX_RANGE), $ ;x_p_l: fltarr(MAX_RANGE), $ ;x_p_l_e: fltarr(MAX_RANGE), $ ;x_p_s: fltarr(MAX_RANGE), $ ;x_p_s_e: fltarr(MAX_RANGE), $ ;x_v: fltarr(MAX_RANGE), $ ;x_v_e: fltarr(MAX_RANGE), $ ;x_w_l: fltarr(MAX_RANGE), $ ;x_w_l_e: fltarr(MAX_RANGE), $ ;x_w_s: fltarr(MAX_RANGE), $ ;x_w_s_e: fltarr(MAX_RANGE), $ ;phi0: fltarr(MAX_RANGE), $ ;phi0_e: fltarr(MAX_RANGE), $ ;elv: fltarr(MAX_RANGE) $;, $ ; elv_low: fltarr(MAX_RANGE), $ ; elv_high: fltarr(MAX_RANGE), $ ;x_sd_l: fltarr(MAX_RANGE), $ ;x_sd_s: fltarr(MAX_RANGE), $ ; x_sd_phi: fltarr(MAX_RANGE) $ } endelse end ;