ByMuR implementation overview |
| Figure 1: ByMuR software architecture overview |
ByMuR software aims to manage and visualize multi-risk results and its input data through an easy-to-use GUI. To facilitate the development of a complete graphical tool, without sacrificing any requested feature and maintaining a reasonable complexity, Python has been chosen as main programming language. Main Python's modules used in ByMuR are:
Figure 2: ByMuR-DB SQL schema
ByMuR data is managed through MySQL11, one of the most used relational databases management systems (RDBMS). ByMuR-DB is a database model specifically designed to store and properly organize all the data required to perform a multi-risk analysis in tables which are connected each other with well defined relations (See Figure 2). ByMuR-DB has been realized to be also compatible with existing databases developed to store volcanological data as DIVO Selva et al. (2009) and WOVOdat Ratdomopurbo et al., (2013).
ByMuR-DB contains all the data relating to inventory assets, areas definition, reference grids and point’s coordinates, which, in turn, will be referenced by the models data entries to avoid unfavourable replications.
Four kind of data models are stored in the database: hazard, fragility, loss and risk. All the data and the corresponding uncertainties are also stored in dedicated tables and their referential integrity is ensured by the use of primary and foreign keys constraints provided by MySQL. The file format specifications used to exchange data are thoroughly explained in the following section. This XML-based format is used to feed models and data to the ByMuR procedures without the need of any SQL syntax knowledge to import data in ByMuR-DB.