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

Data catalog

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

253 metrics
Showing 250 of 250 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: esiosSince: 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: esiosSince: 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: esiosSince: 2021Unit: EUR/MWh
=ED.GET("pvpc_final")

Intraday session 1 price

15-minintraday_s1_price

Price from intraday auction session 1 (ES + PT).

Source: esiosSince: 2014Unit: EUR/MWh
=ED.GET("intraday_s1_price")

Intraday session 2 price

15-minintraday_s2_price

Price from intraday auction session 2.

Source: esiosSince: 2014Unit: EUR/MWh
=ED.GET("intraday_s2_price")

Intraday session 3 price

15-minintraday_s3_price

Price from intraday auction session 3.

Source: esiosSince: 2014Unit: EUR/MWh
=ED.GET("intraday_s3_price")

Intraday session 1 energy

15-minintraday_s1_energy

Matched energy volume in intraday auction session 1.

Source: esiosSince: 2014Unit: MWh
=ED.GET("intraday_s1_energy")

Intraday session 2 energy

15-minintraday_s2_energy

Matched energy volume in intraday auction session 2.

Source: esiosSince: 2014Unit: MWh
=ED.GET("intraday_s2_energy")

Intraday session 3 energy

15-minintraday_s3_energy

Matched energy volume in intraday auction session 3.

Source: esiosSince: 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 from 2020 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: esiosSince: 2020Unit: MW
=ED.GET("gen_solar_pv")

Solar thermal generation

hourlygen_solar_thermal

Concentrated solar power (CSP/solar thermal) generation.

Source: esiosSince: 2020Unit: MW
=ED.GET("gen_solar_thermal")

Solar PV generation

hourlygen_solar

Real-time solar photovoltaic generation in the peninsular system. Uses gen_solar pre-2020, gen_solar_pv post-2020.

Source: esiosSince: 2014Unit: MW
=ED.GEN(1)

Wind generation

hourlygen_wind

Real-time wind generation in the peninsular system.

Source: esiosSince: 2014Unit: MW
=ED.GEN(2)

Nuclear generation

hourlygen_nuclear

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

Source: esiosSince: 2014Unit: MW
=ED.GEN(3)

Hydro generation

hourlygen_hydro

Real-time conventional hydroelectric generation (UGH).

Source: esiosSince: 2014Unit: MW
=ED.GEN(4)

Gas CCGT generation

hourlygen_combined_cycle

Real-time combined cycle gas turbine generation.

Source: esiosSince: 2014Unit: MW
=ED.GEN(5)

Coal generation

hourlygen_coal

Real-time coal thermal generation.

Source: esiosSince: 2014Unit: MW
=ED.GEN(6)

International exchanges

hourlygen_exchanges

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

Source: esiosSince: 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+entsoeSince: 2015Unit: 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+entsoeSince: 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: esiosSince: 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: esiosSince: 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. ~3-5 TWh/yr in Spain.

Source: esiosSince: 2014Unit: 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. Negate this if computing net pumped-hydro flow.

Source: esiosSince: 2014Unit: 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. ~2-3 day lag, hourly cadence. Already in MWh (energy integrated over the hour) so no MW→MWh conversion needed.

Source: esiosSince: 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: esiosSince: 2014Unit: MW
=ED.GET("demand_real")

Scheduled demand

hourlydemand_scheduled

Day-ahead scheduled electricity demand.

Source: esiosSince: 2014Unit: MW
=ED.GET("demand_scheduled")

Demand forecast (D+1)

hourlydemand_forecast

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

Source: esiosSince: 2014Unit: MW
=ED.GET("demand_forecast")

⚖️ Balancing Services (16)

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

aFRR band price (up)

hourlyafrr_band_price_up

Secondary regulation band price for upward reserve.

Source: esiosSince: 2014Unit: EUR/MW
=ED.GET("afrr_band_price_up")

aFRR band price (down)

hourlyafrr_band_price_down

Secondary regulation band price for downward reserve.

Source: esiosSince: 2014Unit: EUR/MW
=ED.GET("afrr_band_price_down")

aFRR energy price (up)

hourlyafrr_energy_price_up

Secondary regulation energy activation price upward.

Source: esiosSince: 2014Unit: EUR/MWh
=ED.GET("afrr_energy_price_up")

aFRR energy price (down)

hourlyafrr_energy_price_down

Secondary regulation energy activation price downward.

Source: esiosSince: 2014Unit: EUR/MWh
=ED.GET("afrr_energy_price_down")

aFRR band assigned (up)

hourlyafrr_band_up

