Claude-skill-registry eptr2-generation-tracking

Query Turkish electricity generation data including real-time generation by resource type, plant-level production, UEVM (settlement generation/Uzlaştırmaya Esas Veriş Miktarı), and generation forecasts. Use when asking about power generation, renewable energy output, plant production, solar/wind generation, or UEVM data in Turkey. Triggers on: elektrik üretimi, santral üretimi, rüzgar üretimi, güneş üretimi, UEVM, generation by fuel type.

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/eptr2-generation-tracking" ~/.claude/skills/majiayu000-claude-skill-registry-eptr2-generation-tracking && rm -rf "$T"
manifest: skills/data/eptr2-generation-tracking/SKILL.md
source content

Turkish Electricity Generation Tracking with eptr2

Overview

This skill helps you query electricity generation data from Turkey's EPIAS Transparency Platform using the eptr2 Python library.

Quick Start

from eptr2 import EPTR2

# Initialize with environment variables
eptr = EPTR2(use_dotenv=True, recycle_tgt=True)

# Get real-time generation by resource type
rt_gen = eptr.call("rt-generation", start_date="2024-07-29", end_date="2024-07-29")
print(rt_gen)

Available Generation Endpoints

CallDescription (EN)Description (TR)
rt-generation
Real-time generation by resource typeKaynak Bazlı Gerçek Zamanlı Üretim
rt-gen
Real-time generation (same as above)Gerçek Zamanlı Üretim
uevm
Settlement generation (UEVM)Uzlaştırmaya Esas Veriş Miktarı
dpp
/
kgup
Daily Production PlanKesinleşmiş Günlük Üretim Planı (KGÜP)
rt-gen-org
Real-time generation by organizationOrganizasyon Bazlı GZÜ
uevm-pp
UEVM by power plantSantral Bazlı UEVM

Resource Types (Fuel Types)

TurkishEnglishCode
DoğalgazNatural GasnaturalGas
KömürCoalcoal
LinyitLignitelignite
İthal KömürImported CoalimportedCoal
RüzgarWindwind
GüneşSolarsun
HidroelektrikHydroriver, dammedHydro
BiyokütleBiomassbiomass
JeotermalGeothermalgeothermal
NükleerNuclearnuclear

Composite Function for Generation Data

from eptr2.composite import get_hourly_production_data

df = get_hourly_production_data(
    eptr,
    start_date="2024-07-29",
    end_date="2024-07-29",
    verbose=True
)

Output Columns

Columns include

_rt
(real-time) and
_uevm
(settlement) suffixes:

ColumnDescription
dt
Datetime in ISO format
naturalGas_rt
Natural gas real-time generation
wind_rt
Wind real-time generation
sun_rt
Solar real-time generation
total_rt
Total real-time generation
naturalGas_uevm
Natural gas settlement generation
total_uevm
Total settlement generation
contract
Contract symbol

Common Use Cases

1. Total Generation Mix

rt_gen = eptr.call("rt-generation", start_date="2024-07-15", end_date="2024-07-15")

# Sum by resource type
fuel_mix = rt_gen.drop(columns=['date', 'hour']).sum()
total = fuel_mix.sum()

print("Generation Mix (July 15, 2024):")
for fuel, gen in fuel_mix.items():
    pct = (gen / total) * 100
    print(f"  {fuel}: {gen:,.0f} MWh ({pct:.1f}%)")

2. Renewable Energy Share

rt_gen = eptr.call("rt-generation", start_date="2024-07-15", end_date="2024-07-15")

# Define renewable columns
renewables = ['wind', 'sun', 'river', 'dammedHydro', 'geothermal', 'biomass']
renewable_cols = [c for c in rt_gen.columns if any(r in c.lower() for r in renewables)]

rt_gen['renewable'] = rt_gen[renewable_cols].sum(axis=1)
rt_gen['total'] = rt_gen.drop(columns=['date', 'hour']).sum(axis=1)
rt_gen['renewable_share'] = (rt_gen['renewable'] / rt_gen['total']) * 100

print(f"Average Renewable Share: {rt_gen['renewable_share'].mean():.1f}%")

3. Plant-Specific Generation

from eptr2.composite import get_hourly_production_data

# Example: Atatürk Dam (HES)
df = get_hourly_production_data(
    eptr,
    start_date="2024-07-15",
    end_date="2024-07-15",
    rt_pp_id=641,    # Real-time ID for Atatürk HES
    uevm_pp_id=142   # UEVM ID for Atatürk HES
)

print(f"Atatürk Dam Daily Generation: {df['total_rt'].sum():,.0f} MWh")

4. Production Plan vs Actual

from eptr2.composite import get_hourly_production_plan_data

df = get_hourly_production_plan_data(
    eptr,
    start_date="2024-07-15",
    end_date="2024-07-15",
    org_id=195,      # ELEKTRİK ÜRETİM AŞ
    uevcb_id=733     # ATATÜRK HES DB
)

# Compare KGUP (plan) with actual

Understanding Generation Data Types

Real-Time Generation (GZÜ)

  • What: Measured generation in near real-time
  • When: Available ~15 minutes after each hour
  • Use: Monitoring, market tracking

UEVM (Uzlaştırmaya Esas Veriş Miktarı)

  • What: Official settlement generation after reconciliation
  • When: Available after settlement period (~T+10 days)
  • Use: Settlement, billing, final analysis

KGÜP (Kesinleşmiş Günlük Üretim Planı)

  • What: Finalized daily production plan
  • When: Published day-ahead
  • Use: Market planning, deviation analysis

Date Format

Always use ISO format:

YYYY-MM-DD
(e.g., "2024-07-29")

Authentication

Set credentials in

.env
file:

EPTR_USERNAME=your_email@example.com
EPTR_PASSWORD=your_password

For More Details