Beta — Data under validation. Values may contain errors.
Back to data

Data catalog

275 metrics across 19 categories. Every entry is reachable from Excel via ED.GET() / ED.RANGE() or a dedicated formula like ED.OMIE() / ED.CAPTURE().

275 metrics
Showing 272 of 272 metrics

Electricity Prices (12)

Day-ahead spot prices, intraday, PVPC regulated tariff

Day-ahead spot price

15-mindayahead

OMIE Iberian day-ahead electricity market price. Quarter-hourly since June 2025, hourly before.

Source: esiosID: ESIOS #600Since: 2001Unit: EUR/MWh
=ED.OMIE()

Continuous intraday (XBID) avg

hourlycontinuous_avg

Weighted average price from the OMIE continuous intraday market (XBID platform). Scraped directly from OMIE file-download (not ESIOS).

Source: omieSince: 2019Unit: EUR/MWh
=ED.GET("continuous_avg")

Continuous intraday max

hourlycontinuous_max

Maximum price per quarter-hour from the OMIE continuous intraday (XBID) market.

Source: omieSince: 2019Unit: EUR/MWh
=ED.GET("continuous_max")

Continuous intraday min

hourlycontinuous_min

Minimum price per quarter-hour from the OMIE continuous intraday (XBID) market.

Source: omieSince: 2019Unit: EUR/MWh
=ED.GET("continuous_min")

PVPC regulated tariff

hourlypvpc

Precio Voluntario para el Pequeno Consumidor -- regulated electricity price for households.

Source: esiosID: ESIOS #1001Since: 2021Unit: EUR/MWh
=ED.GET("pvpc")

PVPC market component (10211)

hourlypvpc_final

ESIOS labels this 'precio final suma de componentes' but it is actually the MARKET sub-component only — not the consumer-bill final price. For the actual end-user bill, sum the 10 pvpc_* itemised components (Spain System Cost category).

Source: esiosID: ESIOS #10211Since: 2014Unit: EUR/MWh
=ED.GET("pvpc_final")

Intraday session 1 price

15-minintraday_s1_price

Price from intraday auction session 1 (ES + PT). 15-min granularity since SDAC 15-min go-live (2025-09-30).

Source: esiosID: ESIOS #612Since: 2014Unit: EUR/MWh
=ED.GET("intraday_s1_price")

Intraday session 2 price

15-minintraday_s2_price

Price from intraday auction session 2 (ES + PT). 15-min granularity since SDAC 15-min go-live (2025-09-30).

Source: esiosID: ESIOS #613Since: 2014Unit: EUR/MWh
=ED.GET("intraday_s2_price")

Intraday session 3 price

15-minintraday_s3_price

Price from intraday auction session 3 (ES + PT). 15-min granularity since 2025-09-30; partial day coverage (~12h).

Source: esiosID: ESIOS #614Since: 2014Unit: EUR/MWh
=ED.GET("intraday_s3_price")

Intraday session 1 energy

hourlyintraday_s1_energy

Matched energy volume in intraday auction session 1.

Source: esiosID: ESIOS #605Since: 2014Unit: MWh
=ED.GET("intraday_s1_energy")

Intraday session 2 energy

hourlyintraday_s2_energy

Matched energy volume in intraday auction session 2.

Source: esiosID: ESIOS #606Since: 2014Unit: MWh
=ED.GET("intraday_s2_energy")

Intraday session 3 energy

hourlyintraday_s3_energy

Matched energy volume in intraday auction session 3.

Source: esiosID: ESIOS #607Since: 2014Unit: MWh
=ED.GET("intraday_s3_energy")

🔋 Generation (24)

Real-time generation by technology from REE/ESIOS

Solar PV generation (post-2020)

hourlygen_solar_pv

Real-time solar photovoltaic generation in the peninsular system. Available since 2015-06 when REE split the solar indicator. Night-time values can be slightly negative — plants draw a small amount from the grid for inverters/controls, which REE meters as negative generation. Normal behavior.

Source: esiosID: ESIOS #1295Since: 2015Unit: MW
=ED.GET("gen_solar_pv")

Solar thermal generation

hourlygen_solar_thermal

Concentrated solar power (CSP/solar thermal) generation. Available since 2015-06.

Source: esiosID: ESIOS #1294Since: 2015Unit: MW
=ED.GET("gen_solar_thermal")

Solar PV generation (legacy)

hourlygen_solarLegacy 2020gen_solar_pv

Real-time solar photovoltaic generation in the peninsular system. Pre-2020 combined solar indicator, kept for historical continuity. Note: ingest currently broken (last data 2026-04-15), see backlog.

Source: esiosID: ESIOS #552Since: 2014Unit: MW
=ED.GEN(1)

Wind generation

hourlygen_wind

Real-time wind generation in the peninsular system.

Source: esiosID: ESIOS #551Since: 2014Unit: MW
=ED.GEN(2)

Nuclear generation

hourlygen_nuclear

Real-time nuclear generation (Almaraz, Asco, Cofrentes, Trillo, Vandellos).

Source: esiosID: ESIOS #549Since: 2014Unit: MW
=ED.GEN(3)

Hydro generation

hourlygen_hydro

Real-time conventional hydroelectric generation (UGH).

Source: esiosID: ESIOS #546Since: 2014Unit: MW
=ED.GEN(4)

Gas CCGT generation

hourlygen_combined_cycle

Real-time combined cycle gas turbine generation.

Source: esiosID: ESIOS #550Since: 2014Unit: MW
=ED.GEN(5)

Coal generation

hourlygen_coalPhase-out 2025-07

Real-time coal thermal generation.

Source: esiosID: ESIOS #547Since: 2014Unit: MW
=ED.GEN(6)

International exchanges

hourlygen_exchanges

Net international exchange balance in the peninsular system. Positive = import, negative = export.

Source: esiosID: ESIOS #553Since: 2014Unit: MW
=ED.GET("gen_exchanges")

Biomass generation

hourlygen_biomass

Renewable thermal: biomass + biogas + renewable waste. ES/PT from ESIOS "Térmica renovable" (id 1296, post-2020); FR/DE/BE/NL from ENTSO-E A75 "Biomass".

Source: esios+entsoeID: ESIOS #1296Since: 2020Unit: MW
=ED.GET("gen_biomass")

Oil generation

hourlygen_oil

Oil-fired generation. Available for PT, FR, DE via ENTSO-E.

Source: entsoeSince: 2015Unit: MW
=ED.GET("gen_oil")

Geothermal generation

hourlygen_geothermal

Geothermal generation (mainly FR). Via ENTSO-E.

Source: entsoeSince: 2015Unit: MW
=ED.GET("gen_geothermal")

Other renewable generation

hourlygen_other_renewable

Other renewable generation via ENTSO-E.

Source: entsoeSince: 2015Unit: MW
=ED.GET("gen_other_renewable")

Waste generation

hourlygen_waste

Waste-to-energy generation via ENTSO-E.

Source: entsoeSince: 2015Unit: MW
=ED.GET("gen_waste")

Other generation

hourlygen_other

Catch-all unclassified generation. ES/PT from ESIOS "Resto generación" (id 555); FR/DE/BE/NL from ENTSO-E A75.

Source: esios+entsoeID: ESIOS #555Since: 2014Unit: MW
=ED.GET("gen_other")

Cogeneration generation

hourlygen_cogeneration

Combined heat & power (CHP) plants — mostly natural gas — plus non-renewable waste. ESIOS id 1297. ~17 TWh/yr in Spain.

Source: esiosID: ESIOS #1297Since: 2020Unit: MW
=ED.GET("gen_cogeneration")

Fuel-gas generation

hourlygen_fuel_gas

Fuel oil + diesel thermal generation. ESIOS id 548. Small on the peninsular grid; bigger historically.

Source: esiosID: ESIOS #548Since: 2014Unit: MW
=ED.GET("gen_fuel_gas")

Pumped-hydro generation

hourlygen_pumped_storage

Pumped-hydro plants generating (water turbining out of upper reservoir). ESIOS id 2066 (new indicator, available from end of 2024). ~3-5 TWh/yr in Spain.

Source: esiosID: ESIOS #2066Since: 2025Unit: MW
=ED.GET("gen_pumped_storage")

Pumped-hydro consumption

hourlygen_pumped_consumption

Energy consumed when pumped-hydro plants are charging (pumping water uphill). Positive MW means energy drawn FROM the grid. ESIOS id 2065 (new indicator, available from end of 2024). Negate this if computing net pumped-hydro flow.

Source: esiosID: ESIOS #2065Since: 2025Unit: MW
=ED.GET("gen_pumped_consumption")

Total measured generation (official REE)

hourlygen_total_measured

Sum of REE's per-province measured generation (ESIOS id 10043 "Generación medida total"). Settled / authoritative — this is the figure REE publishes in its monthly and annual reports. ~30 day lag (monthly settlement; REE publishes the previous month's data ~M+1). Hourly cadence. Already in MWh (energy integrated over the hour) so no MW→MWh conversion needed.

Source: esiosID: ESIOS #10043Since: 2014Unit: MWh
=ED.RANGE("gen_total_measured", "2025-01-01", "2025-12-31", 6, , 1, , , , 7)

Total generation (all techs)

hourlygen_total

Sum of every gen_* technology at each native timestamp — domestic production into the grid. Excludes gen_exchanges (interconnections).

Source: calculatedSince: 2014Unit: MW
=ED.RANGE("gen_total", "2025-01-01",, 6, , , , , , "MWh")

Renewable generation total