Secondary regulation upward band capacity assigned by REE.

Source: esiosSince: 2014Unit: MW
=ED.GET("afrr_band_up")

aFRR band assigned (down)

hourlyafrr_band_down

Secondary regulation downward band capacity assigned by REE.

Source: esiosSince: 2014Unit: MW
=ED.GET("afrr_band_down")

aFRR energy activated (up)

hourlyafrr_energy_up

Secondary regulation upward energy activated in real time.

Source: esiosSince: 2014Unit: MWh
=ED.GET("afrr_energy_up")

aFRR energy activated (down)

hourlyafrr_energy_down

Secondary regulation downward energy activated in real time.

Source: esiosSince: 2014Unit: MWh
=ED.GET("afrr_energy_down")

mFRR-SA price (up)

hourlymfrr_sa_price_up

Tertiary regulation scheduled activation marginal price upward.

Source: esiosSince: 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: esiosSince: 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: esiosSince: 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: esiosSince: 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: esiosSince: 2024Unit: 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: esiosSince: 2024Unit: 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: esiosSince: 2024Unit: MWh
=ED.GET("mfrr_da_assign_up")

mFRR-DA assigned energy (down)

hourlymfrr_da_assign_down

Tertiary regulation direct activation downward energy assigned.

Source: esiosSince: 2024Unit: 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: esiosSince: 2014Unit: EUR/MWh
=ED.GET("imbalance_price_up")

Imbalance price (down)

hourlyimbalance_price_down

Imbalance settlement price for downward deviations.

Source: esiosSince: 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: esiosSince: 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: esiosSince: 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: esiosSince: 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: esiosSince: 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: esiosSince: 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: esiosSince: 2014Unit: MWh
=ED.GET("redispatch_daily_energy_down")

Redispatch Phase I total cost

15-minredispatch_daily_cost

Total cost of Phase I technical constraints resolution.

Source: esiosSince: 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: esiosSince: 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: esiosSince: 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: esiosSince: 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: esiosSince: 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: esiosSince: 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: esiosSince: 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: esiosSince: 2014Unit: EUR/MWh
=ED.GET("redispatch_rt_price_down")

Redispatch real-time energy (up)

hourlyredispatch_rt_energy_up

Real-time upward redispatch energy.

Source: esiosSince: 2014Unit: MWh
=ED.GET("redispatch_rt_energy_up")

Redispatch real-time energy (down)

hourlyredispatch_rt_energy_down

Real-time downward redispatch energy.

Source: esiosSince: 2014Unit: MWh
=ED.GET("redispatch_rt_energy_down")

Redispatch real-time total cost

15-minredispatch_rt_cost

Total cost of real-time technical constraints.

Source: esiosSince: 2014Unit: EUR
=ED.GET("redispatch_rt_cost")

Renewable curtailment (ERNI)

dailycurtailment_pct

Percentage of renewable energy not integrated due to technical constraints.

Source: esiosSince: 2020Unit: %
=ED.GET("curtailment_pct")

ERNI Phase I transmission

dailyerni_pdbf_rtt

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

Source: esiosSince: 2020Unit: %
=ED.GET("erni_pdbf_rtt")

ERNI Phase I distribution

dailyerni_pdbf_rtd

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

Source: esiosSince: 2020Unit: %
=ED.GET("erni_pdbf_rtd")

ERNI real-time transmission

dailyerni_tr_rtt

ERNI percentage for real-time transmission network technical constraints.

Source: esiosSince: 2020Unit: %
=ED.GET("erni_tr_rtt")

ERNI real-time distribution

dailyerni_tr_rtd

ERNI percentage for real-time distribution network technical constraints.

Source: esiosSince: 2020Unit: %
=ED.GET("erni_tr_rtd")

💰 System Cost (31)

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: esiosSince: 2014Unit: EUR/MWh
=ED.GET("component_rrtt_monthly")

Ancillary services component

monthlycomponent_ancillary_monthly

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

Source: esiosSince: 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: esiosSince: 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: esiosSince: 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: esiosSince: 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: esiosSince: 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: esiosSince: 2014Unit: EUR/MWh
=ED.RANGE("pvpc_capacity_payment", "2024-01-01", "2024-12-31", 3)

PVPC: interruptibility service

hourlypvpc_interruptibility

Industrial interruptibility service cost. Deprecated 2022; ~0 EUR/MWh from then on.

Source: esiosSince: 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: esiosSince: 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: esiosSince: 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: esiosSince: 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: esiosSince: 2021Unit: EUR/MWh
=ED.RANGE("pvpc_renewable_auction", "2024-01-01", "2024-12-31", 3)

