IMACS Software Documentation


Location of this document: http://www.obs.carnegiescience.edu/~birk/IMACS/setup.html


Setup and Configuration Files

1 : System Setup
1.1 : Setup Tool
1.2 : Startup Window

2 : System Files
2.1 : .set Files
2.2 : .ini Files
2.3 : .tab Files



1.0 : IMACS Setup and Startup


1.1 : Setup Tool

This GUI is used by the Instrument Specialist to update the IMACS setup-files residing in $IMACSINI (currently at llama:/Users/imacs/IMACS/ini).
Notes:
  • Names of filters, masks, dispersers, etc. are not allowed to include spaces.
  • Neither are quotes (single or double) allowed in names.
  • Each time any of the .set files (except imacs.set) is changed the software creates a backup-copy. The filename has the extension (.set) replaced by a timestamp (.yyyymmddhhmmss) : eg. masks.20070320134959

    To change the setup-files type in an 'xterm':

    obsX@llama> imacs setuptool
    

    Dewar : [menu] :
    { None , Mosaic1, Mosaic2 } : select dewar at focus (dewar position)
    Orientation : [menu] :
    { Normal , Nod&Shuffle } : select dewar orientation
    Host : [edit] :
    computer that runs the imacserver (eg. ccd07 at f/4, ccd08 at f/2)
    Edit/Setup : [button] :
    f/4-Filters: opens a dialog-box to define the (f/4) filter-names and -focus
    f2/-Filters: opens a dialog-box to define the (f/2) filter-names and -focus
    Masks: opens a dialog-box to define the mask-names and -types
    Dispersers: opens a dialog-box to define the disperser-names,types and -IDs
    MMTF opens a dialog-box to enter the etalon settings.
    GISMO opens a dialog-box to enter the GISMO mask names

    Filter definition dialog-box:

    Measured: [edit] :
    R-filter center focus measured at AveInT
    Temperature: [edit] :
    AveInT temperature at the time of (R-filter) focus measurement
    Fiducial: [output] :
    focus of R-filter at 8 deg C.
    Best-Center: [edit] :
    difference between BestFocus and CenterFocus for the R-filter (master-delta)

    Filter : [menu] :
    select the filter for this position. The Name, Offset, Delta and Type will be automatically filled in from the master file.
    Name : [edit] :
    enter the name of the filter at this position (no spaces allowed)
    Offset : [edit] :
    intrinsic (thickness) difference between R-filter and this filter
    Delta: [edit] :
    filter specific delta-delta between BestFocus and CenterFocus relative to the R-filter
    Type : [menu] :
    • None: empty slot
    • Image: imaging filter
    • Spectr: spectroscopic filter
    • Block: blocking filter
    • Other: others (eg. blank)
    Comment: [edit] : comments
    Adding a filter to the master file requires a 3 step process:

  • From the Filter menu select the new entry. Leave the default Name (newX). If you change the name now, you will not be able to change the Offset, Delta and Type values once you come back to the setuptool GUI. Press OK now to write the updated xfilter.set file to disk and start mechgui as usual.

  • Measure the focus of the R-Filter and the new filter and note the difference (eg. Offset=100). Also note the AveInT (average internal) temperature at that time.
  • Open the setuptool again and update the Measured-Center[R-Filter] focus and the AveTinT temperature.
    Then enter the meassured Offset for the new filter and change the Name to the appropriate filter name (eg. myfilter). Set the proper filter Type. Once you press OK the new xfilter.set will be written and the filter master file will the updated containing a line for the myfilter filter.

    The next time you open the setuptool GUI the filter window should look like this:

    Mask definition dialog-box:

    Name : [edit] :
    name of the slit-mask at this position (no spaces allowed)
    Type : [menu] :
    • none: empty slot
    • regular: slit-mask
    • thin: special masks for position-7 (CF-guider) and position-8 (f/4-imaging) only
    • IFU: integral field unit
    • blocked: position blocked by IFU

    Disperser definition dialog-box:

    Name : [menu] :
    Name of the disperser at this position. The entries for this menu are taken from the file $IMACSINI/dispslot#.ini
    Note: the name implies a type
    Type : [menu] : (output only, implicit defined by name)
    • empty: f/2 imaging
    • grating: f/4 spectroscopy
    • grism: f/2 spectroscopy
    • mirror: f/4 imaging
    • prism: f/2 spectroscopy
    • etalon: f/2 tunable filter (MMTF)
    ID : [menu] :
    Grating-Tilt-Mechanisms have an ID associated with them, as each has slightly different limit-switch positions and home-sensor position.

    Etalon (MMTF) setup dialog-box:

    Coarse : [edit] :
    Coarse settings of the CS-100 front panel.
    Fine : [edit] :
    Fine settings of the CS-100 front panel.
    Quad : [edit] :
    Quadrature-Balance settings of the CS-100 front panel.

    GISMO setup dialog-box:

    Pos-1 : [edit] :
    name of sub-mask #1
    ...
    Pos-5 : [edit] :
    name of sub-mask #5


    1.2 : Startup Window

    The 'IMACS-Startup' window is started by a script called 'imacs'. It should be in the observer's path and no parameters need to be given.

    #! /bin/csh
    setenv IMACSHOME /home/imacs/IMACS
    setenv IMACSBIN    $IMACSHOME/src
    setenv IMACSINI    $IMACSHOME/ini
    setenv IMACSCAT    $IMACSHOME/CATS
    setenv IMACSOUNDS  $IMACSHOME/Sounds
    setenv IMACSLOG    $IMACSHOME
    if ( $1 == "" ) then
      $IMACSBIN/startupwin 
    else
      $IMACSBIN/$1 $2 $3 $4 $5 $6 $7 $8 $9 
    endif
    if ( $1 != "setuptool" ) then
      while (`ps aux | grep xdbserver | grep -v grep` != "")
        sleep 2
      end
    endif
    
    The environment variables IMACSOUNDS and IMACSLOG have been added.

    This GUI allows the user to enter the observer's name and set the number of overscan-pixels and bias-lines.
    For regular operation all devices (Camera, Mechanics, Telescope) should be set to 'online' and telescope should be set to 'Baade'.

    Below you see a typical setup:

    Observer: [edit] : observer's name

    f/4-Mosaic1 [menu] : FYI only; set by instrument specialist via setuptool
    f/2-Mosaic2 [menu] : FYI only; set by instrument specialist via setuptool
    • simulator: for tests with no dewar
    • online: dewar and it's electronics is connected and running
    Host: [edit] : hostname of computer that is running the 'CCDserver' (FYI only; set by instrument specialist)
    Orientation: FYI only; set by instrument specialist
    • Normal: dewar orientation (dispersion along y-axis of arrays)
    • Nod/Shuffle: dispersion along x-axis of arrays

    CameraGUI: [button] : AutoStart selected: startup data-acquisition window

    Mechanics: [menu] :
    • simulator: for tests with no IMACS mechanics connected
    • online: IMACS mechanics and electronics is connected and running

    ImacsGUI: [button] : AutoStart selected: startup IMACS user GUI

    Telescope: [menu] :
  • Simulator: use Magellan-simulator
  • Baade: connect to Baade TCS
    [menu] : telescope status
    • online: TCS (or simulator) is running
    • offline: do not communicate with TCS

    TeleGUI: [button] : AutoStart selected: startup telescope GUI
  • Simulation Mode

    The IMACS software can be run entirely in 'simulation' mode. This is useful if you want to get acquainted with the functions of IMACS. The 'Startup-Window' should look like this:

    It is VERY important to initialize all devices after using the simulator mode, since most (except the pricipal- and SH-guider) encoders are powered off unless they are actually used during a motion. The current enocder values are stored in temporary files and re-stored into the motor-controller counters when needed.


    2.0 : System Files


    2.1 : .set Files

    The following files are located in $IMACSINI. They describe the setup of certains sub-systems that require frequent modifications.

    imacs.set

    dewar-long=1		; Mosaic1 @ f/4
    dorient-long=1		; Nod&Shuffle
    ccdhost-long=ccd07
    dewar-short=2		; Mosaic2 @ f/2
    dorient-short=0		; Normal
    ccdhost-short=ccd08
    
    

    masks.set

    n/a             0        ; first column is name (no spaces allowed)
    HDFS2           1        ; second column is type
    n/a             0        ; type=0: none (empty slot)
    RCS2315A        1        ;     =1: regular mask
    n/a             0        ;     =2: thin mask
    RCS0221A        1        ;     =3: IFU
    CF-Guider       2        ;     =4: blocked (by IFU)
    f/4-Imaging     2        ;     =5: GISMO
    

    dispersers.set

    Grating_600-l   1:1      ; first column is name (no spaces allowed)
    f/4_Imaging     3:0      ; second column is type:id
    Grating_300-l   1:2      ; type=0: open (none)
    Grism_200-l     2:1      ;     =1: grating
    Grating_1200-l  1:3      ;     =2: grism
    Grism_300-l     2:2      ;     =3: mirror
                             ;     =4: MOE   
                             ;     =5: MMTF
                             ;     =6: prism
    

    lfilters.set

    Load_Filters    0.0     4  0    ; first column is name (no spaces allowed)
    Filter-2        0.0     0  0    ; second colums is detector-focus (at 8C)
    Filter-3        0.0     0  0    ;   a value of '0.0' denotes 'unknown'
    Filter-4        0.0     0  0    ; third column is the type of filter
    Out-OG570       7655.0  0  0    ;  0= none (not selectable in 'mechgui')
    Filter-6        0.0     0  0    ;  1= imaging
    Spectroscopic   8330.0  2  0    ;  2= spectroscopic
    Filter-8        0.0     0  0    ;  3= blocking
    CTIO-I          8005.0  1  0    ;  4= other
    Filter-10       0.0     0  0    ; fourth column is the 'delta' between
    Bessell-R       7880.0  1  0    ;  the center-focus and best-focus
    Filter-12       0.0     0  0
    Bessell-V       7705.0  1  0
    Filter-14       0.0     0  0
    Bessell-B       7555.0  1  0
    

    sfilters.set

    Filter-1-none   0.0     4  0    ; first column is name (no spaces allowed)
    Filter-2        0.0     0  0    ; second colums is detector-focus (at 8C)
    WB6300-9500     7750.0  3  0    ; third column is the type of filter
    WB4800-7800     7750.0  3  0    ;  0= none (not selectable in 'mechgui')
    OG570           6925.0  3  0    ;  1= imaging
    NB8200          6850.0  3  0    ;  2= spectroscopic
    B-Bessell       6870.0  1  0    ;  3= blocking
    Filter-8        0.0     0  0    ;  4= other
    V-Bessell       6950.0  1  0    ; fourth column is the 'delta' between
    Filter-10       0.0     0  0    ;  the center-focus and best-focus
    R-Bessell       7150.0  1  0
    Filter-12       0.0     0  0
    I-CTIO          7270.0  1  0
    Filter-14       0.0     0  0
    Spectroscopic   7740.0  2  0
    

    mmtf.set

     
    mmtf-cx=-1               ; coarse settings on CS-100 front panel
    mmtf-cy=0
    mmtf-cz=3
    mmtf-fx=6.94             ; fine settings on CS-100 front panel
    mmtf-fy=6.80
    mmtf-fz=2.00
    mmtf-qx=4.27             ; quadrature-balance settings
    mmtf-qy=3.80
    mmtf-qz=4.44
    

    gismo.set

    PosA		; just names 
    PosB
    PosC
    PosD
    PosE
    


    2.2 : .ini Files

    The following files contain low level information about various hardware (motors, solenoids, limit-switches) inside IMACS. It should not be necessary to change any of those. I you however do so, please be very careful and notify me (birk AT obs DOT carnegiescience DOT edu) immediately.

    All _epos.ini files (dsw_epos.ini, dss_epos.ini, mask_epos.ini, gismo_epos.ini, fs1_epos.ini, fs2_epos.ini) allow for an (optional) keyword named offset. When not found it defaults to '0', ie. it is backwards compatible.
    Example: The line

    offset=200

    adds 200 units to all position-values (slotX) in the file. The 'offset' keyword may appear at any position in the file.


    Calibration lamp names (cal_lamps.ini)

    lamp1=Ne
    lamp2=NeHg
    lamp3=Ar
    lamp4=Kr
    lamp5=Xe
    lamp6=Cont
    


    CF-guider filter solenoid (cgf_insert.ini)

    name=cgf
    type=1
    r-address=0x306         ; retract solenoid
    r-bit=6
    e-address=0x306         ; extend solenoid
    e-bit=7
    r1-address=0x306        ; retract-A sensor
    r1-bit=3
    e1-address=0x306        ; extend-A sensor
    e1-bit=2
    

    CF-Guider optics solenoid (cgo_insert.ini)

    
    
    

    CF-Guider probe motor (cgp_insert.ini)

    name=cgp
    segment=0xd000          ; address
    axis=d                  ; axis id
    f_max=10000             ; max. speed
    f_stp=250               ; start-up speed
    f_reg=2000              ; regular speed
    f_home=2000             ; home search speed
    f_acc=500               ; acceleration
    homedist=33400          ; max. home distance
    nearwidth=5000          ; width of near-marker
    brakeport=0x301         ; brake
    brakebit=3
    posbyte=0x01            ; positive direction
    negbyte=0x03
    cmd4=0x28               ; LOG_ES=LOG_OV=1
    eunit=1.0               ; no encoder
    rv-adr=0x305            ; forward hard limit
    rv-bit=6
    fw-adr=0x305            ; reverse hard limit
    fw-bit=7
    min=0                   ; min. position
    max=33200               ; max. position
    


    f/4 Detector Focus (df1_select.ini)

    name=ldetf
    segment=0xd000          ; address segment
    board=0x3000            ; board offset
    axis=a                  ; axis id
    f_max=10000             ; max. speed
    f_stp=100               ; start-up speed
    f_reg=500               ; regular speed
    f_home=200              ; home search speed
    f_acc=400               ; acceleration
    homedist=13000          ; max. home distance (steps)
    nearwidth=300           ; width of near-marker (200/rev)
    cmd4=0x28               ; LOG_OV(0x02)=LOG_ES(0x08)=1
    cmd5=0x02               ; GBM (1 clock)
    rv-adr=0x320            ; forward hard limit
    rv-bit=0
    fw-adr=0x320            ; reverse hard limit
    fw-bit=1
    
    f/4 Detector Focus (df1_encoder.ini)
    posbyte=0x01            ; positive direction
    negbyte=0x03
    eunit=10.00             ; encoder counts per step (2000/rev)
    range=25                ; allowed error range
    min=-1001               ; encoder limits
    max=126001
    

    f/2 Detector Focus (df2_select.ini)

    name=sdetf
    segment=0xd000          ; address segment
    board=0x3000            ; board offset
    axis=b                  ; axis id
    f_max=10000             ; max. speed
    f_stp=100               ; start-up speed
    f_reg=500               ; regular speed
    f_home=200              ; home search speed
    f_acc=400               ; acceleration
    cmd4=0x28               ; LOG_OV(0x20)=LOG_ES(0x08)=1
    cmd5=0x02               ; GBM (1 clock)
    
    f/2 Detector Focus (df2_encoder.ini)
    eunit=1.0               ; encoder counts per step
    range=5                 ; allowed error range
    min=-23000              ; encoder limits
    max=23000 
    encoder=1               ; absolute encoder
    posbyte=0x03            ; positive direction
    negbyte=0x01
    


    Disperser Wheel Brake (dsb_insert.ini)

    
    
    

    Disperser Wheel Clamp (dsc_insert.ini)

    
    
    

    Disperser Wheel Select (dsw_select.ini)

    
    
    

    Disperser Wheel Encoder (dsw_epos.ini)

    slot1=+77945    ; grating-A (checked Apr/22)
    slot2=+63590    ; mirror (adjusted Jun/21)
    slot3=+49240    ; grating-B (checked Apr/22)
    slot4=+34902    ; grism-1 (adjusted Jun/21)
    slot5=+20542    ; grating-C (adjusted Jun/21)
    slot6=-1617     ; grism-2 (adjusted Apr/22)
    slot7=+9390     ; open
    range=25
    

    Disperser Slot Selection (dispslot#.ini)
    Defines which devices are selectable for each disperser wheel position; eg. dispslot1.ini:

    Gra-300-4.3     1      ; first column is the name
    Gra-300-36.87   1      ; second column is the type
    Gra-600-8.6     1
    Gra-600-13.0    1      ;   1= grating
    Gra-1200-17.45  1      ;   2= grism
    Gra-1200-26.7   1      ;   3= mirror
    MOE             4      ;   4= MOE
    MMTF            5      ;   5= MMTF
    LDP		6      ;   6= prism
    empty           0      ;   0= open
    


    f/4 Filter Master (lfmaster.ini)

    Bessell_B1           -490   1   0
    6600/260              600   1   0
    Bessell_V1           -180   1   0
    565-920               500   1   0
    Bessell_R1              0   1   0
    [OIII]_CTIO          -240   1   0 
    CTIO-I1               170   1   0
    5290/156              450   1   -100  
    Spectroscopic1        436   2   0  
    [SII]_CTIO             34   1   0   
    HAlpha656              56   1   0    
    7045/228              560   1   0    
    6815/216              560   1   0 
    
    f/2 Filter Master (sfmaster.ini)
    Bessell_B2           -250   1   0  
    WB5694-9819           620   3   0  
    Bessell_V2           -150   1   0 
    Empty                   0   0   0 
    Bessell_R2              0   1   0 
    HAlpha                805   1   0 
    CTIO-I2               130   1   0  
    OG570                 200   3   0    
    Sloan_z                55   1   0     
    Sloan_i               105   1   0
    Sloan_r               255   1   0  
    Sloan_g               170   1   0 
    Spectroscopic2        456   2   0
    MMTF5100              490   3   0 
    NB8200_136           -324   3   0 
    HAlpha656              10   1   0
    WB8500-9500           479   3   0
    WB4800-7800           360   3   0
    
    f/4 Filter Server Select (fs1_select.ini)
    
    
    

    f/4 Filer Server Insert (fs1_insert.ini)

    
    
    

    f/4 Filter Server Encoder (fs1_epos.ini)

    slot1=+104180   ; +500 units (June/14/2004)
    slot2=+84180
    slot3=+64180
    slot4=+44180
    slot5=+24180
    slot6=+4180
    slot7=-15820
    slot8=-35820
    slot9=-55820
    slot10=-75820
    slot11=-95820
    slot12=-115820
    slot13=-135820
    slot14=-155820 
    slot15=-175820
    range=100
    

    f/2 Filter Server Select (fs2_select.ini)

    
    
    

    f/2 Filer Server Insert (fs2_insert.ini)

    
    
    

    f/2 Filter Server Encoder (fs2_epos.ini)

    slot15=-184820  ; updated May/21/2004 (1-9)
    slot14=-164820
    slot13=-144880
    slot12=-124920
    slot11=-104970
    slot10=-84960
    slot9=-65260
    slot8=-45460
    slot7=-25450
    slot6=-5550
    slot5=+14610
    slot4=+34410
    slot3=+54360
    slot2=+74210
    slot1=+94100
    range=100
    


    Grating Tilt A (grA_select.ini)

    name=grA
    segment=0xd000          ; address segment
    board=0x2000            ; board offset
    axis=a                  ; axis id
    f_max=10000             ; max. speed
    f_stp=3000              ; start-up speed
    f_reg=9000              ; regular speed
    f_home=9000             ; home search speed
    f_acc=6000              ; acceleration
    posbyte=0x03            ; positive direction
    negbyte=0x01
    cmd4=0x28               ; LOG_OV=0x20,LOG_ES=0x08
    range=4                 ; allowed error range [EU] (4.12576 EU/arcsec)
    rv-adr=0x31a            ; forward hard limit
    rv-bit=0
    fw-adr=0x31a            ; reverse hard limit
    fw-bit=1
    

    Grating Tilt B (grB_select.ini)

    
    
    

    Grating Tilt C (grC_select.ini)

    
    
    

    Grating Mechanism 1 (gr1_select.ini)

    min=-98000              ; (-99000) encoder limits
    max=+330000             ; (+335000) HOME @ 42.8
    homedist=350000         ; motor steps
    nearwidth=90000         ; motor steps
    backlash=5
    eunit=1.295             ; encoder counts (0.1 um) per micro-step (1/25)
    zero=307750             ; encoder at 0th order
    

    Grating Mechanism 2 (gr2_select.ini)

    
    
    

    Grating Mechanism 3 (gr3_select.ini)

    
    
    

    Grating Mechanism 4 (gr4_select.ini)

    
    
    


    Mask Server Select (mask_select.ini)

    
    
    

    Mask Server Encoder (mask_epos.ini)

    
    
    

    Mask Server Insert (mask_insert.ini)

    
    
    

    Mask Server Latch (mask_latch.ini)

    
    
    

    Focus Offsets (IFU,GISMO) (focus_offsets.ini)
    Note:This file replaces ifu_offsets.ini (May/2007)

    ifu_f2=-80              ; focus offset with IFU in f/2 (short) mode
    ifu_f4=-300             ;                          f/4 (long) mode
    gismo=0			; focus offset with GISMO (f/4 only)
    

    GISMO sub-mask positions (gismo_epos.ini)

    slot1=6.0
    slot2=18.0
    slot3=30.0
    slot4=42.0
    slot5=54.0
    


    Principal Guider Theta (pgt_select.ini)

    
    
    

    Principal Guider Filter (pgf_insert.ini)

    
    
    


    Shack-Hartman Guider Theta (sgt_select.ini)

    
    
    

    Shack-Hartman Guider Radius (sgr_select.ini)

    
    
    

    Shack-Hartman Guider Optics (sgo_insert.ini)

    
    
    

    Shack-Hartman Guider Filter (sgf_insert.ini)

    
    
    


    IMACS (internal) Rotator (rotator.ini)

    segment=0xd000          ; address
    board=0x3000            ; board offset
    axis=c                  ; axis id
    f_max=10000             ; max. speed
    f_stp=100               ; start-up speed
    f_reg=2900              ; regular speed
    f_acc=1000              ; acceleration
    posbyte=0x03            ; positive direction
    negbyte=0x01            ; negative direction
    cmd4=0x08               ; LOG_ES=1
    eunit=0.000433296       ; degrees per step
    min=-345
    max=+125
    


    2.3 : .tab Files

    The following files contain the flexure tables used to run the open-loop flexure control of IMACS. It should not be necessary to change any of those. If you however do so, please be very careful and notify me (birk AT obs DOT carnegiescience DOT edu) immediately.

    f/4 Mirror (imaging) (flex_mirr.ini)

    
    
    

    f/4 Grating (spectroscopy) (flex_grat.ini)

    
    
    

    f/2 Open (imaging) (flex_open.ini)

    
    
    

    f/4 Grism (spectroscopy) (flex_gris.ini)

    
    
    
    


    2003-10-29, Christoph C. Birk, Carnegie Observatories (last updated: 2009-05-05)