hourlygen_renewable

Sum of renewable techs: solar PV, solar thermal, wind, hydro, biomass, geothermal, other_renewable. Pass unit=MWh for energy.

Source: calculatedSince: 2014Unit: MW
=ED.RANGE("gen_renewable", "2025-01-01",, 6, , , , , , "MWh")

Thermal generation total

hourlygen_thermal

Sum of thermal techs: nuclear, combined-cycle gas, coal, oil. Includes nuclear (thermal but non-fossil). Pass unit=MWh for energy.

Source: calculatedSince: 2014Unit: MW
=ED.RANGE("gen_thermal", "2025-01-01",, 6, , , , , , "MWh")

Fossil generation total

hourlygen_fossil

Sum of fossil-fuel techs: combined-cycle gas, coal, oil. Excludes nuclear by design (use gen_thermal for thermal-including-nuclear). Useful for emissions analysis. Pass unit=MWh for energy.

Source: calculatedSince: 2014Unit: MW
=ED.RANGE("gen_fossil", "2025-01-01",, 6, , , , , , "MWh")

📊 Demand (3)

Electricity demand: real, forecast, and scheduled

Real demand

hourlydemand_real

Actual real-time electricity demand in the peninsular system.

Source: esiosID: ESIOS #1293Since: 2014Unit: MW
=ED.GET("demand_real")

Scheduled demand

hourlydemand_scheduled

Day-ahead scheduled electricity demand.

Source: esiosID: ESIOS #545Since: 2014Unit: MW
=ED.GET("demand_scheduled")

Demand forecast (D+1)

hourlydemand_forecast

Day-ahead demand forecast for the peninsular system published by REE.

Source: esiosID: ESIOS #460Since: 2014Unit: MW
=ED.GET("demand_forecast")

⚖️ Balancing Services (16)

Secondary (aFRR), tertiary (mFRR), and imbalance prices

aFRR band price (up)

quarter_hourlyafrr_band_price_up

Secondary regulation band price for upward reserve.

Source: esiosID: ESIOS #10388Since: 2014Unit: EUR/MW
=ED.GET("afrr_band_price_up")

aFRR band price (down)

quarter_hourlyafrr_band_price_down

Secondary regulation band price for downward reserve.

Source: esiosID: ESIOS #634Since: 2014Unit: EUR/MW
=ED.GET("afrr_band_price_down")

aFRR energy price (up)

quarter_hourlyafrr_energy_price_up

Secondary regulation energy activation price upward.

Source: esiosID: ESIOS #682Since: 2014Unit: EUR/MWh
=ED.GET("afrr_energy_price_up")

aFRR energy price (down)

quarter_hourlyafrr_energy_price_down

Secondary regulation energy activation price downward.

Source: esiosID: ESIOS #683Since: 2014Unit: EUR/MWh
=ED.GET("afrr_energy_price_down")

aFRR band assigned (up)

quarter_hourlyafrr_band_up

Secondary regulation upward band capacity assigned by REE.

Source: esiosID: ESIOS #632Since: 2014Unit: MW
=ED.GET("afrr_band_up")

aFRR band assigned (down)

quarter_hourlyafrr_band_down

Secondary regulation downward band capacity assigned by REE.

Source: esiosID: ESIOS #633Since: 2014Unit: MW
=ED.GET("afrr_band_down")

aFRR energy activated (up)

quarter_hourlyafrr_energy_up

Secondary regulation upward energy activated in real time.

Source: esiosID: ESIOS #680Since: 2014Unit: MWh
=ED.GET("afrr_energy_up")

aFRR energy activated (down)

quarter_hourlyafrr_energy_down

Secondary regulation downward energy activated in real time.

Source: esiosID: ESIOS #681Since: 2014Unit: MWh
=ED.GET("afrr_energy_down")

mFRR-SA price (up)

hourlymfrr_sa_price_up

Tertiary regulation scheduled activation marginal price upward.

Source: esiosID: ESIOS #10398Since: 2014Unit: EUR/MWh
=ED.GET("mfrr_sa_price_up")

mFRR-SA price (down)

hourlymfrr_sa_price_down

Tertiary regulation scheduled activation marginal price downward.

Source: esiosID: ESIOS #10399Since: 2014Unit: EUR/MWh
=ED.GET("mfrr_sa_price_down")

mFRR-SA assigned energy (up)

hourlymfrr_sa_assign_up

Tertiary regulation scheduled activation upward energy assigned.

Source: esiosID: ESIOS #675Since: 2014Unit: MWh
=ED.GET("mfrr_sa_assign_up")

mFRR-SA assigned energy (down)

hourlymfrr_sa_assign_down

Tertiary regulation scheduled activation downward energy assigned.

Source: esiosID: ESIOS #674Since: 2014Unit: MWh
=ED.GET("mfrr_sa_assign_down")

mFRR-DA price (up)

hourlymfrr_da_price_up

Tertiary regulation direct activation weighted average price upward.

Source: esiosID: ESIOS #10400Since: 2022Unit: EUR/MWh
=ED.GET("mfrr_da_price_up")

mFRR-DA price (down)

hourlymfrr_da_price_down

Tertiary regulation direct activation weighted average price downward.

Source: esiosID: ESIOS #10401Since: 2022Unit: EUR/MWh
=ED.GET("mfrr_da_price_down")

mFRR-DA assigned energy (up)

hourlymfrr_da_assign_up

Tertiary regulation direct activation upward energy assigned.

Source: esiosID: ESIOS #10396Since: 2022Unit: MWh
=ED.GET("mfrr_da_assign_up")

mFRR-DA assigned energy (down)

hourlymfrr_da_assign_down

Tertiary regulation direct activation downward energy assigned.

Source: esiosID: ESIOS #10397Since: 2022Unit: MWh
=ED.GET("mfrr_da_assign_down")

⚖️ Imbalances (4)

System imbalance prices, direction flags, and deviation costs

Imbalance price (up)

hourlyimbalance_price_up

Imbalance settlement price for upward deviations.

Source: esiosID: ESIOS #686Since: 2014Unit: EUR/MWh
=ED.GET("imbalance_price_up")

Imbalance price (down)

hourlyimbalance_price_down

Imbalance settlement price for downward deviations.

Source: esiosID: ESIOS #687Since: 2014Unit: EUR/MWh
=ED.GET("imbalance_price_down")

Imbalance direction flag

hourlyimbalance_direction

System imbalance direction indicator. +1 = system long (excess), -1 = system short (deficit).

Source: esiosID: ESIOS #684Since: 2014Unit:
=ED.GET("imbalance_direction")

Imbalance cost vs day-ahead

hourlyimbalance_cost_deviation

Deviation cost relative to the day-ahead price. Measures the penalty for being out of balance.

Source: esiosID: ESIOS #685Since: 2014Unit: EUR/MWh
=ED.GET("imbalance_cost_deviation")

🔧 Technical Constraints (20)

Redispatch Phase I, Phase II, real-time, costs, and curtailment (ERNI)

Redispatch Phase I price (up)

hourlyredispatch_daily_price_up

Average price for upward redispatch in day-ahead technical constraints resolution (RRTT PBF).

Source: esiosID: ESIOS #705Since: 2014Unit: EUR/MWh
=ED.GET("redispatch_daily_price_up")

Redispatch Phase I price (down)

hourlyredispatch_daily_price_down

Average price for downward redispatch in day-ahead technical constraints resolution.

Source: esiosID: ESIOS #706Since: 2014Unit: EUR/MWh
=ED.GET("redispatch_daily_price_down")

Redispatch Phase I energy (up)

hourlyredispatch_daily_energy_up

Energy redispatched upward in day-ahead technical constraints resolution.

Source: esiosID: ESIOS #701Since: 2014Unit: MWh
=ED.GET("redispatch_daily_energy_up")

Redispatch Phase I energy (down)

hourlyredispatch_daily_energy_down

Energy redispatched downward in day-ahead technical constraints resolution.

Source: esiosID: ESIOS #702Since: 2014Unit: MWh
=ED.GET("redispatch_daily_energy_down")

Redispatch Phase I total cost

hourlyredispatch_daily_cost

Total cost of Phase I technical constraints resolution.

Source: esiosID: ESIOS #709Since: 2014Unit: EUR
=ED.GET("redispatch_daily_cost")

Redispatch Phase II price (up)

hourlyredispatch_daily2_price_up

Average price for upward redispatch in Phase II (intraday) technical constraints resolution.

Source: esiosID: ESIOS #707Since: 2014Unit: EUR/MWh
=ED.GET("redispatch_daily2_price_up")

Redispatch Phase II price (down)

hourlyredispatch_daily2_price_down

Average price for downward redispatch in Phase II (intraday) technical constraints.

Source: esiosID: ESIOS #708Since: 2014Unit: EUR/MWh
=ED.GET("redispatch_daily2_price_down")

Redispatch Phase II energy (up)

hourlyredispatch_daily2_energy_up

Energy redispatched upward in Phase II (intraday) technical constraints.

Source: esiosID: ESIOS #703Since: 2014Unit: MWh
=ED.GET("redispatch_daily2_energy_up")

Redispatch Phase II energy (down)

hourlyredispatch_daily2_energy_down

Energy redispatched downward in Phase II (intraday) technical constraints.

Source: esiosID: ESIOS #704Since: 2014Unit: MWh
=ED.GET("redispatch_daily2_energy_down")

Redispatch Phase II cost (down)

hourlyredispatch_daily2_cost_down

Cost of downward redispatch in Phase II technical constraints resolution.

