IMACS Software Documentation


Location of this document: http://www.ociw.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)

    Name : [edit] :
    enter name of 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

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

    sfilters.set

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

    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 ociw 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 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. I you however do so, please be very careful and notify me (birk AT ociw 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: 2008-06-24)