pro re_name, path1 = path1, path2 = path2, mv = mv, mt=mt ; path1 : where are the original raw files? ; path2 : where do you want to copy the reduced ones? ; infile: all data from one night ; mv: 1: move, not set: copy ; mt: mt-files instead of fits-files ;-------------------------------------- ;Specify here the location of your midwork folder of the data ;reduction software: path_red = /path/to/the/data/reduction/folder/midwork/ ;-------------------------------------- spawn, 'gunzip *' spawn, 'ls -lrt' if not keyword_set (path1) then begin dummy2 = strarr(1) spawn, 'pwd > dummy' openr, iunit, 'dummy', /get_lun readf, iunit, dummy2 close, iunit free_lun, iunit path1 = dummy2+'/' spawn, 'wc -c dummy > wc_dummy' wc = intarr(1) openr, iunit, 'wc_dummy', /get_lun readf,iunit, wc close, iunit free_lun, iunit spawn, 'rm dummy' spawn, 'rm wc_dummy' endif if not keyword_set (path2) then path2 = path1 if not keyword_set (mv) then mv = 0 if not keyword_set (mt) then mt = 0 if mt eq 0 then begin spawn, 'ls *.fits > infile' endif if mt eq 1 then begin spawn, 'ls *.mt > infile' endif infile = 'infile' specs = strarr(file_lines(infile)) openr, iunit, infile, /get_lun readf, iunit, specs close, iunit free_lun, iunit array = intarr(file_lines(infile)) test = strarr(1) for i = 0 ,n_elements(specs)-1 do begin data = readfits(specs[i],h) spawn, 'dfits '+specs[i]+' | fitsort "HIERARCH ESO DPR TYPE" > dummy' readcol, 'dummy', test, test1, format='a,a', skipline=1, /silent spawn, 'rm dummy' ;test = fxpar(h,'IMAGETYP') if test eq 'BIAS ' then begin print, 'bias' array[i] = 1 endif if test eq 'FLAT ' then begin print,'flat' array[i] = 2 endif if test eq 'WAVE ' then begin print, 'wave' array[i] = 3 endif if test eq 'OBJECT,WAVE' or test eq 'OBJECT,SKY' then begin print, 'object' array[i] = 4 endif endfor a = sort(array) specs_sort = specs[a] calibs = strarr(21) calibs = specs_sort[0:20] objects = strarr(n_elements(specs)-21) objects = specs_sort[21:n_elements(specs_sort)-1] digits=strarr(1) print,'Give two digits e.g. 25' read, digits ncalib = n_elements(calibs) nobjects = n_elements(objects) print, 'move:', mv if mv eq 0 then begin for i= 1, 21 do begin if i lt 10 then begin zahl = '0'+strtrim(i,2) endif else begin zahl = strtrim(i,2) endelse spawn, 'cp '+strtrim(path1,2)+strtrim(calibs[i-1])+' '+strtrim(path2,2)+'fero'+digits+zahl+'.mt' endfor for i= 51, 51+nobjects-1 do begin spawn, 'cp '+strtrim(path1,2)+strtrim(objects[i-51])+' '+strtrim(path2,2)+'fero'+digits+strtrim(i,2)+'.mt' endfor endif if mv eq 1 then begin for i= 1, 21 do begin if i lt 10 then begin zahl = '0'+strtrim(i,2) endif else begin zahl = strtrim(i,2) endelse spawn, 'mv '+strtrim(path1,2)+strtrim(calibs[i-1])+' '+strtrim(path2,2)+'fero'+digits+zahl+'.mt' endfor for i= 51, 51+nobjects-1 do begin spawn, 'mv '+strtrim(path1,2)+strtrim(objects[i-51])+' '+strtrim(path2,2)+'fero'+digits+strtrim(i,2)+'.mt' endfor endif spawn, 'rm infile' openw, iunit, 'test_calibration_'+strmid(path1,wc,10)+strtrim(digits,2)+'.prg', /get_lun printf, iunit, '$ cp '+path1+'*.mt '+path_red printf, iunit, ' ' printf, iunit, '@@ init ThAr9021 reset' printf, iunit, ' ' printf, iunit, 'add/icat Bias fero'+digits+'01.mt' printf, iunit, 'add/icat Bias fero'+digits+'02.mt' printf, iunit, 'add/icat Bias fero'+digits+'03.mt' printf, iunit, 'add/icat Bias fero'+digits+'04.mt' printf, iunit, 'add/icat Bias fero'+digits+'05.mt' printf, iunit, 'add/icat FF fero'+digits+'06.mt' printf, iunit, 'add/icat FF fero'+digits+'07.mt' printf, iunit, 'add/icat FF fero'+digits+'08.mt' printf, iunit, 'add/icat FF fero'+digits+'09.mt' printf, iunit, 'add/icat FF fero'+digits+'10.mt' printf, iunit, 'add/icat FF fero'+digits+'11.mt' printf, iunit, 'add/icat FF fero'+digits+'12.mt' printf, iunit, 'add/icat FF fero'+digits+'13.mt' printf, iunit, 'add/icat FF fero'+digits+'14.mt' printf, iunit, 'add/icat FF fero'+digits+'15.mt' printf, iunit, 'add/icat ThAr fero'+digits+'16.mt' printf, iunit, 'add/icat ThAr fero'+digits+'17.mt' printf, iunit, 'add/icat ThAr fero'+digits+'18.mt' printf, iunit, 'add/icat ThAr fero'+digits+'19.mt' printf, iunit, 'add/icat ThAr fero'+digits+'20.mt' printf, iunit, 'add/icat ThAr fero'+digits+'21.mt' printf, iunit, ' ' printf, iunit, '@@ init ThAr9021 start' close, iunit free_lun, iunit openw, iunit, 'reduce_all_'+strmid(path1,wc,10)+strtrim(digits,2)+'.prg', /get_lun printf, iunit, 'set/FEROS2p2 EXT_MODE = M' printf, iunit, ' ' printf, iunit,'set/FEROS2p2 MERGE_MTD = AVERAGE' for i = 51, nobjects+50 do begin printf, iunit, '@@ autoreduce fero '+digits+strtrim(i,2) endfor printf, iunit, ' ' printf,iunit, 'set/FEROS2p2 MERGE_MTD = NOAPPEND' for i = 51, nobjects+50 do begin printf, iunit, '@@ autoreduce fero '+digits+strtrim(i,2) endfor printf, iunit, ' ' printf, iunit, '$mkdir '+path2+'fibre1' printf, iunit, '$mkdir '+path2+'fibre2' printf, iunit, '$mkdir '+path2+'fibre1/singleOrders' printf, iunit, '$mkdir '+path2+'fibre2/singleOrders' printf, iunit, '$mkdir '+path2+'extracted' ;printf, iunit, '$mkdir '+path2+'merged' printf, iunit, ' ' printf, iunit, '$ mv f'+digits+'*100*.mt '+path2+'fibre1/singleOrders' printf, iunit, '$ mv f'+digits+'*200*.mt '+path2+'fibre2/singleOrders' printf, iunit, '$ mv f'+digits+'*ext* '+path2+'extracted' printf, iunit, '$ mv f'+digits+'??1.mt '+path2+'fibre1' printf, iunit, '$ mv f'+digits+'??2.mt '+path2+'fibre2' printf, iunit, '$ mv f'+digits+'* '+path2+'extracted' printf, iunit, ' ' printf, iunit, '$ rm '+path2+'fibre1/singleOrders/*.bdf' printf, iunit, '$ rm '+path2+'fibre2/singleOrders/*.bdf' printf, iunit, '$ rm '+path2+'extracted/*.bdf' printf, iunit, '$ rm '+path2+'merged/*.bdf' printf, iunit, ' ' printf, iunit, '$rm '+path_red+'fero'+digits+'*' printf, iunit, '$rm '+path_red+'noFF*.bdf' printf, iunit, '$rm '+path_red+'noFF*.mt' printf, iunit, '$rm '+path_red+'b*ext*' printf, iunit, '$rm '+path_red+'fThAr*' printf, iunit, '$rm '+path_red+'fFF*.bdf' close, iunit free_lun, iunit end