Source: esiosID: ESIOS #1376Since: 2014Unit: EUR
=ED.GET("redispatch_daily2_cost_down")

Redispatch real-time price (up)

hourlyredispatch_rt_price_up

Real-time upward redispatch price from technical constraints in real-time operation.

Source: esiosID: ESIOS #722Since: 2014Unit: EUR/MWh
=ED.GET("redispatch_rt_price_up")

Redispatch real-time price (down)

hourlyredispatch_rt_price_down

Real-time downward redispatch price from technical constraints in real-time operation.

Source: esiosID: ESIOS #723Since: 2014Unit: EUR/MWh
=ED.GET("redispatch_rt_price_down")

Redispatch real-time energy (up)

hourlyredispatch_rt_energy_up

Real-time upward redispatch energy.

Source: esiosID: ESIOS #720Since: 2014Unit: MWh
=ED.GET("redispatch_rt_energy_up")

Redispatch real-time energy (down)

hourlyredispatch_rt_energy_down

Real-time downward redispatch energy.

Source: esiosID: ESIOS #721Since: 2014Unit: MWh
=ED.GET("redispatch_rt_energy_down")

Redispatch real-time total cost

hourlyredispatch_rt_cost

Total cost of real-time technical constraints.

Source: esiosID: ESIOS #724Since: 2014Unit: EUR
=ED.GET("redispatch_rt_cost")

Renewable curtailment (ERNI)

monthlycurtailment_pct

Percentage of renewable energy not integrated due to technical constraints. Monthly cadence (REE publishes monthly summary).

Source: esiosID: ESIOS #10462Since: 2023-04Unit: %
=ED.GET("curtailment_pct")

ERNI Phase I transmission

monthlyerni_pdbf_rtt

ERNI percentage for Phase I (PBF) transmission network technical constraints. Monthly cadence.

Source: esiosID: ESIOS #10456Since: 2023-04Unit: %
=ED.GET("erni_pdbf_rtt")

ERNI Phase I distribution

monthlyerni_pdbf_rtd

ERNI percentage for Phase I (PBF) distribution network technical constraints. Monthly cadence.

Source: esiosID: ESIOS #10457Since: 2023-04Unit: %
=ED.GET("erni_pdbf_rtd")

ERNI real-time transmission

monthlyerni_tr_rtt

ERNI percentage for real-time transmission network technical constraints. Monthly cadence.

Source: esiosID: ESIOS #10458Since: 2023-04Unit: %
=ED.GET("erni_tr_rtt")

ERNI real-time distribution

monthlyerni_tr_rtd

ERNI percentage for real-time distribution network technical constraints. Monthly cadence.

Source: esiosID: ESIOS #10459Since: 2023-04Unit: %
=ED.GET("erni_tr_rtd")

💰 System Cost (32)

Monthly price decomposition: day-ahead + RRTT + balancing

RRTT cost component

monthlycomponent_rrtt_monthly

Monthly cost of technical constraints per MWh of demand. Official REE calculation, ~2 month lag.

Source: esiosID: ESIOS #858Since: 2014Unit: EUR/MWh
=ED.GET("component_rrtt_monthly")

Ancillary services component

monthlycomponent_ancillary_monthly

Monthly total ancillary services cost (RRTT + balancing) per MWh.

Source: esiosID: ESIOS #10328Since: 2020Unit: EUR/MWh
=ED.GET("component_ancillary_monthly")

Final price (all components)

monthlycomponent_final_price_monthly

Monthly final electricity price including all market components.

Source: esiosID: ESIOS #10216Since: 2020Unit: EUR/MWh
=ED.GET("component_final_price_monthly")

PVPC: day-ahead + intraday market

hourlypvpc_dayahead_intraday

Energy procurement cost component of the PVPC final price — purely market-driven (OMIE day-ahead + intraday adjustments).

Source: esiosID: ESIOS #1875Since: 2014Unit: EUR/MWh
=ED.RANGE("pvpc_dayahead_intraday", "2024-01-01", "2024-12-31", 3)

PVPC: ancillary services

hourlypvpc_ancillary

Cost of system ancillary services (RRTT + secondary/tertiary band + imbalances) baked into the PVPC final price.

Source: esiosID: ESIOS #1871Since: 2014Unit: EUR/MWh
=ED.RANGE("pvpc_ancillary", "2024-01-01", "2024-12-31", 3)

PVPC: tolls + system charges

hourlypvpc_tolls_charges

Regulated transmission/distribution toll. From 2021-06 also includes system charges (renewable subsidies, debt). Pre-2021 numbers exclude charges.

Source: esiosID: ESIOS #1876Since: 2014Unit: EUR/MWh
=ED.RANGE("pvpc_tolls_charges", "2024-01-01", "2024-12-31", 3)

PVPC: capacity payment

hourlypvpc_capacity_payment

Regulated capacity-payment component (~3-5 EUR/MWh). Pays generators for being available at peak demand.

Source: esiosID: ESIOS #1872Since: 2014Unit: EUR/MWh
=ED.RANGE("pvpc_capacity_payment", "2024-01-01", "2024-12-31", 3)

PVPC: interruptibility service

hourlypvpc_interruptibilityDeprecated 2022

Industrial interruptibility service cost.

Source: esiosID: ESIOS #1873Since: 2014Unit: EUR/MWh
=ED.RANGE("pvpc_interruptibility", "2014-01-01", "2022-12-31", 3)

PVPC: system operator (REE) fee

hourlypvpc_os_fee

Regulated fee that funds REE (Red Eléctrica) — the Spanish TSO and System Operator (~0.5 EUR/MWh).

Source: esiosID: ESIOS #1877Since: 2014Unit: EUR/MWh
=ED.RANGE("pvpc_os_fee", "2024-01-01", "2024-12-31", 3)

PVPC: market operator (OMIE) fee

hourlypvpc_om_fee

Regulated fee that funds OMIE — the Iberian Market Operator (~0.05 EUR/MWh).

Source: esiosID: ESIOS #1874Since: 2014Unit: EUR/MWh
=ED.RANGE("pvpc_om_fee", "2024-01-01", "2024-12-31", 3)

PVPC: commercialization cost

hourlypvpc_commercialization

Regulated retailer-margin component (~3 EUR/MWh). Compensates the reference retailer (COR) for billing+service.

Source: esiosID: ESIOS #1878Since: 2014Unit: EUR/MWh
=ED.RANGE("pvpc_commercialization", "2024-01-01", "2024-12-31", 3)

PVPC: renewable auction surplus/deficit

hourlypvpc_renewable_auction

Net of FER/REER renewable-auction settlements applied to PVPC. Variable; can be positive or negative. Available since 2021-06.

Source: esiosID: ESIOS #1879Since: 2021Unit: EUR/MWh
=ED.RANGE("pvpc_renewable_auction", "2024-01-01", "2024-12-31", 3)

PVPC: MACP gas-cap surplus/deficit

hourlypvpc_macpStale 2024-04-02

Net of the Iberian gas-cap mechanism (MACP / 'tope al gas') applied to PVPC. Available since 2022-06.

Source: esiosID: ESIOS #1900Since: 2022Unit: EUR/MWh
=ED.RANGE("pvpc_macp", "2022-06-01", "2024-04-02", 3)

System cost: day-ahead market

monthlysystem_cost_dayahead

Monthly contribution of the OMIE day-ahead market to the system electricity cost (EUR/MWh of demand).

Source: esiosID: ESIOS #883Since: 2014Unit: EUR/MWh
=ED.RANGE("system_cost_dayahead", "2024-01-01", "2024-12-31", 3)

System cost: intraday market

monthlysystem_cost_intraday

Monthly contribution of the OMIE intraday markets (sessions + continuous) to the system cost.

Source: esiosID: ESIOS #886Since: 2014Unit: EUR/MWh
=ED.RANGE("system_cost_intraday", "2024-01-01", "2024-12-31", 3)

System cost: RRTT Phase I

monthlysystem_cost_rrtt_phase1

Monthly cost of Phase I technical constraints (PBF restrictions, D-1 ~16:00) per MWh of demand.

Source: esiosID: ESIOS #884Since: 2014Unit: EUR/MWh
=ED.RANGE("system_cost_rrtt_phase1", "2024-01-01", "2024-12-31", 3)

System cost: RRTT Phase II (historical, hourly)

hourlysystem_cost_rrtt_phase2Deprecated 2025-12-31

Cost of Phase II technical constraints (intraday restrictions) per MWh of demand. Source ESIOS 809 (hourly). DISCONTINUED 2025-12-31 23:00 with the MIBEL 15-min settlement reform — for data from 2026-01-01 onwards use system_cost_rrtt_15m (ESIOS 10377). Historical 2014-2025 data preserved.

Source: esiosID: ESIOS #809Since: 2014Unit: EUR/MWh
=ED.RANGE("system_cost_rrtt_phase2", "2014-01-01", "2025-12-31", 3)

System cost: RRTT (15-min, post-2026)

quarter_hourlysystem_cost_rrtt_15m

Cost of technical-restrictions component per MWh of demand at quarter-hourly granularity. Source ESIOS 10377. Replaces system_cost_rrtt_phase2 from 2026-01-01 with the MIBEL 15-min settlement reform (EU MTU 15-min implementation). Variants 10378 (CR — comercializadores de referencia) / 10379 (CL — contratación libre) available if a specific resale segment is needed.

Source: esiosID: ESIOS #10377Since: 2026-01Unit: EUR/MWh
=ED.RANGE("system_cost_rrtt_15m", "2026-01-01", , 3)

System cost: RRTT real-time

monthlysystem_cost_rrtt_rt

Monthly cost of real-time technical constraints (RTRT) per MWh of demand. Often the largest of the three RRTT sub-components.

Source: esiosID: ESIOS #885Since: 2014Unit: EUR/MWh
=ED.RANGE("system_cost_rrtt_rt", "2024-01-01", "2024-12-31", 3)

System cost: additional power reserve (RPA)

monthlysystem_cost_reserve_additional

Monthly cost of the additional upward power reserve service per MWh of demand.

Source: esiosID: ESIOS #888Since: 2014Unit: EUR/MWh
=ED.RANGE("system_cost_reserve_additional", "2024-01-01", "2024-12-31", 3)

System cost: secondary band (AGC)

monthlysystem_cost_band_secondary

Monthly cost of secondary regulation band reservation (AGC) per MWh of demand.

Source: esiosID: ESIOS #889Since: 2014Unit: EUR/MWh
=ED.RANGE("system_cost_band_secondary", "2024-01-01", "2024-12-31", 3)

System cost: measured imbalances

monthlysystem_cost_imbalance_measured

Monthly cost passed through to demand from measured production imbalances per MWh.

Source: esiosID: ESIOS #890Since: 2014Unit: EUR/MWh
=ED.RANGE("system_cost_imbalance_measured", "2024-01-01", "2024-12-31", 3)

System cost: imbalance settlement balance

monthlysystem_cost_imbalance_balance

Monthly net imbalance settlement balance per MWh of demand.

Source: esiosID: ESIOS #891Since: 2014Unit: EUR/MWh
=ED.RANGE("system_cost_imbalance_balance", "2024-01-01", "2024-12-31", 3)

System cost: capacity payment

monthlysystem_cost_capacity_payment

Monthly capacity-payment system component per MWh of demand.

Source: esiosID: ESIOS #892Since: 2014Unit: EUR/MWh
=ED.RANGE("system_cost_capacity_payment", "2024-01-01", "2024-12-31", 3)

System cost: P.O.14.6 balance

monthlysystem_cost_po146

Monthly balance of REE operating procedure P.O.14.6 (operational protocol) per MWh of demand.

Source: esiosID: ESIOS #893Since: 2014Unit: EUR/MWh
=ED.RANGE("system_cost_po146", "2024-01-01", "2024-12-31", 3)

System cost: UPG nomination failure (historical)

hourlysystem_cost_upg_failureDeprecated 2025-12-31

Penalty for UPG nomination failures per MWh of demand. Source ESIOS 816 (hourly). DISCONTINUED 2025-12-31 23:00 with the MIBEL 15-min settlement reform — the concept was retired from the new market design; NO 15-min replacement exists. Historical 2014-2025 data preserved (~105k rows, mostly near-zero).

Source: esiosID: ESIOS #816Since: 2014Unit: EUR/MWh
=ED.RANGE("system_cost_upg_failure", "2014-01-01", "2025-12-31", 3)

System cost: interruptibility service

monthlysystem_cost_interruptibilityDeprecated 2020-06-01

Monthly industrial-interruptibility cost per MWh of demand.

Source: esiosID: ESIOS #1280Since: 2014Unit: EUR/MWh
=ED.RANGE("system_cost_interruptibility", "2014-01-01", "2020-06-01", 3)

System cost: RD-L 10/2022 RRTT + balance

monthlysystem_cost_rdl10_22_rrtt_balanceStale 2023-02-01

Monthly cost of the post-2022 RD-L 10/2022 component for RRTT + balance markets per MWh of demand. Available since 2022-06.

Source: esiosID: ESIOS #1910Since: 2022Unit: EUR/MWh
=ED.RANGE("system_cost_rdl10_22_rrtt_balance", "2022-06-01", "2023-02-01", 3)

System cost: RD-L 10/2022 market

monthlysystem_cost_rdl10_22_marketStale 2023-02-01

Monthly cost of the post-2022 RD-L 10/2022 component for day-ahead + intraday market per MWh of demand. Available since 2022-06.

Source: esiosID: ESIOS #1916Since: 2022Unit: EUR/MWh
=ED.RANGE("system_cost_rdl10_22_market", "2022-06-01", "2023-02-01", 3)

REER component (combined)

15-minreer_component

Quarter-hourly make-whole price for renewable-auction projects (REER). Positive when spot < strike (system pays projects); zero when spot >= strike. Combined retailer + COR view.

Source: esiosID: ESIOS #2402Since: 2026Unit: EUR/MWh
=ED.RANGE("reer_component", "2026-02-01", "2026-12-31", 3)

REER component (COR)

15-minreer_component_cor

Same as reer_component but for Comercializadores de Referencia (regulated PVPC retailers).

Source: esiosID: ESIOS #2403Since: 2026Unit: EUR/MWh
=ED.RANGE("reer_component_cor", "2026-02-01", "2026-12-31", 3)

REER component (free market)

15-minreer_component_lib

Same as reer_component but for free-market suppliers (contratación libre).

Source: esiosID: ESIOS #2404Since: 2026Unit: EUR/MWh
=ED.RANGE("reer_component_lib", "2026-02-01", "2026-12-31", 3)

📦 Renewable Settlement (21)

Renewable Settlement

Settled price: wind

monthlyrenewable_settled_price_eolica

Effective €/MWh actually earned by wind under the régimen retributivo (incl. REER auction clawback). Source: C2 comppfre, official monthly liquidation.

Source: c2Since: 2022Unit: EUR/MWh
=ED.RANGE("renewable_settled_price_eolica", "2022-01-01", "2026-12-31")

Settled price: solar PV

monthlyrenewable_settled_price_fotovoltaica

Effective €/MWh actually earned by solar PV under the régimen retributivo (incl. REER auction clawback). Source: C2 comppfre.

Source: c2Since: 2022Unit: EUR/MWh
=ED.RANGE("renewable_settled_price_fotovoltaica", "2022-01-01", "2026-12-31")

Settled price: hydro

monthlyrenewable_settled_price_hidraulica

Effective €/MWh earned by hydro under the régimen retributivo (incl. REER clawback). Source: C2 comppfre.

Source: c2Since: 2022Unit: EUR/MWh
=ED.RANGE("renewable_settled_price_hidraulica", "2022-01-01", "2026-12-31")

Settled price: solar thermal

monthlyrenewable_settled_price_termosolar

Effective €/MWh earned by solar thermal (CSP) under the régimen retributivo. Source: C2 comppfre.

Source: c2Since: 2022Unit: EUR/MWh
=ED.RANGE("renewable_settled_price_termosolar", "2022-01-01", "2026-12-31")

Settled price: thermal renewable

monthlyrenewable_settled_price_termica_renov

Effective €/MWh earned by renewable thermal (biomass, biogas, etc.) under the régimen retributivo. Source: C2 comppfre.

Source: c2Since: 2022Unit: EUR/MWh
=ED.RANGE("renewable_settled_price_termica_renov", "2022-01-01", "2026-12-31")

Settled price: thermal non-renew

monthlyrenewable_settled_price_termica_no_renov

Effective €/MWh earned by non-renewable thermal (CCGT, fuel) — included as a comparison baseline. Source: C2 comppfre.

Source: c2Since: 2022Unit: EUR/MWh
=ED.RANGE("renewable_settled_price_termica_no_renov", "2022-01-01", "2026-12-31")

RRE adjustment: wind

monthlyrenewable_settled_rre_adj_eolicaNear zero 2023

RRE = Régimen Retributivo Específico (RD 413/2014, the OLD pre-2020 PPA scheme). Per-MWh regulatory adjustment for wind under that scheme. ⚠️ NOT the new post-2020 REER auctions — those settle annually and live in reer_component. Negative = projects pay system back. Most active 2021-2022; near-zero from 2023.

Source: c2Since: 2022Unit: EUR/MWh
=ED.RANGE("renewable_settled_rre_adj_eolica", "2022-01-01", "2026-12-31")

RRE adjustment: solar PV

monthlyrenewable_settled_rre_adj_fotovoltaicaNear zero 2023

RRE (RD 413/2014) per-MWh adjustment for solar PV. Mostly affects pre-2014 PV plants (RD 661/2007 era). Near-zero from 2023 (RD 413/2014 phase-out).

Source: c2Since: 2022Unit: EUR/MWh
=ED.RANGE("renewable_settled_rre_adj_fotovoltaica", "2022-01-01", "2026-12-31")

RRE adjustment: hydro

monthlyrenewable_settled_rre_adj_hidraulicaNear zero 2023

RRE (RD 413/2014) per-MWh adjustment for hydro. Near-zero from 2023 (RD 413/2014 phase-out).

Source: c2Since: 2022Unit: EUR/MWh
=ED.RANGE("renewable_settled_rre_adj_hidraulica", "2022-01-01", "2026-12-31")

RRE adjustment: solar thermal

monthlyrenewable_settled_rre_adj_termosolarNear zero 2023

RRE (RD 413/2014) per-MWh adjustment for solar thermal (CSP). Near-zero from 2023 (RD 413/2014 phase-out).

Source: c2Since: 2022Unit: EUR/MWh
=ED.RANGE("renewable_settled_rre_adj_termosolar", "2022-01-01", "2026-12-31")

RRE adjustment: thermal renew

monthlyrenewable_settled_rre_adj_termica_renovNear zero 2023

RRE (RD 413/2014) per-MWh adjustment for renewable thermal (biomass, biogas). Near-zero from 2023 (RD 413/2014 phase-out).

