Monarch Castle Technologies
MODEL CARD · v2.0

Open methodology · deterministic pipeline

Energy-flow disruption model

A transparent 0–14 day screening index combining physical flows with independent market, sanctions, and forecast evidence. Not a price or conflict probability.

1. Composite

S = 0.35 C + 0.25 P + 0.20 M + 0.10 O + 0.10 W + B

ComponentWeightSource
Chokepoint flow (C)35%IMF PortWatch
Energy-port flow (P)25%IMF PortWatch
Energy markets (M)20%FRED
Regional sanctions (O)10%OFAC
Port weather (W)10%MET Norway / ECMWF

Unavailable components are excluded and remaining weights renormalized. Last validated components may be retained for at most 72 hours and are visibly marked.

2. Physical-flow anomaly

Suez, Bab el-Mandeb, Hormuz, and twelve named MENA energy ports use AIS-derived vessel or port-call series. The recent seven-day mean is compared with the preceding 28 days.

change = (mean₇ / mean₂₈ − 1) × 100
raw = clamp((|change| − 5) / 35 × 100, 0, 100)
reliability = min(1, √(mean₂₈ / 2))
adjusted = raw × reliability

Reliability shrink prevents tiny baselines from creating false extremes. Chokepoints combine all-site mean (60%) and maximum (40%). Ports combine baseline-volume-weighted mean (55%) and the three largest pressures (45%). Both surges and shortfalls can indicate disruption or rerouting.

3. Markets and sanctions

Brent uses a five-observation return; European natural gas uses a one-month return. Each is robust-z standardized against its history.

z = (x − median(history)) / (1.4826 × MAD)
pressure = clamp((|z| − 0.5) / 2.5 × 100, 0, 100)
M = 0.70 × Brent + 0.30 × gas

OFAC releases are deterministically filtered for MENA geographies, energy terms, and action terms. Current 14-day weighted activity is expressed weekly and compared with 12 prior weeks. Density contributes 55%; positive robust-z anomaly contributes 45%. No generative AI scores text.

4. Forward weather

Eight high-activity energy ports are queried from MET Norway Locationforecast. Each port uses the larger of wind and precipitation pressure.

wind = clamp((max m/s − 12) / 14 × 100, 0, 100)
rain = clamp((max daily mm − 30) / 90 × 100, 0, 100)

The component combines the three highest port risks (65%) with the all-port mean (35%).

5. Concurrence and bands

A +5 bonus requires physical flow/weather ≥40 and independent market/sanctions evidence ≥45.

0–24.9Baseline
25–44.9Watch
45–64.9Elevated
65–79.9High
80–100Severe

6. Reproduce

No key, account, paid API, or generative AI is required.

git clone https://github.com/MonarchCastleTech/mena-energy-flow.git
cd mena-energy-flow
python -m pip install -r requirements.txt
python -m pytest -q
python pipeline/mena_energy_flow_pipeline.py
python -m http.server 8000

7. Limits

PortWatch calls are not complete vessel tracks; sanctions are administrative and often lagging; commodity prices are globally confounded; forecasts change. The index screens multi-source disruption pressure. It does not infer intent, attribution, price direction, or conflict probability.