%+
% Name:
% deltoclk_spec_3.2.tex
%
% History:
% 2011 Jun 03, created (v1.0), Glenn E. Allen
% 2011 Jun 09, removed mention of acis_format_events; added the
% exposure-statistics file to the list of input files; added the
% parameter minnumframes; added the definition of a valid frame; added a
% description of what to do if frames are missing; added a definition of
% median for even and odd numbers of elements; added the section "TBD"
% (v1.1), GEA
% 2011 Jun 12, added the package epsfig; added Figures 1, 2, and 3 (v1.2),
% GEA
% 2011 Jun 17, tried to clarify the conditions in equations 2-5; added
% a figure of examples of anomalous DELTOCLKs (v1.3), GEA
% 2011 Nov 15, changed frame k to frame k+1 following a discussion with
% Peter; use the median instead of the actual value of OVRCLOCK to
% compute PHAS for frames with anomalous values of OVRCLOCK (v1.4), GEA
% 2012 Apr 01, pipeline only, switched OVRCLOCK to DELTOCLK, added
% parameter exrfile, added adjustment to event island, added adjustment
% to OVRCLOCK, added GRADED mode, added caveat about response tools
% (v2.0), GEA
% 2013 Feb 19, added comments to sec. 5.2(d) to describe what to do at the
% end of a file (v3.1), GEA
% 2013 Feb 19, added biasfile (v3.2), GEA
%-
\documentclass{article}
\usepackage{/nfs/inconceivable/d0/SRC/LATEX/STY/cxo_memo_logo}
\usepackage{epsfig}
\usepackage{/nfs/inconceivable/d0/SRC/LATEX/STY/gea}
\usepackage{pstricks}
\newrgbcolor{red}{1 0 0}
\renewcommand{\thefootnote}{\fnsymbol{footnote}}
\begin{document}
% 1. Header
\memobasic{
Jonathan McDowell, SDS Group Leader }{
Glenn E.\ Allen, SDS }{
\tt DELTOCLK spec }{
3.2 }{
http://space.mit.edu/CXC/docs/docs.html\#deltoclk }{
/nfs/inconceivable/d0/SDS/SPECS/DELTOCLK/deltoclk\_spec\_3.2.tex }
% 2. Description
\section{ Description }
\vspace*{1.0\baselineskip}
%
Infrequently, the values of {\tt DELTOCLK} in exposure-records files are
anomalously high or anomalously low for a particular frame of a particular
node of a particular CCD (e.g.\ Fig.~\ref{fig01}). These anomalies are
primarily associated with the front-illuminated CCDs (Fig.~\ref{fig02}).
The pulse-height data associated with such anomalies are inaccurate because
%
\begin{equation}
{\tt PHAS}[j,i,k]
=
{\tt RAW\_PHAS}[j,i,k] -
{\tt BIAS}[j,i] -
{\tt DELTOCLK}[k].
\label{eqn01}
\end{equation}
%
In equation~\ref{eqn01},
%
${\tt RAW\_PHAS}[j,i,k]$ is the unadjusted pulse height read out by an ACIS
detector for pixel $[j,i]$%
%
\footnote{For a {\tt FAINT}-mode event that occurs on the pixel $({\tt
CHIPX}, {\tt CHIPY}) = (x,y)$, the indices $i=0$, 1, and 2 correspond to
${\tt CHIPX} = x-1$, $x$, and $x+1$, respectively, and the indices
$j=0$, 1, and 2 correspond to ${\tt CHIPY} = y-1$, $y$, and $y+1$.
Similarly, for a {\tt VFAINT}-mode event, the indices $i=0$, 1, 2, 3,
and 4 correspond to ${\tt CHIPX} = x-2$, $x-1$, $x$, $x+1$, and $x+2$
and the indices $j=0$, 1, 2, 3, and 4 correspond to ${\tt CHIPY} = y-2$,
$y-1$, $y$, $y+1$, and $y+2$.}
%
of an event island in the frame where ${\tt EXPNO} = k$,
%
${\tt BIAS}[j,i]$ is the bias value associated with the pixel $[j,i]$,
%
${\tt DELTOCLK}[k]$ is the value of {\tt DELTOCLK} for frame $k$ of the node
that includes pixel $[j,i]$,%
%
\footnote{The ${\tt NODE\_ID} = 0$, 1, 2, or 3 for ${\tt CHIPX} = 1$--256,
257--512, 513--768, or 769-1024, respectively.}
%
and
%
${\tt PHAS}[j,i,k]$ is the bias- and {\tt DELTOCLK}-adjusted pulse height.
%
This memo describes how to identify and handle anomalous values of {\tt
DELTOCLK}. The identification algorithm accommodates the following
features: (1) The initial values of {\tt DELTOCLK} are typically invalid
(\eg\ 4095, Fig.~\ref{fig03} and Table~1). (2) There can be a large positive
or negative gradient in the values of {\tt DELTOCLK} at the beginning of an
observation until the temperature of a detector stabilizes
(Fig.~\ref{fig04}). (3) Periodic variations with amplitudes of a few adu
occur in at least some of the data (Fig.~\ref{fig05}).
The identification algorithm does not handle the rare case where an input
{\tt exrfile} has one or more ``frame gaps'' (Fig.~\ref{fig06}). Here, a
frame gap is defined as a case where there is no {\tt DELTOCLK} data for
several consecutive frames (i.e.\ {\tt EXPNO}s). An examination of the data
suggests that the sparsely sampled values of {\tt DELTOCLK} associated with
such gaps are not anomalous and that the well-sampled data immediately
preceding and immediately following a gap are handled well. Therefore,
frame gaps do not seem to be a significant problem.
Once anomalies are identified, Level 1 event-data files are modified to set
a {\tt STATUS} bit to one for events that are adversely affected by
anomalies and, if possible, to adjust the pulse-height data to compensate
for the anomalies. Events that have the {\tt STATUS} bit set are excluded
from Level 2 event files. Level 1 exposure-statistics files are modified to
adjust the overclock data to compensate for anomalies and to include a list
of the anomalies. The data in such lists could be used to compensate for
any changes to ARFs and instrument maps (see sec.~\ref{caveats}). Level 0
data files remain unchanged (\ie\ include the anomalies) so that it is
possible to reprocess the data with a different algorithm.
% 3. Input
\section{ Input }
\begin{enumerate}
\item
The {\tt EXPNO} and {\tt DELTOCLK} data in the {\tt EXR} HDU of one or
more Level 0 exposure-records file(s) [{\tt{exrfile}}(s)]
\item
The {\tt EXPNO} and {\tt RAW\_PHAS} data in the {\tt EVENTS} HDU of one
or more Level 0 event-data file(s) [{\tt{infile}}(s)]
\item
{\red The {\tt BIAS} data in HDU0 of one or more Level 0 bias-map
files(s) [{\tt biasfile}(s)] }
\end{enumerate}
% 4. Output
\section{ Output }
\begin{enumerate}
\item
For {\tt CC33\_FAINT}, {\tt FAINT}, {\tt FAINT\_BIAS}, or {\tt VFAINT}
mode observations, but not {\tt CC33\_GRADED} or {\tt GRADED} mode
observations, the values of {\tt PHAS} (and, subsequently, {\tt ENERGY},
{\tt FLTGRADE}, {\tt GRADE}, {\tt PHA}, {\tt PHA\_RO}, and {\tt PI}) in
the {\tt EVENTS} HDU of the Level 1 event-data file ({\tt{outfile}}) are
updated to compensate for {\tt DELTOCLK} anomalies.
\item
The {\tt STATUS} bit information in the {\tt EVENTS} HDU of the Level 1
event-data file ({\tt{outfile}}) is updated to indicate which events are
affected by anomalies.
\item
The values of {\tt OVRCLOCK} in the {\tt EXPSTATS} HDU of the Level 1
exposure-statistics file ({\tt{expstatfile}}) are adjusted to compensate
for {\tt DELTOCLK} anomalies.
\item
A {\tt BADOCLK} HDU is created in the Level 1 exposure-statics file
({\tt{expstatfile}}).
\end{enumerate}
% 5. Parameters
\section{ Parameters }
\begin{enumerate}
\item
{ \tt infile,f,a,"",,,"Name(s) of input Level 0 event-data file(s)" }
\item
{ \tt outfile,f,a"",,,"Name of output Level 1 event-data file" }
\item
{ \tt exrfile,f,a,"",,,"Name(s) of input Level 0 exposure-records
file(s)" }
\item
{ \tt \red biasfile,f,a,"",,,"Name(s) of input Level 0 bias-map file(s)" }
\item
{ \tt expstatfile,f,a,"",,,"Name of output Level 1 exposure-statistics
file" }
\item
{ \tt numframes,i,h,5,3,1001,"Nominal number of data points in the
sliding time window used \\ to smooth the data (must be odd and no less
than {\tt minnumframes})" }
% Comments about default value???
% 5 to avoid adjacent anomalies. Are there any?
\item
{ \tt maxframegap,i,h,11,1,1001,"Maximum number of frames between
consecutive data points in window" }
The default value of {\tt maxframegap} is 11 because the value of {\tt
DTYCYCLE} has been as large as 10 and because consecutive frame numbers
typically differ by eleven or less (Fig.~\ref{fig07}).
\item
{ \tt minnumframes,i,h,3,3,1001,"Minimum number of data points in window" }
% Comments about default value???
\item
{ \tt deltoclkthresh,i,h,3,1,4096,"Minimum offset in adu that is
considered anomalous" }
The default value of {\tt deltoclkthresh} is 3 because a value of three
seems to represent a good balance between maximizing the number of
anomalies identified and minimizing the rate of false positives
(Fig.~\ref{fig08}).
\item
{ \tt numiter,i,h,3,1,10,"Number of iterations performed to smooth the
data" }
% Comments about default value???
\end{enumerate}
% 6. Processing
\section{ Processing }
\begin{enumerate}
\item
The validity of the input is verified.
%
The {\tt infile}(s) and {\tt exrfile}(s) must exist.
%
The data in the {\tt exrfile}(s) must be valid. A valid {\tt exrfile}
is one where each row contains a numerical value for {\tt EXPNO} and
four numerical values for {\tt DELTOCLK} (\ie\ one value for each node).
The values of {\tt EXPNO} must increase from one row to the next.
%
The values of the parameters {\tt numframes}, {\tt maxframegap}, {\tt
minnumframes}, {\tt deltoclkthresh}, and {\tt numiter} must be in their
valid ranges.
%
The parameter {\tt numframes} must be an odd number that is greater than
or equal to {\tt minnumframes}.
%
If one or more of these conditions is not satisfied, then a warning
message is produced and the data are not searched for anomalous values
of {\tt DELTOCLK}.
\item
\label{step02}
%
To determine if one or more values of {\tt DELTOCLK} is anomalous for a
node, the data in an {\tt exrfile} are processed to compute the values
$M$ for the node. As described below, the values $M$ are estimates of
what the values of {\tt DELTOCLK} would be in the absence of anomalies.
Except in special circumstances (see below), the estimates $M$ are
obtained by smoothing the data with a sliding median filter.
\begin{enumerate}
\item
\label{step02a}
%
For the first row of data, the value of $M_{1}$ is determined as
follows. Note that the subscript denotes the row number in the {\tt
exrfile}, not the frame number.
%
\begin{enumerate}
\item
If there are at least two rows of data in the {\tt exrfile} and
if ${\tt EXPNO}_{2} = {\tt EXPNO}_{1} + 1$, then $M_{1} = {\tt
DELTOCLK}_{2}$.
\item
If there is only one row of data in the {\tt exrfile} or if
${\tt EXPNO}_{2} \ne {\tt EXPNO}_{1} + 1$, then
%
\begin{eqnarray}
M_{1} = {\tt DELTOCLK}_{1} & & {\rm if\ {\tt DELTOCLK}_{1} \ne
4095} \\
M_{1} = 0 & & {\rm if\ {\tt DELTOCLK}_{1} = 4095}
\end{eqnarray}
\end{enumerate}
\item
\label{step02b}
%
If there are at least two rows of data in the {\tt exrfile}, then
the value of $M_{2} = {\tt DELTOCLK}_{2}$.
\item
\label{step02c}
%
If there are fewer than three rows of data in the {\tt exrfile} or
if the value of $n = 1$ (the smallest possible value for $n$), then
skip step~\ref{step02c}. Here,
%
\begin{equation}
n = \frac{{\tt numframes} - 1}{2}.
\end{equation}
%
If $n \ge 2$ and there are at least three rows of data in the {\tt
exrfile}, then for rows $r$ from 3 to $n+1$, the value of $M_{r}$ is
the median%
%
\footnote{Here, the median is defined as follows. If the number of
elements in the set for which the median is being computed is odd,
then the median is the middle value of the set after the set has
been sorted. For example, the medians of the sorted sets [1,1,4]
and [1,1,4,5,6] are 1 and 4, respectively. If the number of
elements is even, then the median is the mean of the middle two
values of the sorted set. If the mean is not an integer, then the
mean is truncated to obtain an integer. For example, the median
of [1,1,4,5] is 2, not 2.5.}
%
of the set $[{\tt DELTOCLK}_{r-1}$, ${\tt DELTOCLK}_{r}$, ${\tt
DELTOCLK}_{r+1}]$, provided
%
\begin{eqnarray}
{\tt EXPNO}_{r} - {\tt EXPNO}_{r-1} & \le & {\tt maxframegap}\
{\rm and}
\label{eqn05} \\
{\tt EXPNO}_{r+1} - {\tt EXPNO}_{r} & \le & {\tt maxframegap}.\
\label{eqn06}
\end{eqnarray}
%
If either equation~\ref{eqn05} or \ref{eqn06} is not satisfied, then
$M_{r} = {\tt DELTOCLK}_{r}$ because there is too little data to
accurately estimate $M_{r}$ (i.e.\ to determine if the value of
${\tt DELTOCLK}_{r}$ is anomalous). Note that the data in the rows
from 3 to $n+1$ are handled using an effective value of {\tt
numframes} of 3 since there can be a relatively large gradient in
the values of {\tt DELTOCLK} in the first few rows of data.
\item
\label{step02d}
%
If there are at least $n+2$ rows of data, then for rows $r \ge n+2$,
the value of $M_{r}$ is the median of the set $[{\tt
DELTOCLK}_{r-n}$, {\ldots}, ${\tt DELTOCLK}_{r+n}]$, provided that
the {\tt maxframegap} constraint is satisfied. For example, if $n =
2$, then $M_{r}$ is the median of the set $[{\tt DELTOCLK}_{r-2}$,
${\tt DELTOCLK}_{r-1}$, ${\tt DELTOCLK}_{r}$, ${\tt
DELTOCLK}_{r+1}$, ${\tt DELTOCLK}_{r+2}]$ provided
%
\begin{eqnarray}
{\tt EXPNO}_{r-1} - {\tt EXPNO}_{r-2} & \le & {\tt maxframegap},
\label{eqn07} \\
{\tt EXPNO}_{r} - {\tt EXPNO}_{r-1} & \le & {\tt maxframegap},
\label{eqn08} \\
{\tt EXPNO}_{r+1} - {\tt EXPNO}_{r} & \le & {\tt maxframegap},
{\rm and}
\label{eqn09} \\
{\tt EXPNO}_{r+2} - {\tt EXPNO}_{r+1} & \le & {\tt maxframegap}.
\label{eqn10}
\end{eqnarray}
%
If equation~\ref{eqn07} is not satisfied, then ${\tt
DELTOCLK}_{r-2}$ is excluded from the computation of the median
because the frame gap is too large.
%
If equation~\ref{eqn08} is not satisfied, then both ${\tt
DELTOCLK}_{r-2}$ and ${\tt DELTOCLK}_{r-1}$ are excluded from the
computation of the median.
%
If equation~\ref{eqn09} is not satisfied or if row $r$ is the last
row, then both ${\tt DELTOCLK}_{r+1}$ and ${\tt DELTOCLK}_{r+2}$ are
excluded from the computation of the median.
%
If equation~\ref{eqn10} is not satisfied or if row $r+1$ is the last
row, then ${\tt DELTOCLK}_{r+2}$ is excluded from the computation of
the median.
%
If there are not at least {\tt minnumframes} values included in the
computation of the median, then $M_{r} = {\tt DELTOCLK}_{r}$ because
there is too little data to accurately estimate $M_{r}$.
\item
Steps \ref{step02c} and \ref{step02d}, but not steps \ref{step02a}
and \ref{step02b}, are repeated an additional ${\tt numiter}-1$
times (for a total of {\tt numiter} times) to remove some of the
noise from the estimates $M$. For these additional computations,
the new values of $M$ are computed from the previous values of $M$
instead of from the values of {\tt DELTOCLK}. That is, $M_{r}$ is
the median of the previous set of values $[M_{r-n}$, {\ldots},
$M_{r+n}]$ instead of the median of $[{\tt DELTOCLK}_{r-n}$,
{\ldots}, ${\tt DELTOCLK}_{r+n}]$. This computation is subject to
the same {\tt maxframegap} constraints noted above. However, the
constraint on the number of values required to compute the median is
different. The value of $M_{r}$ is only recomputed if there are
{\tt numframes} values instead of {\tt minnumframes} values in the
computation of the median. This more restrictive condition on the
number of values in the computation of the median helps prevent the
loss of accuracy in the value of $M_{r}$ where there are more data
points in the computation on one side of frame $r$ than there are on
the other side (as is the case at the beginning of a data set and at
the edges of frame gaps).
\end{enumerate}
\item
Once the estimates $M$ are computed for a node, the values of {\tt
DELTOCLK} for the node are compared to the values of $M$ to determine if
one or more value of {\tt DELTOCLK} is anomalous. The value of {\tt
DELTOCLK} for frame $k$ is identified as anomalous if
%
\begin{eqnarray}
{\tt DELTOCLK}[k] & \ge & M[k] + {\tt deltoclkthresh}\ {\rm or} \\
{\tt DELTOCLK}[k] & \le & M[k] - {\tt deltoclkthresh}.
\end{eqnarray}
\item
\label{step04}
%
If the value of {\tt DELTOCLK} for frame $k$ is anomalous, then
%
\begin{enumerate}
\item
the {\tt outfile} is modified as follows
%
\begin{enumerate}
\item
\label{step04ai}
The pulse-height data are computed using
%
\begin{equation}
{\tt PHAS}[j,i,k] =
{\tt RAW\_PHAS}[j,i,k] -
{\tt BIAS}[j,i] -
M[k]
\label{eqn13}
\end{equation}
%
instead of
%
\begin{equation}
{\tt PHAS}[j,i,k] =
{\tt RAW\_PHAS}[j,i,k] -
{\tt BIAS}[j,i] -
{\tt DELTOCLK}[k]
\end{equation}
%
for all of the events that occur during frame $k$ on the
particular CCD and node with an anomaly.%
%
\footnote{Since it is possible for a 5~pixel $\times$ 5~pixel
{\tt VFAINT}-mode event island to extend beyond the edges of a
CCD in the {\tt CHIPX} direction (but not the {\tt CHIPY}
direction), some care should be used when computing the values
of {\tt PHAS} for {\tt VFAINT}-mode event data. Specifically,
if ${\tt DATAMODE} = {\tt VFAINT}$ and if $i = 0$ corresponds
to ${\tt CHIPX} = 0$, then ${\tt PHAS}[j,0,k] = 0$. Likewise,
if ${\tt DATAMODE} = {\tt VFAINT}$ and if $i = 4$ corresponds
to ${\tt CHIPX} = 1025$, then ${\tt PHAS}[j,4,k] = 0$.}
%
If an event occurs along the edge of a node that has an
anomalous value of {\tt DELTOCLK}, then only the pulse-height
values $[j,i]$ of the event island that are affected by the
anomaly are adjusted. The pulse heights of pixels that lie on
the adjacent, good node are not adjusted. Similarly, if an event
in frame $k$ occurs on a good node that is adjacent to a node
with an anomalous value of {\tt DELTOCLK}, then only the pulse
heights of pixels $[j,i]$ that lie on the adjacent, bad node are
adjusted.
%
The pulse-height computation described by equation~\ref{eqn13}
is only performed if the {\tt DATAMODE} is {\tt CC33\_FAINT},
{\tt FAINT}, {\tt FAINT\_BIAS}, or {\tt VFAINT}. The computation
is not performed if the {\tt DATAMODE} is {\tt CC33\_GRADED} or
{\tt GRADED}.
\item
{\tt STATUS} bit 10 (of 0-31) is set to one for all of the
events that are affected by an anomaly, whether the events are
on the node with the anomaly or an adjacent node (see
item~\ref{step04ai}). This action is performed for all {\tt
DATAMODE}s.
\end{enumerate}
\item
and the {\tt expstatfile} is modified as follows.
%
\begin{enumerate}
\item
The {\tt OVRCLOCK}s are computed using
%
\begin{equation}
{\tt OVRCLOCK}[k] =
M[k] +
{\tt INITOCL}x
\end{equation}
%
instead of
%
\begin{equation}
{\tt OVRCLOCK}[k] =
{\tt DELTOCLK}[k] +
{\tt INITOCL}x,
\end{equation}
%
where $x = {\tt A}$, {\tt B}, {\tt C}, or {\tt D} for ${\tt
NODE\_ID} = 0$, 1, 2, or 3, respectively. This action is
performed for all {\tt DATAMODE}s.
\item
A ``{\tt BADOCLK}'' HDU is included, which contains a list of
the {\tt EXPNO}, {\tt CCD\_ID}, and {\tt NODE\_ID} information
for every anomalous value of {\tt DELTOCLK}. For example, if
${\tt NODE\_ID} = 0$ of ${\tt CCD\_ID} = 7$ has an anomaly for
frame ${\tt EXPNO} = 47$, then the {\tt BADOCLK} HDU includes an
entry for ${\tt EXPNO} = 47$, ${\tt CCD\_ID} = 7$, and ${\tt
NODE\_ID} = 0$. The other nodes of this CCD and the other CCDs
for this frame are not included in the {\tt BADOCLK} HDU unless
they also have anomalous values of {\tt DELTOCLK}. This action
is performed for all {\tt DATAMODE}s.
\end{enumerate}
\end{enumerate}
\item
Steps~\ref{step02}--\ref{step04} are performed separately for each node
of each CCD.
\end{enumerate}
% 7. Caveats
\section{ Caveats }
\label{caveats}
\begin{enumerate}
\item
\label{item061}
%
As of October 14, 2012, the tools {\tt mkarf}, {\tt mkgarf}, {\tt
mkinstmap}, and {\tt mkwarf} have not been modified to include the time
dependence introduced by specific nodes of specific CCDs being bad
during specific frames. Note that the bad region includes not only the
node with an anomaly, but also a column in one or more adjacent nodes
(see item~\ref{step04ai}).
\end{enumerate}
% 8. TBD
% \section{ TBD }
% \begin{enumerate}
% Peter:
% One bin offset or not for FAINT?
% Update figures:
% deltoclkthresh
% \item
% Make sure the algorithm works for the first frame of data, which often
% has a value of 4095.
% \item
% Make sure the algorithm works near the beginning of the data, when there
% can be steep gradients in the values of DELTOCLK.
% \item
% Make sure the algorithm works for short files.
% \item
% Make sure that there are no problems for the occasions when the frame
% gaps are too big to compute the median (e.g. interleaved mode). Should
% the value of {\tt maxframegap} be a multiple of {\tt DTYCYCLE}?
% \item
% Are there specific pathological cases?
% What is wrong with acisf056324119N004\_5\_exr0.fits?
% \item
% What is the false positive rate?
% \item
% Verify that the invalid pulse heights are in the following frame.
% \item
% Optimize the parameter values. If ${\tt numframes} = 3$, then the
% values of $M_{k}$ may be inaccurate for the occasions when there are
% adjacent anomalous values of {\tt DELTOCLK}.
% \item
% Spec for V\&V {\tt INITOCL}$x + {\tt DELTOCLK}$ test
% \item
% Add filenames to EXR\_INDEX
% \item
% Test EXR\_INDEX and histogram
% \end{enumerate}
% 9. Figures and tables
\newpage
% 9.1. Fig. 1
\begin{figure}
\begin{center}
\epsfig{file=fig01,angle=-90,width=6.5in}
\end{center}
\caption{%
Examples of observations that have anomalously large and/or anomalously
small values of {\tt DELTOCLK} (i.e.\ the positive and negative
``spikes,'' respectively). The sets of numbers in parentheses are the
({\tt OBS\_ID}, {\tt CCD\_ID}, {\tt NODE\_ID}). Note that the data for
(11793, 9, 1) has been truncated at ${\tt EXPNO} = 90000$ and at ${\tt
DELTOCLK} = 120$~adu.
%
\label{fig01}
}
\end{figure}
% 9.2. Fig. 2
\begin{figure}
\begin{center}
\epsfig{file=fig02,angle=0,width=6.5in}
\end{center}
\caption{%
The black histogram (and left-hand vertical axis) is the total number of
{\tt DELTOCLK} anomalies per node for 69,899 exposure-records files
obtained between July 27, 1999 and September 3, 2012. These numbers
were computed using ${\tt deltoclkthresh} = 3$. The red histogram (and
right-hand vertical axis) is the corresponding anomaly rate. The time
intervals for the rates were computed using the values of the keywords
{\tt TSTART} and {\tt TSTOP} in the exposure-records files.
%
\label{fig02}
}
\end{figure}
% 9.3. Fig. 3
\begin{figure}
\begin{center}
\epsfig{file=fig03,angle=-90,width=6.5in}
\end{center}
\caption{%
The distribution of the values of {\tt DELTOCLK} in the first row of
data in each one of 69,899 exposure-records files obtained between July
27, 1999 and September 3, 2012. The vast majority of these values are
4095~adu. Note that the 356 values at 0~adu (see Table~1) are not shown.
%
\label{fig03}
}
\end{figure}
% 9.4. Table 1
\newpage
\begin{table}[t]
\begin{center}
\begin{tabular}{cc}
\multicolumn{2}{c}{Table~1. Initial values of DELTOCLK} \\
\hline
\hline
{\tt DELTOCLK} & No.\ of occurrences \\
\hline
0 & 356 \\
3647 & 1 \\
3792 & 1 \\
3914 & 1 \\
3967 & 1 \\
3979 & 1 \\
4023 & 1 \\
4062 & 1 \\
4091 & 1 \\
4093 & 1 \\
4094 & 1 \\
4095 & 279218 \\
4097 & 1 \\
4109 & 1 \\
4133 & 1 \\
4138 & 1 \\
4164 & 1 \\
4176 & 1 \\
4188 & 1 \\
4195 & 1 \\
4303 & 1 \\
4396 & 1 \\
4520 & 1 \\
4665 & 1 \\
\hline
Total & 279596 \\
\end{tabular}
\end{center}
\end{table}
% 9.5. Fig. 4
\begin{figure}
\begin{center}
\epsfig{file=fig04,angle=-90,width=6.5in}
\end{center}
\caption{%
Examples of observations that have a large positive or negative gradient
in the values of {\tt DELTOCLK} at the beginning of the observation. The
sets of numbers in parentheses are the ({\tt OBS\_ID}, {\tt CCD\_ID},
{\tt NODE\_ID}).
%
\label{fig04}
}
\end{figure}
% 9.6. Fig. 5
\begin{figure}
\begin{center}
\epsfig{file=fig05,angle=-90,width=6.5in}
\end{center}
\caption{%
Examples of observations that have periodic variations in the values of
{\tt DELTOCLK}. The sets of numbers in parentheses are the ({\tt
OBS\_ID}, {\tt CCD\_ID}, {\tt NODE\_ID}). An offset of $+5$~adu was
added to the values of {\tt DELTOCLK} for (11722, 7, 2) to improve
visual clarity. For (10849, 2, 2) and (11722, 7, 2), the variations
appear to begin after about 2000 and 900 frames, respectively.
Similarly, variations appear to begin after about 13000 frames of data
for (11540, 2, 2) in Figure~\ref{fig01}.
%
\label{fig05}
}
\end{figure}
% 9.7. Fig. 6
\begin{figure}
\begin{center}
\epsfig{file=fig06,angle=-90,width=6.5in}
\end{center}
\caption{%
Examples of observations that have ``frame gaps.'' Here, a frame gap is
defined as a case where there is no {\tt DELTOCLK} data for several
consecutive frames (i.e.\ {\tt EXPNO}s). The sets of numbers in
parentheses are the ({\tt OBS\_ID}, {\tt CCD\_ID}, {\tt NODE\_ID}). For
(433, 9, 1), there are two obvious frame gaps. For the other three cases
shown, there is one obvious frame gap. Straight lines connect the data
on one side of a frame gap with the data on the other side.
%
\label{fig06}
}
\end{figure}
% 9.8. Fig. 7
\begin{figure}
\begin{center}
\epsfig{file=fig07,angle=-90,width=6.5in}
\end{center}
\caption{%
The fraction of the data that is identified as having a ``frame gap'' as
a function of the parameter {\tt maxframegap}. The vertical red line
indicates that the default value of {\tt maxframegap} is 11. For this
value, about 1 of every $10^{5}$ sets of consecutive pairs of frame
numbers (i.e.\ {\tt EXPNO}s) differs by more than {\tt maxframegap} and,
hence, is considered a frame gap. This plot was created using more than
$5.43 \times 10^{8}$ pairs of consecutive {\tt EXPNO}s from 69,899
exposure-records files obtained between July 27, 1999 and September 3,
2012.
%
\label{fig07}
}
\end{figure}
% 9.9. Fig. 8
\begin{figure}
\begin{center}
\epsfig{file=fig08,angle=-90,width=6.5in}
\end{center}
\caption{%
The fraction of the values of {\tt DELTOCLK} that are identified as
anomalous as a function of the parameter {\tt deltoclkthresh}. The
vertical red line indicates that the default value of {\tt
deltoclkthresh} is 3. For this value, about 1 in every $10^{5}$ values
of {\tt DELTOCLK} is identified as anomalous, which represents an upper
limit on the false positive rate. This plot was created using more than
$2.17 \times 10^{9}$ values of {\tt DELTOCLK} from 69,899
exposure-records files obtained between July 27, 1999 and September 3,
2012. Note that if the initial value of {\tt DELTOCLK} is 4095, then
this invalid value was excluded from data used to create this plot.
%
\label{fig08}
}
\end{figure}
% 10. Finish
\end{document}