// THIS SECTION IS IN PHP. // ENTER CAID AND TITLE W/IN QUOTES IN THE FOLLOWING 2 LINES ... $caid="246"; // Don't mess w/ $file. $file = "mips-".$caid.".cookbook.php"; // END PHP. ?>
Principal: dmkellyif (file_exists("cookbook_header.php")) { include ("cookbook_header.php");} ?>
Deputy: eyoung
Data Monkey(s): Read noise and dark current monkeys, plus consultation from Karl and John
Priority: Necessary
Downlink Priority: Normal
Analysis Time: 72h
Last Updated: if (file_exists($file)) {echo date("D M d Y, H:i:s", filemtime($file) ) ;} ?>
For each bias setting (5 at 70um, 5 at 160um): # collect stim repeatability data, stim cycle of 6, 10s DCEs, 47 flashes sendcmd CEMIPSUR 'AORID_upper,AORID_lower,6,"NO_COADD",9,1,"MIPS"' sendcmd CEGESTIM '"AUTO",6,"BON","BON","BOTHOFF",10,10,"MIPS"' sendcmd CEMIPSUR 'AORID_upper,AORID_lower,7,"NO_COADD",9,277,"MIPS"' # collect 50 10s DCEs of read noise data sendcmd CEGESTIM '"AUTO",63,"BOTHOFF","BOTHOFF","BOTHOFF",10,10,"MIPS"' sendcmd CEMIPSUR 'AORID_upper,AORID_lower,8,"NO_COADD",9,50,"MIPS"'
Here is the full AOR: mips_mobs_phot sendcmd mips_scanpos_102 sendcmd CEGESTIM '"AUTO",63,"BOTHOFF","BOTHOFF","BOTHOFF",10,10,"MIPS"' sendcmd CEGERSTCON '10,127,4,"MIPS"' sendcmd CESCANCON '"CHOP","REV",0,2048,2048,0,511,"MIPS"' # collect stim repeatability data, stim cycle of 6, 10s DCEs, 47 flashes sendcmd CEMIPSUR 'AORID_upper,AORID_lower,0,"NO_COADD",9,1,"MIPS"' sendcmd CEGESTIM '"AUTO",6,"BON","BON","BOTHOFF",10,10,"MIPS"' sendcmd CEMIPSUR 'AORID_upper,AORID_lower,1,"NO_COADD",9,277,"MIPS"' # collect 50 10s DCEs of read noise data sendcmd CEGESTIM '"AUTO",63,"BOTHOFF","BOTHOFF","BOTHOFF",10,10,"MIPS"' sendcmd CEMIPSUR 'AORID_upper,AORID_lower,2,"NO_COADD",9,50,"MIPS"' # set the 70um bias to 45 mV (44.6) and perform a 70um thermal anneal sendcmd CELDHTGIF '3,0x93,"MIPS"' mips_backto_mobs sendcmd CEGEANNEAL '"HEAT","GE70","MIPS"' # Move to the 160um primary dark position and collect dark current # and read noise data. Also do stim flashes on the 70um array since # those data might prove useful, if somewhat compromised. # V70bias = 45 mV, V160bias = 30 mV mips_mobs_phot sendcmd mips_scanpos_104 # collect stim repeatability data, stim cycle of 6, 10s DCEs, 47 flashes sendcmd CEMIPSUR 'AORID_upper,AORID_lower,3,"NO_COADD",9,1,"MIPS"' sendcmd CEGESTIM '"AUTO",6,"BON","BON","BOTHOFF",10,10,"MIPS"' sendcmd CEMIPSUR 'AORID_upper,AORID_lower,4,"NO_COADD",9,277,"MIPS"' # collect 50 10s DCEs of read noise data sendcmd CEGESTIM '"AUTO",63,"BOTHOFF","BOTHOFF","BOTHOFF",10,10,"MIPS"' sendcmd CEMIPSUR 'AORID_upper,AORID_lower,5,"NO_COADD",9,50,"MIPS"' # set the 160um bias to 35 mV (35.2) and perform a 160um thermal anneal sendcmd CELDHTGIF '20,0x90,"MIPS"' mips_backto_mobs sendcmd CEGEANNEAL '"HEAT","GE160","MIPS"' # Move to the 70um primary dark position and collect dark current # and read noise data. Also do stim flashes on the 160um array since # those data might prove useful, if somewhat compromised. # V70bias = 45 mV, V160bias = 35 mV mips_mobs_phot sendcmd mips_scanpos_102 sendcmd CEGESTIM '"AUTO",63,"BOTHOFF","BOTHOFF","BOTHOFF",10,10,"MIPS"' sendcmd CEGERSTCON '10,127,4,"MIPS"' sendcmd CESCANCON '"CHOP","REV",0,2048,2048,0,511,"MIPS"' # collect stim repeatability data, stim cycle of 6, 10s DCEs, 47 flashes sendcmd CEMIPSUR 'AORID_upper,AORID_lower,6,"NO_COADD",9,1,"MIPS"' sendcmd CEGESTIM '"AUTO",6,"BON","BON","BOTHOFF",10,10,"MIPS"' sendcmd CEMIPSUR 'AORID_upper,AORID_lower,7,"NO_COADD",9,277,"MIPS"' # collect 50 10s DCEs of read noise data sendcmd CEGESTIM '"AUTO",63,"BOTHOFF","BOTHOFF","BOTHOFF",10,10,"MIPS"' sendcmd CEMIPSUR 'AORID_upper,AORID_lower,8,"NO_COADD",9,50,"MIPS"' # set the 70um bias to 50 mV (49.2) and perform a 70um thermal anneal sendcmd CELDHTGIF '3,0x95,"MIPS"' mips_backto_mobs sendcmd CEGEANNEAL '"HEAT","GE70","MIPS"' # Move to the 160um primary dark position and collect dark current # and read noise data. Also do stim flashes on the 70um array since # those data might prove useful, if somewhat compromised. # V70bias = 50 mV, V160bias = 35 mV mips_mobs_phot sendcmd mips_scanpos_104 # collect stim repeatability data, stim cycle of 6, 10s DCEs, 47 flashes sendcmd CEMIPSUR 'AORID_upper,AORID_lower,9,"NO_COADD",9,1,"MIPS"' sendcmd CEGESTIM '"AUTO",6,"BON","BON","BOTHOFF",10,10,"MIPS"' sendcmd CEMIPSUR 'AORID_upper,AORID_lower,10,"NO_COADD",9,277,"MIPS"' # collect 50 10s DCEs of read noise data sendcmd CEGESTIM '"AUTO",63,"BOTHOFF","BOTHOFF","BOTHOFF",10,10,"MIPS"' sendcmd CEMIPSUR 'AORID_upper,AORID_lower,11,"NO_COADD",9,50,"MIPS"' # set the 160um bias to 15 mV (16.4) and perform a 160um thermal anneal sendcmd CELDHTGIF '20,0x88,"MIPS"' mips_backto_mobs sendcmd CEGEANNEAL '"HEAT","GE160","MIPS"' # Move to the 70um primary dark position and collect dark current # and read noise data. Also do stim flashes on the 160um array since # those data might prove useful, if somewhat compromised. # V70bias = 50 mV, V160bias = 15 mV mips_mobs_phot sendcmd mips_scanpos_102 sendcmd CEGESTIM '"AUTO",63,"BOTHOFF","BOTHOFF","BOTHOFF",10,10,"MIPS"' sendcmd CEGERSTCON '10,127,4,"MIPS"' sendcmd CESCANCON '"CHOP","REV",0,2048,2048,0,511,"MIPS"' # collect stim repeatability data, stim cycle of 6, 10s DCEs, 47 flashes sendcmd CEMIPSUR 'AORID_upper,AORID_lower,12,"NO_COADD",9,1,"MIPS"' sendcmd CEGESTIM '"AUTO",6,"BON","BON","BOTHOFF",10,10,"MIPS"' sendcmd CEMIPSUR 'AORID_upper,AORID_lower,13,"NO_COADD",9,277,"MIPS"' # collect 50 10s DCEs of read noise data sendcmd CEGESTIM '"AUTO",63,"BOTHOFF","BOTHOFF","BOTHOFF",10,10,"MIPS"' sendcmd CEMIPSUR 'AORID_upper,AORID_lower,14,"NO_COADD",9,50,"MIPS"' # set the 70um bias to 30 mV (30.5) and perform a 70um thermal anneal sendcmd CELDHTGIF '3,0x8D,"MIPS"' mips_backto_mobs sendcmd CEGEANNEAL '"HEAT","GE70","MIPS"' # Move to the 160um primary dark position and collect dark current # and read noise data. Also do stim flashes on the 70um array since # those data might prove useful, if somewhat compromised. # V70bias = 30 mV, V160bias = 15 mV mips_mobs_phot sendcmd mips_scanpos_104 # collect stim repeatability data, stim cycle of 6, 10s DCEs, 47 flashes sendcmd CEMIPSUR 'AORID_upper,AORID_lower,15,"NO_COADD",9,1,"MIPS"' sendcmd CEGESTIM '"AUTO",6,"BON","BON","BOTHOFF",10,10,"MIPS"' sendcmd CEMIPSUR 'AORID_upper,AORID_lower,16,"NO_COADD",9,277,"MIPS"' # collect 50 10s DCEs of read noise data sendcmd CEGESTIM '"AUTO",63,"BOTHOFF","BOTHOFF","BOTHOFF",10,10,"MIPS"' sendcmd CEMIPSUR 'AORID_upper,AORID_lower,17,"NO_COADD",9,50,"MIPS"' # set the 160um bias to 20 mV (21.1) and perform a 160um thermal anneal sendcmd CELDHTGIF '20,0x8A,"MIPS"' mips_backto_mobs sendcmd CEGEANNEAL '"HEAT","GE160","MIPS"' # Move to the 70um primary dark position and collect dark current # and read noise data. Also do stim flashes on the 160um array since # those data might prove useful, if somewhat compromised. # V70bias = 30 mV, V160bias = 20 mV mips_mobs_phot sendcmd mips_scanpos_102 sendcmd CEGESTIM '"AUTO",63,"BOTHOFF","BOTHOFF","BOTHOFF",10,10,"MIPS"' sendcmd CEGERSTCON '10,127,4,"MIPS"' sendcmd CESCANCON '"CHOP","REV",0,2048,2048,18,511,"MIPS"' # collect stim repeatability data, stim cycle of 6, 10s DCEs, 47 flashes sendcmd CEMIPSUR 'AORID_upper,AORID_lower,0,"NO_COADD",9,1,"MIPS"' sendcmd CEGESTIM '"AUTO",6,"BON","BON","BOTHOFF",10,10,"MIPS"' sendcmd CEMIPSUR 'AORID_upper,AORID_lower,19,"NO_COADD",9,277,"MIPS"' # collect 50 10s DCEs of read noise data sendcmd CEGESTIM '"AUTO",63,"BOTHOFF","BOTHOFF","BOTHOFF",10,10,"MIPS"' sendcmd CEMIPSUR 'AORID_upper,AORID_lower,20,"NO_COADD",9,50,"MIPS"' # set the 70um bias to 35 mV (35.2) and perform a 70um thermal anneal sendcmd CELDHTGIF '3,0x8F,"MIPS"' mips_backto_mobs sendcmd CEGEANNEAL '"HEAT","GE70","MIPS"' # Move to the 160um primary dark position and collect dark current # and read noise data. Also do stim flashes on the 70um array since # those data might prove useful, if somewhat compromised. # V70bias = 35 mV, V160bias = 20 mV mips_mobs_phot sendcmd mips_scanpos_104 # collect stim repeatability data, stim cycle of 6, 10s DCEs, 47 flashes sendcmd CEMIPSUR 'AORID_upper,AORID_lower,21,"NO_COADD",9,1,"MIPS"' sendcmd CEGESTIM '"AUTO",6,"BON","BON","BOTHOFF",10,10,"MIPS"' sendcmd CEMIPSUR 'AORID_upper,AORID_lower,22,"NO_COADD",9,277,"MIPS"' # collect 50 10s DCEs of read noise data sendcmd CEGESTIM '"AUTO",63,"BOTHOFF","BOTHOFF","BOTHOFF",10,10,"MIPS"' sendcmd CEMIPSUR 'AORID_upper,AORID_lower,23,"NO_COADD",9,50,"MIPS"' # set the 160um bias to 25 mV (25.8) and perform a 160um thermal anneal sendcmd CELDHTGIF '20,0x8C,"MIPS"' mips_backto_mobs sendcmd CEGEANNEAL '"HEAT","GE160","MIPS"' # Move to the 70um primary dark position and collect dark current # and read noise data. Also do stim flashes on the 160um array since # those data might prove useful, if somewhat compromised. # V70bias = 35 mV, V160bias = 25 mV mips_mobs_phot sendcmd mips_scanpos_102 sendcmd CEGESTIM '"AUTO",63,"BOTHOFF","BOTHOFF","BOTHOFF",10,10,"MIPS"' sendcmd CEGERSTCON '10,127,4,"MIPS"' sendcmd CESCANCON '"CHOP","REV",0,2048,2048,24,511,"MIPS"' # collect stim repeatability data, stim cycle of 6, 10s DCEs, 47 flashes sendcmd CEMIPSUR 'AORID_upper,AORID_lower,0,"NO_COADD",9,1,"MIPS"' sendcmd CEGESTIM '"AUTO",6,"BON","BON","BOTHOFF",10,10,"MIPS"' sendcmd CEMIPSUR 'AORID_upper,AORID_lower,25,"NO_COADD",9,277,"MIPS"' # collect 50 10s DCEs of read noise data sendcmd CEGESTIM '"AUTO",63,"BOTHOFF","BOTHOFF","BOTHOFF",10,10,"MIPS"' sendcmd CEMIPSUR 'AORID_upper,AORID_lower,26,"NO_COADD",9,50,"MIPS"' # set the 70um bias to 40 mV (39.9) and perform a 70um thermal anneal sendcmd CELDHTGIF '3,0x91,"MIPS"' mips_backto_mobs sendcmd CEGEANNEAL '"HEAT","GE70","MIPS"' # Move to the 160um primary dark position and collect dark current # and read noise data. Also do stim flashes on the 70um array since # those data might prove useful, if somewhat compromised. # V70bias = 40 mV, V160bias = 25 mV mips_mobs_phot sendcmd mips_scanpos_104 # collect stim repeatability data, stim cycle of 6, 10s DCEs, 47 flashes sendcmd CEMIPSUR 'AORID_upper,AORID_lower,27,"NO_COADD",9,1,"MIPS"' sendcmd CEGESTIM '"AUTO",6,"BON","BON","BOTHOFF",10,10,"MIPS"' sendcmd CEMIPSUR 'AORID_upper,AORID_lower,28,"NO_COADD",9,277,"MIPS"' # collect 50 10s DCEs of read noise data sendcmd CEGESTIM '"AUTO",63,"BOTHOFF","BOTHOFF","BOTHOFF",10,10,"MIPS"' sendcmd CEMIPSUR 'AORID_upper,AORID_lower,29,"NO_COADD",9,50,"MIPS"' # set the 160um bias to 30 mV (30.5) and perform a 160um thermal anneal sendcmd CELDHTGIF '20,0x8E,"MIPS"' mips_backto_mobs sendcmd CEGEANNEAL '"HEAT","GE160","MIPS"' # Wait for 10m before using the 160um array for science observations.
Array Data Desired:
70um and 160um Arrays
Data Reformatting Option:
Special Instructions:
From each pair of 1 DCE and 277 DCE exposures, a single FITS file should be produced including all 278 files. A single FITS file should be produced from each 50 DCE exposure. These two sets of exposures will be repeated ten times, so we should get 20 FITS files for each array.
1) Median stim brightness, averaged over all 47 stim flashes, tabulated and plotted as a function of array bias 2) Stim repeatability, determined by using the odd-numbered flashes to calibrate the even flashes, reported and plotted as a function of bias 3) Stim-calibrated dark level, tabulated and plotted as a function of bias 4) Read noise, tabulated and plotted as a function of bias 5) A report listing the optimum bias voltage for each array, along with an explanation of how the input criteria led to this selection
Step by step analysis: 1) Run all data through "mips_sloper -a flight_ce# -l filename" and "mips_caler -d filebase" Include the illumination correction (do not use the -i flag and make sure that the IC is enabled in Pipeline/Cal/PreFlight/mips_caler.param). 2) Tabulate and plot the instantaneous stim flash brightnesses from mips_caler as a function of stim flash number (47 flashes), with different plot symbols for the five different biases. The IDL routine for doing this is mips246_stimcal, ymin=xx, ymax=xx. This routine also calculates a mean and standard deviation for the stim flashes. In addition, it calibrates odd flashes with evens and gives the standard deviation of the stim-calibrated flashes. It looks for all .cal.fits files in the current directory and processes them. It uses a different plot symbol for each. It is possible that we will get useful data when the other array is prime, so all 10 data sets should be reduced for each array. The variables numstims and firstStimOffset need to be set properly in the .pro file before using this tool. 3) Use the tool mips246_darkcal,'filebase',ymin=xx,ymax=xx,skip=xx for calculating stim-calibrated dark levels. This tools works from .cal.fits files. The output values are stim-normalized and so will likely have values less than 1. "skip" is the number of DCEs to ignore after a stim flash when calculating dark levels. It is best to let that keyword default to 0 initially and then set the keyword appropriately on a second pass, based on the latent behavior observed in the output plot. The mean brightnesses calculated by this routine are stim-normalized, so they need to be multiplied by the stim brightness values from mips246_stimcal to get dark values. Several keywords need to be set appropriately in the .pro file before performing the analysis. These include: calcycle, numstims, firstStimOffset. 4) Use get_rdnoise, n_dce_rej=10, 'filebase' to calculate the Ge read noise. Reference noise levels for the nominal biases can be found in the cookbook for mips-226. 5) Plot stim brightness, dark current, read noise, and stim repeatability versus detector bias 6) Use a TBD method to combine the above results into a figure of merit for determining the optimum bias setting for each array
mips_sloper mips_caler for determining stim brightnesses mips246_darkcal.pro for determining the dark current levels mips246_stimcal.pro for determining the stim repeatability, using odd flashes to calibrate even flashes get_rdnoise.pro for determining the read noise