Source: c2Since: 2022Unit: EUR/MWh
=ED.RANGE("renewable_settled_rre_adj_termica_renov", "2022-01-01", "2026-12-31")

RRE adjustment: thermal non-r.

monthlyrenewable_settled_rre_adj_termica_no_renovNear zero 2023

RRE (RD 413/2014) per-MWh adjustment for non-renewable thermal. Typically zero — these don't participate in RD 413/2014. Near-zero from 2023.

Source: c2Since: 2022Unit: EUR/MWh
=ED.RANGE("renewable_settled_rre_adj_termica_no_renov", "2022-01-01", "2026-12-31")

Settled energy: wind

monthlyrenewable_settled_energy_eolica

Total settled MWh for wind under the régimen retributivo (monthly).

Source: c2Since: 2022Unit: MWh
=ED.RANGE("renewable_settled_energy_eolica", "2022-01-01", "2026-12-31")

Settled energy: solar PV

monthlyrenewable_settled_energy_fotovoltaica

Total settled MWh for solar PV under the régimen retributivo (monthly).

Source: c2Since: 2022Unit: MWh
=ED.RANGE("renewable_settled_energy_fotovoltaica", "2022-01-01", "2026-12-31")

Settled energy: hydro

monthlyrenewable_settled_energy_hidraulica

Total settled MWh for hydro under the régimen retributivo (monthly).

Source: c2Since: 2022Unit: MWh
=ED.RANGE("renewable_settled_energy_hidraulica", "2022-01-01", "2026-12-31")

Settled energy: solar thermal

monthlyrenewable_settled_energy_termosolar

Total settled MWh for solar thermal under the régimen retributivo (monthly).

Source: c2Since: 2022Unit: MWh
=ED.RANGE("renewable_settled_energy_termosolar", "2022-01-01", "2026-12-31")

Settled energy: thermal renewable

monthlyrenewable_settled_energy_termica_renov

Total settled MWh for renewable thermal (biomass, biogas) — monthly.

Source: c2Since: 2022Unit: MWh
=ED.RANGE("renewable_settled_energy_termica_renov", "2022-01-01", "2026-12-31")

Settled energy: thermal non-renew

monthlyrenewable_settled_energy_termica_no_renov

Total settled MWh for non-renewable thermal (CCGT, fuel) — monthly.

Source: c2Since: 2022Unit: MWh
=ED.RANGE("renewable_settled_energy_termica_no_renov", "2022-01-01", "2026-12-31")

Settled hourly: solar bucket

hourlyrenewable_settled_hourly_solar

Hourly settled measured generation, solar bucket (FV + termosolar combined). Source: C2 grpresol.

Source: c2Since: 2022Unit: MWh
=ED.RANGE("renewable_settled_hourly_solar", "2024-01-01", "2024-12-31", 3)

Settled hourly: hydro+biomass

hourlyrenewable_settled_hourly_hydro_bio

Hourly settled measured generation, hydro+biomass bucket (hidráulica + biomasa/biogás). Source: C2 grpresfh.

Source: c2Since: 2022Unit: MWh
=ED.RANGE("renewable_settled_hourly_hydro_bio", "2024-01-01", "2024-12-31", 3)

Settled hourly: wind+cogen

hourlyrenewable_settled_hourly_wind_cogen

Hourly settled measured generation, wind+cogeneration bucket (eólica + cogen/residuos). Source: C2 grpreolr.

Source: c2Since: 2022Unit: MWh
=ED.RANGE("renewable_settled_hourly_wind_cogen", "2024-01-01", "2024-12-31", 3)

🔮 Forecasts (3)

D+1 and H+3 renewable forecasts, residual demand, and PBF schedules

Renewable forecast D+1

hourlyforecast_renewable_d1

Day-ahead forecast of wind + solar generation.

Source: esiosID: ESIOS #10358Since: 2022Unit: MW
=ED.GET("forecast_renewable_d1")

Renewable forecast H+3

hourlyforecast_renewable_h3

Intraday H+3 rolling forecast of wind + solar generation.

Source: esiosID: ESIOS #10359Since: 2022Unit: MW
=ED.GET("forecast_renewable_h3")

Residual demand forecast

15-minforecast_residual_demand

Forecast of demand minus renewable generation.

Source: esiosID: ESIOS #10249Since: 2022Unit: MW
=ED.GET("forecast_residual_demand")

📦 Scheduled Programs (80)

Scheduled Programs

PBF hydro UGH

hourlyprogram_pbf_hidro_ugh

Hydro UGH (big dams) scheduled in PBF, post-OMIE auction.

Source: esiosID: ESIOS #1Since: 2014Unit: MWh
=ED.GET("program_pbf_hidro_ugh")

PBF hydro non-UGH

hourlyprogram_pbf_hidro_no_ugh

Hydro non-UGH (run-of-river) scheduled in PBF, post-OMIE auction.

Source: esiosID: ESIOS #2Since: 2014Unit: MWh
=ED.GET("program_pbf_hidro_no_ugh")

PBF pumped hydro turbining

hourlyprogram_pbf_turb_bombeo

Pumped hydro turbine generation scheduled in PBF.

Source: esiosID: ESIOS #3Since: 2014Unit: MWh
=ED.GET("program_pbf_turb_bombeo")

PBF nuclear

hourlyprogram_pbf_nuclear

Nuclear scheduled in PBF (post-OMIE auction, pre-RRTT).

Source: esiosID: ESIOS #4Since: 2014Unit: MWh
=ED.GET("program_pbf_nuclear")

PBF CCGT

hourlyprogram_pbf_ccgt

Combined-cycle gas turbine scheduled in PBF.

Source: esiosID: ESIOS #9Since: 2014Unit: MWh
=ED.GET("program_pbf_ccgt")

PBF onshore wind

hourlyprogram_pbf_wind

Onshore wind scheduled in PBF (industry-standard for wind capture price).

Source: esiosID: ESIOS #12Since: 2014Unit: MWh
=ED.GET("program_pbf_wind")

PBF solar PV

hourlyprogram_pbf_solar_pv

Solar PV scheduled in PBF (industry-standard for solar capture price).

Source: esiosID: ESIOS #14Since: 2014Unit: MWh
=ED.GET("program_pbf_solar_pv")

PBF solar thermal

hourlyprogram_pbf_solar_thermal

Solar thermal (CSP) scheduled in PBF.

Source: esiosID: ESIOS #15Since: 2014Unit: MWh
=ED.GET("program_pbf_solar_thermal")

PBF cogeneration

hourlyprogram_pbf_cogen

Natural gas cogeneration scheduled in PBF.

Source: esiosID: ESIOS #17Since: 2014Unit: MWh
=ED.GET("program_pbf_cogen")

PBF oil/coal derivatives

hourlyprogram_pbf_oil_coal_deriv

Derivatives of petroleum or coal scheduled in PBF.

Source: esiosID: ESIOS #18Since: 2014Unit: MWh
=ED.GET("program_pbf_oil_coal_deriv")

PBF residual energy

hourlyprogram_pbf_residual_energy

Residual/tail-gas energy scheduled in PBF.

Source: esiosID: ESIOS #20Since: 2014Unit: MWh
=ED.GET("program_pbf_residual_energy")

PBF biomass

hourlyprogram_pbf_biomass

Biomass scheduled in PBF.

Source: esiosID: ESIOS #21Since: 2014Unit: MWh
=ED.GET("program_pbf_biomass")

PBF biogas

hourlyprogram_pbf_biogas

Biogas scheduled in PBF.

Source: esiosID: ESIOS #22Since: 2014Unit: MWh
=ED.GET("program_pbf_biogas")

PBF household waste

hourlyprogram_pbf_household_waste

Household and similar waste scheduled in PBF.

Source: esiosID: ESIOS #23Since: 2014Unit: MWh
=ED.GET("program_pbf_household_waste")

PBF miscellaneous waste

hourlyprogram_pbf_misc_waste

Miscellaneous waste scheduled in PBF.

Source: esiosID: ESIOS #24Since: 2014Unit: MWh
=ED.GET("program_pbf_misc_waste")

PBF hydro total (UGH + noUGH)

hourlyprogram_pbf_hidro_total

Total hydro = UGH + non-UGH scheduled in PBF. Aggregated indicator.

Source: esiosID: ESIOS #10064Since: 2014Unit: MWh
=ED.GET("program_pbf_hidro_total")

PBF wind total (on + offshore)

hourlyprogram_pbf_total_wind

Onshore + offshore wind scheduled in PBF.

Source: esiosID: ESIOS #10073Since: 2014Unit: MWh
=ED.GET("program_pbf_total_wind")

PBF other renewables

hourlyprogram_pbf_other_renewable

Other renewables (aggregated) scheduled in PBF.

Source: esiosID: ESIOS #10074Since: 2014Unit: MWh
=ED.GET("program_pbf_other_renewable")

PBF total

hourlyprogram_pbf_total

Total scheduled generation in PBF (sum of all technologies).

Source: esiosID: ESIOS #10258Since: 2014Unit: MWh
=ED.GET("program_pbf_total")

PBF hybrid

hourlyprogram_pbf_hybrid

Hybrid generation scheduled in PBF. New ESIOS indicator since June 2024.

Source: esiosID: ESIOS #2132Since: 2024-06Unit: MWh
=ED.GET("program_pbf_hybrid")

PVP hydro UGH

hourlyprogram_pvp_hidro_ugh

Hydro UGH scheduled in PVP (after RRTT).

