PRO spectra_shift ;---------------------------------------------- ;compile by typing: .r spectra_shift.pro ;execute by typing: spectra_shift ;----------------------------------------------- ; Increases the number of data points while keeping the range the ; same. It will make 30 points in between each original data point. ; You can then remove n number of data points from the top of the file ; and add the same number to the end as a way of "shifting" the data, ; so IDL can subtract the two spectra. ; ;-------------------------------------------------- filename1='Venusday_47_combined_set2.dat' filename2='Venusnight_47.0008.dat' filename3='Venusnight_47.0009.dat' filename4='Venusnight_47.0010.dat' filename5='Venusnight_47.0011.dat' filename6='A0V_47.0003.dat' filename7='A0V_47.0004.dat' filename8='solar_analog.0098.dat' READCOL, filename1, lambda_day, flux_day, FORMAT='D,D' READCOL, filename2, lambda_0008, flux_0008, FORMAT='D,D' READCOL, filename3, lambda_0009, flux_0009, FORMAT='D,D' READCOL, filename4, lambda_0010, flux_0010, FORMAT='D,D' READCOL, filename5, lambda_0011, flux_0011, FORMAT='D,D' READCOL, filename6, lambda_A0V_0003, flux_A0V_0003, FORMAT='D,D' READCOL, filename7, lambda_A0V_0004, flux_A0V_0004, FORMAT='D,D' READCOL, filename8, lambda_solarana, flux_solarana, FORMAT='D,D' ;lambda2 = (lambda*findgen(20480000)/100.0)/findgen(204800) + lambda ;----------------------------------------------------------------------------------- ; Interpolate the data to add more points. File originally had 2048 ; data point, now I want it to have 204800, and it will use a spline ; to figure out the points in between and will write to the variable ; lambda2 and flux2 ;---------------------------------------------------------------------------------- lambda_day2 = INTERPOL(lambda_day, 204800, /SPLINE) flux_day2 = INTERPOL(flux_day, 204800, /SPLINE) lambda_0008_2 = INTERPOL(lambda_0008, 204800, /SPLINE) flux_0008_2 = INTERPOL(flux_0008, 204800, /SPLINE) lambda_0009_2 = INTERPOL(lambda_0009, 204800, /SPLINE) flux_0009_2 = INTERPOL(flux_0009, 204800, /SPLINE) lambda_0010_2 = INTERPOL(lambda_0010, 204800, /SPLINE) flux_0010_2 = INTERPOL(flux_0010, 204800, /SPLINE) lambda_0011_2 = INTERPOL(lambda_0011, 204800, /SPLINE) flux_0011_2 = INTERPOL(flux_0011, 204800, /SPLINE) lambda_A0V_0003_2 = INTERPOL(lambda_A0V_0003, 204800, /SPLINE) flux_A0V_0003_2 = INTERPOL(flux_A0V_0003, 204800, /SPLINE) lambda_A0V_0004_2 = INTERPOL(lambda_A0V_0004, 204800, /SPLINE) flux_A0V_0004_2 = INTERPOL(flux_A0V_0004, 204800, /SPLINE) lambda_solarana = INTERPOL(lambda_solarana, 204800, /SPLINE) flux_solarana = INTERPOL(flux_solarana, 204800, /SPLINE) ;---------------------------------------------------------------------------------- ; Set up plot to write to post script file (rather than in window) ; Name postscript file to write to ;---------------------------------------------------------------------------------- ;set_plot, 'PS' ;device, filename = 'spectra_shift.ps', /color ; plot,lambda2, flux2, xrange = [5570, 5580], xstyle = 1, thick = 1 , color = 130 ; oplot,lambda, flux, color = 200 ;(yellow) ;------------------------------------------------------------------------------------------ ; Print data to file ;------------------------------------------------------------------------------------------ openw, lun, 'Venusday_47_combined_set2_shift0008.dat', /GET_LUN ;**** UPDATE VARIABLE **** for i=0, N_ELEMENTS(lambda_day2)-1 do begin printf, lun, lambda_day2[i], flux_day2[i], format='(f14.5," ", f14.5)' endfor FREE_LUN, lun openw, lun, 'Venusnight_47.0008_long.dat', /GET_LUN ;**** UPDATE VARIABLE **** for i=0, N_ELEMENTS(lambda_day2)-1 do begin printf, lun, lambda_0008_2[i], flux_0008_2[i], format='(f14.5," ", f14.5)' endfor FREE_LUN, lun openw, lun, 'Venusnight_47.0009_long.dat', /GET_LUN ;**** UPDATE VARIABLE **** for i=0, N_ELEMENTS(lambda_day2)-1 do begin printf, lun, lambda_0009_2[i], flux_0009_2[i], format='(f14.5," ", f14.5)' endfor FREE_LUN, lun openw, lun, 'Venusnight_47.0010_long.dat', /GET_LUN ;**** UPDATE VARIABLE **** for i=0, N_ELEMENTS(lambda_day2)-1 do begin printf, lun, lambda_0010_2[i], flux_0010_2[i], format='(f14.5," ", f14.5)' endfor FREE_LUN, lun openw, lun, 'Venusnight_47.0011_long.dat', /GET_LUN ;**** UPDATE VARIABLE **** for i=0, N_ELEMENTS(lambda_day2)-1 do begin printf, lun, lambda_0011_2[i], flux_0010_2[i], format='(f14.5," ", f14.5)' endfor FREE_LUN, lun openw, lun, 'A0V_47.0003_long.dat', /GET_LUN ;**** UPDATE VARIABLE **** for i=0, N_ELEMENTS(lambda_day2)-1 do begin printf, lun, lambda_A0V_0003_2[i], flux_A0V_0003_2[i], format='(f14.5," ", f14.5)' endfor FREE_LUN, lun openw, lun, 'A0V_47.0004_long.dat', /GET_LUN ;**** UPDATE VARIABLE **** for i=0, N_ELEMENTS(lambda_day2)-1 do begin printf, lun, lambda_A0V_0004_2[i], flux_A0V_0004_2[i], format='(f14.5," ", f14.5)' endfor FREE_LUN, lun openw, lun, 'solar_analog.0098_long.dat', /GET_LUN ;**** UPDATE VARIABLE **** for i=0, N_ELEMENTS(lambda_day2)-1 do begin printf, lun, lambda_solarana[i], flux_solarana[i], format='(f14.5," ", f14.5)' endfor FREE_LUN, lun ;------------------------------------------------------------------------------------------ device, /close Stop END