Differential Image Motion Monitor (DIMM)
TL;DR
The
DIMM is a DVC-1412 camera mounted on a network-attached mount, plugged into an EDT PCI-DVI FOX board installed in a computer. The
DIMM camera's field of view is small enough that there is also a web camera attached to the same mount. The two cameras are not the same. The software that runs the
DIMM controls the mount over the network and gets the DVC-1412 pointed into the correct area. The software then takes a picture through the DVC-1412 using a direct fiber attachment that it has from the EDT PCI-DVI FOX board. If the EDT PCI-DVI FOX board is correctly plugged into the camera, there are two LEDs on it that will turn green.
The software requires a
MySQL database to locate stars, and is written in C++, Qt3 and uses the EDT API (and therefore requires the EDTpdv driver) to take pictures, and talks to the mount at 192.168.18.51 over the computer's network connection.
The actual page
The
DIMM method measures wavefront slope differences between two small pupils, and as a differential method, is insensitive to tracking error. The LBT
DIMM uses a commercial 14" Schmidt–Cassegrain telescope and supporting electronics mounted on a pier at the upper inboard side of the right C-ring of the telescope.
Hardware
- Electronics box (mounted on DIMM pier):
- picture of back of DIMM computer in LRTH:
Requirements
Interfaces
Reads the following data dictionary entries:
IIFOnSource
ELPosition
ELVelocity
AZPosition
AZVelocity
L_RotCenterRA
L_RotCenterDEC
Writes to IIF/dimm
data dictionary entries:
DIMMElevation float deg DIMM elevation angle
DIMMSeeing float arcsec DIMM seeing value
DIMMSeeingZenith float arcsec DIMM elevation corrected seeing value
DIMMR0 float cm DIMM R0 value
DIMMMessage string --- DIMM message ("Invalid Seeing" or "Valid Seeing")
DIMMStatus int --- DIMM status
DIMMTimeStamp long sec Time of data measurement in seconds from epoch
iif.DIMM.seeingElevation
Reads the star list from a local MySQL database (see below for more details on the db).
Write two telemetry streams:
seeing_01
and
acquisition_01
.
Procedures
Troubleshooting
Build Procedure
Software/DIMMSoftwareBuildAndInstall
Release Notes
(see also the file
/local/dimm/ReleaseNotes
on the
DIMM computer)
- Version 3.4.2, 5-Mar-2017 - clip seeing at 5 (configurable), use 30 for min seeing buffer size
- Version 3.4.1, 5-Feb-2017 - fix move to next star in AA on mount exception during offset; added mean flux to DD
- Version 3.4, 18-Jan-2017
- Version 3.3.2, 9-Dec-2016 - unhandled mount exception fix in auto-acq thread
- Version 3.3.1, 17-Nov-2016 - bug fix, auto-acq exit not setting flag for GUI
- Version 3.3 release 9-Nov-2016 - incorporated auto-acquisition standalone executable into the server.
- Version 3.2 released 9-Sep-2016 - fixed mount exceptions stopping measurements, added telemetry (LBT-adjusted seeing, number of samples, star magnitude), IT6116 fix
- 17-June-2016, minimum number of centroids required for seeing measurement (
Dimm.Seeing.minBufferSize
) set to 5 - DIMM was not starting measuring on anything but the very brightest stars using 10.
- 15-June-2016, minimum number of centroids required for seeing measurement (
Dimm.Seeing.minBufferSize
) set to 10
- Version 3.11 released 8-June-2016 includes updates to auto-acquisition, including sorting the star list by merit based on magnitude and distance-to-LBT and exception handling in the server for mount and comm exceptions
- Version 3.1 released 17-Mar-2016 includes an Auto-acquisition client
- Version 3.02 released 6-Jan-2016 to add the real hot pixel map, delete some warnings/debug log messages
- DIMM version 3.01 released 15-Oct-2015 is a fix to reset the spiral search FOV to full-frame
- DIMM version 3.0 released in Sept-2015
- DIMM version 2.93 released on 28-May is an update to DIMM GUI to display zenith-corrected seeing as well as effective seeing value
- May-2015 - DIMM version 2.92
- February-2015 - DIMM version 2.91
- February-2014 - DIMM version 2.9
- May-2013 - DIMM version 2.8
- March-2013 - DIMM version 2.7
- January-2013 - DIMM version 2.6
Measuring exposure time modified from 10msecs to 15msecs (configurable value Dimm.CameraExposureTime
)
- DIMM version 2.5a released on 29-December is version 2.5 with a changed focuser GUI
- 29-November-2012 - DIMM version 2.5
- October-2012 - DIMM version 2.3
- August-2012 - DIMM version 2.2
- June-2012 - version 2012F
System Configuration
- Camera is installed in
/opt/EDTpdv
directory (checked into subversion in opt
subdirectory of trunk)
- there's a startup file for the camera in
/etc/init.d/edtinit
linked to /etc/rc3.d/S85edtinit
(checked into subversion in the opt
subdirectory of trunk)
- DIMM software is installed in
/local/dimm/current
- The
/lbt
is a mounted disk. DIMM writes its own telemetry to a mounted disk, and log files. Here are the /etc/fstab
entries:
192.168.39.20:/volume3/lbto_data /lbt/data nfs defaults,nfsvers=3 0 0
192.168.39.20:/volume3/lbto_logs /lbt/data/logs nfs defaults,nfsvers=3 0 0
192.168.39.20:/volume6/lbto_telemetry_tcs /lbt/data/telemetry/tcs nfs defaults,nfsvers=3 0 0
Software Architecture
The main
DIMM process is the
DimmServiceI
class which spawns the threads and services calls from the GUI. The threads share access to the mount/camera/LBT. All the threads update the
DimmStatus
class with current mount/camera/DIMM state information.
Database
DIMM uses a MySQL database for the star list. It appears seeing data was going to go in the db at one point, but the software does not write to the db.
#
# Database specifications
#
Dimm.Comm.Database.host=localhost # Hostname of the database server
Dimm.Comm.Database.name=DIMM # Name of the mysql database
Dimm.Comm.Database.user=root # User name
Dimm.Comm.Database.password= # Password
I made dumps of the database (20140408, 20150626, 20160426) and copied to
/home/ksummers/dimm/DIMMdbYYYYMMDD.dumpfile
in Tucson.
mysqldump -u root DIMM > DIMMdbYYYYMMDD.dumpfile
The db lives on
/var/lib/mysql
:
[root@dimm init.d]# cd /var/lib/mysql/
[root@dimm mysql]# ll
total 20560
drwx------ 2 mysql mysql 4096 Apr 9 2008 DIMM
-rw-rw---- 1 mysql mysql 10485760 Feb 15 03:49 ibdata1
-rw-rw---- 1 mysql mysql 5242880 Feb 15 03:52 ib_logfile0
-rw-rw---- 1 mysql mysql 5242880 Mar 26 2008 ib_logfile1
drwx------ 2 mysql mysql 4096 Mar 26 2008 mysql
srwxrwxrwx 1 mysql mysql 0 Feb 15 03:52 mysql.sock
drwx------ 2 mysql mysql 4096 Mar 26 2008 test
[root@dimm mysql]# ls DIMM
db.opt HYG_catalog.frm HYG_catalog.MYD HYG_catalog.MYI Seeing.frm Seeing.MYD Seeing.MYI
[root@dimm mysql]# df .
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
148883804 32631212 108689740 24% /
[dimmuser@dimm Database]$ mysql -u root DIMM
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 54 to server version: 4.1.22
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> show databases;
+----------+
| Database |
+----------+
| DIMM |
| mysql |
| test |
+----------+
3 rows in set (0.00 sec)
mysql> show tables;
+----------------+
| Tables_in_DIMM |
+----------------+
| HYG_catalog |
| Seeing |
+----------------+
2 rows in set (0.00 sec)
mysql> show columns from HYG_catalog;
+----------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------+-------------+------+-----+---------+-------+
| StarID | bigint(10) | | PRI | 0 | |
| Hip | bigint(10) | | | 0 | |
| HD | varchar(60) | | | | |
| HR | varchar(60) | | | | |
| Gliese | varchar(60) | | | | |
| BayerFlamsteed | varchar(60) | | | | |
| ProperName | varchar(60) | | | | |
| RA | varchar(60) | | | | |
| Dec | varchar(60) | | | | |
| Distance | varchar(60) | | | | |
| Mag | float | | | 0 | |
| AbsMag | varchar(60) | | | | |
| Spectrum | varchar(60) | | | | |
| ColorIndex | varchar(60) | | | | |
+----------------+-------------+------+-----+---------+-------+
14 rows in set (0.00 sec)
mysql> select * from HYG_catalog where mag > 5.0 limit 1,20;
+--------+-----+--------+------+--------+----------------+------------+------------+--------------+------------------+-------+--------------------+----------+------------+
| StarID | Hip | HD | HR | Gliese | BayerFlamsteed | ProperName | RA | Dec | Distance | Mag | AbsMag | Spectrum | ColorIndex |
+--------+-----+--------+------+--------+----------------+------------+------------+--------------+------------------+-------+--------------------+----------+------------+
| 2 | 3 | 224699 | | | | | 0.00033386 | +38.85928608 | 355.871886120996 | 6.61 | -1.1464684004746 | B9 | -0.019 |
| 7 | 11 | 224720 | | | | | 0.00248646 | +46.94000154 | 233.100233100233 | 7.34 | 0.502286460923622 | A2 | 0.081 |
| 10 | 14 | 224726 | | | | | 0.00321812 | -00.36042119 | 195.694716242661 | 7.25 | 0.792104500673564 | K0 | 1.200 |
| 13 | 19 | 224721 | | | | | 0.00355446 | +38.30408636 | 242.718446601942 | 6.53 | -0.395513919834326 | G5 | 0.955 |
| 18 | 25 | 224750 | 9077 | | | | 0.00529102 | -44.29029741 | 72.7802037845706 | 6.28 | 1.96993366361766 | G3IV | 0.763 |
| 23 | 34 | 224758 | 9078 | | | | 0.00663131 | +26.91823821 | 78.6782061369001 | 6.43 | 1.95072775277004 | F7.5IV-V | 0.514 |
| 25 | 38 | 224752 | | | | | 0.00740312 | -79.06183133 | 41.9463087248322 | 8.65 | 5.53653125534099 | G6V | 0.778 |
| 26 | 39 | 224763 | | | | | 0.00745743 | -16.69693020 | 91.0746812386157 | 7.46 | 2.66301170057037 | F3V | 0.475 |
| 29 | 43 | 224784 | 9079 | | | | 0.00860593 | +59.55973786 | 131.061598951507 | 6.18 | 0.592622689774402 | G9III-IV | 1.032 |
| 32 | 47 | | | | | | 0.00901282 | -56.83524773 | 40.8997955010225 | 10.78 | 7.72139431729819 | K3V | 1.150 |
| 33 | 48 | 224780 | | | | | 0.00901484 | -40.69044664 | 537.634408602151 | 7.31 | -1.34243527891042 | K0/K1III | 1.164 |
| 34 | 50 | 224782 | | | | | 0.0095247 | -53.09766277 | 59.206631142688 | 6.49 | 2.62814824785504 | G1IV | 0.616 |
| 37 | 54 | | | | | | 0.01011037 | +17.96895579 | 47.6871721506915 | 10.57 | 7.17799215232672 | M: | 1.030 |
| 38 | 55 | 224783 | | | | | 0.01052221 | -66.68310336 | 68.212824010914 | 7.4 | 3.23066985152555 | G2IV/V | 0.551 |
| 40 | 57 | 224789 | | | | | 0.01121903 | -69.67580068 | 29.5072292711714 | 8.27 | 5.92035784418689 | K2V | 0.863 |
| 41 | 58 | 224792 | | | | | 0.01158422 | +62.17600484 | 38.3729854182655 | 7.05 | 4.12987205688283 | G0 | 0.520 |
| 45 | 63 | 224801 | 9080 | | | | 0.01211663 | +45.25333305 | 207.900207900208 | 6.36 | -0.22927461813084 | B9p SiEu | -0.047 |
| 49 | 68 | 224808 | | | | | 0.01337575 | +16.98896499 | 31.4465408805031 | 8.79 | 6.30213559992216 | K0 | 0.940 |
| 53 | 73 | 224826 | | | | | 0.01469714 | +66.84796687 | 251.889168765743 | 6.9 | -0.106047466184424 | K2 | 1.446 |
| 54 | 74 | | | | | | 0.01479152 | +35.75272213 | 41.2881915772089 | 9.93 | 6.85087069403517 | K5 | 1.068 |
+--------+-----+--------+------+--------+----------------+------------+------------+--------------+------------------+-------+--------------------+----------+------------+
20 rows in set (0.00 sec)
Looking through the log for 20161209, I saw a star with name "-". Searching in the DB, there are a few like that. It doesn't matter, the name is just used in the acq FITS file, but it's something to be aware of.
mysql> select * from HYG_catalog where BayerFlamsteed like "%-%";
+--------+-----+----+----+-----------+----------------+------------+------------------+-------------------+------------------+------+-------------------+----------+------------+
| StarID | Hip | HD | HR | Gliese | BayerFlamsteed | ProperName | RA | Dec | Distance | Mag | AbsMag | Spectrum | ColorIndex |
+--------+-----+----+----+-----------+----------------+------------+------------------+-------------------+------------------+------+-------------------+----------+------------+
| 86179 | 0 | | - | Gl 194 B | - | | 5.27785134115813 | 46.006708593181 | 12.9382843834907 | 0.96 | 0.400616536489542 | G0 III | |
| 86385 | 0 | | - | Gl 321.3B | - | | 8.744920107427 | -54.7070032085306 | 24.4498777506112 | 5 | 3.05861654003671 | | |
| 86456 | 0 | | - | Gl 351 B | - | | 9.5119377078919 | -40.4665764206189 | 18.5563184264242 | 4.65 | 3.30754091798013 | F0 IV | |
| 86977 | 0 | | - | Gl 656.1B | - | | 17.172748885964 | -15.728212356111 | 25.7931390250193 | 3.4 | 1.34247900503605 | A3 V | |
+--------+-----+----+----+-----------+----------------+------------+------------------+-------------------+------------------+------+-------------------+----------+------------+
4 rows in set (0.00 sec)
Database pruning
Deleted Castor on 20170306, at Steve's request:
mysql> select * from HYG_catalog where BayerFlamsteed like '%66Alp%';
+--------+-------+--------+------+-----------+----------------+------------+------------------+------------------+------------------+------+-------------------+----------+------------+
| StarID | Hip | HD | HR | Gliese | BayerFlamsteed | ProperName | RA | Dec | Distance | Mag | AbsMag | Spectrum | ColorIndex |
+--------+-------+--------+------+-----------+----------------+------------+------------------+------------------+------------------+------+-------------------+----------+------------+
| 26923 | 36850 | 60179 | 2891 | Gl 278 A | 66Alp Gem | Castor | 7.57666793 | +31.88863645 | 15.8052789631737 | 1.94 | 0.945989172295744 | A2Vm | 0.034 |
| 86307 | 0 | 60178 | 2890 | Gl 278 B | 66Alp Gem | | 7.57697782948592 | 31.8918827889317 | 15.8052789631737 | 2.85 | 1.85598917229574 | A m | |
+--------+-------+--------+------+-----------+----------------+------------+------------------+------------------+------------------+------+-------------------+----------+------------+
2 rows in set (0.00 sec)
mysql> delete from HYG_catalog where BayerFlamsteed like '%66Alp%';
Query OK, 2 rows affected (0.06 sec)
Deleted the sun on 20160605:
+--------+-------+--------+------+-----------+----------------+------------+------------+--------------+------------------+--------+--------------------+----------+------------+
| StarID | Hip | HD | HR | Gliese | BayerFlamsteed | ProperName | RA | Dec | Distance | Mag | AbsMag | Spectrum | ColorIndex |
+--------+-------+--------+------+-----------+----------------+------------+------------+--------------+------------------+--------+--------------------+----------+------------+
| 0 | 0 | | | | Sol | Sol | 0 | 0 | 0 | -26.72 | 4.85 | G2V | 0.65 |
Another double found by Steve, deleted 20160513:
+--------+-------+--------+------+-----------+----------------+------------+------------------+-------------------+------------------+------+------------------+----------+------------+
| StarID | Hip | HD | HR | Gliese | BayerFlamsteed | ProperName | RA | Dec | Distance | Mag | AbsMag | Spectrum | ColorIndex |
+--------+-------+--------+------+-----------+----------------+------------+------------------+-------------------+------------------+------+------------------+----------+------------+
| 45451 | 61941 | 110379 | 4825 | Gl 482 A | 29Gam Vir | | 12.69444503 | -01.44952231 | 11.8301194842068 | 3.46 | 3.09505434487826 | F0V+... | 368 |
| 86675 | 0 | 110380 | 4826 | Gl 482 B | 29Gam Vir | | 12.6946896478077 | -1.44933013444673 | 11.8301194842068 | 3.52 | 3.15505434487826 | F0 V |
+--------+-------+--------+------+-----------+----------------+------------+------------------+-------------------+------------------+------+------------------+----------+------------+
20160502, I found that last night auto-acquisition kept trying to acquire Mizar which has a double within 14", so the web camera was centroiding OK, but the
DIMM camera kept getting too many centroids and then would spiral away from it. I took two entries out of the database for Mizar:
+--------+-------+--------+------+-----------+----------------+------------+-----------------+------------------+------------------+------+-------------------+----------+------------+
| StarID | Hip | HD | HR | Gliese | BayerFlamsteed | ProperName | RA | Dec | Distance | Mag | AbsMag | Spectrum | ColorIndex |
+--------+-------+--------+------+-----------+----------------+------------+-----------------+------------------+------------------+------+-------------------+----------+------------+
| 47710 | 65378 | 116656 | 5054 | NN 3783 A | 79Zet UMa | Mizar | 13.39872773 | +54.92541525 | 23.9635753654445 | 2.25 | 0.352241923558545 | A2V | 0.057 |
| 86727 | 0 | 116657 | 5055 | NN 3784 B | 79Zet UMa | | 13.398898541116 | 54.9208921914242 | 24.1545893719807 | 3.95 | 2.0350017056045 | A1 m | +0.13 |
+--------+-------+--------+------+-----------+----------------+------------+-----------------+------------------+------------------+------+-------------------+----------+------------+
When working on auto-acquisition in Spring-2016, we pruned the DB to be only stars with magnitudes of 5 or less. This brought the number of entries in the db from about 32,000 to about 1600.
Additionally, Steve found an elongated star that
DIMM struggled with (the centroiding is "noisy" on these types of stars). So, we deleted it:
+--------+-------+--------+------+--------+----------------+------------+-------------+--------------+------------------+------+------------------+----------+------------+
| StarID | Hip | HD | HR | Gliese | BayerFlamsteed | ProperName | RA | Dec | Distance | Mag | AbsMag | Spectrum | ColorIndex |
+--------+-------+--------+------+--------+----------------+------------+-------------+--------------+------------------+------+------------------+----------+------------+
| 42525 | 57632 | 102647 | 4534 | Gl 448 | 94Bet Leo | Denebola | 11.81774398 | +14.57233687 | 11.0913930789707 | 2.14 | 1.91506951519025 | A3Vvar | 0.090 |
+--------+-------+--------+------+--------+----------------+------------+-------------+--------------+------------------+------+------------------+----------+------------+