
Last updated 2006 May 15, CDD

Send feedback to Darren Dowell (cdd -at- submm.caltech.edu)


CONTENT
-------
This directory contains measurements of pointing references, modeling, and
software necessary to calculate the suggested (FAZO, FZAO) to correct the
pointing of SHARC II scans.


REQUIRED FILES
--------------
At a minimum, the following files are needed to compute pointing corrections:

  pointsharc (pointsharc.c)
  model_all.txt
  calibration_all.txt


SOFTWARE
--------
The simple C program in this directory (pointsharc.c) can be used to perform
the pointing calculations.  It compiles under Linux/UNIX with:

  cc -o pointsharc pointsharc.c -lm

Example:

  pointsharc model_all.txt calibration_all.txt 27225 27223 27224 27227 27228

The first scan number (27225) is the science target.  The subsequent numbers
are the pointing measurement scans that will be used to correct the science
target.  The output for this example is:

  static pointing model:  (-112.1, 58.0)
  'all' method:  dynamic residual = (-1.3, -2.2)
                 suggested pointing = (-113.4, 55.8)
  'before&after' method:  dynamic residual = (-1.0, -2.2)
                          suggested pointing = (-113.1, 55.8)
  27225  -113.4 55.8  -113.1 55.8

The "static pointing model" is the best guess for science target (FAZO, FZAO),
ignoring the random drift with time.  The next lines show the additional time
dependent offset ("dynamic residual") calculated by two methods.  In the
"before&after" method, the pointing scans before the science target and after
the science target are analyzed separately (i.e., two medians are computed).
The reported residual is the mean of the "before" residual and the "after"
residual.  In the "all" method, all pointing scans are treated equally; just
one median is computed and reported.  The last line (which goes to stdout
instead of stderr and could be redirected to a log file) gives the scan
number, "all" method FAZO, "all" method FZAO, "before&after" method FAZO,
and "before&after" method FZAO.

Depending on your preferences, you would then reduce your data with:

  crush -FAZO=-113.4 -FZAO=55.8 27225 ...
             OR
  crush -FAZO=-113.1 -FZAO=55.8 27225 ...
             OR
  sharcsolve -fa -113.4 55.8 ...
             OR
  sharcsolve -fa -113.1 55.8 ...


BASIC METHOD
------------
The absolute pointing of the telescope is described by the (FAZO, FZAO) which
would put the source exactly on the reference pixel (usually the center of
the detector array).  In general, the pointing is not constant with
direction and time (although we make some effort to get as close to that
situation as possible).  I model the pointing as:

  FAZO = FAZO(static) + dFAZO(dynamic), FZAO = FZAO(static) + dFZAO(dynamic)

where the static terms account for the predictable effects (using constants
that apply for days or weeks), and the dynamic terms account for the
unpredictable/random drift with time.  I use measurements of many pointing
references over an entire run to derive the static terms, and we need pointing
measurements close in time to the science target observation in order to
calculate the dynamic terms.  Mathematically speaking:

  dFAZO = FAZO(meas_ref) - FAZO(model_ref), 
  dFZAO = FZAO(meas_ref) - FZAO(model_ref);

  FAZO(target) = FAZO(model_target) + dFAZO,
  FZAO(target) = FZAO(model_target) + dFZAO.

The pointing measurements ("meas_ref") are found in the calibration_*.txt
files, and the static model predictions ("model_ref" and "model_target") are
found in the model_*.txt files.


CAUTION:  Difference between sharcsolve and CRUSH for ref. pixel not at center
------------------------------------------------------------------------------
sharcsolve and CRUSH have different interpretations of a reference pixel
setting which is not at the center of the detector array (16.5, 6.5).
Therefore, the measurements of (FAZO, FZAO) from CRUSH and sharcsolve are not
expected to agree if the reference pixel was set to something different.  Here,
I am using sharcsolve pointing, so the pointing models should not be applied
to CRUSH reduction of the minority of scans (mostly in Sept. 2004) with
reference pixel offset from the center.  (Sorry.)

Scans with reference pixel not at center (16.5, 6.5):

  2004 Sep.:  17756-17899, 17911-18596 (reference pix. 16.5, 4.5)
  2005 Jan.:  19971-20093, 20123-20179 (reference pix. 16.5, 4.5)
  2005 Nov.:  none
  2005 Dec.:  none
  2006 Jan.:  none
  2006 Feb.:  none


DETAILS OF POINTING MODEL
-------------------------
Although the fit_*.txt files are not used by "pointsharc", they are used in
the generation of the model_*.txt files and are included here for examination
by interested parties.  The static model incorporates a linear drift with
time, zenith angle dependence ("T terms"), azimuth dependence, the X and Y
offsets of the secondary mirror, and temperature effects:

  FAZO(model) = FAZO0 + dFAZO/dt*(UT - UT0) + TAZOF_B*ZA + TAZOF_C*ZA*ZA
                + "cos_term"*cos(AZ) + dFAZO/dX*(X - X0) + dFAZO/dT*T
  FZAO(model) = FZAO0 + dFAZO/dt*(UT - UT0) + TZAOF_B*ZA + TZAOF_C*ZA*ZA
                + "sin_term"*sin(AZ) + dFZAO/dY*(Y - Y0) + dFZAO/dT*T

Here is an example fit:

  10.0           UT0 (hr)
  0.17           dFAZO/dt ("/hr)
  0.24           dFZAO/dt ("/hr)
  -81.4          FAZO0 (")
  63.0           FZAO0 (")
  1.77e-5        TAZOF_B (rad/rad)
  -1.30e-5       TAZOF_C (rad/rad^2)
  -9.80e-5       TZAOF_B (rad/rad)
  7.50e-5        TZAOF_C (rad/rad^2)
  0.09           cos(AZ) FAZO term (")
  -0.10          sin(AZ) FZAO term (")
  -10.85         X0 (mm)
  0.0            Y0 (mm)
  42.0           dFAZO/dX ("/mm)
  -39.0          dFZAO/dY ("/mm)
  0.18           dFAZO/dT ("/C)
  0.06           dFZAO/dT ("/C)

Watch out for units!  Let me know if you have trouble with this.

