./004275500124140000037000000000000735217363200116525ustar00mackscience00000400000236./hist_2001010064400124140000037000000053260735216427500132120ustar00mackscience00000400000236This is a DARK created from an average of 120 input darks. The input darks were from the date range of Apr 09 2001 thru Aug 13 2001, and consisted of the following files: u68o6v01r u68o8701r u69q220bm u6h80101r u68o6w01r u68o8801r u69q220cr u6h80201r u68o6x01r u68o8901r u69q220dr u6h80301r u68o6y01r u68o8a01r u69q220er u6h80401r u68o6z01r u68o8b01r u69q220fr u6h80501r u68o7701r u68o8k01r u69q260br u6h80701r u68o7801r u68o8l01r u69q260cr u6h80801r u68o7901r u68o8m01r u69q260dr u6h80901r u68o7a01r u68o8n01r u69q260er u6h80a01r u68o7b01r u68o8o01r u69q260fr u6h80b01r u68o7d01r u694520br u69q320bm u6h80j01r u68o7e01r u694520cr u69q320cr u6h80k01r u68o7f01r u694520dr u69q320dr u6h80l01r u68o7g01r u694520er u69q320er u6h80m01r u68o7h01r u694520fm u69q320fr u6h80n01r u68o7j01r u694560br u69q360br u6h80p01r u68o7k01r u694560cr u69q360cr u6h80q01r u68o7l01r u694560dr u69q360dr u6h80r01r u68o7m01r u694560er u69q360er u6h80s01r u68o7n01r u694560fr u69q360fr u6h80t01r u68o7v01r u694620bm u69q420br u6h80v01r u68o7w01r u694620cm u69q420cr u6h80w01r u68o7x01r u694620dm u69q420dr u6h80x01r u68o7y01r u694620em u69q420er u6h80y01r u68o7z01r u694620fm u69q420fr u6h80z01r u68o8101r u694660bm u69q460br u6h81701m u68o8201r u694660cm u69q460cr u6h81801m u68o8301r u694660dm u69q460dr u6h81901m u68o8401r u694660em u69q460er u6h81a01m u68o8501r u694660fm u69q460fr u6h81b01m All the datasets were calibrated using CALWP2.1.3.5.2, utilizing the most up-to-date reference files, including the new superbias: kcd1557lu. The datasets were then run thru the STSDAS task CRREJECT in 3 groups of 40. This was done assuming a total readout, a-to-d conversion, etc. noise of 6 electrons. The cosmic rays were removed iteratively, with 4 sigma rejection, and then additional iterations were made with 3 sigma and 2 sigma rejection levels. The resulting 3 "crrejected" datasets were averaged together to create the final 120 image superdark. The superdark image was then normalized to a darktime of 1.0 second for each CCD. The associated DQF file was computed in the following manner: If more than 60 input files are valid and the dark current is <= 0.02 DN/s, then the pixel value is 0 (valid data). If more than 60 input files are valid and the dark current is > 0.02 DN/s, then the pixel value is 512 (uncorrectable warm pixel). If <= 60 input files are valid, set the pixel value to the "bitwise-OR" of all input masks (any flag set in any of the input files is set on the mask). If none of the input files are valid, set the pixel value to the "bitwise-AND" of all input masks (bad pixel). ./calcheck.cl010064400124140001440000000055060734252516000132510ustar00mackwfpc00000400000236procedure calcheck (dummy) string dummy {prompt=" "} begin string dum,zz,out copy("mksuper$wf_img.d*",".",verb+) copy("mksuper$wf_img.x*",".",verb+) dodqfqs("wf_img") hedit("wf_img.d0h","darkcorr","PERFORM",upd+,add-,ver-, >>& "calchk.log") print("Calibration test: gain=15,serials=off") hedit("wf_img.d0h","darkfile","ndark15on.r3h",upd+,ver-, >>& "calchk.log") hedit("wf_img.d0h","darkdfil","ndark15on.b3h",upd+,ver-, >>& "calchk.log") hedit("wf_img.d0h","darktime",500.0, upd+,ver-, >>& "calchk.log") calwp2("wf_img","out1", >>& "calchk.log") print("Calibration test: gain=15,serials=on") hedit("wf_img.d0h","darkfile","ndark15.r3h",upd+,ver-, >>& "calchk.log") hedit("wf_img.d0h","darkdfil","ndark15.b3h",upd+,ver-, >>& "calchk.log") hedit("wf_img.d0h","darktime",500.0, upd+,ver-, >>& "calchk.log") calwp2("wf_img","out2", >>& "calchk.log") print("Calibration test: gain= 7,serials=off") hedit("wf_img.d0h","darkfile","ndark7on.r3h",upd+,ver-, >>& "calchk.log") hedit("wf_img.d0h","darkdfil","ndark7on.b3h",upd+,ver-, >>& "calchk.log") hedit("wf_img.d0h","darktime",500.0, upd+,ver-, >>& "calchk.log") calwp2("wf_img","out3", >>& "calchk.log") print("Calibration test: gain= 7,serials=on") hedit("wf_img.d0h","darkfile","ndark7.r3h",upd+,ver-, >>& "calchk.log") hedit("wf_img.d0h","darkdfil","ndark7.b3h",upd+,ver-, >>& "calchk.log") hedit("wf_img.d0h","darktime",500.0, upd+,ver-, >>& "calchk.log") calwp2("wf_img","out4", >>& "calchk.log") print (" ") wstat("out*.c0h", >>& "stats.check") wfarith("ndark7.r3h", "*","INDEF","500","n7500.d0h", "real","real") wfarith("ndark15.r3h","*","INDEF","500","n15500.d0h","real","real") wfarith("wf_img.d0h","-","n7500.d0h", "INDEF", "min7.d0h","real","real") wfarith("wf_img.d0h","-","n15500.d0h","INDEF","min15.d0h","real","real") wstat("min15.d0h", >>& "stats.check") wstat("min7.d0h", >>& "stats.check") delete("n7500*.???", go_ahead=yes,verify=no,mode="ql") delete("n15500*.???",go_ahead=yes,verify=no,mode="ql") delete("min7*.???", go_ahead=yes,verify=no,mode="ql") delete("min15*.???", go_ahead=yes,verify=no,mode="ql") delete("wf_img*", go_ahead=yes,verify=no,mode="ql") print (" ") print ("Calculating Statistics...") print (" ") zz = "stats.check" out = "out.mm" fields(zz,"2-9", lines="4-7", >> "zzb1") fields(zz,"2-9", lines="11-14", >> "zzb2") fields(zz,"2-9", lines="32-35", >> "zzb3") fields(zz,"2-9", lines="18-21", >> "zza1") fields(zz,"2-9", lines="25-28", >> "zza2") fields(zz,"2-9", lines="39-42", >> "zza3") !diff zza1 zza2 >> zzdiff !diff zza1 zza3 >> zzdiff !diff zzb1 zzb2 >> zzdiff !diff zzb1 zzb3 >> zzdiff rename("zzdiff",out,field="root",mode="h") delete("zza?",ver-) delete("zzb?",ver-) delete("c0h_list",ver-) delete("out?.cgr",ver-) imdel ("out?.??h", ver-) movefiles("out*","INFILES") movefiles("*stat*","INFILES") movefiles("*log","INFILES") end ./dodqfqs.cl010064400124140001440000000027760734252516000131630ustar00mackwfpc00000400000236procedure dodqfqs(img_name) string img_name {prompt="Input image name (no ext)"} begin string img, root, begi string image, outroot string outname real min, max int i, j, l img = img_name print (" ") #do d0h/q0h set for (j=1; j<5; j+=1) { image = img+".d0h["+j+"]" print(image) outroot = img+".q0h" print(outroot) if (j == 1) { outname = outroot + "[1/4]"} else {outname = outroot+"["+j+"]"} imarith (image, "*", 0.0, outname, pixtype="short") } for (j=1; j<5; j+=1) { outname = outroot+"["+j+"]" minmax(outname,force=yes,upd=yes,verbose=no) min = minmax.minval max = minmax.maxval hedit(outname,"datamin",min,add-,del-,ver-,sh-,upd+) hedit(outname,"datamax",max,add-,del-,ver-,sh-,upd+) hedit(outname,"goodmin",min,add-,del-,ver-,sh-,upd+) hedit(outname,"goodmax",max,add-,del-,ver-,sh-,upd+) } print (" ") #do x0h/q1h set for (j=1; j<5; j+=1) { image = img+".x0h["+j+"]" print(image) outroot = img+".q1h" print(outroot) if (j == 1) { outname = outroot + "[1/4]"} else {outname = outroot+"["+j+"]"} imarith (image, "*", 0.0, outname, pixtype="short") } for (j=1; j<5; j+=1) { outname = outroot+"["+j+"]" minmax(outname,force=yes,upd=yes,verbose=no) min = minmax.minval max = minmax.maxval hedit(outname,"datamin",min,add-,del-,ver-,sh-,upd+) hedit(outname,"datamax",max,add-,del-,ver-,sh-,upd+) hedit(outname,"goodmin",min,add-,del-,ver-,sh-,upd+) hedit(outname,"goodmax",max,add-,del-,ver-,sh-,upd+) } print(" ") print("-----------------------------") end ./doheader.cl010064400124140001440000000056670734252516000132770ustar00mackwfpc00000400000236procedure doheader string ped {prompt="Pedigree descrip, INFLIGHT DD/MM/YYYY - DD/MM/YYYY"} string usf {prompt="Useafter (Mon DD YYYY HH:MM:SS)"} string ran {prompt="Date of first Observation, (DD/MM/YYY)"} string dat {prompt="Date of first Observation, (YYYY-MM-DD)"} string tday {prompt="Today's Date, (DD Month Year)"} begin string pedgree,useafter,date,today,range,syear string dumm pedgree = ped range = ran useafter= usf date = dat today = tday syear = superimg.sdark print (" ") print (" ---Calculating statistics using dowfstat.cl--- ") print (" ") dowfstat print (" ") print (" ---Updating Headers--- ") print (" ") hedit("ndark15.??h", field="rootname",val="ndark15", add-,del-,ver-,show+,upd+) hedit("ndark15on.??h",field="rootname",val="ndark15on",add-,del-,ver-,show+,upd+) hedit("ndark7on.??h", field="rootname",val="ndark7on", add-,del-,ver-,show+,upd+) hedit("ndark*.?3h", field="pedigree",val=pedgree, add-,del-,ver-,sh+,upd+) hedit("ndark*.?3h", field="moonangl",val="''", add-,del-,ver-,sh+,upd+) hedit("ndark*.?3h", field="fgslock", val="''", add-,del-,ver-,sh+,upd+) hedit("ndark*.?3h", field="expflag", val="''", add-,del-,ver-,sh+,upd+) hedit("ndark*.?3h", field="seqname", val="''", add-,del-,ver-,sh+,upd+) hedit("ndark*.?3h", field="time-obs",val=" ", add-,del-,ver-,sh+,upd+) hedit("ndark*.?3h", field="date-obs",val=date, add-,del-,ver-,sh+,upd+) hedit("ndark*.?3h", field="useafter",val=useafter,add+,del-,ver-,sh+,upd+) hedit("ndark*.?3h", field="descrip", val="Pipeline dark: 120 frame superdark with hotpixels from "//range,add+,del-,ver-,sh+,upd+) stfhist ("ndark*.?3h", "@mksuper$hist_"//syear,verb-) stfhist ("ndark*.?3h", "@c0h_list",verb-) stfhist ("ndark*.?3h", "@mksuper$hist_add2",verb-) stfhist ("ndark*.?3h", "@sigma",verb-) stfhist ("ndark*.?3h", "",verb-) stfhist ("ndark*.?3h", "(Files created using the STSDAS CRREJ task by",verb-) stfhist ("ndark*.?3h", "Jennifer Mack, STScI, "//today//")",verb-) stfhist ("ndark*.?3h", "@mksuper$hist_add3",verb-) stfhist("*on.??h", "",verb-) stfhist("*on.??h", "Serial ON darks are exact copies of the corresponding",verb-) stfhist("*on.??h", "atodgain serial OFF darks.",verb-) stfhist("*on.??h", "",verb-) stfhist("*15*.??h","",verb-) stfhist("*15*.??h","ATODGAIN 15 darks were created by multiplying the",verb-) stfhist("*15*.??h","corresponding ATODGAIN 7 dark by 0.5.",verb-) stfhist("*15*.??h","",verb-) print (" ") print (" ---Comparing image min,max with keyword min,max--- ") print (" Results printed in output file 'out.chk' ") print (" ") imstat("ndark15.r3h[1],ndark7.r3h[1]",fields="image,min,max",format-,>>"out.chk") imstat("ndark15.r3h[3],ndark7.r3h[3]",fields="image,min,max",format-,>>"out.chk") print (" ",>>"out.chk") hselect("ndark15.r3h[1],ndark7.r3h[1]","$I,datamin,datamax","yes",>>"out.chk") hselect("ndark15.r3h[3],ndark7.r3h[3]","$I,datamin,datamax","yes",>>"out.chk") del ("sigma", ver-) end ./dohedit.cl010064400124140001440000000344510734252516000131350ustar00mackwfpc00000400000236procedure dohedit(input_images,cdbs_fil,atodgain,shutter,date,infiltnam1,infiltnam2,infilt1,infilt2,inpfilt1,inpfilt2) string input_images {prompt="Input images (*.r?h)"} string cdbs_fil {prompt="Input image type (MASK, ATOD, BIAS, SHAD, DARK, FLAT)"} real atodgain {prompt="Input atodgain"} string shutter {prompt="Input shutter (A, B, or ' ')"} string date {prompt="Input date (dd/mm/yy)"} string infiltnam1 {prompt="Input filtnam1 (F439W)"} string infiltnam2 {prompt="Input filtnam2"} int infilt1 {prompt="Input filter1 (a number)"} int infilt2 {prompt="Input filter2 (a number)"} int inpfilt1 {prompt="Input pfilter1 (a number)"} int inpfilt2 {prompt="Input pfilter2 (a number)"} begin string inimg, img, imgname string imhimg string temp, tempimh string shut, cdbsfil string rootname, datemade string filtnam1, filtnam2 string ext int filt1,filt2,pfilt1,pfilt2 real min, max, atod int i, j, l inimg = input_images; cdbsfil = cdbs_fil if(cdbsfil != 'MASK'){if(cdbsfil != 'ATOD'){if(cdbsfil != 'BIAS'){ if(cdbsfil != 'SHAD'){if(cdbsfil != 'DARK'){if(cdbsfil != 'FLAT'){ print("cdbsfile not an allowed value!");bye}}}}}} atod = atodgain if(atod != 15.0){if(atod != 7.0){if(atod !=0.0){print("atodgain not an allowed value!");bye}}} shut = shutter if (shut != 'A'){if(shut != 'B'){if(cdbsfil == 'SHAD'){print"need a shutter value A or B for SHAD files!"); bye}}} datemade = date temp = mktemp("tmpfil") if (cdbsfil == 'FLAT') { filtnam1 = infiltnam1; filtnam2 = infiltnam2 filt1 = infilt1; filt2 = infilt2 pfilt1 = inpfilt1; pfilt2 = inpfilt2 } print(" ") sections (inimg,option="fullname",mode="ql", >> temp) list = temp while (fscan(list,imgname) != EOF) { for(i=1; i<5; i+=1) { img = imgname+"["+i+"]" l = strlen(imgname) rootname = substr(imgname,1,l-4) ext = substr(imgname,l-2,l-2) minmax(img,force=yes,update=yes,verbose=no,mode="ql") min = minmax.minval max = minmax.maxval j = i hedit(img,"crval1",0.,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"crval2",0.,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"crval3",0.,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"crpix1",0.,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"crpix2",0.,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"cd1_1",0.,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"cd1_2",0.,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"cd2_1",0.,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"cd2_2",0.,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"datamin",min,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"datamax",max,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"atodgain",atod,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"mir_revr","F",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"orientat",0.,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"fillcnt",0,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"errcnt",0,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"fpkttime"," ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"lpkttime"," ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"ctype1"," ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"ctype2"," ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"ctype3"," ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"detector",j,add-,delete-,verify-,show+,update+,mode="ql") hedit(img,"dezero",0.,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"goodmin",min,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"goodmax",max,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"datamean",0.,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"biaseven",0.,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"biasodd",0.,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"gpixels",640000,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"softerrs",0,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"calibdef",0,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"staticd",0,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"atodsat",0,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"datalost",0,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"badpixel",0,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"overlap",0,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"photmode"," ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"photflam",0.,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"photzpt",0.,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"photplam",0.,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"photbw",0.,add-,delete-,verify-,show-,update+,mode="ql") } print(" ") img = imgname hedit(img,"instrume","WFPC2 ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"rootname",rootname,add-,delete-,verify-,show+,update+,mode="ql") if (cdbsfil == 'MASK') { hedit(img,"filetype","MSK ",add-,delete-,verify-,show+,update+,mode="ql") } if (cdbsfil == 'ATOD') { hedit(img,"filetype","A2D ",add-,delete-,verify-,show+,update+,mode="ql") } if (cdbsfil == 'BIAS') { hedit(img,"filetype","BAS ",add-,delete-,verify-,show+,update+,mode="ql") } hedit(img,"nsegpgrp",0,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"mode","FULL ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"serials","OFF ",add-,delete-,verify-,show-,update+,mode="ql") if (cdbsfil == 'MASK' || cdbsfil == 'ATOD' || cdbsfil == 'BIAS' || cdbsfil == 'DARK') { hedit(img,"filtnam1"," ",add-,delete-,verify-,show+,update+,mode="ql") hedit(img,"filtnam2"," ",add-,delete-,verify-,show+,update+,mode="ql") hedit(img,"filter1",0,add-,delete-,verify-,show+,update+,mode="ql") hedit(img,"filter2",0,add-,delete-,verify-,show+,update+,mode="ql") hedit(img,"pfilter1",0,add-,delete-,verify-,show+,update+,mode="ql") hedit(img,"pfilter2",0,add-,delete-,verify-,show+,update+,mode="ql") } hedit(img,"exptime",0.0,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"uexpodur",0.0,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"darktime",0.0,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"uexpotim",0.0000000E+00,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"nshuta17",0,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"pstrtime"," ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"pstptime"," ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"kspots" ,"OFF ",add-,delete-,verify-,show-,update+,mode="ql") if(cdbsfil != 'SHAD') { hedit(img,"shutter"," ",add-,delete-,verify-,show+,update+,mode="ql") } hedit(img,"imagetyp","CDBS ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"cdbsfile",cdbsfil,add-,delete-,verify-,show+,update+,mode="ql") hedit(img,"maskcorr"," ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"atodcorr"," ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"blevcorr"," ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"biascorr"," ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"darkcorr"," ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"flatcorr"," ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"shadcorr"," ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"dosatmap"," ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"dophotom"," ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"outdtype"," ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"maskfile"," ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"atodfile"," ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"blevfile"," ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"blevdfil"," ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"biasfile"," ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"biasdfil"," ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"darkfile"," ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"darkdfil"," ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"flatfile"," ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"flatdfil"," ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"shadfile"," ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"shaddfil"," ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"phottab" ," ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"graphtab"," ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"comptab" ," ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"saturate",4095,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"uscale",1.0,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"uzero",0.0,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"readtime",0,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"uch1cjtm",0.0,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"uch2cjtm",0.0,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"uch3cjtm",0.0,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"uch4cjtm",0.0,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"ubay3tmp",0.0,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"pa_v3",0.0,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"ra_sun",0.0,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"dec_sun",0.0,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"eqnx_sun",0.0E+00,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"mtflag","F",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"eqradtrg",0.0,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"flatntrg",0.0,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"npdectrg",0.0,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"npratrg",0.0,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"rotrttrg",0.0,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"longpmer",0.0,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"eplongpm",0.0,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"surflatd",0.0,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"pktfmt",0,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"surflong",0.0,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"surfaltd",0.0,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"podpsff",0,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"stdcfff",0,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"stdcffp"," ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"rsdpfill",-100,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"date",datemade,add-,delete-,verify-,show+,update+,mode="ql") hedit(img,"plotid"," ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"proposid"," ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"pep_expo"," ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"targnam1"," ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"targnamc"," ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"plan_exp",0.0,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"plan_sn",0.0,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"priority",0,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"ra",0.,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"dec",0.,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"exposure",0.,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"expstrt",0.,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"expend",0.,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"sunangle",0.,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"moonangl"," ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"fgslock"," ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"sun_alt",0.0E+00,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"date-obs"," ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"time-obs"," ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"expstart",0.0E+00,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"linenum",0.,add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"seqline",0.,add-,delete-,verify-,show-,update+,mode="ql") if (cdbsfil == 'SHAD') { hedit(img,"exptime",1.0,add-,delete-,verify-,show+,update+,mode="ql") hedit(img,"filetype","SHD ",add-,delete-,verify-,show+,update+,mode="ql") hedit(img,"shutter",shut,add-,delete-,verify-,show+,update+,mode="ql") } if (cdbsfil == 'FLAT') { hedit(img,"filtnam1",filtnam1,add-,delete-,verify-,show+,update+,mode="ql") hedit(img,"filtnam2",filtnam2,add-,delete-,verify-,show+,update+,mode="ql") hedit(img,"filter1",filt1,add-,delete-,verify-,show+,update+,mode="ql") hedit(img,"filter2",filt2,add-,delete-,verify-,show+,update+,mode="ql") hedit(img,"pfilter1",pfilt1,add-,delete-,verify-,show+,update+,mode="ql") hedit(img,"pfilter2",pfilt2,add-,delete-,verify-,show+,update+,mode="ql") hedit(img,"filetype","FLT ",add-,delete-,verify-,show+,update+,mode="ql") } if (cdbsfil == 'DARK') { hedit(img,"darktime",1.0,add-,delete-,verify-,show+,update+,mode="ql") hedit(img,"filetype","DRK ",add-,delete-,verify-,show+,update+,mode="ql") } if (ext == 'b') { hedit(img,"filetype","DQF ",add-,delete-,verify-,show-,update+,mode="ql") hedit(img,"filetype","DQF ",add-,delete-,verify-,show+,update+,mode="ql") # DON'T DELETE THE DOUBLE LINES HERE... IT DIDN'T WORK ONLY DOING IT ONCE!!! } } delete(temp,ver-) print(" ") end ./dowfstat.cl010064400124140001440000000045030734252516000133430ustar00mackwfpc00000400000236procedure dowfstat (dummy) string dummy {prompt=" "} struct *flist begin string imlist,imag,tmplist,imname string root,tmpfile,dataf,num int l,number,numgood, numbad real val string inimg, img, imgname string imhimg,temp real min, max int i,j,l2 imlist = "ndark*.b3h" tmplist = mktemp("dg") sections (imlist,option="fullname",mode="ql", >> tmplist) list = tmplist temp = mktemp("tmpfil") inimg = "ndark*.?3h" while (fscan(list,imname) != EOF) { print (" ") l = strlen(imname) root = substr(imname,1,l-4) num = substr(imname,l-1,l-1) print ("root is ",root) for (i=1; i<=4; i+=1) { imag = imname + "[" + i + "]" dataf = root + ".r" +num+"h" + "[" + i + "]" print ("imag = ",imag,"; dataf = ",dataf) tmpfile = mktemp("tmp") imhist(imag,nbins=1, z1=1.5, z2=2500., binwidt = INDEF, autoscale+, top_closed+, hist_type="normal",listout=yes, plot_type="line",logy=no, > tmpfile) flist=tmpfile while(fscan(flist,val,number) != EOF) { numbad = number numgood = 640000 - numbad print ("good & bad ",numgood," ",numbad) # update data quality file headers hedit(imag,"gpixels",numgood,add-,delete-,verify-,show+,update+,mode="ql") hedit(imag,"calibdef",numbad,add-,delete-,verify-,show+,update+,mode="ql") # update data file headers hedit(dataf,"gpixels",numgood,add-,delete-,verify-,show+,update+,mode="ql") hedit(dataf,"calibdef",numbad,add-,delete-,verify-,show+,update+,mode="ql") del (tmpfile,go_ahead=yes,verify=no,default_action=yes,allversion=yes,subfiles=yes) } } } del (tmplist,go_ahead=yes,verify=no,default_action=yes,allversion=yes,subfiles=yes) sections (inimg,option="fullname",mode="ql", >> temp) list = temp while (fscan(list,imgname) != EOF) { for(i=1; i<5; i+=1) { img = imgname+"["+i+"]" l2 = strlen(imgname) minmax(img,force=yes,update=yes,verbose=no,mode="ql") min = minmax.minval max = minmax.maxval hedit(img,"datamin",min,add-,delete-,verify-,show+,update+,mode="ql") hedit(img,"datamax",max,add-,delete-,verify-,show+,update+,mode="ql") hedit(img,"goodmin",min,add-,delete-,verify-,show+,update+,mode="ql") hedit(img,"goodmax",max,add-,delete-,verify-,show+,update+,mode="ql") } } delete(temp,ver-) print(" ") end s=1, z1=1.5, z2=2500., binwidt = INDEF, autoscale+, top_closed+, hist_type="normal",listout=yes, plot_type="line",logy=no, > tmpfile) flist=tmpfile while(fscan(flist,val,nu./hist_1999010064000124140001440000000053610734252516100125550ustar00mackwfpc00000400000236This is a DARK created from an average of 120 input darks. The input darks were from the date range of 19/04/1999 thru 09/08/1999, and consisted of the following files: u442ep01r u5if160br u5if260br u5iv0v01r u442eq01r u5if160cr u5if260cr u5iv0w01r u442er01r u5if160dr u5if260dr u5iv0x01r u442es01r u5if160er u5if260er u5iv0y01r u442et01r u5if160fr u5if260fr u5iv0z01r u442ev01r u442fj01r u5iv0701r u5iv1101r u442ew01r u442fk01r u5iv0801r u5iv1201r u442ex01r u442fl01r u5iv0901r u5iv1301r u442ey01r u442fm01m u5iv0a01m u5iv1401r u442ez01m u442fn01r u5iv0b01r u5iv1501r u442f101r u442fp01r u5iv0d01r u5iv1701r u442f201r u442fq01r u5iv0e01r u5iv1801r u442f301r u442fr01r u5iv0f01r u5iv1901r u442f401r u442fs01r u5iv0g01r u5iv1a01r u442f501r u442ft01r u5iv0h01r u5iv1b01r u442f701r u442fv01r u5iv0p01r u5iv1d01r u442f801r u442fw01r u5iv0q01r u5iv1e01r u442f901r u442fx01r u5iv0r01r u5iv1f01r u442fa01r u442fy01r u5iv0s01r u5iv1g01r u442fb01r u442fz01r u5iv0t01r u5iv1h01r u442fd01r u5iv0101r u5if320br u5if410br u442fe01r u5iv0201r u5if320cr u5if410cr u442ff01r u5iv0301r u5if320dr u5if410dr u442fg01r u5iv0401r u5if320er u5if410er u442fh01r u5iv0501r u5if320fr u5if410fr u5if120br u5if210br u5if360br u5if460br u5if120cm u5if210cr u5if360cr u5if460cm u5if120dr u5if210dr u5if360dr u5if460dr u5if120er u5if210er u5if360er u5if460er u5if120fr u5if210fr u5if360fr u5if460fr All the datasets were calibrated using CALWP2.1.3.5.2, utilizing the most up-to-date reference files, including the new superbias: j9a1612mu. The datasets were then run thru the STSDAS task CRREJECT in 8 groups of 15. This was done assuming a total readout, a-to-d conversion, etc. noise of 6 electrons. The cosmic rays were removed iteratively, with 4 sigma rejection, and then additional iterations were made with 3 sigma and 2 sigma rejection levels. The resulting 8 "crrejected" datasets were averaged together to create the final 120 image superdark. The superdark image was then normalized to a darktime of 1.0 second for each CCD. The associated DQF file was computed in the following manner: If more than 60 input files are valid and the dark current is <= 0.02 DN/s, then the pixel value is 0 (valid data). If more than 60 input files are valid and the dark current is > 0.02 DN/s, then the pixel value is 512 (uncorrectable warm pixel). If <= 60 input files are valid, set the pixel value to the bitwise OR of all input masks (any flag set in any of the input files is set on the mask). The 1 set of 5 weekly darks was created in the same fashion, with the following on-orbit darks used: ./hist_2000010065500124140001440000000053260734252516100125320ustar00mackwfpc00000400000236This is a DARK created from an average of 120 input darks. The input darks were from the date range of Apr 10 2000 thru Aug 01 2000, and consisted of the following files: u5iv7701r u5iv8701m u5ls660br u5ls960br u5iv7801r u5iv8801r u5ls660cr u5ls960cr u5iv7901r u5iv8901r u5ls660dr u5ls960dr u5iv7a01r u5iv8a01r u5ls660er u5ls960er u5iv7b01r u5iv8b01r u5ls660fr u5ls960fr u5iv7d01r u5iv8d01r u5ls720br u68o0101r u5iv7e01r u5iv8e01r u5ls720cr u68o0201r u5iv7f01r u5iv8f01r u5ls720dr u68o0301r u5iv7g01r u5iv8g01r u5ls720er u68o0401r u5iv7h01r u5iv8h01r u5ls720fr u68o0501r u5iv7j01r u5iv8j01r u5ls760br u68o0701r u5iv7k01r u5iv8k01r u5ls760cr u68o0801r u5iv7l01r u5iv8l01r u5ls760dr u68o0901r u5iv7m01r u5iv8m01r u5ls760er u68o0a01r u5iv7n01r u5iv8n01r u5ls760fr u68o0b01r u5iv7p01r u5iv8p01r u5ls820br u68o0j01r u5iv7q01r u5iv8q01r u5ls820cr u68o0k01r u5iv7r01r u5iv8r01m u5ls820dr u68o0l01r u5iv7s01r u5iv8s01r u5ls820er u68o0m01r u5iv7t01r u5iv8t01r u5ls820fr u68o0n01r u5iv7v01r u5iv8v01r u5ls860br u68o0p01r u5iv7w01r u5iv8w01r u5ls860cr u68o0q01r u5iv7x01r u5iv8x01r u5ls860dr u68o0r01r u5iv7y01r u5iv8y01r u5ls860er u68o0s01r u5iv7z01m u5iv8z01r u5ls860fm u68o0t01r u5iv8101r u5ls620br u5ls920br u68o0v01r u5iv8201r u5ls620cr u5ls920cr u68o0w01m u5iv8301r u5ls620dm u5ls920dr u68o0x01r u5iv8401r u5ls620er u5ls920er u68o0y01r u5iv8501r u5ls620fr u5ls920fr u68o0z01r All the datasets were calibrated using CALWP2.1.3.5.2, utilizing the most up-to-date reference files, including the new superbias: kcd1557lu. The datasets were then run thru the STSDAS task CRREJECT in 3 groups of 40. This was done assuming a total readout, a-to-d conversion, etc. noise of 6 electrons. The cosmic rays were removed iteratively, with 4 sigma rejection, and then additional iterations were made with 3 sigma and 2 sigma rejection levels. The resulting 3 "crrejected" datasets were averaged together to create the final 120 image superdark. The superdark image was then normalized to a darktime of 1.0 second for each CCD. The associated DQF file was computed in the following manner: If more than 60 input files are valid and the dark current is <= 0.02 DN/s, then the pixel value is 0 (valid data). If more than 60 input files are valid and the dark current is > 0.02 DN/s, then the pixel value is 512 (uncorrectable warm pixel). If <= 60 input files are valid, set the pixel value to the "bitwise-OR" of all input masks (any flag set in any of the input files is set on the mask). If none of the input files are valid, set the pixel value to the "bitwise-AND" of all input masks (bad pixel). ./hist_add2010064000124140001440000000015700734252516100127520ustar00mackwfpc00000400000236 The mean of this resultant weekly dark, excluding values deviating by more than 3*sigma, was saved to a file, with one mean value for each chip. This was done for 3 iterations and the final means and sigmas were used in conjunction with the weekly dark and the superdark, to generate the pipeline dark: each pixel was compared to the chip statistics, to determine whether it exceeded a threshold based on average and sigma. That is, if abs value(weekly dark-superdark) > 5*sigma then pixel value of weekly is used in the pipeline dark. If the pixel value of the weekly dark did not exceed the threshold, the pixel value of superdark is used for the pipeline dark. The values of 5*sigma used to make this dark are (for the PC, WF2, WF3, and WF4, respectively): ./hist_add3010075500124140001440000000015130734252516100127570ustar00mackwfpc00000400000236 The values in the pipeline dark DQF (*.b3h) reflect whether a pixel value comes from the weekly dark or from the superdark, and whether it has changed recently. That is, the following values are used: 2 if pixel came from weekly dark and was generated from 3 or less of the 5 input frames for that week 512 if the pixel value comes from the weekly dark, and did vary substantially with respect to the previous week's pipeline dark (an "unfixable" pixel in stsdas task warmpix). 1024 if the pixel value comes from the weekly dark, and did not vary substantially with respect to the value in the previous week (considered a "fixable" pixel in warmpix). Calwp2 will bit-wise OR any pipeline DARK DQF values with the values from any of the other DQF files used in the calibration processing and place results in c1h file. ./mksuper.cl010064400124140001440000000007070734252516100132010ustar00mackwfpc00000400000236 package mksuper set mksuper = /data/gemini3/dark_ref/ task wkdark = mksuper$wkdark.cl task superimg = mksuper$superimg.cl task superdqf = mksuper$superdqf.cl task dowfstat = mksuper$dowfstat.cl task dohedit = mksuper$dohedit.cl task doheader = mksuper$doheader.cl task dodqfqs = mksuper$dodqfqs.cl task dodeliver = mksuper$dodeliver.cl task calcheck = mksuper$calcheck.cl task wfarith = mksuper$wfarith.cl clbye() ./super1999.b3d010075500124140001440000234220400734252516500132710ustar00mackwfpc00000400000236