PyPSA-Earth Mauritius energy system model setup
# Mauritius energy network model
The Mauritius electricity component of the
`mu-star` infrastructure risk workflow. It
measures how much demand goes unserved when existing energy assets are damaged
or taken out of service.
This is an operational model of a fixed set of assets.
## Two models in this repo
Two separate models sit side by side:
the development workflow for the mu-star energy component, and PyPSA-Earth for reference.
**Interruption model (primary)** — the mu-star `energy` component: code in
`src/mu_star_energy/`, notebooks in
`notebooks/00-data-review/`, `01-build-network/` and `02-interruption-analysis/`. Runs a
provided system and tests asset outages:
```text
source evidence -> prepared inputs -> PyPSA network -> outage cases -> unserved energy
```
The standard call is:
```python
result = EnergyModel().simulate(network, disruptions)
```
**PyPSA-Earth reference** — code in `pypsa-earth/`, notebooks in
`notebooks/pypsa-earth-analysis/`. An open-data build used for renewable profiles, GEGIS
demand and capacity-expansion comparisons. It is not the CEB asset record and
does not feed the interruption model.
## Repository layout
The energy interruption model (the deliverable) and a vendored PyPSA-Earth
reference sit side by side. Everything at the top level belongs to the energy
model except `pypsa-earth/`, `arc/` and `references/`.
```text
# Energy interruption model — delivered to mu-star as the `energy` component
├── src/mu_star_energy/ # Model code
├── config/ # Model settings (energy.yaml) and damage curves
├── workflow/ # Snakemake preparation/run rules
├── data/ # Model data: 0-incoming -> 1-processed -> 2-out
├── tests/
├── notebooks/
│ ├── 00-data-review/
│ ├── 01-build-network/
│ └── 02-interruption-analysis/
# PyPSA-Earth reference — with its own config/data inside
├── pypsa-earth/ # Vendored PyPSA-Earth code and outputs
├── arc/ # Scripts to …