AuxTel Calibration Illumination System Control Procedure

Overview

The AuxTel Calibration Illumination system is described in https://tstn-032.lsst.io. It is used to illuminate the white calibration screen mounted inside the AuxTel dome. The wavelength of the illumination can be changed to any wavelength between 300 and 1150 nm. Within the system, we can monitor the wavelength and relative brightness of the illumination during an exposure.

Here, I describe the components of the system that can be controlled. Please see this Functional Test Notebook for a full example of its use.

Components

Each of the components described below is controlled by one CSC. The XML is linked for reference

White Light Source

This is the big light bulb that produces the light.

Check out the XML and Tech Note 36 for information on the hardware that controls the White Light Source.

Note

There is a 15 minutes warmup and cooldown time for the White Light Source. It should not be turned on and off quickly.

  • Chiller: Before turning on the lamp, the chiller needs to be turned on. You can change the temperature.

await WhiteLightSource.cmd_setChillerTemperature.set_start(temperature=20)
await WhiteLightSource.cmd_startChiller.set_start()
  • Output Power: Set the output power with the turnLampOn command. Power can be set from 800 to 1200 W.

await WhiteLightSource.cmd_turnLampOn.set_start(power=800)
await WhiteLightSource.cmd_turnLampOff.set_start()
  • Shutter: You must open the shutter when beginning. Close the shutter at the end of the calibration to keep out dust. The shutter does not move quickly

await WhiteLightSource.cmd_closeShutter.set_start()
await WhiteLightSource.cmd_openShutter.set_start()

Monochromator

This changes the wavelength of the light.

Check out the XML

  • Grating: There are two gratings, optimized for different wavelength ranges. Grating 0 should be used for 300 - 550nm. Grating 1 should be used for 550 - 1150 nm

atmonochromator.cmd_selectGrating.set_start(gratingType=<grating>)
  • Wavelength: Wavelength can be changed in 1nm steps from 300 to 1200 nm

atmonochromator.cmd_changeWavelength.set_start(wavelength=<wave>)
  • Slit Widths: There is an entry and exit slit. Both can be moved from 0 - 5 mm (not including 5 mm).

await atmonochromator.cmd_changeSlitWidth.set_start(slit=1, slitWidth=<entry_width>)
await atmonochromator.cmd_changeSlitWidth.set_start(slit=2, slitWidth=<exit_width>)

Electrometer

This is how the relative brightness of the beam can be tracked.

The override configuration for this electrometer is tts_cimacs3_v3.yaml and the index is 201.

Check out the XML

  • Use it in “Current mode” [1]

  • Before making a measurement, make sure to perform a zero calibration

await electrometer.cmd_performZeroCalib.set_start(timeout=10)
  • You will likely want to disable all filters:

await electrometer.cmd_setDigitalFilter.set_start(activateFilter=False, activateAvgFilter=False, activateMedFilter=False, timeout=10)
  • Take a measurement. The data is saved in the lfa.

await electrometer.cmd_startScan.set_start(timeout=10)
await asyncio.sleep(<exp_time>)
await electrometer.cmd_stopScan.set_start(timeout=10)
lfa = await electrometer.evt_largeFileObjectAvailable.next(flush=True timeout=10)
filename = os.path.split(lfa.url)[1]
  • The data output is a fits file with a table that includes the elapsed time since start of the exposure and the signal measured. The start of the exposure is saved in the header as is the mode of measurement. To access the data, transfer it to your machine and run the following, with elec_filen being the filename from the step above.

from astropy.io import fits
hdu = fits.open(f'{elec_filen}')
data = hdu[1].data
elapsed_time, signal = data['ElapsedTime'], data['Signal']

Fiber Spectrograph

This is how the wavelength of the output light is tracked.

The index for this fiber spectrograph is 3. There is no override configuration.

Check out the XML

  • Take a spectra. The data is saved in the lfa.

await FiberSpectrograph.cmd_expose.set_start(duration=<exp_time>, numExposures=<1>)
lfa = await FiberSpectrograph.evt_largeFileObjectAvailable.next(flush=True, timeout=10)
filename = os.path.split(lfa.url)[1]
  • The data output is a fits file with a table that includes the elapsed time since start of the exposure and the signal measured. The start of the exposure is saved in the header as is the mode of measurement. To access the data, transfer it to your machine and run the following, with spectra_filen being the filename from the step above.

from astropy.io import fits
hdu = fits.open(f'{spectra_filen}')
wavelength = hdu[1].data['wavelength'].flatten()
spectra = hdu[0].data

Contact Personnel

This procedure was last modified on Dec 13, 2022.

This procedure was written by Parker Fagrelius. The following are contributors: Patrick Ingraham.