Module corr_fid_cent
[hide private]

Module corr_fid_cent

source code

Apply a correction to ACIS fid light centroid values to compensate for variations in the ACIS detector housing temperature.

Inputs

--acisengfiles=ACISENGFILES
                      ACIS L0 engineering files with 1CBAT and 1CBBT
--acenfile=ACENFILE   Aspect L1 ACEN file
--fidpropsfile=FIDPROPSFILE
                      Aspect L1 FIDPROPS file
--alg=ALG             Centroiding algorithm
--nsmooth=NSMOOTH     Median filter smoothing half-width
--tsample=TSAMPLE     Sampling time for temperature correction (sec)

Outputs

--acenfile=ACENFILE   Aspect L1 ACEN file (ang_y_sm and ang_z_sm columns are updated
                      in place)

Source

Prototype code

Description

In order to maintain control margin to keep the ACIS focal plane (FP) at the nominal setpoint of -119.7 C, the ACIS detector housing (DH) heater will be disabled. The ACIS fid lights are mounted on the ACIS DH. Allowing the DH temperature to vary has the undesired side effect of producing noticable shifts (up to 0.25 arcsec on time scales of hours) in the ACIS fid light positions due to thermal contraction. For the first 8 years of the mission the DH was controlled at a temperature of -60 C.

During the nine 2007 Chandra Deep Field South observations the DH heater was disabled at the start and then re-enabled 2 hours before the end of each observation. These tests were performed using a variety of fid light combinations and the shift in fid light positions were fully analyzed. All the data were well-described by a simple physical model of the fid light positions contracting or expanding radially about a single center point with a CTE that corresponds roughly to that of aluminum. The numerical fit values coming out of that analysis are captured in the 'Fid and DH calibration constants' listed below.

The center of expansion was determined in ACA angular coordinates for ACIS-I observations with the nominal SIM-Z position. The most rigorous (and physically accurate) way to represent these values would be to translate all the derived angular values into physical coordinates (mm) on the ACIS focal plane. Then this correction tool would use the full transformation chain from ACIS focal plane to ACA coordinates to calculate the needed corrections. However, given the small size of the correction and fairly large uncertainties in the derived calibration parameters, we simplify processing considerably by assuming linearity throughout the system and just using offsets with respect to the fid light angular positions used in the CDF-S calibration test observations. These are captured in the fid_[yz]_ang_nom arrays.

In order to compensate for the temperature-dependent shift in aspect pipeline processing an estimate of the DH temperature is needed. This is available in ACIS engineering telemetry as MSIDs 1CBAT and 1CBBT. Unfortunately the digitization of these values is approximately 2.5 C and using them directly would produce undesirable discontinuities in the aspect solution SIM DY, DZ and DTHETA values. To avoid this we take advantage of the physical characteristic of LEDs that they get brighter as the temperature is lowered. The test data were used to calibrate a linear relationship between changes in DH temperature and fid light brightness (counts).

Although the fid light brightness are fairly stable over the mission, we cannot depend on stability to the level required for an absolute translation from fid brightness to DH temperature. Instead a hybrid approach is taken -- read in both the ACIS engineering temperature data and the fid data, filter to be using only good quality values, and then match with a simple average over the aspect time interval. At the same time apply the empirically determined scaling factor to convert delta counts into delta degC. This results in a high-resolution estimate of the actual DH temperature during the interval.

Using the DH temperature and the derived expansion coefficients, the expected radial expansion or contraction is then removed from the observed (smoothed) fid light centroids that are used in constructing the SIM displacement. Correcting the centroids in place has the advantage that downstream tools (in particular V&V) need no modification. The original (unmodified) centroid values are still available in the unsmoothed angular centroids as well as the original CCD pixel centroids.

Prototype performance

The plot below shows an example of the original (blue) and corrected (red) centroids for obsid 8595. The key feature to note is a smooth correction during the abrupt DH warmup near the end when the heater was re-enabled during the test. This indicates that the model is doing a good job for a fast temperature shift of about 8 C. The very bottom sub-plot shows the raw ACIS DH temperature telemetry (blue) and the hybrid estimate using fid light counts.

obs8595.jpg

In other cases the model does not do quite as well and one see residuals of up to about 0.1 arcsec. This is expected to be acceptable in operations because the actual temperature deltas should be less than a few degrees. Nevertheless some additional effort will go into improving the calibration values.

obs8592.jpg

CALDB update

The constants defined in the prototype code could logically be put in a new binary table HDU in the CALDB PCAD CALALIGN product with an extension name FIDACISDH (or FID_ACIS_DH?).

References

Analysis and the source for this document are in the directory:
/proj/sot/ska/analysis/fid_cooling


Functions [hide private]
 
main() source code
 
get_options()
Get program options.
source code
 
get_acis0eng(files)
Read ACIS engineering telemetry opt.acisengfiles and return a pyfits bintable HDU with time and detector housing temperature MSID columns.
source code
 
calc_dh_temp(acis0eng, fidprops, acen, opt)
Use empirically determined fid light brightness vs.
source code
 
calc_fid_center(acen, fidprops, opt)
Calculate fid light center of expansion by shifting the nominal fid center based on the difference between the current observed fid positions and those from the nominal (calibration) fid positions.
source code
 
apply_cent_corr(times, dh_temp, acen, fidprops, opt)
Remove (subtract) the predicted amount of expansion based on the DH temperature relative to the baseline temperature at which the fid positions were calibrated.
source code
 
make_plot(plotfile, times, dh_temp, acen, fidprops, acis0eng)
Make a plot of the before (using the unsmoothed centroids) and after centroids for each fid light.
source code
Variables [hide private]
  dh_temp_base = -60.0
  degC_per_count = -0.000269230769231
  fid_CTE = 1.63e-05
  fid_y_center_nom = -0.0180555555556
  fid_z_center_nom = 0.3875
  fid_y_ang_nom = array([ 0.25777778, -0.21361111, 0.01277778, ...
  fid_z_ang_nom = array([-0.2325 , 0.23472222, -0.26944444, ...
Function Details [hide private]

calc_dh_temp(acis0eng, fidprops, acen, opt)

source code 

Use empirically determined fid light brightness vs. temperature scaling relation and the coarsely measured ACIS detector housing temperature telemetry to get a good estimate of the DH temperature during observation. Return values:

times   : Sample times (sec) [numpy.ndarray]
dh_temp : ACIS DH average temperature at 'times' (degC) [numpy.ndarray]

calc_fid_center(acen, fidprops, opt)

source code 

Calculate fid light center of expansion by shifting the nominal fid center based on the difference between the current observed fid positions and those from the nominal (calibration) fid positions.

Return value:

fid_center: Dict with 'y' and 'z' values [degrees]

apply_cent_corr(times, dh_temp, acen, fidprops, opt)

source code 
Remove (subtract) the predicted amount of expansion based on the DH temperature relative to the baseline temperature at which the fid positions were calibrated. The 'ang_y_sm' and 'ang_z_sm' columns of the 'acen' bintable HDU are modified in place.

Variables Details [hide private]

fid_y_ang_nom

Value:
array([ 0.25777778, -0.21361111,  0.01277778,  0.59583333, -0.50555556\
,
        0.10861111])

fid_z_ang_nom

Value:
array([-0.2325    ,  0.23472222, -0.26944444,  0.29472222,  0.29444444\
,
        0.47305556])