; $Id: diagdumpge_ioc_master.pro,v 0.1 2003/01/31 15:00:00 dkelly Exp $ ; ;+ ; NAME: ; DIAGDUMPGE_IOC_MASTER ; ; PURPOSE: ; This routine reads in the binary diagnostic dump data collected ; during a collection of Ge thermal anneals and produces a master ; anneal thermal profile for each of the temperature curves. ; ; CATEGORY: ; MIPS utilities. ; ; CALLING SEQUENCE: ; diagdumpge_ioc_master, ps=ps ; ; INPUTS: ; This routine needs to be run in a directory with .txt files ; holding the results from a collection of 24um thermal anneals. ; ; KEYWORD PARAMETERS: ; PS: Writes to the output file master.ps rather than to X. ; ; OUTPUTS: ; Postscript file master.ps created if ps flag is set. ; ASCII text file master.temps with temperature profiles ; ; OPTIONAL OUTPUTS: ; ; ; MODIFICATION HISTORY: ; Written by: Doug Kelly (September 28, 2003) ; ; This CECOLDIAG command includes ten telemetry items in the following order: ; 0x00b01942 D70TmpA ; 0x00b01940 D70TmpB ; 0x00b01944 D160TmpA ; 0x00b01948 D160TmpB ; 0x00b01938 D70JnctTmp ; 0x00b0193a D160JnctTmp ; 0x00b0194a CSMMTmp ; 0x00b01934 D24TmpA ; 0x00446964 D70AnnealCur ; 0x00446968 D160AnnealCur ; ;- ; ---------------------------------------------------------------------- PRO diagdumpge_ioc_master,ps=ps ; system variables for rainbow+white on a white background !p.background=255 !p.color=0 loadct,39 ; configure to put four plots on one page, 2 columns x 2 rows !p.multi = [0,2,2,0,1] ; read in the data fbase = '*.txt' files = findfile(fbase,count=nfiles) if (nfiles eq 0) then begin print,'No Files Found - quitting' return endif else begin if (keyword_set(ps)) then begin psland, fname='master.ps', wide=10.5, high=7.5 endif D160JnctTmp = fltarr(1,80,nfiles) bkgd_D160JnctTmp = fltarr(nfiles) CSMM_Tmp = fltarr(1,80,nfiles) bkgd_CSMM_Tmp = fltarr(nfiles) D160TmpB = fltarr(1,80,nfiles) bkgd_D160TmpB = fltarr(nfiles) D70JnctTmp = fltarr(1,80,nfiles) bkgd_D70JnctTmp = fltarr(nfiles) D160TmpA = fltarr(1,80,nfiles) bkgd_D160TmpA = fltarr(nfiles) D70AnnealCur = fltarr(1,80,nfiles) bkgd_D70AnnealCur = fltarr(nfiles) D70TmpB = fltarr(1,80,nfiles) bkgd_D70TmpB = fltarr(nfiles) D70TmpA = fltarr(1,80,nfiles) bkgd_D70TmpA = fltarr(nfiles) D160AnnealCur = fltarr(1,80,nfiles) bkgd_D160AnnealCur = fltarr(nfiles) D24TmpA = fltarr(1,80,nfiles) bkgd_D24TmpA = fltarr(nfiles) for i = 0,(nfiles-1) do begin filename = files[i] print,filename READCOL,files[i],f = 'f,f,f,f,f,f,f,f,f,f,f,f',Dummy1,Dummy2, $ Dummy3,Dummy4,Dummy5,Dummy6, $ Dummy7,Dummy8,Dummy9,Dummy10, $ Dummy11,Dummy12,delimiter=' ' D160JnctTmp[0,*,i] = Dummy6 bkgd_D160JnctTmp[i] = mean(Dummy6[0:9]) CSMM_Tmp[0,*,i] = Dummy7 bkgd_CSMM_Tmp[i] = mean(Dummy7[0:9]) D160TmpB[0,*,i] = Dummy4 bkgd_D160TmpB[i] = mean(Dummy4[0:9]) D70JnctTmp[0,*,i] = Dummy5 bkgd_D70JnctTmp[i] = mean(Dummy5[0:9]) D160TmpA[0,*,i] = Dummy3 bkgd_D160TmpA[i] = mean(Dummy3[0:9]) D70AnnealCur[0,*,i] = Dummy9 bkgd_D70AnnealCur[i] = mean(Dummy9[32:41]) D70TmpB[0,*,i] = Dummy2 bkgd_D70TmpB[i] = mean(Dummy2[0:9]) D70TmpA[0,*,i] = Dummy1 bkgd_D70TmpA[i] = mean(Dummy1[0:9]) D160AnnealCur[0,*,i] = Dummy10 bkgd_D160AnnealCur[i] = mean(Dummy10[11:20]) D24TmpA[0,*,i] = Dummy8 bkgd_D24TmpA[i] = mean(Dummy8[0:9]) endfor mean_bkgd_D160JnctTmp = mean(bkgd_D160JnctTmp) print,'mean_bkgd_D160JnctTmp = ',mean_bkgd_D160JnctTmp mean_bkgd_CSMM_Tmp = mean(bkgd_CSMM_Tmp) print,'mean_bkgd_CSMM_Tmp = ',mean_bkgd_CSMM_Tmp mean_bkgd_D160TmpB = mean(bkgd_D160TmpB) print,'mean_bkgd_D160TmpB = ',mean_bkgd_D160TmpB mean_bkgd_D70JnctTmp = mean(bkgd_D70JnctTmp) print,'mean_bkgd_D70JnctTmp = ',mean_bkgd_D70JnctTmp mean_bkgd_D160TmpA = mean(bkgd_D160TmpA) print,'mean_bkgd_D160TmpA = ',mean_bkgd_D160TmpA mean_bkgd_D70AnnealCur = mean(bkgd_D70AnnealCur) print,'mean_bkgd_D70AnnealCur = ',mean_bkgd_D70AnnealCur mean_bkgd_D70TmpB = mean(bkgd_D70TmpB) print,'mean_bkgd_D70TmpB = ',mean_bkgd_D70TmpB mean_bkgd_D70TmpA = mean(bkgd_D70TmpA) print,'mean_bkgd_D70TmpA = ',mean_bkgd_D70TmpA mean_bkgd_D160AnnealCur = mean(bkgd_D160AnnealCur) print,'mean_bkgd_D160AnnealCur = ',mean_bkgd_D160AnnealCur mean_bkgd_D24TmpA = mean(bkgd_D24TmpA) print,'mean_bkgd_D24TmpA = ',mean_bkgd_D24TmpA for i = 0,(nfiles-1) do begin D160JnctTmp[0,*,i] = D160JnctTmp[0,*,i] - bkgd_D160JnctTmp[i] + $ mean_bkgd_D160JnctTmp CSMM_Tmp[0,*,i] = CSMM_Tmp[0,*,i] - bkgd_CSMM_Tmp[i] + mean_bkgd_CSMM_Tmp D160TmpB[0,*,i] = D160TmpB[0,*,i] - bkgd_D160TmpB[i] + mean_bkgd_D160TmpB D70JnctTmp[0,*,i] = D70JnctTmp[0,*,i] - bkgd_D70JnctTmp[i] + $ mean_bkgd_D70JnctTmp D160TmpA[0,*,i] = D160TmpA[0,*,i] - bkgd_D160TmpA[i] + $ mean_bkgd_D160TmpA D70AnnealCur[0,*,i] = D70AnnealCur[0,*,i] - bkgd_D70AnnealCur[i] + $ mean_bkgd_D70AnnealCur D70TmpB[0,*,i] = D70TmpB[0,*,i] - bkgd_D70TmpB[i] + $ mean_bkgd_D70TmpB D70TmpA[0,*,i] = D70TmpA[0,*,i] - bkgd_D70TmpA[i] + $ mean_bkgd_D70TmpA D160AnnealCur[0,*,i] = D160AnnealCur[0,*,i] - bkgd_D160AnnealCur[i] + $ mean_bkgd_D160AnnealCur D24TmpA[0,*,i] = D24TmpA[0,*,i] - bkgd_D24TmpA[i] + $ mean_bkgd_D24TmpA endfor D160JnctTmp_master = fltarr(80) CSMM_Tmp_master = fltarr(80) D160TmpB_master = fltarr(80) D70JnctTmp_master = fltarr(80) D160TmpA_master = fltarr(80) D70AnnealCur_master = fltarr(80) D70TmpB_master = fltarr(80) D70TmpA_master = fltarr(80) D160AnnealCur_master = fltarr(80) D24TmpA_master = fltarr(80) openw,unit1,'master.temps',/get_lun for i = 0,79 do begin D160JnctTmp_master[i] = mean(D160JnctTmp[0,i,*]) CSMM_Tmp_master[i] = mean(CSMM_Tmp[0,i,*]) D160TmpB_master[i] = mean(D160TmpB[0,i,*]) D70JnctTmp_master[i] = mean(D70JnctTmp[0,i,*]) D160TmpA_master[i] = mean(D160TmpA[0,i,*]) D70AnnealCur_master[i] = mean(D70AnnealCur[0,i,*]) D70TmpB_master[i] = mean(D70TmpB[0,i,*]) D70TmpA_master[i] = mean(D70TmpA[0,i,*]) D160AnnealCur_master[i] = mean(D160AnnealCur[0,i,*]) D24TmpA_master[i] = mean(D24TmpA[0,i,*]) printf,unit1,D70TmpA_master[i],D70TmpB_master[i], $ D160TmpA_master[i],D160TmpB_master[i],D70JnctTmp_master[i], $ D160JnctTmp_master[i],CSMM_Tmp_master[i],D24TmpA_master[i], $ D70AnnealCur_master[i],D160AnnealCur_master[i],0.0,0.0, $ format='(12(F8.4,3x))' endfor free_lun,unit1 ; plot the master data plot, findgen(80), D70TmpA_master, $ yrange=[(D70TmpA_master[0]-0.1),(D70TmpA_master[42]+0.1)], $ xtitle='Time (sec)', ytitle='Temperature (K)', $ title='70um and 160um Thermal Anneal: Master Plots', $ charsize=1.3, color=0,/nodata oplot, findgen(80), D70TmpA_master, color=10 xyouts, 15, (D70TmpA_master[42]+0.06), 'D70TmpA', color=10 oplot, findgen(80), D70TmpB_master, color=232 xyouts, 15, (D70TmpA_master[42]+0.03), 'D70TmpB', color=232 plot, findgen(80), D160TmpA_master, $ yrange=[(D160TmpA_master[0]-0.1),(D160TmpA_master[21]+0.1)], $ xtitle='Time (sec)', ytitle='Temperature (K)', $ charsize=1.3, color=0,/nodata oplot, findgen(80), D160TmpA_master, color=10 xyouts, 15, (D160TmpA_master[21]-0.04), 'D160TmpA', color=10 oplot, findgen(80), D160TmpB_master, color=232 xyouts, 15, (D160TmpA_master[21]-0.1), 'D160TmpB', color=232 plot, findgen(80), D70JnctTmp_master, $ yrange=[(D70JnctTmp_master[43]-0.5),(D70JnctTmp_master[43]+0.3)], $ xtitle='Time (sec)', ytitle='Temperature (K)', $ charsize=1.3, color=0,/nodata oplot, findgen(80), D70JnctTmp_master, color=10 xyouts, 15, (D70JnctTmp_master[43]+0.2), 'D70JnctTmp', color=10 oplot, findgen(80), D160JnctTmp_master, color=232 xyouts, 15, (D70JnctTmp_master[43]+0.15), 'D160JnctTmp', color=232 oplot, findgen(80), CSMM_Tmp_master, color=58 xyouts, 15, (D70JnctTmp_master[43]+0.1), 'CSMM_Tmp', color=58 plot, findgen(80), D70AnnealCur_master, $ yrange=[-1,16], xtitle='Time (sec)', ytitle='Anneal Current (uA)', $ charsize=1.3, color=0,/nodata oplot, findgen(80), D70AnnealCur_master, color=10 xyouts, 50, 14, 'D70AnnealCur', color=10 oplot, findgen(80), D160AnnealCur_master, color=232 xyouts, 50, 13, 'D160AnnealCur', color=232 if (keyword_set(ps)) then begin device, /close set_plot, 'x' endif ; write mean temperature profiles out to the file master.txt ;openw,unit1,'master.txt',/get_lun ;printf,unit1,anneal_DN, format='(12(F8.4,3x))' ;free_lun,unit1 endelse END ; ----------------------------------------------------------------------