Architecture¶
The OpenSense software ecosystem follows a layered architecture designed for modularity and flexibility. At the foundation lies poligrain (for point, line, gid rainfall data) which provides core functionalities common to processing and analyzing CML, SML, and PWS data. This foundational layer avoids interdependencies between processing packages that would occur if one package imported another to use specific implementations.
Above poligrain sit the specialized processing packages which are focused on specific sensor data or methods:
pycomlinkis designed for processing CML data, including quality control and rainfall estimationpypwsqcprovides quality control and bias correction for PWS datamergeplgis a package for merging data from multiple sensors, including CMLs, PWSs, and SMLs.
For applications requiring multi-sensor processing or data merging, these packages are imported together with other specialized tools (e.g., wradlib for radar data).
{width=“600px”}
Figure: OpenSense software ecosystem architecture (from Chwala et al., 2026).
Design Principles¶
The ecosystem leverages the OpenSense common standard for data and metadata structure in NetCDF files (Fencl et al., 2023), enabling:
Simplified function calls with assumed data/metadata structure
Automatic handling of geographic location information
Integration with
xarrayfor labeled multi-dimensional arrays
Quick intro to the individual packages¶
Explore the individual packages through their intro notebooks below.
- Fencl, M., Nebuloni, R., C. M. Andersson, J., Bares, V., Blettner, N., Cazzaniga, G., Chwala, C., Colli, M., de Vos, L., El Hachem, A., Galdies, C., Giannetti, F., Graf, M., Jacoby, D., Victor Habi, H., Musil, P., Ostrometzky, J., Roversi, G., Sapienza, F., … Zheng, X. (2024). Data formats and standards for opportunistic rainfall sensors. Open Research Europe, 3, 169. 10.12688/openreseurope.16068.2