Deformation Monitoring Package (DMPACK)

The Deformation Monitoring Package (DMPACK) is a free and open source software package for sensor control and automated time series processing in geodesy and geotechnics. The package consists of a library libdmpack and additional programs based on it which serve as a reference implementation of solutions to various problems in deformation monitoring, such as:
- command-line argument parsing
- configuration file evaluation
- sensor control (RS-232/422/485, 1-Wire, named pipe, sub-process)
- regular expression matching
- SQLite database access
- message passing via POSIX message queues
- inter-process communication via POSIX semaphores
- data serialisation (ASCII, CSV, JSON, JSON Lines, HDF5, Fortran 95 Namelist)
- HTTP-RPC API for remote procedure calls
- concurrent data synchronisation between client and server
- distributed logging
- status messages (heartbeats)
- server-side web applications
- time series plotting
- MQTT connectivity
- Lua scripting
- HTML5 reports
- Atom XML web feeds
DMPACK is a scientific monitoring system developed for automated control measurements of buildings, infrastructure, terrain, geodetic nets, and other objects. The software runs on sensor nodes, usually industrial embedded systems or single-board computers, and obtains observation data from arbitrary sensors, like robotic total stations, digital levels, inclinometers, weather stations, or GNSS receivers. The raw sensor data is then processed, stored, and optionally transmitted to a server. The software package may be used to monitor objects like:
- bridges, tunnels, dams
- landslides, cliffs, glaciers
- construction sites, mining areas
- churches, monasteries, and other heritage buildings
DMPACK is built around the relational SQLite database for time series and log storage on client and server. The server component is optional. It is possible to run DMPACK on clients only, without data distribution. The client-side message passing is based on POSIX message queues and POSIX semaphores.
The software is released under ISC licence.

Download
DMPACK is written in Fortran 2018 and has to be compiled from source:
- Source Code Repository (GitHub)
Please see the User’s Guide for build instructions.
Requirements
At the current development stage, the following operating systems and platforms are supported:
- GNU/Linux (x86-64, AArch64)
- FreeBSD (x86-64, AArch64)
The software package is compatible to 64-bit single-board computers only, such as Raspberry Pi 3/4/5.
Documentation
The online documentation is available in HTML format:
Additional man pages are included in the source code repository.
Dependencies
The DMPACK library and programs are based on the following open-source projects: