# GH2.AI Iberian Green Hydrogen Cost Index — Metodología v1.1

`methodology_version = index-v1.1` (AISLADA de la versión 2.2 del producto de cálculo LCOH/TEA —
son cosas distintas; cambiar una no afecta a la otra).

Documento forense: cada parámetro lleva su valor y su justificación. El SHA-256 de este fichero es
el `methodology_sha256` de la v1.1 (ver §6 y el fichero hermano `index-methodology-v1.1.sha256.txt`).

## 0. Cambios respecto a index-v1.0 (nota pública, 11 oct 2026)

- **Un único parámetro congelado cambia: la tasa de descuento (`wacc_pct`), de 8 % a 6 %.**
  - **Por qué:** el 8 % de la v1.0 no tenía fuente registrada (§4 decía solo «coste de capital nominal
    de referencia») y además se declaraba *nominal* dentro de un índice en términos *reales*
    (`inflation_rate_pct = 0`). Una revisión externa lo señaló como poco realista.
  - **Fuente del 6 %:** European Hydrogen Observatory, *Levelised Cost of Hydrogen (LCOH) Calculator
    Manual*, versión 2.0, mayo de 2025, Tabla 4 («The default cost of capital is set at 6% and the
    default economic lifetime at 25 years», «based on assumptions of Hydrogen Europe»).
    https://observatory.clean-hydrogen.europa.eu/sites/default/files/2025-05/Manual%20-%20LCOH%20calculator_Update%202025_v3_1.pdf
    (consultado el 11 oct 2026). Es el mismo observatorio del que procede el CAPEX de 2.200 €/kW.
  - **Lo que la fuente NO dice (declarado):** el manual no indica si el 6 % es real o nominal, ni antes
    o después de impuestos, y no es específico de España o Portugal (el país solo cambia los datos
    de electricidad). La v1.1 lo aplica como tasa de descuento en términos constantes, coherente con
    `inflation_rate_pct = 0`. La vida económica de 25 años coincide con la del mismo manual.
  - **Efecto medido con el motor (55 €/MWh, CF 50 %):** 6,78 → **6,39 €/kg** (−5,8 %).
- **No retroactivo:** los valores publicados bajo `index-v1.0` conservan su versión, su
  `methodology_sha256` y su `content_sha256`; siguen siendo reproducibles con los parámetros v1.0.
  Una serie que mezcle valores de las dos versiones tiene un escalón metodológico en la fecha de
  cambio, no un movimiento de mercado.
- **Alcance geográfico (aclaración, no cambio):** el índice usa el precio marginal del mercado diario
  de OMIE para las zonas española y portuguesa del MIBEL y representa una planta en **la Península
  Ibérica** (España peninsular y Portugal continental). **No** modela los sistemas eléctricos
  insulares o extrapeninsulares (Baleares, Canarias, Ceuta, Melilla, Azores, Madeira), que en España
  se tratan como sistemas aparte del peninsular (CNE, Informe 8/2012, 26 abr 2012,
  https://www.cnmc.es/sites/default/files/1552877_8.pdf, consultado el 11 oct 2026), ni ningún otro
  país de la UE.

---

## 1. Identidad y alcance

- **Nombre:** GH2.AI Iberian Green Hydrogen Cost Index.
- **Zonas v1.1:** España peninsular (ES) y Portugal continental (PT), ambas con precio del mercado
  diario OMIE bajo la misma licencia. Sin islas ni territorios extrapeninsulares (ver §0). Zona agregada **ES-PT** = media aritmética de ES y PT.
- **Qué mide:** el **LCOH modelado** (€/kg H2) de una **planta PEM de referencia con parámetros
  congelados y públicos**, en la que la **electricidad a precio mayorista del mercado diario OMIE
  es el ÚNICO input variable**; todo lo demás está fijo (§4). El motor de cálculo LCOH es **central**
  (produce el número publicado), no decorativo.
  - **"Mayorista" califica al PRECIO DE LA ELECTRICIDAD (un input), NO al índice.** El índice es un
    LCOH completo (energía + CAPEX + OPEX + reemplazo de stack + agua), no "el componente eléctrico".
  - **NO es:** un coste all-in entregado, un perfil conforme a RFNBO, ni una cifra oficial de OMIE.
- **Headline v1.1:** ~**6,39 €/kg** con electricidad a 55 €/MWh y CF 50% (ver §4 y la nota IBHYX al
  final). El componente eléctrico DENTRO de ese LCOH es ~2,915 €/kg; el headline es el LCOH total.
- **Posicionamiento:** capa de inteligencia / benchmark **reproducible**, complementaria a índices
  all-in (p.ej. IBHYX de MIBGAS). GH2.AI **no certifica** cumplimiento regulatorio.

## 2. Fuente de datos y licencia

- **Fuente:** OMIE, fichero **`marginalpdbc`** (precio marginal del mercado diario), canal público
  **"Acceso a Ficheros"**. Resolución **cuarto-horaria (15 min)** desde 2026 (~35.040 periodos/año).
  Precio en **€/MWh**.
- **Condiciones OMIE (vinculantes, ver `docs/audit/omie-data-license-confirmation-2026-06-18.md`):**
  (a) **no alterar el dato original**; (b) **citar a OMIE** como fuente; (c) presentar el índice como
  **producto modelado propio de GH2.AI**, no como cifra oficial de OMIE.

## 3. Metodología de cálculo (price-following — decisión D1)

- **Cadencia de publicación:** **SEMANAL**.
- **Ventana de cálculo:** móvil (rolling) de **30 días**. La ventana es un **parámetro de la
  metodología**: cambiarla en el futuro es un **evento de versión del índice** (§7).
- **Regla price-following:** dentro de la ventana, ordenar los periodos de 15 min de OMIE por precio
  **ascendente**; tomar los **N = CF × nº_periodos_de_la_ventana** más baratos; el **precio eléctrico
  representativo = media aritmética** de esos N periodos.
- Ese **€/MWh escalar** alimenta el motor LCOH como `electricity_cost_eur_mwh`.
- El **CF está FIJADO por la metodología** (no se optimiza). Optimizar el CF haría el índice no
  reproducible.

## 4. Planta PEM de referencia (CONGELADA — parámetros fijos v1.1)

Mapeo a los campos reales del motor (`src/types/calculation.ts` / `src/lib/calculations/lcoh.ts`).
El LCOH es **escala-invariante** (CAPEX y producción escalan con la potencia → €/kg independiente de
`electrolyzer_capacity_mw`); se fija 10 MW como capacidad de referencia canónica.

| Parámetro | Valor v1.1 | Campo `LCOHInput` (unidad) | Justificación (1 línea) |
|---|---|---|---|
| Tecnología | PEM, flexible, grid-connected | `technology` = `'PEM'` | Tecnología objetivo del índice. |
| Eficiencia | **53 kWh/kg** | `electricity_consumption_kwh_kg` (kWh/kg) | Consumo **a nivel de planta** (incluye balance of plant) y **promediado sobre vida útil**; NO consumo nominal de stack a inicio de vida. |
| Capacity factor | **50%** (banda 40/50/60%) | `operating_hours` = **4380** h/año + `availability_pct` = **100** | CF entra vía horas (no existe campo `capacity_factor`): 0,50 × 8760 = 4380. `availability=100` para no duplicar el CF. |
| CAPEX | **2.200 €/kW** | `electrolyzer_cost_eur_kw` = 2200, `bop_pct` = **0** | Sistema de electrólisis **instalado, con BoP incluido**, SIN infraestructura downstream (compresión, almacenamiento, conexión, obra civil). `bop_pct=0` porque el BoP ya está en los 2.200 (evita duplicar). |
| OPEX fijo (excl. electricidad) | **3%** CAPEX/año | `om_pct` = 3 | OPEX fijo de O&M estándar. |
| Vida de stack | **60.000 h** → intervalo **14 años** | `stack_replacement_interval` = 14 (años) | Conversión explícita: 60.000 h ÷ (CF 50% × 8760 = 4380 h/año) ≈ 13,7 → 14. **Depende del CF**: a 40% → 17 años, a 60% → 11 años. |
| Coste de reemplazo de stack | **30%** (banda 20-40%) | `stack_replacement_cost_pct` = 30 | El stack-con-EPC pesa ~22% del CAPEX (EHO 2024: 563/2.503 €/kW); + recargo de retirada/parada/contingencia ≈ 30%; sin curva de aprendizaje (planta congelada). |
| Vida de planta | **25 años** | `project_lifetime_years` = 25 | Vida económica estándar de proyecto. |
| Tasa de descuento (WACC) | **6%** | `wacc_pct` = 6 | Coste de capital por defecto del European Hydrogen Observatory (manual LCOH v2.0, may. 2025, Tabla 4). Aplicada en términos constantes. v1.0 usaba 8 % sin fuente (§0). |
| Inflación | **0%** | `inflation_rate_pct` = 0 | Índice en **términos reales/constantes** (un benchmark reproducible no debe escalar nominalmente). |
| Degradación de stack | **1,0 %/año** | `stack_degradation_pct` = 1.0 | Decaimiento anual de producción PEM. **No se resetea al recambiar** (ver nota al final). |
| Agua (coste / consumo) | **2 €/m³ / 10 L/kg** | `water_cost_eur_m3` = 2, `water_consumption_l_kg` = 10 | Valores típicos (~0,3% del LCOH). |
| Subsidio | **0** | `subsidy_eur` = 0 | Coste puro, sin ayudas. |
| **Precio eléctrico** | **VIVO (OMIE)** | `electricity_cost_eur_mwh` | **Único input variable** del índice (§3). |

**Consistencia del stack (v1.1, igual que v1.0):** con `bop_pct = 0`, `capex_electrolyzer = capex_total = 2.200
€/kW`, así que el 30% de reemplazo aplica sobre el CAPEX total (= el electrolizador). El motor basa
el coste de reemplazo en `capex_electrolyzer` (`lcoh.ts:70`), que con BoP=0 coincide con `capex_total`.

**Input congelado canónico (idéntico al test de encaje `index-methodology-fit.test.ts`):**

```ts
{
  technology: 'PEM', region: 'ES', electrolyzer_capacity_mw: 10,
  electrolyzer_cost_eur_kw: 2200, bop_pct: 0, subsidy_eur: 0,
  electricity_cost_eur_mwh: /* VIVO (OMIE) */,
  electricity_consumption_kwh_kg: 53,
  operating_hours: 4380, availability_pct: 100,         // CF 50%
  water_cost_eur_m3: 2, water_consumption_l_kg: 10,
  om_pct: 3, project_lifetime_years: 25, wacc_pct: 6,
  stack_degradation_pct: 1.0, stack_replacement_interval: 14,
  stack_replacement_cost_pct: 30, inflation_rate_pct: 0,
}
```

**Cifras de referencia (motor real, electricidad a 55 €/MWh):**

| CF | `operating_hours` | intervalo stack | **LCOH total** | comp. eléctrico | desglose |
|---|---|---|---|---|---|
| 40% | 3504 | 17 a | 7,19 €/kg | 40,6% | capex 39,6% · opex 15,2% · stack 4,41% · agua 0,28% |
| **50%** | 4380 | 14 a | **6,39 €/kg** | 45,6% | capex 35,6% · opex 13,7% · stack 4,73% · agua 0,31% |
| 60% | 5256 | 11 a | 6,02 €/kg | 48,4% | capex 31,5% · opex 12,1% · stack 7,61% · agua 0,33% |

*(v1.0, a 8 %: 7,67 / 6,78 / 6,32 €/kg. Medido con `calculateLCOH` el 11 oct 2026.)*

## 5. Disclosures permanentes (texto canónico — reutilizar en UI/report/público)

> Idioma canónico ES; localizar a EN al publicar en la superficie pública (F5).

1. **Descripción:** "Índice del **LCOH modelado de una planta PEM de referencia** (parámetros
   congelados y públicos), con la electricidad a **precio mayorista del mercado diario OMIE como
   único input variable**. No es un coste all-in entregado, no representa un perfil conforme a RFNBO,
   y debe interpretarse como complemento de índices all-in."
2. **Precio mayorista:** "El precio eléctrico es **mayorista**: excluye peajes de acceso, cargos de
   balance, impuestos y primas verdes/Garantías de Origen. El coste eléctrico **real entregado es
   mayor**; el índice lo subestima por diseño."
3. **Price-following:** "La regla **price-following asume previsión perfecta** de precios: es un
   **suelo (best-case)**, no el coste que una planta real logra."
4. **Atribución:** "Precio eléctrico: OMIE (mercado diario). Índice modelado por GH2.AI; no es una
   cifra oficial de OMIE."

## 6. Verificabilidad

- Cada valor publicado del índice se anclará con su **`content_sha256`** — calculado **vía
  `canonicalStringify` (`src/utils/hash.ts`), SIN modificar `hash.ts`** (fichero pineado) — más este
  **`methodology_sha256`**.
- El **SHA-256 de ESTE documento** (`index-methodology-v1.1.md`) es el `methodology_sha256` de la v1.1.
  Se almacena en el fichero hermano **`index-methodology-v1.1.sha256.txt`** (auto-excluido: el hash NO
  vive dentro del .md, para evitar auto-referencia). Método: `createHash('sha256')` sobre los bytes
  del .md (convención del repo, p.ej. `public/methodology/example-lcoh-hash.txt`).

## 7. Versionado

- **`index-v1.1`** (sucede a `index-v1.0`, cuyo documento `index-methodology-v1.md` sigue publicado e
  intacto). Cambiar **cualquier** parámetro congelado (§4), la **ventana** (§3), el **CF** o
  la **regla** = **nueva versión del índice** (re-hash de valores **FUTUROS**; los antiguos quedan
  inmutables con su versión). **Aislado** de la versión del producto LCOH/TEA (2.2).
- **Roadmap declarado (pendiente, no incluido en v1.1):** una versión futura contemplará (a) **curva de aprendizaje del stack** (bajaría el % de
  reemplazo) y (b) **reseteo de la degradación tras el recambio** (ver nota).

---

## Nota — degradación no reseteada (decisión consciente v1.0, se mantiene en v1.1)

El motor aplica degradación **monótona** de producción (`lcoh.ts:56`) y **NO la resetea** al recambiar
el stack: cobra el stack nuevo pero **no recupera el rendimiento** (doble-conservador). La v1.0 asume
esto **a propósito** (erra hacia coste alto, coherente con el sesgo conservador declarado). El reseteo
de la degradación tras el recambio queda para una versión futura.

## Nota — contexto IBHYX (no es un fallo)

El LCOH headline (~6,39 €/kg a 55 €/MWh) es **del mismo orden** que el índice **IBHYX** de MIBGAS
(~6,12 €/kg, cifra heredada de la v1.0 sin fecha de consulta registrada; no re-verificada para la v1.1). La diferencia es **atribuible a metodología** — precio mayorista OMIE como input vivo +
planta congelada transparente, frente a un all-in con PPA/additionality. **No es un fallo:** refuerza
la **comparabilidad** y el **sesgo conservador declarado** del índice GH2.AI.
