echo 0 files = findfile("GRAVI.*T*.fits") tablename = "Metrology" fieldnames = ["time","volt","power_laser","lambda_laser"] reduce=stringarray(1) reduce[1]= " " anafile = findfile("ana.ini.*")[1] print anafile idx=0 for(i=1;i<=nelements(files);i++) { fn = files[i] words = strsplit(fn,".") if(nelements(words) == 4) { idx++ print fn for(j=1;j<=nelements(fieldnames);j++) { print tablename + " " + fieldnames[j] tab = readfitsbintable(fn,tablename,fieldnames[j]) outn = fn[1:nelements(fn)-5] outn += "."+tablename+"."+fieldnames[j]+".fits" if(fieldnames[j]=="volt") reduce += "metred " + outn + " " + anafile writefits outn, tab } fi = readfits(fn) dateph = getfitskey(fi,"HIERARCH ESO OCS MET PH_DATE",/text) date0 = getfitskey(fi,"HIERARCH ESO PCR ACQ START",/text) date1 = getfitskey(fi,"HIERARCH ESO PCR ACQ END",/text) if(idx==1) { startdate = date0 } enddate = date1 phfc1ft = getfitskey(fi,"HIERARCH ESO OCS MET PH_FC1_FT",/text) phfc1sc = getfitskey(fi,"HIERARCH ESO OCS MET PH_FC1_SC",/text) phfc2ft = getfitskey(fi,"HIERARCH ESO OCS MET PH_FC2_FT",/text) phfc2sc = getfitskey(fi,"HIERARCH ESO OCS MET PH_FC2_SC",/text) phfc3ft = getfitskey(fi,"HIERARCH ESO OCS MET PH_FC3_FT",/text) phfc3sc = getfitskey(fi,"HIERARCH ESO OCS MET PH_FC3_SC",/text) phfc4ft = getfitskey(fi,"HIERARCH ESO OCS MET PH_FC4_FT",/text) phfc4sc = getfitskey(fi,"HIERARCH ESO OCS MET PH_FC4_SC",/text) pht1d1ft = getfitskey(fi,"HIERARCH ESO OCS MET PH_T1_D1_FT",/text) pht1d1sc = getfitskey(fi,"HIERARCH ESO OCS MET PH_T1_D1_SC",/text) pht1d2ft = getfitskey(fi,"HIERARCH ESO OCS MET PH_T1_D2_FT",/text) pht1d2sc = getfitskey(fi,"HIERARCH ESO OCS MET PH_T1_D2_SC",/text) pht1d3ft = getfitskey(fi,"HIERARCH ESO OCS MET PH_T1_D3_FT",/text) pht1d3sc = getfitskey(fi,"HIERARCH ESO OCS MET PH_T1_D3_SC",/text) pht1d4ft = getfitskey(fi,"HIERARCH ESO OCS MET PH_T1_D4_FT",/text) pht1d4sc = getfitskey(fi,"HIERARCH ESO OCS MET PH_T1_D4_SC",/text) pht2d1ft = getfitskey(fi,"HIERARCH ESO OCS MET PH_T2_D1_FT",/text) pht2d1sc = getfitskey(fi,"HIERARCH ESO OCS MET PH_T2_D1_SC",/text) pht2d2ft = getfitskey(fi,"HIERARCH ESO OCS MET PH_T2_D2_FT",/text) pht2d2sc = getfitskey(fi,"HIERARCH ESO OCS MET PH_T2_D2_SC",/text) pht2d3ft = getfitskey(fi,"HIERARCH ESO OCS MET PH_T2_D3_FT",/text) pht2d3sc = getfitskey(fi,"HIERARCH ESO OCS MET PH_T2_D3_SC",/text) pht2d4ft = getfitskey(fi,"HIERARCH ESO OCS MET PH_T2_D4_FT",/text) pht2d4sc = getfitskey(fi,"HIERARCH ESO OCS MET PH_T2_D4_SC",/text) pht3d1ft = getfitskey(fi,"HIERARCH ESO OCS MET PH_T3_D1_FT",/text) pht3d1sc = getfitskey(fi,"HIERARCH ESO OCS MET PH_T3_D1_SC",/text) pht3d2ft = getfitskey(fi,"HIERARCH ESO OCS MET PH_T3_D2_FT",/text) pht3d2sc = getfitskey(fi,"HIERARCH ESO OCS MET PH_T3_D2_SC",/text) pht3d3ft = getfitskey(fi,"HIERARCH ESO OCS MET PH_T3_D3_FT",/text) pht3d3sc = getfitskey(fi,"HIERARCH ESO OCS MET PH_T3_D3_SC",/text) pht3d4ft = getfitskey(fi,"HIERARCH ESO OCS MET PH_T3_D4_FT",/text) pht3d4sc = getfitskey(fi,"HIERARCH ESO OCS MET PH_T3_D4_SC",/text) pht4d1ft = getfitskey(fi,"HIERARCH ESO OCS MET PH_T4_D1_FT",/text) pht4d1sc = getfitskey(fi,"HIERARCH ESO OCS MET PH_T4_D1_SC",/text) pht4d2ft = getfitskey(fi,"HIERARCH ESO OCS MET PH_T4_D2_FT",/text) pht4d2sc = getfitskey(fi,"HIERARCH ESO OCS MET PH_T4_D2_SC",/text) pht4d3ft = getfitskey(fi,"HIERARCH ESO OCS MET PH_T4_D3_FT",/text) pht4d3sc = getfitskey(fi,"HIERARCH ESO OCS MET PH_T4_D3_SC",/text) pht4d4ft = getfitskey(fi,"HIERARCH ESO OCS MET PH_T4_D4_FT",/text) pht4d4sc = getfitskey(fi,"HIERARCH ESO OCS MET PH_T4_D4_SC",/text) telescop = getfitskey(fi,"TELESCOP",/text) dl1 = getfitskey(fi,"HIERARCH ESO ISS CONF DL1",/text) dl2 = getfitskey(fi,"HIERARCH ESO ISS CONF DL2",/text) dl3 = getfitskey(fi,"HIERARCH ESO ISS CONF DL3",/text) dl4 = getfitskey(fi,"HIERARCH ESO ISS CONF DL4",/text) input1 = getfitskey(fi,"HIERARCH ESO ISS CONF INPUT1",/text) input2 = getfitskey(fi,"HIERARCH ESO ISS CONF INPUT2",/text) input3 = getfitskey(fi,"HIERARCH ESO ISS CONF INPUT3",/text) input4 = getfitskey(fi,"HIERARCH ESO ISS CONF INPUT4",/text) station1 = getfitskey(fi,"HIERARCH ESO ISS CONF STATION1",/text) station2 = getfitskey(fi,"HIERARCH ESO ISS CONF STATION2",/text) station3 = getfitskey(fi,"HIERARCH ESO ISS CONF STATION3",/text) station4 = getfitskey(fi,"HIERARCH ESO ISS CONF STATION4",/text) tplno = getfitskey(fi,"HIERARCH ESO OBS TPLNO",/text) ntpl = getfitskey(fi,"HIERARCH ESO OBS NTPL",/text) tplid = getfitskey(fi,"HIERARCH ESO TPL ID",/text) sobjname = getfitskey(fi,"HIERARCH ESO INS SOBJ NAME",/text) sobjswap = getfitskey(fi,"HIERARCH ESO INS SOBJ SWAP",/text) sobjx = getfitskey(fi,"HIERARCH ESO INS SOBJ X",/text) sobjy = getfitskey(fi,"HIERARCH ESO INS SOBJ Y",/text) dateobs = getfitskey(fi,"DATE-OBS",/text) expno = getfitskey(fi,"HIERARCH ESO TPL EXPNO",/text) nexp = getfitskey(fi,"HIERARCH ESO TPL NEXP",/text) dprtype = getfitskey(fi,"HIERARCH ESO DPR TYPE",/text) tim1period = getfitskey(fi,"HIERARCH ESO INS TIM1 PERIOD",/text) tim1start = getfitskey(fi,"HIERARCH ESO INS TIM1 START",/text) ndit = getfitskey(fi,"HIERARCH ESO DET2 NDIT",/text) dit = getfitskey(fi,"HIERARCH ESO DET2 SEQ1 DIT",/text) parangstart = getfitskey(fi,"HIERARCH ESO ISS PARANG START",/text) parangend = getfitskey(fi,"HIERARCH ESO ISS PARANG END",/text) outtext = stringarray(73) idx = 1 outtext[idx] = "DATE0 " + date0 idx++ outtext[idx] = "DATE1 " + date1 idx++ outtext[idx] = "DATEPH " + dateph idx++ outtext[idx] = "T1D1FT " + pht1d1ft idx++ outtext[idx] = "T1D2FT " + pht1d2ft idx++ outtext[idx] = "T1D3FT " + pht1d3ft idx++ outtext[idx] = "T1D4FT " + pht1d4ft idx++ outtext[idx] = "T2D1FT " + pht2d1ft idx++ outtext[idx] = "T2D2FT " + pht2d2ft idx++ outtext[idx] = "T2D3FT " + pht2d3ft idx++ outtext[idx] = "T2D4FT " + pht2d4ft idx++ outtext[idx] = "T3D1FT " + pht3d1ft idx++ outtext[idx] = "T3D2FT " + pht3d2ft idx++ outtext[idx] = "T3D3FT " + pht3d3ft idx++ outtext[idx] = "T3D4FT " + pht3d4ft idx++ outtext[idx] = "T4D1FT " + pht4d1ft idx++ outtext[idx] = "T4D2FT " + pht4d2ft idx++ outtext[idx] = "T4D3FT " + pht4d3ft idx++ outtext[idx] = "T4D4FT " + pht4d4ft idx++ outtext[idx] = "T1D1SC " + pht1d1sc idx++ outtext[idx] = "T1D2SC " + pht1d2sc idx++ outtext[idx] = "T1D3SC " + pht1d3sc idx++ outtext[idx] = "T1D4SC " + pht1d4sc idx++ outtext[idx] = "T2D1SC " + pht2d1sc idx++ outtext[idx] = "T2D2SC " + pht2d2sc idx++ outtext[idx] = "T2D3SC " + pht2d3sc idx++ outtext[idx] = "T2D4SC " + pht2d4sc idx++ outtext[idx] = "T3D1SC " + pht3d1sc idx++ outtext[idx] = "T3D2SC " + pht3d2sc idx++ outtext[idx] = "T3D3SC " + pht3d3sc idx++ outtext[idx] = "T3D4SC " + pht3d4sc idx++ outtext[idx] = "T4D1SC " + pht4d1sc idx++ outtext[idx] = "T4D2SC " + pht4d2sc idx++ outtext[idx] = "T4D3SC " + pht4d3sc idx++ outtext[idx] = "T4D4SC " + pht4d4sc idx++ outtext[idx] = "FC1FT " + phfc1ft idx++ outtext[idx] = "FC2FT " + phfc2ft idx++ outtext[idx] = "FC3FT " + phfc3ft idx++ outtext[idx] = "FC4FT " + phfc4ft idx++ outtext[idx] = "FC1SC " + phfc1sc idx++ outtext[idx] = "FC2SC " + phfc2sc idx++ outtext[idx] = "FC3SC " + phfc3sc idx++ outtext[idx] = "FC4SC " + phfc4sc idx++ outtext[idx] = "TELESCOP " + telescop idx++ outtext[idx] = "DL1 " + dl1 idx++ outtext[idx] = "DL2 " + dl2 idx++ outtext[idx] = "DL3 " + dl3 idx++ outtext[idx] = "DL4 " + dl4 idx++ outtext[idx] = "INPUT1 " + input1 idx++ outtext[idx] = "INPUT2 " + input2 idx++ outtext[idx] = "INPUT3 " + input3 idx++ outtext[idx] = "INPUT4 " + input4 idx++ outtext[idx] = "STATION1 " + station1 idx++ outtext[idx] = "STATION2 " + station2 idx++ outtext[idx] = "STATION3 " + station3 idx++ outtext[idx] = "STATION4 " + station4 idx++ outtext[idx] = "TPLNO " + tplno idx++ outtext[idx] = "NTPL " + ntpl idx++ outtext[idx] = "TPLID " + tplid idx++ outtext[idx] = "SOBJNAME " + sobjname idx++ outtext[idx] = "SOBJSWAP " + sobjswap idx++ outtext[idx] = "SOBJX " + sobjx idx++ outtext[idx] = "SOBJY " + sobjy idx++ outtext[idx] = "DATEOBS " + dateobs idx++ outtext[idx] = "EXPNO " + expno idx++ outtext[idx] = "NEXP " + nexp idx++ outtext[idx] = "DPRTYPE " + dprtype idx++ outtext[idx] = "TIM1PERIOD " + tim1period idx++ outtext[idx] = "TIM1START " + tim1start idx++ outtext[idx] = "NDIT " + ndit idx++ outtext[idx] = "DIT " + dit idx++ outtext[idx] = "PARANGSTART " + parangstart idx++ outtext[idx] = "PARANGEND " + parangend outn = fn[1:nelements(fn)-5] + ".hdr.txt" export outn, outtext } } if(nelements(files)>0) { print "Start date: " + startdate print "End date: " + enddate sd = jd(int(startdate[9:10]),int(startdate[6:7]),int(startdate[1:4]),int(startdate[12:13]),int(startdate[15:16]),float(startdate[18:26])) ed = jd(int(enddate[9:10]),int(enddate[6:7]),int(enddate[1:4]),int(enddate[12:13]),int(enddate[15:16]),float(enddate[18:26])) } else { sd=0 ed=0 } files2 = findfile("GVMET_*.fits") for(i=1;i<=nelements(files2);i++) { fn = files2[i] words = strsplit(fn,".") if(nelements(words) == 2) { fi = readfits(fn) date0 = getfitskey(fi,"HIERARCH ESO PCR ACQ START",/text) date1 = getfitskey(fi,"HIERARCH ESO PCR ACQ END",/text) if (date0=="" || date1=="" ) { print "Corrupted file "+fn } else { print fn+" from "+date0+" to "+date1 } d0 = jd(int(date0[9:10]),int(date0[6:7]),int(date0[1:4]),int(date0[12:13]),int(date0[15:16]),float(date0[18:26])) d1 = jd(int(date1[9:10]),int(date1[6:7]),int(date1[1:4]),int(date1[12:13]),int(date1[15:16]),float(date1[18:26])) if((d1>ed && !d0>ed) || (d0