You are here: Foswiki>Software Web>DIMM (30 Sep 2020, StephenHooper)Edit Attach

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.

DIMMComputerDiagram.jpg

Hardware

  • Electronics box (mounted on DIMM pier):
    InteriorElectBox.jpg

  • picture of back of DIMM computer in LRTH:
    DIMMback-3.jpg

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.


SoftwareArchitecture.jpg

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     |
+--------+-------+--------+------+--------+----------------+------------+-------------+--------------+------------------+------+------------------+----------+------------+
Topic attachments
I Attachment Action Size Date Who Comment
ArchitectureOriginal.jpgjpg ArchitectureOriginal.jpg manage 112 K 29 May 2014 - 17:19 UnknownUser DIMM Network Architecture
DIMMComputerDiagram.jpgjpg DIMMComputerDiagram.jpg manage 116 K 31 Jul 2015 - 19:56 UnknownUser DIMM Network Architecture
DIMMback-3.jpgjpg DIMMback-3.jpg manage 1 MB 29 May 2014 - 17:43 UnknownUser picture of back of DIMM computer in LRTH
InteriorElectBox.jpgjpg InteriorElectBox.jpg manage 597 K 26 Apr 2016 - 19:15 UnknownUser Electronics box
SoftwareArchitecture.jpgjpg SoftwareArchitecture.jpg manage 1 MB 02 Dec 2016 - 16:49 UnknownUser DIMM Server Software Architecture
SoftwareArchitecture.tiftif SoftwareArchitecture.tif manage 81 MB 02 Dec 2016 - 16:40 UnknownUser DIMM Server Software Architecture
Topic revision: r64 - 30 Sep 2020, StephenHooper
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