https://github.com/geoscienceaustralia/sira
Systemic Infrastructure Resilience Analysis
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.8%) to scientific vocabulary
Repository
Systemic Infrastructure Resilience Analysis
Basic Info
- Host: GitHub
- Owner: GeoscienceAustralia
- License: apache-2.0
- Language: Python
- Default Branch: master
- Homepage: https://geoscienceaustralia.github.io/sira/
- Size: 52.6 MB
Statistics
- Stars: 11
- Watchers: 26
- Forks: 5
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
SIRA
Overview
The detailed documentation see the related gihub pages.
SIRA stands for Systemic Infrastructure Resilience Analysis. It represents a methodology and supporting code for systematising vulnerability analysis of lifeline infrastructure to natural hazards (i.e. response of infrastructure assets to environmental excitation). SIRA is open source.
The impact assessment is based on the fragilities and configuration of components that comprise the infrastructure system under study. The analytical process is supplemented by an assessment of the system functionality through the post-damage network flow analysis, and approximations for recovery timeframes.
The current focus has been on studying responses of infrastructure facilities (e.g. power generation plants, high voltage substations). Considerable work has been done in the code backend to extend the same methodology to modelling network vulnerability as well (e.g. electricity transmission networks).
SIRA models are based on graph theory. All infrastructure systems are represented as networks. This allows an user to develop arbitrarily complex models of a infrastructure facility or a network to be used in impact simulation.
Setup Instructions
It is good practice to set up a virtual environment for working with developing code. This gives us the tools to manage the package dependencies and requirements in a transparent manner, and impact of dependency changes on software behaviour.
Build Environment
The recommended process to set up the environment is to use mamba and uv.
This approach works equally well in Windows and Linux, and within Docker. Move
into the sira/installation directory, and use the provided conda environment file
(yaml) and pip requirements file (txt) to install the required packages:
mamba env create -f sira_env.yml
mamba activate sira_env
pip install uv
uv pip install -r sira_req.txt
Required Directory Structure
To set up a scenario or impact simulation project, SIRA expects the following directory structure for the model to be run.
model_dir
│
├── input
│ ├── config_assetx.json
│ └── model_assetx.json
└── output
├── ...
└── ...
Notes on the required directory structure:
model directory: it can be named anything.
input directory: must reside within the 'model directory'. The input dir must have two files, and their naming must follow a the specified format:
- model file: it must have the term 'model' at the beginning or end of the file name
- config file: it must have the term 'config' at the beginning or end of the file name
output directory: the outputs are saved in this dir.
- If it does not exist, it will be created at the beginning of the simulation.
- The default name is 'output' and default location is within the 'model directory'.
- The user can define a custom name and relative location within the config file.
scenario file location: If an event set is being used for the simulation, the location and name of the relevant file need to be specified in the parameters "HAZARDINPUTDIR" and "HAZARDINPUTFILE", respectively.
Running the Application
The application can be run in a number of modes. The relevant options are:
-d <path_to_input_dir>, --input_directory <path_to_input_dir>
-s, --simulation
-f, --fit
-l, --loss_analysis
The following code snippets assume that it is being run from the root
directory of the SIRA code, and the model of interest is in the location
sira/scenario_dir/ci_model_x.
The following code runs the simulation and the post processing simultanrously:
python sira -d scenario_dir/ci_model_x -sfl
To run only the Monte Carlo simulation without post-processing:
python sira -d scenario_dir/ci_model_x -s
To run both the model fitting and the loss analysis code:
python sira -d scenario_dir/ci_model_x -fl
Note that the model fitting and loss analysis steps require that the initial simulation be run first so that it has the initial output data to perform the analysis on.
Testing
To run the tests, user needs to be in the root directory of the code,
e.g. ~/code/sira. Then simply run:
pytest
If you want to explicitly ask pytest to run coverage reports, then run:
pytest --cov-report term --cov=sira tests/
If you are using docker as described above, you can do this from within the sira container.
Owner
- Name: Geoscience Australia
- Login: GeoscienceAustralia
- Kind: organization
- Location: Canberra, Australia
- Website: http://www.ga.gov.au/
- Repositories: 333
- Profile: https://github.com/GeoscienceAustralia
GitHub Events
Total
- Delete event: 2
- Issue comment event: 1
- Push event: 25
- Pull request event: 1
- Create event: 1
Last Year
- Delete event: 2
- Issue comment event: 1
- Push event: 25
- Pull request event: 1
- Create event: 1
Issues and Pull Requests
Last synced: 11 months ago
All Time
- Total issues: 1
- Total pull requests: 22
- Average time to close issues: about 1 hour
- Average time to close pull requests: 4 months
- Total issue authors: 1
- Total pull request authors: 4
- Average comments per issue: 2.0
- Average comments per pull request: 1.0
- Merged pull requests: 9
- Bot issues: 0
- Bot pull requests: 14
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- dynaryu (1)
Pull Request Authors
- dependabot[bot] (14)
- marufr (4)
- ghost (3)
- zeehio (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/checkout v2 composite
- codecov/codecov-action v2 composite
- mamba-org/setup-micromamba v1 composite
- actions/checkout v2 composite
- codecov/codecov-action v2 composite
- mamba-org/setup-micromamba v1 composite
- actions/checkout v2 composite
- github/codeql-action/analyze v1 composite
- github/codeql-action/autobuild v1 composite
- github/codeql-action/init v1 composite
- ubuntu 24.04 build