MODS Instrument Software Notes

These are Kellee's notes on MODS instrument software.

  • Software/MODSSoftwareHandover - here are links to our wiki pages for startup, quick reference, troubleshooting as well as to some of the OSU pages.
  • KVM for the instrument computers (access via the Raritan client, web access doesn't work - Java issues)
  • MODSSoftwareDescriptionDocument - RP's suggestion for the overall document

Instrument Status / Troubleshooting

Sieve Snap

To check out the instrument during the day, or just before observing, they do a sieve snap image.
The details are here on the cookbook: http://scienceops.lbto.org/sciops_cookbook/mods_cb_observing/#ob_MODSstart

Some notes associated with this:
  • if it's during the day, you need to do the modsWake.pro and afterward put it back to sleep with modsSleep.pro
  • make sure the next file is set up correctly before you run the script - you don't want to overwrite a fits file from the night before
  • don't put the mask in unless the telescope is above 40
    Note from Olga - this is not really necessary unless using MODS1 cassette positions 13-16 which have an issue with a sensor at elevations greater than 40
    (see https://sites.google.com/a/lbto.org/mods/observing/troubleshooting#TOC-Mask-Selection-Error)
  • if the imcs lock step fails, do the retry, it will usually work
  • check the files get to newdata

DOS machines

If you want to just stop/restart the IC:
-- from the KVM, go to the window, type "quit" (you will not see your command as you type)
-- at the DOS prompt type ic to restart (this only works if you're in the right dir C:\mods )

You should see the temps updating in the lower corner. This is an IC in a good state ( IDLE ):
M1-BC-IDLE.png

Other states you might see in the window when it is taking images: READING OUT, WRITING DATA, ERASE, BUS DELAY, TC STATUS, INTEGRATING, BUSY

According to Rick, by design you can power off the machine even if the state is BUSY . It will not hurt anything.

Caliban

The caliban processes manage dual drives, written to by the DOS machines.

Here's a screenshot of mods1data console with the caliban xterms during a write.

calibanWRITE.png

you can type info in the caliban consoles to see the configuration.
  • output from "info" command on MODS2 caliban:
    MODS2-RedCaliban-Info.png

Status

To see if the software processes are running:
lbto@obs3:13 % mods1 status
MODS1 Status at 2014 Jan 07 00:12:59

MODS1 Instrument Server:
  Service       State           Owner
  --------------------------------------
  IE            Running         mods
  AGw           Running         mods
  redIMCS       Running         mods
  blueIMCS      Running         mods
  modsenv       Running         mods
  lbttcs        Running         mods
  modsUI        Running         osurc
  --------------------------------------
MODS Data Server:
  Service       State           Owner
  --------------------------------------
  isis          Running         mods
  Red Caliban   Running         mods
  Blue Caliban  Running         mods
  --------------------------------------

To check power states, etc., you can run status commands using isisCmd . From the mods hosts, you don't need a path or the --modsN argument, but if you are using a different account (e.g., telescope) on the mountain, you can put in the path ( /home/modseng/bin/isisCmd ) and you need the argument for which mods:
% isisCmd -m 1 m1.ie status
DONE: STATUS HostID=M1.IE HostAddr=mods1:10700 Mode=ISISClient ISISID=IS ISISHost=192.168.139.131:6600 
Concise -DEBUG rcFile='/home2/mods/Config/mechanisms.ini'

% isisCmd -m 1 m1.rc status
DONE: STATUS Inst=MODS1R Det=(e2v 8Kx3K) DW=T M1.CRSYNCH=1 Scale=0 DMin=0 DMax=1000 
DSat=65000 Exp=300 ImTyp=OBJECT Obj=(NGC 6720) XBin=1 YBin=1 OverX=0 OverY=0 ROI=(1,8288,1,3088) 
+Seq +HE TEDPower=ON LEDPower=OFF GaugePower=ON IEBLen=1 Mode=Integrating

% isisCmd -m 1 m1.bc status
DONE: STATUS Inst=MODS1B Det=(e2v 8Kx3K) DW=T M1.CBSYNCH=1 Scale=0 DMin=0 DMax=1000 DSat=65000 
Exp=300 ImTyp=OBJECT Obj=(NGC 6720) XBin=1 YBin=1 OverX=0 OverY=0 ROI=(1,8288,1,3088) +Seq +HE 
TEDPower=ON LEDPower=OFF GaugePower=ON IEBLen=1 Mode=Integrating

% isisCmd -m 1 m1.ie util status
DONE: UTIL IEB_R=ON IEB_R_BRK=OK IEB_B=ON IEB_B_BRK=OK HEB_R=ON HEB_R_BRK=OK 
HEB_B=ON HEB_B_BRK=OK WFS=ON WFS_BRK=OK AGC=ON AGC_BRK=OK LLB=ON LLB_BRK=OK 
GSPRES=31.6 GSTEMP=5.2 GRPRES=30.2 GRTEMP=6.1 IUBTAIR=10.9 AMBTEMP=7.6 AGHSTEMP=8.1

% isisCmd -m 1 m1.ie util heb_b status
DONE: UTIL HEB_B=ON HEB_B_BRK=OK

% isisCmd -m 1 m1.rc estatus
DONE: ESTATUS TEDPOWER=ON LEDPOWER=OFF IGPOWER=ON DEWPRES=7.7100E-06 CTEMPIN=6.86 
CTEMPOUT=7.29 HSTEMP=9.80 HEBTEMP=14.27 +24V=23.81 +5V=4.96 CCDTEMP=-101.02 -15V=-14.99 
DEWTEMP=-196.84 +12FAN=11.75 BOGHTRV=2.36 +3.3V=3.29

% isisCmd -m 1 m1.ie istatus
DONE: ISTATUS HATCH=CLOSED CALIB=IN CALLAMPS='None' VFLAT=4.0 SLITMASK=5 MASKPOS=IN 
AGWXGP=-92.000 AGWYGP=-242.500 AGWFOCUS=0.000 AGWXWFS=-92.370 AGWYWFS=-229.400 
AGWXS=0.000 AGWYS=0.000 AGWFS=0.000 AGWFS0=38.500 AGWFILT=1 AGWFNAME='Clear' 
DICHROIC=2 DICHNAME='Red' IRLASER=ON IRBEAM=DISABLED IRPSET=1.0 IRPOUT=1.1 IRTSET=-24.1 
IRTEMP=9.5 BCOLTTFA=16846 BCOLTTFB=18038 BCOLTTFC=20019 BCOLFOC=18301 BGRATING=2 
BGRATID='G400L' BGRTILT1=19884 BCAMFOC=3330 BFILTER=1 BFILTID='Clear' RCOLTTFA=15788 
RCOLTTFB=15070 RCOLTTFC=12530 RCOLFOC=14462 RGRATING=2 RGRATID='G670L' RGRTILT1=20929 
RCAMFOC=1750 RFILTER=1 RFILTID='Clear' IEBTEMPR=8.2 IEBGRT_R=5.0 TAIRTOP=3.8 TAIRBOT=5.1 
IEBTEMPB=10.8 IEBGRT_B=5.1 TCOLLTOP=4.9 TCOLLBOT=4.4 GSPRES=35.4 GSTEMP=5.2 GRPRES=33.9 
GRTEMP=6.1 IUBTAIR=10.6 AMBTEMP=8.8 AGHSTEMP=8.0

% isisCmd -m 1 m1.ie pstatus R
DONE: PSTATUS IEB_R=ON MPOWER_R=ON MLC1_R=ON MLC2_R=ON MLC3_R=ON MLC4_R=ON 
MLC5_R=ON MLC6_R=ON MLC7_R=ON MLC8_R=ON MLC9_R=ON MLC10_R=ON MLC11_R=ON 
MLC12_R=ON MLC13_R=ON MLC14_R=ON MLC15_R=ON MLC16_R=ON IEB_B=ON MPOWER_B=ON 
MLC1_B=ON MLC2_B=ON MLC3_B=ON MLC4_B=ON MLC5_B=ON MLC6_B=ON MLC7_B=ON MLC8_B=ON 
MLC9_B=ON MLC10_B=ON MLC11_B=ON MLC12_B=ON MLC13_B=ON MLC14_B=ON MLC15_B=ON 
MLC16_B=ON LLB=ON UTIL=UNAVAIL BIMCS=ON RIMCS=ON

% isisCmd -m 1 m1.ie hatch
DONE: HATCH HATCH=CLOSED

% isisCmd -m 1 m1.ie agw
DONE: AGW AGWXGP=-92.000 AGWYGP=-242.500 AGWFOCUS=0.000 AGWXWFS=-92.370 AGWYWFS=-229.400 AGWXS=0.000 AGWYS=0.000 AGWFS=0.000 AGWFS0=38.500 AGWFILT=1 AGWFNAME='Clear'

% isisCmd -m 1 m1.ie gprobe
DONE: GPROBE AGWXGP=-92.000 AGWYGP=-242.500 AGWFOCUS=0.000 AGWXWFS=-92.370 AGWYWFS=-229.400 AGWXS=0.000 AGWYS=0.000 AGWFS=0.000 AGWFS0=38.500

ESTATUS means environment status
ISTATUS reports positions and basic config for all mechanisms
PSTATUS reports electrical power status STATUS at the highest level returns the runtime configuration of the agent

A mechanism listed, with no command provides its status (e.g., HATCH CLOSED).

Notes for how to use MODS commands to set up for AGW testing are in an email from Rick to John (Feb-2011). Most of this can still be applied. But, if you're doing full-up testing, you need to use the scripts (modsWake.pro, modsSleep.pro, etc), not the individual commands.

Log / Raw Files

Log Machine DescriptionSorted descending
/Logs/Env modsNdata old MODS1 env logs
/Logs/Data/YYYYMMDD.log modsNdata image header data
/home/mods/Logs/Env/mods1.YYYYMMDD.log
/home/mods/Logs/Env/mods2.YYYYMMDD.log
modsN environmental sensor data
/home/mods/Logs/mmc.log modsN communication between devices
/Logs/CCD/ modsNdata CCD environmental monitor logs - how does this differ from Env?
/Logs/ISIS/isis.YYYYMMDD modsNdata also communication between devices - how does this differ from mmc?
/home/mods/Logs/agw.log modsN all communication between AGw interface and LBT GCS instance
/Logs/Caliban/cb_blue.log
/Logs/Caliban/cb_red.log
modsNdata  

Scripting

The GUI executes the commands. The scripts are back doors to the GUI.
go command takes an image
slitGo puts slit in and takes an image
acqGo takes slit out and takes an image

PDUs

The MODS PDUs are accessed at: http://192.168.52.38 and http://192.168.52.39

On both PDUs the use is mods user with the same password as username, and given that user access to the outlets above (as Rick pointed out these PDUs are only used by MODS, and the default admin username and password are still set, there would be the potential of future use for other devices, and this keeps everything sane).

You may access these PDUs programmatically or via web browser at the IP address above, though you need to be behind the mountain firewall (either VPN, or ssh, or LBTO internal routing).

  • MODS PDU1 outlets:
    MODSPDU1.png

  • MODS PDU2 outlets:
    MODSPDU2.png

Misc Notes

Notes from tour of MODS2 components in the clean room:
  • Tom showed me around - the mask mechanisms, the AGW components, the cameras.
  • Mask mechanism - showed me the multiple sensors for detecting mask placement, the binary selection IDs, the motors
  • Talked about the cameras - showed me the $5 million mirror that they shipped separately that he had to reinstall and align. It is a Maksutov?Cassegrain, so it has a funky shape which made it harder to fabricate, so it's expensive and took years to make. (although he said technology is making it easier now) It allowed MODS to be in a niche for wavelength - most spectrometers don't go into the UV(?)
  • 5mm of focus on camera
  • The glycol lines into the AGW components require a mob of lines to be rotated around inside.
  • MODS put a lot of design work into making the calibrations accurate. They have a copy of the primary mirror as the pupil for the calibrations which makes them more accurate.


64-bit testing using the sample programs from the libagwutils build
Several executables are built in the samples directory, if you do a make down there. These just call the MODS interface and report the results. Here's how to use some of them - these examples are all for MODS1 agw 0 :

   ./testtrans  -h mods1.mountain.lbto.org -u 0 -x -5.0 -y 5.0

   ./getstatus -h mods1.mountain.lbto.org -u 0 
   GENERAL STATUS:
   DONE: AGWXGP=-22.894 AGWYGP=-13.093 AGWFOCUS=0.000 AGWFILT=1 AGWFNAME='Clear' AGWXWFS=-23.264 
   AGWYWFS=0.007 AGWXS=69.106 AGWYS=190.651 AGWFS=38.756 +AutoFocus -Drift AGWXRATE=0 AGWYRATE=0
   -lock lockHost=none AGWXCen=92.000 AGWYCen=204.000 AGWFS0=38.500 Calib=OUT
   MODS Temperature: -1
   Temperature:-1
   MODS Humidity:-1
   DONE!!
    .... note that the temps and humidity are not implemented yet


   ./getfilter -h mods1.mountain.lbto.org -u 0
   Filter number: 1


   ./getfocus -h mods1.mountain.lbto.org -u 0
   Focus position: 0.000000


    ./getposition -h mods1.mountain.lbto.org -u 0 -m 1
    Mechanism=69.106000
 

   ./getposition -h mods1.mountain.lbto.org -u 0 -m 2
   Mechanism=190.651000


   ./getxy -h mods1.mountain.lbto.org -u 0 
   Guide probe position
           x: -22.894000
           y: -13.093000

Verify with the MODS commands ( but Taras was testing during this time, so things don't match completely ):
mods1:mods% isisCmd -m 1 m1.ie agw
DONE: AGW AGWXGP=-5.641 AGWYGP=-13.139 AGWFOCUS=0.000 AGWXWFS=-6.011 AGWYWFS=-0.039 
AGWXS=86.359 AGWYS=190.845 AGWFS=38.516 AGWFS0=38.500 AGWFILT=1 AGWFNAME='Clear'

mods1:mods% isisCmd -m 1 m1.ie agwfoc
DONE: AGWFOC AGWFS=38.858

mods1:mods% isisCmd -m 1 m1.ie agwx
DONE: AGWX AGWXS=64.860

mods1:mods% isisCmd -m 1 m1.ie agwy
DONE: AGWY AGWYS=191

mods1:mods% isisCmd -m 1 m1.ie gprobe
DONE: GPROBE AGWXGP=-27.140 AGWYGP=-13.083 AGWFOCUS=0.000 AGWXWFS=-27.510 AGWYWFS=0.017 
AGWXS=64.860 AGWYS=190.559 AGWFS=38.858 AGWFS0=38.500

IMCS

Instrumentation/MODSIMCSTTFs - good intro to IMCS and details for setting the zero points

Tom told me about how the system works. The structure has too much overall flex to keep the positioning. The components are pretty much off-the-shelf.

Tools

pokeMODS1 on mods1data was written to help with the dangling port problem.

Transforms

The transforms constants are stored in a config file on the mods system in: /home/mods/Config/MODSn/agw.ini

mods_SFPToAGW straightforward transformation focal plane to guide probe coordinates
mods_AGWToSFP same
mods_CCDToAGW convert CCD offset (dx,dy) to AGw stage guide probe offset
Given a pixel offset (dx,dy)_CCD on the guide camera CCD frame, compute the corresponding AGw stage (dx,dy)_GP offset to apply to move an image on the guide camera by that amount.
differential rather than absolute calculation
mods_CCDToSFP Given a pixel location (x,y)_CCD of an object in the guide camera
CCD, and the pixel location of a reference location (x,y)_ref,
compute the corresponding SFP coordinate offset (dx,dy)_SFP.
This transformation computes the CCD pixel offset between the reference pixel and the object:
dx = xref - xccd;
dy = yref - yccd;
Then algebraically it uses the calibration of the CCD-to-AGW transformation to compute the corresponding guide probe offset, then this is converted into the SFP offset using the AGW-to-SFP transformation. Because this is a relative rather than absolute transform, we work it out algebraically here using the coefficients of the two relevant transforms.
mods_SFPToCCD Given an SFP offset (dx,dy)_SFP, compute the corresponding CCD pixel offset (dx,dy)_CCD.  

GCS Interface

In addition to the transforms noted in the table above, GCS calls the following MODS methods. There are sample programs that call each of these methods in the agwutils library source area.

mods_init
mods_initTrans
mods_geterrormsg
mods_home
mods_getfocus
mods_setfocus
mods_getfilter
mods_setfilter
mods_getxy
mods_setxy

I Attachment Action Size Date Who Comment
M1-BC-IDLE.pngpng M1-BC-IDLE.png manage 36 K 20 Jun 2014 - 19:34 UnknownUser BC screenshot while idle
MODS2-RedCaliban-Info.pngpng MODS2-RedCaliban-Info.png manage 43 K 20 Jun 2014 - 20:30 UnknownUser output from "info" command on MODS2 caliban
MODSAGWTestingCommands.txttxt MODSAGWTestingCommands.txt manage 4 K 04 Mar 2015 - 17:16 UnknownUser Rick email to JHill with commands for running MODS AGW tests (Feb-2011)
MODSPDU1.pngpng MODSPDU1.png manage 46 K 02 Nov 2015 - 17:07 UnknownUser MODS PDU outlets
MODSPDU2.pngpng MODSPDU2.png manage 40 K 02 Nov 2015 - 17:07 UnknownUser MODS PDU outlets
calibanWRITE.pngpng calibanWRITE.png manage 378 K 20 Jun 2014 - 19:40 UnknownUser Caliban xterms while writing image data
Topic revision: r20 - 16 Apr 2018, KelleeSummers
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 Foswiki? Send feedback