Summary
The Bayesian Network adaptor (BNA) sets up a Bayesian network based decision support system (DSS) for coastal hazards and impacts in hotspot areas, according to the framework developed in task 3.3 of the RISC-Kit project (www.risckit.eu).
The BN adaptor is an executable that uses
- .nc files of storm simulations
- .txt files indicating receptor locations
- .json files specifying the structure of the BN
- a .json file specifying the vulnerability relationships for the hotspot area
to create
- a .dsl file that can be opened with the Bayesian network software GeNIe (www.dslpitt.org)
System Requirements
The BNA has been developed in c++.
Windows
Currently the BNA for windows consists of an executable and a number of dll's. Moreover, it depends on
- Microsoft Visual Studio 2010 express (http://microsoft-visual-cpp-express.soft32.com/)
Linux (tba)
Linux users have to compile the source code.
Configuration
Directory Structure
The BNA works with relative paths to read and write data. Initially, users have to create (manually) a directory Risckit/Modules/Genie/<case_study_name>/ which contains:
- input/
- model/
- BNA.exe & related .dll's
- output/
- trainingData/
- workDir/
- info.json
- BCnodes.json
- Rnodes.json
- Hnodes.json
- Cnodes.json
- Mnodes.json
- <ID_of_receptor>.txt
- vulnerabilies.json
- shapefiles/
- areas.shp & related GIS files
The folders input, output and trainingData remain empty. They are accessed by the BNA and the general adaptor (GA).
Overview on Data Process
Input and Output Files
This section describes the formats of files that need to be placed in model and workDir by the user before the BNA is run and that are written to input and trainingData by the GA and its batch file. Note that the user develops his/her own GA and has to ensure that it writes files of the correct format to input and trainingData.
It also describes the files that are written by the BNA to output.
netCDF files
(to be added soon)
JSON files
JSON files can be created with any text editor. They are built on two structures: (1) a collection of name/value pairs and (2) an ordered list of values. Details can be found at http://json.org/.
JSON files are read from workDir/ and written to output/ by the BNA. The following sections describe the files in workDir, which have to be manually created and placed there by the user. Example files are provided as well.
Info file
info.json contains four fields:
- "name" specifies the filename of the resulting BN
- "hazardbc_time" and "hazard_time" should be 1 and denote the time dimension of the netCDFs
- "hazardbc_stations" should be 1 and denotes the location of the boundary condition
- "hazard_stations" specifies the number of model grid points
Structure files
The structure files contain the variable definitions (including the links between them) for the Bayesian network. Variables of different categories are defined in different files:
- BCnodes.json for the boundary conditions
- Rnodes.json for the receptors
- Hnodes.json for the hazards
- Cnodes.json for the impacts (consequences)
- Mnodes.json for the measures
Each variable definition contains at least five fields:
- "ID" is used for cross-referencing. Note especially that in case of BC or H variables it corresponds to a variable name in the netCDFs and in case of R variables it points to a text file with name "ID"
- "title" is the title of the variable as seen in the BN
- "bins" is an array containing the bin values itself or the interval boundaries for each bin depending on the value in "nobins". The values can either be numeric or a string starting with a letter and without any spaces.
- "nobins" is an integer defining the number of bins (or states) in the BN. If "nobins" equals the length of the "bins" array, each value in "bins" is a bin. If "nobins" is one smaller that the length of the "bins" array, the values in "bins" are taken to be the interval boundaries of each bin.
- "parents" is an array of the "ID"s of parent variables or "None".
Above example files lead to this (INSERT LINK HERE) BN structure.
Vulnerability file
(to be added soon)
- vulnerabilities.json (TO BE MODIFIED!!!)
Text files
These files specify
(to be added soon)
Shape files
(to be added soon)
General Adaptor Run Example Configuration
(to be added soon)