Agent skill

eptr2-generation-tracking

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/eptr2-generation-tracking

SKILL.md

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

python
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

Call Description (EN) Description (TR)
rt-generation Real-time generation by resource type Kaynak 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 Plan Kesinleşmiş Günlük Üretim Planı (KGÜP)
rt-gen-org Real-time generation by organization Organizasyon Bazlı GZÜ
uevm-pp UEVM by power plant Santral Bazlı UEVM

Resource Types (Fuel Types)

Turkish English Code
Doğalgaz Natural Gas naturalGas
Kömür Coal coal
Linyit Lignite lignite
İthal Kömür Imported Coal importedCoal
Rüzgar Wind wind
Güneş Solar sun
Hidroelektrik Hydro river, dammedHydro
Biyokütle Biomass biomass
Jeotermal Geothermal geothermal
Nükleer Nuclear nuclear

Composite Function for Generation Data

python
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:

Column Description
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

python
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

python
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

python
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

python
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

  • See examples.md for additional code examples

Expand your agent's capabilities with these related and highly-rated skills.

Didn't find tool you were looking for?

Be as detailed as possible for better results