PVPC: MACP gas-cap surplus/deficit

hourlypvpc_macp

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

Source: esiosSince: 2022Unit: EUR/MWh
=ED.RANGE("pvpc_macp", "2024-01-01", "2024-12-31", 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: esiosSince: 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: esiosSince: 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: esiosSince: 2014Unit: EUR/MWh
=ED.RANGE("system_cost_rrtt_phase1", "2024-01-01", "2024-12-31", 3)

System cost: RRTT Phase II

hourlysystem_cost_rrtt_phase2

Cost of Phase II technical constraints (intraday restrictions, D-1 ~17:00) per MWh of demand. Source ESIOS 809 (hourly) — the legacy monthly indicator (887) was deprecated by REE; aggregate to monthly with agg=3.

Source: esiosSince: 2014Unit: EUR/MWh
=ED.RANGE("system_cost_rrtt_phase2", "2024-01-01", "2024-12-31", 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: esiosSince: 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: esiosSince: 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: esiosSince: 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: esiosSince: 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: esiosSince: 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: esiosSince: 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: esiosSince: 2014Unit: EUR/MWh
=ED.RANGE("system_cost_po146", "2024-01-01", "2024-12-31", 3)

System cost: UPG nomination failure

hourlysystem_cost_upg_failure

Penalty for UPG nomination failures per MWh of demand. Source ESIOS 816 (hourly) — the legacy monthly indicator (894) was deprecated by REE; aggregate to monthly with agg=3. Usually near-zero.

Source: esiosSince: 2014Unit: EUR/MWh
=ED.RANGE("system_cost_upg_failure", "2024-01-01", "2024-12-31", 3)

System cost: interruptibility service

monthlysystem_cost_interruptibility

Monthly industrial-interruptibility cost per MWh of demand. Deprecated 2022.

Source: esiosSince: 2014Unit: EUR/MWh
=ED.RANGE("system_cost_interruptibility", "2014-01-01", "2022-12-31", 3)

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

monthlysystem_cost_rdl10_22_rrtt_balance

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

Source: esiosSince: 2022Unit: EUR/MWh
=ED.RANGE("system_cost_rdl10_22_rrtt_balance", "2022-06-01", "2024-12-31", 3)

System cost: RD-L 10/2022 market

monthlysystem_cost_rdl10_22_market

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: esiosSince: 2022Unit: EUR/MWh
=ED.RANGE("system_cost_rdl10_22_market", "2022-06-01", "2024-12-31", 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: esiosSince: 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: esiosSince: 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: esiosSince: 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_eolica

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_fotovoltaica

RRE (RD 413/2014) per-MWh adjustment for solar PV. Mostly affects pre-2014 PV plants (RD 661/2007 era).

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_hidraulica

RRE (RD 413/2014) per-MWh adjustment for hydro.

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_termosolar

RRE (RD 413/2014) per-MWh adjustment for solar thermal (CSP).

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_renov

RRE (RD 413/2014) per-MWh adjustment for renewable thermal (biomass, biogas).

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_renov

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

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: esiosSince: 2022Unit: MW
=ED.GET("forecast_renewable_d1")

Renewable forecast H+3

hourlyforecast_renewable_h3

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

Source: esiosSince: 2022Unit: MW
=ED.GET("forecast_renewable_h3")

Residual demand forecast

15-minforecast_residual_demand

Forecast of demand minus renewable generation.

Source: esiosSince: 2022Unit: MW
=ED.GET("forecast_residual_demand")

📦 Scheduled Programs (60)

Scheduled Programs

PBF hydro UGH

hourlyprogram_pbf_hidro_ugh

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

Source: esiosSince: 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: esiosSince: 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: esiosSince: 2014Unit: MWh
=ED.GET("program_pbf_turb_bombeo")

PBF nuclear

hourlyprogram_pbf_nuclear

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

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_pbf_nuclear")

PBF CCGT

hourlyprogram_pbf_ccgt

Combined-cycle gas turbine scheduled in PBF.

Source: esiosSince: 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: esiosSince: 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: esiosSince: 2014Unit: MWh
=ED.GET("program_pbf_solar_pv")

PBF solar thermal

hourlyprogram_pbf_solar_thermal

Solar thermal (CSP) scheduled in PBF.

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_pbf_solar_thermal")

PBF cogeneration

hourlyprogram_pbf_cogen

Natural gas cogeneration scheduled in PBF.

Source: esiosSince: 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: esiosSince: 2014Unit: MWh
=ED.GET("program_pbf_oil_coal_deriv")

PBF residual energy

hourlyprogram_pbf_residual_energy

Residual/tail-gas energy scheduled in PBF.

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_pbf_residual_energy")

PBF biomass

hourlyprogram_pbf_biomass

Biomass scheduled in PBF.

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_pbf_biomass")

PBF biogas

hourlyprogram_pbf_biogas

Biogas scheduled in PBF.

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_pbf_biogas")

PBF household waste

hourlyprogram_pbf_household_waste

Household and similar waste scheduled in PBF.

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_pbf_household_waste")

PBF miscellaneous waste

hourlyprogram_pbf_misc_waste

Miscellaneous waste scheduled in PBF.

Source: esiosSince: 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: esiosSince: 2014Unit: MWh
=ED.GET("program_pbf_hidro_total")

PBF wind total (on + offshore)

hourlyprogram_pbf_total_wind

Onshore + offshore wind scheduled in PBF.

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_pbf_total_wind")

PBF other renewables

hourlyprogram_pbf_other_renewable

Other renewables (aggregated) scheduled in PBF.

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_pbf_other_renewable")

PBF total

hourlyprogram_pbf_total

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

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_pbf_total")

PBF hybrid

hourlyprogram_pbf_hybrid

Hybrid generation scheduled in PBF.

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_pbf_hybrid")

PVP hydro UGH

hourlyprogram_pvp_hidro_ugh

Hydro UGH scheduled in PVP (after RRTT).

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_pvp_hidro_ugh")

PVP hydro non-UGH

hourlyprogram_pvp_hidro_no_ugh

Hydro non-UGH scheduled in PVP.

Source: esiosSince: 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: esiosSince: 2014Unit: MWh
=ED.GET("program_pvp_turb_bombeo")

PVP nuclear

hourlyprogram_pvp_nuclear

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

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_pvp_nuclear")

PVP CCGT

hourlyprogram_pvp_ccgt

CCGT scheduled in PVP.

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_pvp_ccgt")

PVP onshore wind

hourlyprogram_pvp_wind

Onshore wind scheduled in PVP.

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_pvp_wind")

PVP solar PV

hourlyprogram_pvp_solar_pv

Solar PV scheduled in PVP.

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_pvp_solar_pv")

PVP solar thermal

hourlyprogram_pvp_solar_thermal

Solar thermal scheduled in PVP.

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_pvp_solar_thermal")

PVP cogeneration

hourlyprogram_pvp_cogen

Cogeneration scheduled in PVP.

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_pvp_cogen")

PVP oil/coal derivatives

hourlyprogram_pvp_oil_coal_deriv

Oil/coal derivatives scheduled in PVP.

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_pvp_oil_coal_deriv")

PVP residual energy

hourlyprogram_pvp_residual_energy

Residual energy scheduled in PVP.

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_pvp_residual_energy")

PVP biomass

hourlyprogram_pvp_biomass

Biomass scheduled in PVP.

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_pvp_biomass")

PVP biogas

hourlyprogram_pvp_biogas

Biogas scheduled in PVP.

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_pvp_biogas")

PVP household waste

hourlyprogram_pvp_household_waste

Household waste scheduled in PVP.

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_pvp_household_waste")

PVP miscellaneous waste

hourlyprogram_pvp_misc_waste

Miscellaneous waste scheduled in PVP.

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_pvp_misc_waste")

PVP hydro total

hourlyprogram_pvp_hidro_total

Total hydro scheduled in PVP.

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_pvp_hidro_total")

PVP wind total

hourlyprogram_pvp_total_wind

Total wind scheduled in PVP.

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_pvp_total_wind")

PVP other renewables

hourlyprogram_pvp_other_renewable

Other renewables scheduled in PVP.

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_pvp_other_renewable")

PVP total

hourlyprogram_pvp_total

Total scheduled generation in PVP.

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_pvp_total")

PVP hybrid

hourlyprogram_pvp_hybrid

Hybrid generation scheduled in PVP.

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_pvp_hybrid")

P48 hydro UGH

hourlyprogram_p48_hidro_ugh

Hydro UGH in P48 final D-1 schedule.

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_p48_hidro_ugh")

P48 hydro non-UGH

hourlyprogram_p48_hidro_no_ugh

Hydro non-UGH in P48.

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_p48_hidro_no_ugh")

P48 pumped hydro turbining

hourlyprogram_p48_turb_bombeo

Pumped hydro turbine in P48.

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_p48_turb_bombeo")

P48 nuclear

hourlyprogram_p48_nuclear

Nuclear in P48.

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_p48_nuclear")

P48 CCGT

hourlyprogram_p48_ccgt

CCGT in P48.

Source: esiosSince: 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: esiosSince: 2014Unit: MWh
=ED.GET("program_p48_wind")

P48 solar PV

hourlyprogram_p48_solar_pv

Solar PV in P48.

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_p48_solar_pv")

P48 solar thermal

hourlyprogram_p48_solar_thermal

Solar thermal in P48.

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_p48_solar_thermal")

P48 cogeneration

hourlyprogram_p48_cogen

Cogeneration in P48.

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_p48_cogen")

P48 oil/coal derivatives

hourlyprogram_p48_oil_coal_deriv

Oil/coal derivatives in P48.

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_p48_oil_coal_deriv")

P48 residual energy

hourlyprogram_p48_residual_energy

Residual energy in P48.

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_p48_residual_energy")

P48 biomass

hourlyprogram_p48_biomass

Biomass in P48.

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_p48_biomass")

P48 biogas

hourlyprogram_p48_biogas

Biogas in P48.

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_p48_biogas")

P48 household waste

hourlyprogram_p48_household_waste

Household waste in P48.

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_p48_household_waste")

P48 miscellaneous waste

hourlyprogram_p48_misc_waste

Miscellaneous waste in P48.

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_p48_misc_waste")

P48 hydro total

hourlyprogram_p48_hidro_total

Total hydro in P48.

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_p48_hidro_total")

P48 wind total

hourlyprogram_p48_total_wind

Total wind in P48.

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_p48_total_wind")

P48 other renewables

hourlyprogram_p48_other_renewable

Other renewables in P48.

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_p48_other_renewable")

P48 total

hourlyprogram_p48_total

Total generation in P48.

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_p48_total")

P48 hybrid

hourlyprogram_p48_hybrid

Hybrid generation in P48.

Source: esiosSince: 2014Unit: MWh
=ED.GET("program_p48_hybrid")

🔌 Storage & Interconnections (7)

Batteries, pumped hydro, and cross-border flows

Battery charging

hourlybattery_charge

Battery storage charging power.

Source: esiosSince: 2022Unit: MW
=ED.GET("battery_charge")

Battery delivery

hourlybattery_delivery

Battery storage discharge/delivery power.

Source: esiosSince: 2022Unit: MW
=ED.GET("battery_delivery")

Pumped hydro consumption

hourlypumped_consumption

Pumped hydro storage energy consumption.

Source: esiosSince: 2014Unit: MW
=ED.GET("pumped_consumption")

Pumped hydro turbine

hourlypumped_turbine

Pumped hydro storage turbine generation (discharge).

Source: esiosSince: 2014Unit: MW
=ED.GET("pumped_turbine")

France interconnection net

hourlyxborder_france_net

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

Source: esiosSince: 2014Unit: MWh
=ED.GET("xborder_france_net")

Portugal interconnection net

hourlyxborder_portugal_net

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

Source: esiosSince: 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: esiosSince: 2014Unit: MWh
=ED.GET("xborder_morocco_net")

🛢️ Commodities (11)

Oil, gas, and carbon prices from international markets

Brent crude oil

dailybrent

Europe Brent Spot Price FOB. The global benchmark for crude oil pricing.

Source: eiaSince: 1987Unit: USD/bbl
=ED.GET("brent")

WTI crude oil

dailywti

West Texas Intermediate Spot Price at Cushing, Oklahoma.

Source: eiaSince: 1986Unit: USD/bbl
=ED.GET("wti")

Henry Hub natural gas

dailyhenry_hub

US Henry Hub natural gas spot price.

Source: eiaSince: 1997Unit: USD/MMBtu
=ED.GET("henry_hub")

Dubai crude oil

monthlydubai_crude

Dubai/Oman crude oil benchmark price for Asian markets.

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

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).

Source: yahooSince: 2020Unit: EUR/MWh
=ED.GET("eu_gas_ttf")

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")

🔥 Gas (4)

MIBGAS PVB Spain gas prices: day-ahead, monthly, quarterly, yearly

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: 2024Unit: 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: 2024Unit: MWh
=ED.GET("c2_rr_energy_up")

C2 RR energy (down)

15-minc2_rr_energy_down

Settled Replacement Reserve (RR) downward energy.

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

C2 RR price

15-minc2_rr_price

Settled Replacement Reserve marginal price per quarter-hour.

Source: c2Since: 2024Unit: 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.