Source: esiosID: ESIOS #36Since: 2014Unit: MWh
=ED.GET("program_pvp_hidro_ugh")

PVP hydro non-UGH

hourlyprogram_pvp_hidro_no_ugh

Hydro non-UGH scheduled in PVP.

Source: esiosID: ESIOS #37Since: 2014Unit: MWh
=ED.GET("program_pvp_hidro_no_ugh")

PVP pumped hydro turbining

hourlyprogram_pvp_turb_bombeo

Pumped hydro turbine generation scheduled in PVP.

Source: esiosID: ESIOS #38Since: 2014Unit: MWh
=ED.GET("program_pvp_turb_bombeo")

PVP nuclear

hourlyprogram_pvp_nuclear

Nuclear scheduled in PVP (practically equal to PBF nuclear — baseload).

Source: esiosID: ESIOS #39Since: 2014Unit: MWh
=ED.GET("program_pvp_nuclear")

PVP CCGT

hourlyprogram_pvp_ccgt

CCGT scheduled in PVP.

Source: esiosID: ESIOS #44Since: 2014Unit: MWh
=ED.GET("program_pvp_ccgt")

PVP onshore wind

hourlyprogram_pvp_wind

Onshore wind scheduled in PVP.

Source: esiosID: ESIOS #47Since: 2014Unit: MWh
=ED.GET("program_pvp_wind")

PVP solar PV

hourlyprogram_pvp_solar_pv

Solar PV scheduled in PVP.

Source: esiosID: ESIOS #49Since: 2014Unit: MWh
=ED.GET("program_pvp_solar_pv")

PVP solar thermal

hourlyprogram_pvp_solar_thermal

Solar thermal scheduled in PVP.

Source: esiosID: ESIOS #50Since: 2014Unit: MWh
=ED.GET("program_pvp_solar_thermal")

PVP cogeneration

hourlyprogram_pvp_cogen

Cogeneration scheduled in PVP.

Source: esiosID: ESIOS #52Since: 2014Unit: MWh
=ED.GET("program_pvp_cogen")

PVP oil/coal derivatives

hourlyprogram_pvp_oil_coal_deriv

Oil/coal derivatives scheduled in PVP.

Source: esiosID: ESIOS #53Since: 2014Unit: MWh
=ED.GET("program_pvp_oil_coal_deriv")

PVP residual energy

hourlyprogram_pvp_residual_energy

Residual energy scheduled in PVP.

Source: esiosID: ESIOS #55Since: 2014Unit: MWh
=ED.GET("program_pvp_residual_energy")

PVP biomass

hourlyprogram_pvp_biomass

Biomass scheduled in PVP.

Source: esiosID: ESIOS #56Since: 2014Unit: MWh
=ED.GET("program_pvp_biomass")

PVP biogas

hourlyprogram_pvp_biogas

Biogas scheduled in PVP.

Source: esiosID: ESIOS #57Since: 2014Unit: MWh
=ED.GET("program_pvp_biogas")

PVP household waste

hourlyprogram_pvp_household_waste

Household waste scheduled in PVP.

Source: esiosID: ESIOS #58Since: 2014Unit: MWh
=ED.GET("program_pvp_household_waste")

PVP miscellaneous waste

hourlyprogram_pvp_misc_waste

Miscellaneous waste scheduled in PVP.

Source: esiosID: ESIOS #59Since: 2014Unit: MWh
=ED.GET("program_pvp_misc_waste")

PVP hydro total

hourlyprogram_pvp_hidro_total

Total hydro scheduled in PVP.

Source: esiosID: ESIOS #10065Since: 2014Unit: MWh
=ED.GET("program_pvp_hidro_total")

PVP wind total

hourlyprogram_pvp_total_wind

Total wind scheduled in PVP.

Source: esiosID: ESIOS #10158Since: 2014Unit: MWh
=ED.GET("program_pvp_total_wind")

PVP other renewables

hourlyprogram_pvp_other_renewable

Other renewables scheduled in PVP.

Source: esiosID: ESIOS #10176Since: 2014Unit: MWh
=ED.GET("program_pvp_other_renewable")

PVP total

hourlyprogram_pvp_total

Total scheduled generation in PVP.

Source: esiosID: ESIOS #10259Since: 2014Unit: MWh
=ED.GET("program_pvp_total")

PVP hybrid

hourlyprogram_pvp_hybrid

Hybrid generation scheduled in PVP. New ESIOS indicator since June 2024.

Source: esiosID: ESIOS #2141Since: 2024-06Unit: MWh
=ED.GET("program_pvp_hybrid")

P48 hydro UGH

hourlyprogram_p48_hidro_ugh

Hydro UGH in P48 final D-1 schedule.

Source: esiosID: ESIOS #71Since: 2014Unit: MWh
=ED.GET("program_p48_hidro_ugh")

P48 hydro non-UGH

hourlyprogram_p48_hidro_no_ugh

Hydro non-UGH in P48.

Source: esiosID: ESIOS #72Since: 2014Unit: MWh
=ED.GET("program_p48_hidro_no_ugh")

P48 pumped hydro turbining

hourlyprogram_p48_turb_bombeo

Pumped hydro turbine in P48.

Source: esiosID: ESIOS #73Since: 2014Unit: MWh
=ED.GET("program_p48_turb_bombeo")

P48 nuclear

hourlyprogram_p48_nuclear

Nuclear in P48.

Source: esiosID: ESIOS #74Since: 2014Unit: MWh
=ED.GET("program_p48_nuclear")

P48 CCGT

hourlyprogram_p48_ccgt

CCGT in P48.

Source: esiosID: ESIOS #79Since: 2014Unit: MWh
=ED.GET("program_p48_ccgt")

P48 onshore wind

hourlyprogram_p48_wind

Onshore wind in P48 (final D-1 schedule, commonly used by traders).

Source: esiosID: ESIOS #82Since: 2014Unit: MWh
=ED.GET("program_p48_wind")

P48 solar PV

hourlyprogram_p48_solar_pv

Solar PV in P48.

Source: esiosID: ESIOS #84Since: 2014Unit: MWh
=ED.GET("program_p48_solar_pv")

P48 solar thermal

hourlyprogram_p48_solar_thermal

Solar thermal in P48.

Source: esiosID: ESIOS #85Since: 2014Unit: MWh
=ED.GET("program_p48_solar_thermal")

P48 cogeneration

hourlyprogram_p48_cogen

Cogeneration in P48.

Source: esiosID: ESIOS #87Since: 2014Unit: MWh
=ED.GET("program_p48_cogen")

P48 oil/coal derivatives

hourlyprogram_p48_oil_coal_deriv

Oil/coal derivatives in P48.

Source: esiosID: ESIOS #88Since: 2014Unit: MWh
=ED.GET("program_p48_oil_coal_deriv")

P48 residual energy

hourlyprogram_p48_residual_energy

Residual energy in P48.

Source: esiosID: ESIOS #90Since: 2014Unit: MWh
=ED.GET("program_p48_residual_energy")

P48 biomass

hourlyprogram_p48_biomass

Biomass in P48.

Source: esiosID: ESIOS #91Since: 2014Unit: MWh
=ED.GET("program_p48_biomass")

P48 biogas

hourlyprogram_p48_biogas

Biogas in P48.

Source: esiosID: ESIOS #92Since: 2014Unit: MWh
=ED.GET("program_p48_biogas")

P48 household waste

hourlyprogram_p48_household_waste

Household waste in P48.

Source: esiosID: ESIOS #93Since: 2014Unit: MWh
=ED.GET("program_p48_household_waste")

P48 miscellaneous waste

hourlyprogram_p48_misc_waste

Miscellaneous waste in P48.

Source: esiosID: ESIOS #94Since: 2014Unit: MWh
=ED.GET("program_p48_misc_waste")

P48 hydro total

hourlyprogram_p48_hidro_total

Total hydro in P48.

Source: esiosID: ESIOS #10063Since: 2014Unit: MWh
=ED.GET("program_p48_hidro_total")

P48 wind total

hourlyprogram_p48_total_wind

Total wind in P48.

Source: esiosID: ESIOS #10010Since: 2014Unit: MWh
=ED.GET("program_p48_total_wind")

P48 other renewables

hourlyprogram_p48_other_renewable

Other renewables in P48.

Source: esiosID: ESIOS #10013Since: 2014Unit: MWh
=ED.GET("program_p48_other_renewable")

P48 total

hourlyprogram_p48_total

Total generation in P48.

Source: esiosID: ESIOS #10257Since: 2014Unit: MWh
=ED.GET("program_p48_total")

P48 hybrid

hourlyprogram_p48_hybrid

Hybrid generation in P48. New ESIOS indicator since June 2024.

Source: esiosID: ESIOS #2131Since: 2024-06Unit: MWh
=ED.GET("program_p48_hybrid")

PHFC hydro UGH

hourlyprogram_phfc_hidro_ugh

Hydro UGH in PHFC final-intraday schedule (post-casacion intraday updates).

Source: esiosID: ESIOS #1400Since: 2018-07Unit: MWh
=ED.GET("program_phfc_hidro_ugh")

PHFC hydro non-UGH

hourlyprogram_phfc_hidro_no_ugh

Hydro non-UGH in PHFC final-intraday schedule.

Source: esiosID: ESIOS #1401Since: 2018-07Unit: MWh
=ED.GET("program_phfc_hidro_no_ugh")

PHFC pumped hydro turbining

hourlyprogram_phfc_turb_bombeo

Pumped hydro turbine generation in PHFC.

