Methodology and data
Independent research website. It does not represent any official institution and is not investment advice. Every figure comes with its source.
Climate indicators
- Base data: daily series from the Open-Meteo historical archive, based on the ERA5 reanalysis (maximum and mean temperature, precipitation, FAO-56 reference evapotranspiration), since 1991.
- Temperature anomaly: difference between the monthly mean and the 1991–2020 monthly normal. Very hot days: days when maximum temperature exceeds the 90th percentile for the same month.
- SPEI: water balance (precipitation minus evapotranspiration) accumulated over 1, 3, 6 and 12 months, fitted with a three-parameter log-logistic distribution for each month (Vicente-Serrano et al., 2010). For very dry months where this distribution does not fit, a normal distribution is used and flagged in the data.
- Limitations: regional values are computed at each region's representative point (regional capital); the national value is an unweighted mean of these points.
Climate risk and financial stress indices
Both indices use a weighted principal component analysis: variables are oriented so that higher values mean more risk, robustly scaled (median and interquartile range), the first two components are weighted by their variance shares (the second in absolute value), then normalised to [0, 100]. The financial stress index uses eight variables (bank solvency, non-performing loans, public debt, reserves, budget balance, current account, MASI growth, market capitalisation); the climate risk index uses three (temperature, precipitation, carbon intensity of GDP).
Parameters are estimated over 1998–2025 and then frozen: new years use the same parameters and the published history does not change. A year is computed only when all its components are available. The displayed level ("normal", "high"…) uses the 70th, 85th and 95th percentiles of the reference distribution; it is not an official alert threshold.
Note: Germanwatch publishes a different international index also called Climate Risk Index; it differs from this one in method and data.
Forecasts and scenarios
Forecasts: three models (naive, linear, SVR) evaluated out of sample with an expanding window; each is compared with the naive model using the Diebold-Mariano test with the Harvey, Leybourne and Newbold correction. Scenarios: quantile regression and VAR(1) coefficients estimated over 1999–2025, shown as they are without re-estimation.
Economic data and update rules
- Annual indicators from the World Bank's World Development Indicators.
- Climate daily, economy weekly. If a source fails, the site keeps the last valid value and logs the failure. No missing value is imputed.
Agreement between automatic sources and reference series
| Variable | Automatic source | n | Correlation | Mean absolute difference |
|---|---|---|---|---|
| BANK_SOLV | Saisie annuelle (Bank Al-Maghrib) | 0 | — | — |
| NPL | Saisie annuelle (Bank Al-Maghrib) | 0 | — | — |
| DEBT_GDP | Banque mondiale GC.DOD.TOTL.GD.ZS | 0 | — | — |
| RES_GDP | Banque mondiale FI.RES.TOTL.CD / NY.GDP.MKTP.CD | 28 | 0.678 | 2.087 |
| BUDGET_BAL | Banque mondiale GC.NLD.TOTL.GD.ZS | 0 | — | — |
| CURR_ACC | Banque mondiale BN.CAB.XOKA.GD.ZS | 28 | 0.986 | 0.127 |
| MASI_GROWTH | Saisie annuelle (Bourse de Casablanca) | 0 | — | — |
| MARKET_CAP | Banque mondiale CM.MKT.LCAP.GD.ZS | 16 | 0.988 | 0.425 |
| TEMP | Open-Meteo (ERA5), 28,5°N 10°O | 28 | 0.942 | 0.528 |
| P | Open-Meteo (ERA5), 28,5°N 10°O | 28 | 0.813 | 9.932 |
| CO2 | Banque mondiale EN.GHG.CO2.RT.GDP.PP.KD (t-1) | 28 | 0.995 | 0.044 |
Source status
| Source | Status | Last success | Detail |
|---|---|---|---|
| openmeteo | Partial failure | — | ori: HTTPSConnectionPool(host='archive-api.open-meteo.com', port=443): Read timed out. (read timeout=180); bmk: HTTPSConnectionPool(host='archive-api.open-meteo.com', port=443): Read timed out. (read timeout=180); msa: HTTPSConnectionPool(host='archive-api.open-meteo.com', port=443): Read timed out. |
| worldbank | OK | 2026-10-21T20:22:54Z | |
| components | Partial failure | — | DEBT_GDP: 403 Client Error: Forbidden for url: https://www.imf.org/external/datamapper/api/v1/GGXWDG_NGDP/MAR; BUDGET_BAL: 403 Client Error: Forbidden for url: https://www.imf.org/external/datamapper/api/v1/GGXCNL_NGDP/MAR |