ALMA Holography Crib Sheets

TIP Last Update: JeffMangum - 22 May 2007

Software Startup

  1. runOMC: Start the OMC.
    1. Connectivity panel:
      1. Acs Up: Wait until all containers are green.
      2. Operational
    2. Create Array panel:
      1. Interactive: Should already be highlighted.
      2. ALMA04
      3. ->
      4. Create: The "Interactive Scheduling" panel will appear.
    3. Interactive Scheduling panel:
    4. Projects Found: Select your project name. It will appear in the "SBs Found" list.
    5. Execute
  2. antMountGUI: Start the antMount GUI
    1. antMountGUI
    2. Mount Selector: Select "CONTROL/ALMA04/MountController" from the dropdown list.
  3. ssh acc: Login to acc to start the OT.
    1. ALMA-OT
  4. asdmExport : Export your SB from the Archive. For example asdmExport uid://X43/Xf42/X1 will work.

Software Shutdown

  1. Acs down: Shutdown ACS.
  2. Close OMC GUI: Exit the OMC GUI.
  3. Close SchedulingPanelGUI: Exit the Scheduling GUI.
  4. Close mountGUI: Exit the Mount GUI (this will also require a ctrl-C on the terminal to really kill it.
  5. Close ALMA-OT: Exit the OT.

Holography Hardware Tips


  1. It is best to leave the transmitter turned on (a minimumm of a few days). This allows it time to stabilize.
  2. Do NOT push the green "Transmitter Power" button on the right of the transmitter GUI to turn the transmitter power off. If you want to turn off the transmitter for some quick test, use the "Synthesizer Output" button to the left of the transmitter GUI. This avoids introducing warm-up drifts in the transmitter.
  3. Set the power level of the Transmitter Synthesizer to its maximum level of +13 dBm. This drives the multiplier into saturation, which gives better output power stability.
  4. Transmitter Power Variations: The transmitter power varies significantly, by several dB, day to night (higher at night, presumably because of temperature). For this reason the DSP input power levels (see below) should be checked before every map and the DSP input attenuators set appropriately. Also, if it is found that the transmitter power is drifting upwards you may want to set the receiver IF voltages to (say) 9 volts rather than 13, to make sure the power levels do not drift into a non-linear regime for the receiver in the duration of a map. Conversely, if you note the power drifting down, you may want to set the initial level to 14 or even 15 volts, to avoid the power becoming too low by the end of a map.
  5. Transmitter Frequency Tuning:
    1. If this is a first-time tune after a power cycle or transmitter restart set the tuning step size (Tx Gui) to 5 kHz, and step +- to find the strongest signal as displayed on the receiver Labview GUI "DSP Graphs" looking at R*R. All subsequent steps should be followed as a frequency check before each holography map.
    2. Still with the step at 5 kHz, step up 5 kHz, and down 5 kHz. The receiver passband is 10 kHz wide, so if you're perfectly tuned, the trace on the "DSP GRAPHS" should go down equally on the down-5 and the up-5 sides. If it doesn't, then make a mental note of a level corresponding to the average of the up and down offset. Leave the tuning set to a 5 kHz offset. Set the Step Size on the Tx GUI to 0.05 kHz. Then step in frequency until the amplitude reaches a level equal to the average of the down-side and up-side you just measured.
    3. When you've done that, change the step size back to 5 kHz. Make sure you can step from "down 5" to "peak" to "up 5" and that the "down 5" amplitdue is fairly close (within 10%) to the "up 5" level.
    4. Remember to step back to the center of the passband.

DarrelEmerson - 17 Nov 2006


  1. It is best to leave the transmitter turned on (a minimumm of a few days). This allows it time to stabilize.
  2. On the Receiver Labview window, under "Settings", try to run with the "REF I channel", "Ref Q channel" "Sig I channel" and "Sig Q channel" all at about 13 volts p-p. Above 15 volts, non-linearity in the holography receiver backend and DSP sets in, spoiling the data. Below about 10 volts, signal to noise may be worse, perhaps with digitization noise. Remember that this is an IF voltage measurement, not power, so that changing the voltage from 14 volts down to 10 volts halves the power in the IF.
  3. To adjust the DSP input voltages, point the antenna directly at the holography transmitter, with the transmitter synthesizer set at +13 dBm, and adjust the Attenuators on the receiver GUI "Settings" screen to give the right voltage (e.g. 13 volts). Values around 12 dB (Sig. Attenuation) and 21 dB (Ref. Attenuation) are typical.

DarrelEmerson - 17 Nov 2006

Useful Measurement Scripts

The following list of scripts describes the current (as of 2006/11/17) contents of the ~jmangum/Python directory. Some are run with "python" or else with "./xxxx".
  • Drives the telescope back and forth over boresight on the transmitter. No data is written, but this allows testing using the Labview data display.
  • Measures beamwidths, pointing offsets and amplitude as a function of different focus positions. This writes ASCII output to "FivePoint.dat". The first guess beamwidth and start, stop and step of focus positions are hard-wired into the procedure and have to be edited with a text editor. This script performs a 5-point measurement at each focus position (boresight, left, right, up, down, boresight) and writes the data to the ASCII file, each point averaged over 10 seconds.
  • focusReduction: "focusReduction" is a program (see focusReduction.cpp for the source, and "make" to compile it) that takes the output from in FivePoint.dat, and processes that output to generate the ASCII file "FivePointReduction.dat". This file is then imported (e.g. using FTP or PSFTP) into another program, such as Excel running on Darrel's laptop, for display and further processing. "focusReduction" uses an analytic solution for a 3-point gauss-fit to the data (3 points in Az, 3 points in El) to derive Amplitude, pointing offset and beamwidth (fwhp).
  • Run with "python". This is a trivial modification of, in order to measure holometric phase as a function of focus position. The output includes the additional RS and RQ data, written to the ASCII file "FivePointdum.dat". A single line of output is written at each focus position. The focus start, end and step are hard-wired into the script and can be changed with a text editor. The output ASCII file is then transferred via ftp to (e.g.) Darrel's laptop as input for Excel for further analysis.
  • Continuously writes out to the screen, and to the ASCII file "junk.tmp", raw data from the holography receiver. This is then normally imported via ftp into some spreadsheet program for analysis.
  • ./getSignalAttenuation: Returns the dB set into the main signal attenuator of the holography receiver.
  • ./getReferenceAttenuation: Returns the db of the reference receiver attenuator.
  • ./setSignalAttenuation xx: Sets the holography receiver main signal attenuator to "xx". "xx" might (e.g.) range from 0 to 25 dB.
  • ./setReferenceAttenuation xx: As above, for the reference receiver attenuator.
  • ./manageFocus: Returns the current focus setting (e.g. -2000 in microns).
  • ./manageFocus xxxxx: Sets the antenna focus to xxxx. The range of permissible "xxxx" is from -15000 to 15000. In microns.

-- DarrelEmerson - 22 Nov 2006

Archive Connection Monitoring (written by Justin Dressel):

  1. ssh almaproc@gas: Do this from your user account.
  2. monitorArchiveConnections: This will monitor the number of connections every 10 seconds and print the output. You can optionally pass in a command line argument to
change the frequency in seconds, such as:
  1. monitorArchiveConnections 300: This will monitor every 5 minutes, for example.

The output from this command will look something like this:
> > monitorArchiveConnections 1
Now monitoring the connections to Oracle on archive1 (port 1521)...
Updating every 1 seconds.

Number of connections - Timestamp
139 - Tue Nov  7 22:55:37 UTC 2006
139 - Tue Nov  7 22:55:39 UTC 2006
139 - Tue Nov  7 22:55:40 UTC 2006
139 - Tue Nov  7 22:55:42 UTC 2006
139 - Tue Nov  7 22:55:43 UTC 2006

Log Monitoring:

To cover the current gap in log monitoring capabilities, with a lot of help I wrote a small script which will run "less" on some key log files:

  1. ~jmangum/Apps/logshow ?: Will tell you what the command options for this script are.
  2. ~jmangum/Apps/logshow p: Tail the python log of real-time messages. Useful stuff like any print statement output you have put in your SB script.
  3. ~jmangum/Apps/logshow i: Grep of the log file that contains all SB UIDs. Useful at least for cut-and-paste of the stupid UID number.
  4. ~jmangum/Apps/logshow c: Tail of another more detailed system log that gives goary details of samples made for each holography scan. Currently this option does not work.

CLIC Holography Analysis Tips

Processing Old Holography Data With New CLIC Holography Analysis Software

There are several levels of "old" holography data:
  • Pre-2006 (TIFITS) Holography Data: There are basically two ways to process old holography data (pre-2006) with the new CLIC holography analysis software:
    1. Create new hpb file from TIFITS file: This is done as follows, where newhpbfilename with the name you want for the new hpb file and tifitsfilename with the name of the fits file. One can then proceed with data reduction starting with the new hpb file:
      • clic> file out newhpbfilename new
      • clic> tifits\read tifitsfilename
    2. Use the old ATFHolo analysis scripts on an old hpb file: Robert will give me the instructions for how to do this.
  • November 2006-February 2007: These hpb files simply need to be recreated from their associated SDM. Assuming you have the SDM available:
    • clic -nw
    • clic>file out newhpbfilename new
    • clic>sdm\read sdmdirectoryname.sdm
    • clic>exit

-- JeffMangum - 30 Mar 2007

Plotting Pointing Data

After converting the ASDM in the normal way, type @ ptg. You will get a plot for the first raster subscan with the following properties:
  • In the first box (T10) you have time,
  • In the second (T11) pointingDirection(1) [az]
  • In third encoder(1) [az]
  • Then the tracking error in az.
You move to the next subscan by typing c and return; the procedure loops through all raster subscans.

The ptg script is the following:

file in 'hfile_name'
set procedure *
set averag none
set x record
set y t10 t11 t12 t13
var gen
for i 1 to 217
  find /number i
  get f
  if (procedure.eq."HOLO") then

-- JeffMangum - 29 Nov 2006
Topic revision: r10 - 2007-05-22, JeffMangum
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding NRAO Public Wiki? Send feedback