Source: esiosID: ESIOS #1402Since: 2018-07Unit: MWh
=ED.GET("program_phfc_turb_bombeo")

PHFC nuclear

hourlyprogram_phfc_nuclear

Nuclear in PHFC final-intraday schedule.

Source: esiosID: ESIOS #1403Since: 2018-07Unit: MWh
=ED.GET("program_phfc_nuclear")

PHFC CCGT

hourlyprogram_phfc_ccgt

CCGT in PHFC.

Source: esiosID: ESIOS #1408Since: 2018-07Unit: MWh
=ED.GET("program_phfc_ccgt")

PHFC onshore wind

hourlyprogram_phfc_wind

Onshore wind in PHFC final-intraday schedule.

Source: esiosID: ESIOS #1411Since: 2018-07Unit: MWh
=ED.GET("program_phfc_wind")

PHFC solar PV

hourlyprogram_phfc_solar_pv

Solar PV in PHFC final-intraday schedule.

Source: esiosID: ESIOS #1413Since: 2018-07Unit: MWh
=ED.GET("program_phfc_solar_pv")

PHFC solar thermal

hourlyprogram_phfc_solar_thermal

Solar thermal in PHFC.

Source: esiosID: ESIOS #1414Since: 2018-07Unit: MWh
=ED.GET("program_phfc_solar_thermal")

PHFC cogeneration

hourlyprogram_phfc_cogen

Natural gas cogeneration in PHFC.

Source: esiosID: ESIOS #1416Since: 2018-07Unit: MWh
=ED.GET("program_phfc_cogen")

PHFC oil/coal derivatives

hourlyprogram_phfc_oil_coal_deriv

Oil/coal derivatives in PHFC.

Source: esiosID: ESIOS #1417Since: 2018-07Unit: MWh
=ED.GET("program_phfc_oil_coal_deriv")

PHFC residual energy

hourlyprogram_phfc_residual_energy

Residual energy in PHFC.

Source: esiosID: ESIOS #1419Since: 2018-07Unit: MWh
=ED.GET("program_phfc_residual_energy")

PHFC biomass

hourlyprogram_phfc_biomass

Biomass in PHFC.

Source: esiosID: ESIOS #1420Since: 2018-07Unit: MWh
=ED.GET("program_phfc_biomass")

PHFC biogas

hourlyprogram_phfc_biogas

Biogas in PHFC.

Source: esiosID: ESIOS #1421Since: 2018-07Unit: MWh
=ED.GET("program_phfc_biogas")

PHFC household waste

hourlyprogram_phfc_household_waste

Household waste in PHFC.

Source: esiosID: ESIOS #1422Since: 2018-07Unit: MWh
=ED.GET("program_phfc_household_waste")

PHFC miscellaneous waste

hourlyprogram_phfc_misc_waste

Miscellaneous waste in PHFC.

Source: esiosID: ESIOS #1423Since: 2018-07Unit: MWh
=ED.GET("program_phfc_misc_waste")

PHFC hydro total

hourlyprogram_phfc_hidro_total

Total hydro (UGH + non-UGH) in PHFC.

Source: esiosID: ESIOS #10271Since: 2018-07Unit: MWh
=ED.GET("program_phfc_hidro_total")

PHFC wind total

hourlyprogram_phfc_total_wind

Total wind in PHFC.

Source: esiosID: ESIOS #10281Since: 2018-07Unit: MWh
=ED.GET("program_phfc_total_wind")

PHFC other renewables

hourlyprogram_phfc_other_renewable

Other renewables in PHFC.

Source: esiosID: ESIOS #10283Since: 2018-07Unit: MWh
=ED.GET("program_phfc_other_renewable")

PHFC total

hourlyprogram_phfc_total

Total scheduled generation in PHFC.

Source: esiosID: ESIOS #10287Since: 2018-07Unit: MWh
=ED.GET("program_phfc_total")

PHFC hybrid

hourlyprogram_phfc_hybrid

Hybrid generation in PHFC. New ESIOS indicator since June 2024.

Source: esiosID: ESIOS #2140Since: 2024-06Unit: MWh
=ED.GET("program_phfc_hybrid")

🔌 Storage & Interconnections (7)

Batteries, pumped hydro, and cross-border flows

Battery charging

hourlybattery_charge

Battery storage charging power. ESIOS indicator launched late 2024 (Spain BESS market formalised then).

Source: esiosID: ESIOS #2166Since: 2024Unit: MW
=ED.GET("battery_charge")

Battery delivery

hourlybattery_delivery

Battery storage discharge/delivery power. ESIOS indicator launched late 2024.

Source: esiosID: ESIOS #2167Since: 2024Unit: MW
=ED.GET("battery_delivery")

Pumped hydro consumption

hourlypumped_consumption

Pumped hydro storage energy consumption. New ESIOS indicator (id 2065) available from end of 2024. For long-history pumped consumption see gen_pumped_consumption (Generation category, same source).

Source: esiosID: ESIOS #2078Since: 2024Unit: MW
=ED.GET("pumped_consumption")

Pumped hydro turbine

hourlypumped_turbine

Pumped hydro storage turbine generation (discharge). New ESIOS indicator (id 2066) available from end of 2024. For long-history see gen_pumped_storage (Generation category).

Source: esiosID: ESIOS #2079Since: 2024Unit: MW
=ED.GET("pumped_turbine")

France interconnection net

hourlyxborder_france_net

Net electricity exchange with France. Positive = import from France.

Source: esiosID: ESIOS #10207Since: 2014Unit: MWh
=ED.GET("xborder_france_net")

Portugal interconnection net

hourlyxborder_portugal_net

Net electricity exchange with Portugal. Positive = import from Portugal.

Source: esiosID: ESIOS #10208Since: 2014Unit: MWh
=ED.GET("xborder_portugal_net")

Morocco interconnection net

hourlyxborder_morocco_net

Net electricity exchange with Morocco via the Strait of Gibraltar interconnection.

Source: esiosID: ESIOS #10209Since: 2014Unit: MWh
=ED.GET("xborder_morocco_net")

🛢️ Commodities (9)

Oil, carbon, and metals from international markets (gas indicators live in Natural Gas)

Brent crude oil

dailybrent

ICE Brent crude futures front-month settlement (Yahoo: BZ=F). The global benchmark for crude oil pricing. EIA RBRTE spot price is fetched as a backfill if Yahoo missed a date.

Source: yahooID: YAHOO:BZ=FSince: 1987Unit: USD/bbl
=ED.GET("brent")

WTI crude oil

dailywti

NYMEX WTI Light Sweet Crude futures front-month settlement (Yahoo: CL=F). EIA RWTC spot price as backfill.

Source: yahooID: YAHOO:CL=FSince: 1986Unit: USD/bbl
=ED.GET("wti")

Dubai crude oil

monthlydubai_crude

Dubai/Oman crude oil benchmark price for Asian markets.

Source: fredSince: 1992Unit: USD/bbl
=ED.GET("dubai_crude")

EU ETS carbon (EUA)

dailyeua_co2

European Union Allowance futures price (ICE EUA front-month via Yahoo Finance CO2.L). EU Emissions Trading System.

Source: yahooSince: 2008Unit: EUR/tCO2
=ED.GET("eua_co2")

Gold

dailygold

Gold futures front-month, COMEX GC=F (troy ounce).

Source: yahooSince: 2000Unit: USD/oz
=ED.GET("gold")

Silver

dailysilver

Silver futures front-month, COMEX SI=F (troy ounce).

Source: yahooSince: 2000Unit: USD/oz
=ED.GET("silver")

Copper

dailycopper

High-grade copper futures front-month, COMEX HG=F (pound).

Source: yahooSince: 2000Unit: USD/lb
=ED.GET("copper")

Platinum

dailyplatinum

Platinum futures front-month, NYMEX PL=F (troy ounce).

Source: yahooSince: 2000Unit: USD/oz
=ED.GET("platinum")

Palladium

dailypalladium

Palladium futures front-month, NYMEX PA=F (troy ounce).

Source: yahooSince: 2000Unit: USD/oz
=ED.GET("palladium")

🔥 Natural Gas (7)

Natural gas prices: MIBGAS PVB Spain (day-ahead + monthly/quarterly/yearly forwards), US Henry Hub futures, EU TTF futures

Henry Hub natural gas

dailyhenry_hub

NYMEX Henry Hub natural gas futures front-month settlement (Yahoo: NG=F). EIA RNGWHHD as backfill.

Source: yahooID: YAHOO:NG=FSince: 1997Unit: USD/MMBtu
=ED.GET("henry_hub")

EU natural gas (TTF)

dailyeu_gas_ttf

European natural gas futures price at Title Transfer Facility (Netherlands). Front-month settlement via Yahoo Finance (TTF=F). Daily resolution from 2017-10-23 (Yahoo coverage start).

Source: yahooID: YAHOO:TTF=FSince: 2017-10Unit: EUR/MWh
=ED.GET("eu_gas_ttf")

EU natural gas (FRED proxy)

monthlyeu_gas_proxy

Proxy 'global price of natural gas, Europe' from the World Bank Pink Sheet via FRED (series PNGASEUUSDM). Monthly resolution since 1992. NOT the same contract as the ICE TTF futures published in eu_gas_ttf — this proxy aggregates EU import prices and is denominated in USD/MMBtu. Useful for long-term context but not directly comparable to TTF EUR/MWh.

Source: fredID: FRED:PNGASEUUSDMSince: 1992Unit: USD/MMBtu
=ED.GET("eu_gas_proxy")

MIBGAS gas day-ahead

dailygas_dayahead

PVB Spain day-ahead gas price from MIBGAS. The reference price for the Spanish gas market.

Source: mibgasSince: 2015Unit: EUR/MWh
=ED.GET("gas_dayahead")

MIBGAS gas monthly ahead

dailygas_monthly

MIBGAS PVB Spain monthly gas forward price.

Source: mibgasSince: 2015Unit: EUR/MWh
=ED.GET("gas_monthly")

MIBGAS gas quarterly ahead

dailygas_quarterly

MIBGAS PVB Spain quarterly gas forward price.

Source: mibgasSince: 2015Unit: EUR/MWh
=ED.GET("gas_quarterly")

MIBGAS gas yearly ahead

dailygas_yearly

MIBGAS PVB Spain yearly gas forward price.

Source: mibgasSince: 2015Unit: EUR/MWh
=ED.GET("gas_yearly")

📈 Futures & Forward (4)

OMIP SPEL Base Futures: monthly, quarterly, yearly, PPA

Yearly futures (Cal+1)

dailyfutures_yr

Front year (calendar year) OMIP SPEL Base Futures settlement price.

Source: omipSince: 2025Unit: EUR/MWh
=ED.GET("futures_yr")

Quarterly futures (Q+1)

dailyfutures_q

Front quarter OMIP SPEL Base Futures settlement price.

Source: omipSince: 2025Unit: EUR/MWh
=ED.GET("futures_q")

Monthly futures (M+1)

dailyfutures_m

Front month OMIP SPEL Base Futures settlement price.

Source: omipSince: 2025Unit: EUR/MWh
=ED.GET("futures_m")

PPA reference (10yr)

dailyfutures_ppa

OMIP 10-year PPA reference price. Forward curve from Cal+1 to Cal+10.

Source: omipSince: 2025Unit: EUR/MWh
=ED.GET("futures_ppa")

☀️ Futures Solar (4)

OMIP SPEL Solar Futures: monthly, quarterly, yearly, PPA

Solar yearly futures

dailyfutures_solar_yr

OMIP Solar yearly futures (FTS) settlement price for the Spanish zone.

Source: omipSince: 2025Unit: EUR/MWh
=ED.GET("futures_solar_yr")

Solar quarterly futures

dailyfutures_solar_q

OMIP Solar quarterly futures settlement price for the Spanish zone.

Source: omipSince: 2025Unit: EUR/MWh
=ED.GET("futures_solar_q")

Solar monthly futures

dailyfutures_solar_m

OMIP Solar monthly futures settlement price for the Spanish zone.

Source: omipSince: 2025Unit: EUR/MWh
=ED.GET("futures_solar_m")

Solar PPA reference

dailyfutures_solar_ppa

OMIP Solar PPA reference price for the Spanish zone. Long-term solar forward curve.

Source: omipSince: 2025Unit: EUR/MWh
=ED.GET("futures_solar_ppa")

📈 Futures Peak (3)

OMIP SPEL Peak Futures: monthly, quarterly, yearly

Peak yearly futures

dailyfutures_peak_yr

OMIP Peak yearly futures settlement price for the Spanish zone. Peak hours only.

Source: omipSince: 2025Unit: EUR/MWh
=ED.GET("futures_peak_yr")

Peak quarterly futures

dailyfutures_peak_q

OMIP Peak quarterly futures settlement price for the Spanish zone.

Source: omipSince: 2025Unit: EUR/MWh
=ED.GET("futures_peak_q")

Peak monthly futures

dailyfutures_peak_m

OMIP Peak monthly futures settlement price for the Spanish zone.

Source: omipSince: 2025Unit: EUR/MWh
=ED.GET("futures_peak_m")

📈 Forwards (3)

OMIP Base Forward contracts: monthly, quarterly, yearly

Base forwards yearly

dailyforwards_yr

OMIP Base Forward yearly contract settlement price for the Spanish zone.

Source: omipSince: 2025Unit: EUR/MWh
=ED.GET("forwards_yr")

Base forwards quarterly

dailyforwards_q

OMIP Base Forward quarterly contract settlement price for the Spanish zone.

Source: omipSince: 2025Unit: EUR/MWh
=ED.GET("forwards_q")

Base forwards monthly

dailyforwards_m

OMIP Base Forward monthly contract settlement price for the Spanish zone.

Source: omipSince: 2025Unit: EUR/MWh
=ED.GET("forwards_m")

📈 Swaps (4)

OMIP Base Swap contracts: monthly, quarterly, yearly, PPA

Base swaps yearly

dailyswaps_yr

OMIP Base Swap yearly contract settlement price for the Spanish zone.

Source: omipSince: 2025Unit: EUR/MWh
=ED.GET("swaps_yr")

Base swaps quarterly

dailyswaps_q

OMIP Base Swap quarterly contract settlement price for the Spanish zone.

Source: omipSince: 2025Unit: EUR/MWh
=ED.GET("swaps_q")

Base swaps monthly

dailyswaps_m

OMIP Base Swap monthly contract settlement price for the Spanish zone.

Source: omipSince: 2025Unit: EUR/MWh
=ED.GET("swaps_m")

Base swaps PPA

dailyswaps_ppa

OMIP Base Swap PPA reference contract for the Spanish zone.

Source: omipSince: 2025Unit: EUR/MWh
=ED.GET("swaps_ppa")

🎯 Capture Prices (6)

Production-weighted average electricity price by technology

Solar PV capture price

dailycapture_solar

Realized sum(dayahead × metered gen_solar_pv) / sum(gen_solar_pv). Matches figures published by REE / industry reports. Use method=1 for the PBF ex-ante alternative.

Source: calculatedSince: 2014Unit: EUR/MWh
=ED.CAPTURE(1)

Wind capture price

dailycapture_wind

Realized production-weighted average price for wind (sum(dayahead × gen_wind) / sum(gen_wind)). Use method=1 for the PBF ex-ante alternative.

Source: calculatedSince: 2014Unit: EUR/MWh
=ED.CAPTURE(2)

Nuclear capture price

dailycapture_nuclear

Realized production-weighted average price for nuclear. Use method=1 for the PBF ex-ante alternative.

Source: calculatedSince: 2014Unit: EUR/MWh
=ED.CAPTURE(3)

Hydro capture price

dailycapture_hydro

Realized production-weighted average price for hydro. Use method=1 for the PBF ex-ante alternative (sums UGH + non-UGH + pumped turbining).

Source: calculatedSince: 2014Unit: EUR/MWh
=ED.CAPTURE(4)

Gas CCGT capture price

dailycapture_gas

Realized production-weighted average price for CCGT. Use method=1 for the PBF ex-ante alternative.

Source: calculatedSince: 2014Unit: EUR/MWh
=ED.CAPTURE(5)

Coal capture price

dailycapture_coal

Production-weighted average price for coal generators. Spain closed its last coal plants in July 2025, so capture_coal has no ES values after that date. Historical data 2014-2025 remains available.

Source: calculatedSince: 2014Unit: EUR/MWh
=ED.CAPTURE(6)

📋 C2 Settlement (10)

Definitive settlement values from REE C2 liquidation files. ~40 day delay but official values.

C2 RRTT redispatch price

hourlyc2_rrtt_price

Settled RRTT PBF (pay-as-bid) redispatch price. Definitive values from C2 liquidation.

Source: c2Since: 2024Unit: EUR/MWh
=ED.GET("c2_rrtt_price")

C2 RRTT total cost

hourlyc2_rrtt_cost

Settled RRTT total cost per hour. Definitive from C2 liquidation.

Source: c2Since: 2025Unit: EUR
=ED.GET("c2_rrtt_cost")

C2 RRTT energy (up)

15-minc2_rrtt_energy_up

Settled upward redispatch energy from RRTT. Quarter-hourly resolution.

Source: c2Since: 2024Unit: MWh
=ED.GET("c2_rrtt_energy_up")

C2 RRTT energy (down)

15-minc2_rrtt_energy_down

Settled downward redispatch energy from RRTT. Negative values = curtailment.

Source: c2Since: 2024Unit: MWh
=ED.GET("c2_rrtt_energy_down")

C2 RR energy (up)

15-minc2_rr_energy_up

Settled Replacement Reserve (RR) upward energy. European balancing product.

Source: c2Since: 2022Unit: MWh
=ED.GET("c2_rr_energy_up")

C2 RR energy (down)

15-minc2_rr_energy_down

Settled Replacement Reserve (RR) downward energy.

Source: c2Since: 2022Unit: MWh
=ED.GET("c2_rr_energy_down")

C2 RR price

15-minc2_rr_price

Settled Replacement Reserve marginal price per quarter-hour.

Source: c2Since: 2022Unit: EUR/MWh
=ED.GET("c2_rr_price")

C2 deviation price (up)

15-minc2_dev_price_up

Settled imbalance/deviation price for upward deviations. UNICO/DUAL.

Source: c2Since: 2024Unit: EUR/MWh
=ED.GET("c2_dev_price_up")

C2 deviation price (down)

15-minc2_dev_price_down

Settled imbalance/deviation price for downward deviations.

Source: c2Since: 2024Unit: EUR/MWh
=ED.GET("c2_dev_price_down")

C2 net deviation energy

15-minc2_dev_energy_net

Net system deviation energy per quarter-hour. Definitive settlement value.

Source: c2Since: 2024Unit: MWh
=ED.GET("c2_dev_energy_net")

Use any of these in Excel

ED.GET("metric_name") for a single value, ED.RANGE("metric_name", start, end, agg) for a series.