{
  "manifestVersion": 1,
  "dataset": {
    "id": "transelectrica-sen",
    "name": "Romanian power grid (Transelectrica SEN)",
    "description": "Romania's electricity grid in real time, as published by Transelectrica, the transmission system operator. The SEN feed gives a snapshot roughly every ten seconds: national consumption and production, the eight generation sources, the eighteen interconnection points with Bulgaria, Serbia, Hungary, Moldova and Ukraine, and the 15-minute averages the feed publishes alongside. The source keeps no history — there is only \"now\" — so this dataset is the history. Beside it sit two series from Transelectrica's prosumers application: installed prosumer capacity by county and month, and hourly production forecasts per county published one and two days ahead.",
    "descriptions": {
      "ro": "Rețeaua electrică a României în timp real, așa cum o publică Transelectrica, operatorul de transport și de sistem. Fluxul SEN oferă un instantaneu la fiecare aproximativ zece secunde: consumul și producția la nivel național, cele opt surse de producție, cele optsprezece puncte de interconexiune cu Bulgaria, Serbia, Ungaria, Republica Moldova și Ucraina, plus mediile pe 15 minute pe care fluxul le publică alături. Sursa nu păstrează niciun istoric — există doar „acum” —, așa că acest set de date este istoricul. Lângă el stau două serii de la aplicația de prosumatori a Transelectrica: puterea instalată la prosumatori, lunar și pe județe, și prognozele orare de producție pentru fiecare județ, publicate cu o zi și cu două zile înainte.",
      "en": "Romania's electricity grid in real time, as published by Transelectrica, the transmission system operator. The SEN feed gives a snapshot roughly every ten seconds: national consumption and production, the eight generation sources, the eighteen interconnection points with Bulgaria, Serbia, Hungary, Moldova and Ukraine, and the 15-minute averages the feed publishes alongside. The source keeps no history — there is only \"now\" — so this dataset is the history. Beside it sit two series from Transelectrica's prosumers application: installed prosumer capacity by county and month, and hourly production forecasts per county published one and two days ahead."
    },
    "names": {
      "ro": "Sistemul Energetic Național (Transelectrica)",
      "en": "Romanian power grid (Transelectrica SEN)"
    },
    "sourceUrl": "https://www.transelectrica.ro/widget/web/tel/sen-harta",
    "license": {
      "id": "LicenseRef-Transelectrica-Public-Data",
      "name": "Transelectrica public operational data (no explicit re-use licence)",
      "url": "https://www.transelectrica.ro/",
      "attribution": "Transelectrica",
      "notes": "Transelectrica publishes this operational data openly on its public website and its public prosumers application, with no authentication and no stated restriction on access. It states NO re-use licence of any kind: there is no licence page, no terms-of-use page and no open-data statement on the site. The only relevant notice is a bare \"Copyright © Transelectrica 2013 - 2026\" in the page footer; the GDPR and cookie policies concern personal data and say nothing about this data, and the prosumers application carries an accuracy and liability disclaimer only. So the position is: publicly published operational data, no re-use licence stated by the publisher, only a bare copyright notice. This dataset is a derived work — the numeric measurements, restructured, documented and re-typed, with no page, image or other creative material copied — and it is republished with attribution to Transelectrica. Anyone redistributing it commercially, or relying on it where the terms matter, should seek permission from Transelectrica first. It is also an operational feed, not a settlement record: values are instantaneous readings and forecasts, they are not reconciled afterwards, and they must not be used where money or safety depends on the number."
    },
    "cadence": "hourly",
    "tags": [
      "energy",
      "electricity",
      "grid",
      "romania",
      "transelectrica",
      "renewables",
      "prosumers",
      "time-series"
    ],
    "sources": []
  },
  "ingest": {
    "id": "01M5JDE03D0A3VS2EBFVD86B3Y",
    "startedAt": "2026-10-22T18:19:34.381Z",
    "snapshotDate": "2026-10-22",
    "catalogSnapshotId": 156,
    "params": {
      "months": 2
    }
  },
  "baseUrl": "https://data-directory.fsn1.your-objectstorage.com/public/transelectrica-sen",
  "catalog": {
    "url": "https://data-directory.fsn1.your-objectstorage.com/catalog/transelectrica-sen/v/01M5JDE03D0A3VS2EBFVD86B3Y/catalog.ducklake",
    "latestUrl": "https://data-directory.fsn1.your-objectstorage.com/catalog/transelectrica-sen/catalog.ducklake",
    "sha256": "4762c9474b51161b59332bfcf2a9666e0a203b50b870199b9d349173200f1a5c",
    "duckdbVersion": "v1.5.5",
    "attachExample": "ATTACH 'ducklake:https://data-directory.fsn1.your-objectstorage.com/catalog/transelectrica-sen/catalog.ducklake' AS lake (READ_ONLY); SELECT * FROM lake.main.sen_readings LIMIT 5;"
  },
  "queryHints": {
    "examples": [
      {
        "title": "Production mix over the last week",
        "sql": "SELECT date_trunc('hour', reading_time) AS hour,\n       source_code,\n       avg(power_mw) AS avg_mw\nFROM sen_generation\nWHERE reading_time >= now() - INTERVAL 7 DAY\nGROUP BY 1, 2\nORDER BY 1 DESC, 3 DESC",
        "description": "The long table is the one to group by. The time filter comes first because reading_time is the leading sort column."
      },
      {
        "title": "Net cross-border exchange by country",
        "sql": "SELECT country, avg(flow_mw) AS avg_mw\nFROM sen_interconnection_flows\nWHERE reading_time >= now() - INTERVAL 1 DAY\n  AND country IS NOT NULL\nGROUP BY 1\nORDER BY 2 DESC",
        "description": "Positive is an import into Romania. The eighteen points sum to SOLD in sen_readings."
      },
      {
        "title": "What does this feed key mean?",
        "sql": "SELECT key, kind, unit, label_en, reading_column, description_en\nFROM sen_feed_keys\nWHERE kind IN ('source', 'total')\nORDER BY kind, key",
        "description": "The catalogue that makes the raw feed readable, in both platform languages."
      },
      {
        "title": "Prosumer capacity growth, national",
        "sql": "SELECT month, capacity_mw\nFROM prosumer_installed_capacity\nWHERE county_code = 'RO'\nORDER BY month",
        "description": "county_code = 'RO' is the national total; the counties are the other 42."
      },
      {
        "title": "How much did the forecast move between the two horizons?",
        "sql": "SELECT d1.forecast_date, d1.hour, d1.power_mw AS day_ahead_mw,\n       d2.power_mw AS two_days_ahead_mw,\n       d1.power_mw - d2.power_mw AS revision_mw\nFROM prosumer_forecast_hourly d1\nJOIN prosumer_forecast_hourly d2\n  ON d1.forecast_date = d2.forecast_date\n AND d1.hour = d2.hour\n AND d1.county_code = d2.county_code\nWHERE d1.vintage = 'd1' AND d2.vintage = 'd2'\n  AND d1.county_code = 'RO'\n  AND d1.forecast_date >= '2026-08-01'\nORDER BY 1, 2"
      }
    ]
  },
  "tables": [
    {
      "name": "sen_readings",
      "description": "One row per snapshot of Transelectrica's live SEN feed, wide: every documented quantity the feed publishes as its own column, plus the six it publishes without documenting. Border-crossing flows are NOT here — they have eighteen columns of their own shape and are published long-form in sen_interconnection_flows. The feed refreshes roughly every ten seconds and carries no history, so this table is the history: it is only as complete as the ingest schedule that filled it. Empty is missing, never zero, and negative values are real.",
      "descriptions": {
        "ro": "Câte un rând pentru fiecare instantaneu al fluxului SEN al Transelectrica, în format lat: fiecare mărime documentată publicată de flux are propria coloană, la fel și cele șase pe care fluxul le publică fără nicio documentație. Fluxurile transfrontaliere NU se află aici: ele au altă formă, cu optsprezece puncte, și sunt publicate în format lung în sen_interconnection_flows. Fluxul se actualizează la aproximativ zece secunde și nu păstrează istoric, deci acest tabel este istoricul: este complet doar în măsura în care a rulat programul de colectare. Valoarea goală înseamnă lipsă, niciodată zero, iar valorile negative sunt reale.",
        "en": "One row per snapshot of Transelectrica's live SEN feed, wide: every documented quantity the feed publishes as its own column, plus the six it publishes without documenting. Border-crossing flows are NOT here — they have eighteen columns of their own shape and are published long-form in sen_interconnection_flows. The feed refreshes roughly every ten seconds and carries no history, so this table is the history: it is only as complete as the ingest schedule that filled it. Empty is missing, never zero, and negative values are real."
      },
      "rowCount": 147,
      "lastRunRows": 1,
      "totalBytes": 19245,
      "sortBy": [
        "reading_time"
      ],
      "searchColumns": [],
      "primaryKey": [
        "reading_time"
      ],
      "writeMode": "append",
      "storage": "lake",
      "columns": [
        {
          "name": "reading_time",
          "type": "TIMESTAMP",
          "nullable": false,
          "description": "The instant the feed itself stamped on this snapshot, in UTC. The source writes it as \"yy/M/d HH:mm:ss\" in Romanian civil time (Europe/Bucharest, EET/EEST) with a two-digit year and an unpadded month and day; it is parsed and converted here so the column is a single, sortable, zone-free UTC scale. This is the identity of the row.",
          "descriptions": {
            "ro": "Momentul pe care fluxul însuși l-a atașat acestui instantaneu, în UTC. Sursa îl scrie ca „aa/L/z HH:mm:ss” în ora civilă a României (Europe/Bucharest, EET/EEST), cu an din două cifre și cu luna și ziua fără zero în față; aici este interpretat și convertit, astfel încât coloana să fie o singură scală UTC, sortabilă și fără fus orar. Aceasta este identitatea rândului.",
            "en": "The instant the feed itself stamped on this snapshot, in UTC. The source writes it as \"yy/M/d HH:mm:ss\" in Romanian civil time (Europe/Bucharest, EET/EEST) with a two-digit year and an unpadded month and day; it is parsed and converted here so the column is a single, sortable, zone-free UTC scale. This is the identity of the row."
          },
          "min": "2026-09-03 06:02:42",
          "max": "2026-10-22 18:19:11",
          "distinctApprox": 158
        },
        {
          "name": "ingested_at",
          "type": "TIMESTAMPTZ",
          "nullable": false,
          "description": "When this connector read the feed (UTC). Compare it with reading_time to see how stale the snapshot was when it was captured; a gap of more than a minute or two means the feed, not the ingest, was behind.",
          "descriptions": {
            "ro": "Momentul în care acest conector a citit fluxul (UTC). Comparat cu reading_time arată cât de vechi era instantaneul la momentul capturii; o diferență mai mare de un minut sau două înseamnă că fluxul rămăsese în urmă, nu colectarea.",
            "en": "When this connector read the feed (UTC). Compare it with reading_time to see how stale the snapshot was when it was captured; a gap of more than a minute or two means the feed, not the ingest, was behind."
          }
        },
        {
          "name": "carb_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "CARB gives the instantaneous power, in MW, generated from coal in Romania's National Power System, one of the eight sources that sum to total production (PROD).",
          "descriptions": {
            "ro": "CARB indică puterea instantanee, în MW, produsă din cărbune în Sistemul Energetic Național, una dintre cele opt surse care însumate formează producția totală (PROD).",
            "en": "CARB gives the instantaneous power, in MW, generated from coal in Romania's National Power System, one of the eight sources that sum to total production (PROD)."
          },
          "unit": "MW"
        },
        {
          "name": "gaze_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "GAZE gives the instantaneous power, in MW, generated from hydrocarbons (natural gas) in Romania's National Power System, one of the eight sources that sum to total production (PROD).",
          "descriptions": {
            "ro": "GAZE indică puterea instantanee, în MW, produsă din hidrocarburi (gaze naturale) în Sistemul Energetic Național, una dintre cele opt surse care însumate formează producția totală (PROD).",
            "en": "GAZE gives the instantaneous power, in MW, generated from hydrocarbons (natural gas) in Romania's National Power System, one of the eight sources that sum to total production (PROD)."
          },
          "unit": "MW"
        },
        {
          "name": "ape_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "APE gives the total instantaneous hydro power, in MW, generated in Romania's National Power System, computed as the sum of the CHEA and CHEF components and itself folded into total production (PROD).",
          "descriptions": {
            "ro": "APE indică puterea instantanee totală, în MW, produsă din hidrocentrale în Sistemul Energetic Național, calculată ca suma componentelor CHEA și CHEF și inclusă la rândul ei în producția totală (PROD).",
            "en": "APE gives the total instantaneous hydro power, in MW, generated in Romania's National Power System, computed as the sum of the CHEA and CHEF components and itself folded into total production (PROD)."
          },
          "unit": "MW"
        },
        {
          "name": "nucl_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "NUCL gives the instantaneous power, in MW, generated at the nuclear power plant in Romania's National Power System, one of the eight sources that sum to total production (PROD).",
          "descriptions": {
            "ro": "NUCL indică puterea instantanee, în MW, produsă la centrala nuclearo-electrică din Sistemul Energetic Național, una dintre cele opt surse care însumate formează producția totală (PROD).",
            "en": "NUCL gives the instantaneous power, in MW, generated at the nuclear power plant in Romania's National Power System, one of the eight sources that sum to total production (PROD)."
          },
          "unit": "MW"
        },
        {
          "name": "eolian_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "EOLIAN gives the instantaneous power, in MW, generated from wind in Romania's National Power System, one of the eight sources that sum to total production (PROD).",
          "descriptions": {
            "ro": "EOLIAN indică puterea instantanee, în MW, produsă din energie eoliană în Sistemul Energetic Național, una dintre cele opt surse care însumate formează producția totală (PROD).",
            "en": "EOLIAN gives the instantaneous power, in MW, generated from wind in Romania's National Power System, one of the eight sources that sum to total production (PROD)."
          },
          "unit": "MW"
        },
        {
          "name": "foto_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "FOTO gives the instantaneous power, in MW, generated from photovoltaic panels in Romania's National Power System, which can read slightly negative overnight due to the installations' own consumption, and is one of the eight sources that sum to total production (PROD).",
          "descriptions": {
            "ro": "FOTO indică puterea instantanee, în MW, produsă din panouri fotovoltaice în Sistemul Energetic Național, putând avea valori ușor negative noaptea din cauza consumului propriu al instalațiilor, și este una dintre cele opt surse care însumate formează producția totală (PROD).",
            "en": "FOTO gives the instantaneous power, in MW, generated from photovoltaic panels in Romania's National Power System, which can read slightly negative overnight due to the installations' own consumption, and is one of the eight sources that sum to total production (PROD)."
          },
          "unit": "MW"
        },
        {
          "name": "bmasa_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "BMASA gives the instantaneous power, in MW, generated from biomass in Romania's National Power System, one of the eight sources that sum to total production (PROD).",
          "descriptions": {
            "ro": "BMASA indică puterea instantanee, în MW, produsă din biomasă în Sistemul Energetic Național, una dintre cele opt surse care însumate formează producția totală (PROD).",
            "en": "BMASA gives the instantaneous power, in MW, generated from biomass in Romania's National Power System, one of the eight sources that sum to total production (PROD)."
          },
          "unit": "MW"
        },
        {
          "name": "ispoz_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "ISPOZ gives the instantaneous power, in MW, generated from pumped-storage hydro plants in Romania's National Power System, one of the eight sources that sum to total production (PROD).",
          "descriptions": {
            "ro": "ISPOZ indică puterea instantanee, în MW, produsă din hidrocentrale cu acumulare prin pompare în Sistemul Energetic Național, una dintre cele opt surse care însumate formează producția totală (PROD).",
            "en": "ISPOZ gives the instantaneous power, in MW, generated from pumped-storage hydro plants in Romania's National Power System, one of the eight sources that sum to total production (PROD)."
          },
          "unit": "MW"
        },
        {
          "name": "cons_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "CONS gives the total instantaneous consumption, in MW, of Romania's National Power System.",
          "descriptions": {
            "ro": "CONS indică consumul instantaneu total, în MW, al Sistemului Energetic Național al României.",
            "en": "CONS gives the total instantaneous consumption, in MW, of Romania's National Power System."
          },
          "unit": "MW"
        },
        {
          "name": "prod_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "PROD gives the total instantaneous production, in MW, of the National Power System, computed as the sum of the eight sources CARB, GAZE, APE, NUCL, EOLIAN, FOTO, BMASA and ISPOZ.",
          "descriptions": {
            "ro": "PROD indică producția instantanee totală, în MW, a Sistemului Energetic Național, calculată ca suma celor opt surse CARB, GAZE, APE, NUCL, EOLIAN, FOTO, BMASA și ISPOZ.",
            "en": "PROD gives the total instantaneous production, in MW, of the National Power System, computed as the sum of the eight sources CARB, GAZE, APE, NUCL, EOLIAN, FOTO, BMASA and ISPOZ."
          },
          "unit": "MW"
        },
        {
          "name": "sold_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "SOLD gives the instantaneous cross-border exchange balance, in MW, computed as CONS minus PROD and equal to the sum of the 18 real cross-border interconnection points, where a positive value means Romania is a net importer and a negative value means it is a net exporter.",
          "descriptions": {
            "ro": "SOLD indică soldul instantaneu de schimb cu rețelele vecine, în MW, calculat ca CONS minus PROD și egal cu suma celor 18 puncte reale de interconexiune transfrontalieră, unde o valoare pozitivă înseamnă import net de energie în România, iar una negativă export net.",
            "en": "SOLD gives the instantaneous cross-border exchange balance, in MW, computed as CONS minus PROD and equal to the sum of the 18 real cross-border interconnection points, where a positive value means Romania is a net importer and a negative value means it is a net exporter."
          },
          "unit": "MW"
        },
        {
          "name": "chea_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "CHEA gives the instantaneous power, in MW, of one of the two components the source splits total hydro production into (APE = CHEA + CHEF); the source does not document which plant or group of hydro plants this code covers, so nothing further is assumed.",
          "descriptions": {
            "ro": "CHEA indică puterea instantanee, în MW, a uneia dintre cele două componente în care sursa oficială împarte producția hidro totală (APE = CHEA + CHEF); sursa nu documentează ce centrale sau ce grup de hidrocentrale acoperă exact acest cod, așa că nu se presupune nimic în plus.",
            "en": "CHEA gives the instantaneous power, in MW, of one of the two components the source splits total hydro production into (APE = CHEA + CHEF); the source does not document which plant or group of hydro plants this code covers, so nothing further is assumed."
          },
          "unit": "MW"
        },
        {
          "name": "chef_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "CHEF gives the instantaneous power, in MW, of the other component the source splits total hydro production into (APE = CHEA + CHEF); the source does not document which plants this code covers, and it is NOT a cross-border interconnection point, contrary to some unofficial listings.",
          "descriptions": {
            "ro": "CHEF indică puterea instantanee, în MW, a celeilalte componente în care sursa oficială împarte producția hidro totală (APE = CHEA + CHEF); sursa nu documentează ce centrale acoperă exact acest cod, iar codul NU reprezintă un punct de interconexiune transfrontalieră, contrar unor liste neoficiale.",
            "en": "CHEF gives the instantaneous power, in MW, of the other component the source splits total hydro production into (APE = CHEA + CHEF); the source does not document which plants this code covers, and it is NOT a cross-border interconnection point, contrary to some unofficial listings."
          },
          "unit": "MW"
        },
        {
          "name": "mint_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "MINT gives the instantaneous power, in MW, measured at the Mintia point, a domestic location within Romania's National Power System (not a cross-border interconnection point, contrary to some unofficial listings), with no further detail documented by the source about the exact meaning of the value.",
          "descriptions": {
            "ro": "MINT indică puterea instantanee, în MW, măsurată la punctul Mintia, o locație internă a Sistemului Energetic Național (nu un punct de interconexiune transfrontalieră, contrar unor liste neoficiale), fără alte detalii documentate de sursă despre semnificația exactă a valorii.",
            "en": "MINT gives the instantaneous power, in MW, measured at the Mintia point, a domestic location within Romania's National Power System (not a cross-border interconnection point, contrary to some unofficial listings), with no further detail documented by the source about the exact meaning of the value."
          },
          "unit": "MW"
        },
        {
          "name": "paro_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "PARO gives the instantaneous power, in MW, measured at the Paroșeni point, a domestic location within Romania's National Power System (not a cross-border interconnection point, contrary to some unofficial listings), with no further detail documented by the source about the exact meaning of the value.",
          "descriptions": {
            "ro": "PARO indică puterea instantanee, în MW, măsurată la punctul Paroșeni, o locație internă a Sistemului Energetic Național (nu un punct de interconexiune transfrontalieră, contrar unor liste neoficiale), fără alte detalii documentate de sursă despre semnificația exactă a valorii.",
            "en": "PARO gives the instantaneous power, in MW, measured at the Paroșeni point, a domestic location within Romania's National Power System (not a cross-border interconnection point, contrary to some unofficial listings), with no further detail documented by the source about the exact meaning of the value."
          },
          "unit": "MW"
        },
        {
          "name": "ias2_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "IAS2 gives the instantaneous power, in MW, measured at the Iași 2 point, a domestic location within Romania's National Power System (not a cross-border interconnection point, contrary to some unofficial listings), with no further detail documented by the source about the exact meaning of the value.",
          "descriptions": {
            "ro": "IAS2 indică puterea instantanee, în MW, măsurată la punctul Iași 2, o locație internă a Sistemului Energetic Național (nu un punct de interconexiune transfrontalieră, contrar unor liste neoficiale), fără alte detalii documentate de sursă despre semnificația exactă a valorii.",
            "en": "IAS2 gives the instantaneous power, in MW, measured at the Iași 2 point, a domestic location within Romania's National Power System (not a cross-border interconnection point, contrary to some unofficial listings), with no further detail documented by the source about the exact meaning of the value."
          },
          "unit": "MW"
        },
        {
          "name": "cons15_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "CONS15 is the 15-minute rolling average, in MW, of total consumption CONS of the National Power System.",
          "descriptions": {
            "ro": "CONS15 este media mobilă pe 15 minute, în MW, a consumului total CONS al Sistemului Energetic Național.",
            "en": "CONS15 is the 15-minute rolling average, in MW, of total consumption CONS of the National Power System."
          },
          "unit": "MW"
        },
        {
          "name": "carb15_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "CARB15 is the 15-minute rolling average, in MW, of the coal-fired generation CARB.",
          "descriptions": {
            "ro": "CARB15 este media mobilă pe 15 minute, în MW, a puterii produse din cărbune CARB.",
            "en": "CARB15 is the 15-minute rolling average, in MW, of the coal-fired generation CARB."
          },
          "unit": "MW"
        },
        {
          "name": "gaze15_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "GAZE15 is the 15-minute rolling average, in MW, of the hydrocarbon (natural gas) generation GAZE.",
          "descriptions": {
            "ro": "GAZE15 este media mobilă pe 15 minute, în MW, a puterii produse din hidrocarburi GAZE.",
            "en": "GAZE15 is the 15-minute rolling average, in MW, of the hydrocarbon (natural gas) generation GAZE."
          },
          "unit": "MW"
        },
        {
          "name": "nucl15_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "NUCL15 is the 15-minute rolling average, in MW, of the nuclear generation NUCL.",
          "descriptions": {
            "ro": "NUCL15 este media mobilă pe 15 minute, în MW, a puterii nucleare NUCL.",
            "en": "NUCL15 is the 15-minute rolling average, in MW, of the nuclear generation NUCL."
          },
          "unit": "MW"
        },
        {
          "name": "eolian15_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "EOLIAN15 is the 15-minute rolling average, in MW, of the wind generation EOLIAN.",
          "descriptions": {
            "ro": "EOLIAN15 este media mobilă pe 15 minute, în MW, a puterii eoliene EOLIAN.",
            "en": "EOLIAN15 is the 15-minute rolling average, in MW, of the wind generation EOLIAN."
          },
          "unit": "MW"
        },
        {
          "name": "foto15_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "FOTO15 is the 15-minute rolling average, in MW, of the photovoltaic generation FOTO.",
          "descriptions": {
            "ro": "FOTO15 este media mobilă pe 15 minute, în MW, a puterii fotovoltaice FOTO.",
            "en": "FOTO15 is the 15-minute rolling average, in MW, of the photovoltaic generation FOTO."
          },
          "unit": "MW"
        },
        {
          "name": "bmasa15_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "BMASA15 is the 15-minute rolling average, in MW, of the biomass generation BMASA.",
          "descriptions": {
            "ro": "BMASA15 este media mobilă pe 15 minute, în MW, a puterii produse din biomasă BMASA.",
            "en": "BMASA15 is the 15-minute rolling average, in MW, of the biomass generation BMASA."
          },
          "unit": "MW"
        },
        {
          "name": "chea15_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "CHEA15 is the 15-minute rolling average, in MW, of the CHEA hydro component, one of the two components of total hydro production APE not documented in further detail by the source.",
          "descriptions": {
            "ro": "CHEA15 este media mobilă pe 15 minute, în MW, a componentei hidro CHEA, una dintre cele două componente nedocumentate în detaliu ale producției hidro totale APE.",
            "en": "CHEA15 is the 15-minute rolling average, in MW, of the CHEA hydro component, one of the two components of total hydro production APE not documented in further detail by the source."
          },
          "unit": "MW"
        },
        {
          "name": "chef15_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "CHEF15 is the 15-minute rolling average, in MW, of the CHEF hydro component, the other undocumented component of total hydro production APE, and NOT a cross-border interconnection point.",
          "descriptions": {
            "ro": "CHEF15 este media mobilă pe 15 minute, în MW, a componentei hidro CHEF, cealaltă componentă nedocumentată în detaliu a producției hidro totale APE, și NU un punct de interconexiune transfrontalieră.",
            "en": "CHEF15 is the 15-minute rolling average, in MW, of the CHEF hydro component, the other undocumented component of total hydro production APE, and NOT a cross-border interconnection point."
          },
          "unit": "MW"
        },
        {
          "name": "kozl115_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "KOZL115 is the 15-minute rolling average, in MW, of the KOZL1 power flow on the Kozlodui 1 interconnection line with Bulgaria.",
          "descriptions": {
            "ro": "KOZL115 este media mobilă pe 15 minute, în MW, a fluxului de putere KOZL1 de pe linia de interconexiune Kozlodui 1 cu Bulgaria.",
            "en": "KOZL115 is the 15-minute rolling average, in MW, of the KOZL1 power flow on the Kozlodui 1 interconnection line with Bulgaria."
          },
          "unit": "MW"
        },
        {
          "name": "kozl215_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "KOZL215 is the 15-minute rolling average, in MW, of the KOZL2 power flow on the Kozlodui 2 interconnection line with Bulgaria.",
          "descriptions": {
            "ro": "KOZL215 este media mobilă pe 15 minute, în MW, a fluxului de putere KOZL2 de pe linia de interconexiune Kozlodui 2 cu Bulgaria.",
            "en": "KOZL215 is the 15-minute rolling average, in MW, of the KOZL2 power flow on the Kozlodui 2 interconnection line with Bulgaria."
          },
          "unit": "MW"
        },
        {
          "name": "varn15_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "VARN15 is the 15-minute rolling average, in MW, of the VARN power flow on the Varna interconnection line with Bulgaria.",
          "descriptions": {
            "ro": "VARN15 este media mobilă pe 15 minute, în MW, a fluxului de putere VARN de pe linia de interconexiune Varna cu Bulgaria.",
            "en": "VARN15 is the 15-minute rolling average, in MW, of the VARN power flow on the Varna interconnection line with Bulgaria."
          },
          "unit": "MW"
        },
        {
          "name": "dobr15_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "DOBR15 is the 15-minute rolling average, in MW, of the DOBR power flow on the Dobrogea interconnection line with Bulgaria.",
          "descriptions": {
            "ro": "DOBR15 este media mobilă pe 15 minute, în MW, a fluxului de putere DOBR de pe linia de interconexiune Dobrogea cu Bulgaria.",
            "en": "DOBR15 is the 15-minute rolling average, in MW, of the DOBR power flow on the Dobrogea interconnection line with Bulgaria."
          },
          "unit": "MW"
        },
        {
          "name": "djer15_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "DJER15 is the 15-minute rolling average, in MW, of the DJER power flow on the Djerdap interconnection line with Serbia.",
          "descriptions": {
            "ro": "DJER15 este media mobilă pe 15 minute, în MW, a fluxului de putere DJER de pe linia de interconexiune Djerdap cu Serbia.",
            "en": "DJER15 is the 15-minute rolling average, in MW, of the DJER power flow on the Djerdap interconnection line with Serbia."
          },
          "unit": "MW"
        },
        {
          "name": "pancevo2115_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "PANCEVO2115 is the 15-minute rolling average, in MW, of the PANCEVO21 power flow on the Pancevo 2.1 interconnection line with Serbia.",
          "descriptions": {
            "ro": "PANCEVO2115 este media mobilă pe 15 minute, în MW, a fluxului de putere PANCEVO21 de pe linia de interconexiune Pancevo 2.1 cu Serbia.",
            "en": "PANCEVO2115 is the 15-minute rolling average, in MW, of the PANCEVO21 power flow on the Pancevo 2.1 interconnection line with Serbia."
          },
          "unit": "MW"
        },
        {
          "name": "pancevo2215_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "PANCEVO2215 is the 15-minute rolling average, in MW, of the PANCEVO22 power flow on the Pancevo 2.2 interconnection line with Serbia.",
          "descriptions": {
            "ro": "PANCEVO2215 este media mobilă pe 15 minute, în MW, a fluxului de putere PANCEVO22 de pe linia de interconexiune Pancevo 2.2 cu Serbia.",
            "en": "PANCEVO2215 is the 15-minute rolling average, in MW, of the PANCEVO22 power flow on the Pancevo 2.2 interconnection line with Serbia."
          },
          "unit": "MW"
        },
        {
          "name": "beke115_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "BEKE115 is the 15-minute rolling average, in MW, of the BEKE1 power flow on the Bekescsaba interconnection line with Hungary.",
          "descriptions": {
            "ro": "BEKE115 este media mobilă pe 15 minute, în MW, a fluxului de putere BEKE1 de pe linia de interconexiune Bekescsaba cu Ungaria.",
            "en": "BEKE115 is the 15-minute rolling average, in MW, of the BEKE1 power flow on the Bekescsaba interconnection line with Hungary."
          },
          "unit": "MW"
        },
        {
          "name": "sand15_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "SAND15 is the 15-minute rolling average, in MW, of the SAND power flow on the Sandorfalva interconnection line with Hungary.",
          "descriptions": {
            "ro": "SAND15 este media mobilă pe 15 minute, în MW, a fluxului de putere SAND de pe linia de interconexiune Sandorfalva cu Ungaria.",
            "en": "SAND15 is the 15-minute rolling average, in MW, of the SAND power flow on the Sandorfalva interconnection line with Hungary."
          },
          "unit": "MW"
        },
        {
          "name": "muka15_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "MUKA15 is the 15-minute rolling average, in MW, of the MUKA power flow on the Mukacevo interconnection line with Ukraine.",
          "descriptions": {
            "ro": "MUKA15 este media mobilă pe 15 minute, în MW, a fluxului de putere MUKA de pe linia de interconexiune Mukacevo cu Ucraina.",
            "en": "MUKA15 is the 15-minute rolling average, in MW, of the MUKA power flow on the Mukacevo interconnection line with Ukraine."
          },
          "unit": "MW"
        },
        {
          "name": "paro15_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "PARO15 is the 15-minute rolling average, in MW, of the PARO value measured at the domestic Paroșeni point, which is not a cross-border interconnection point.",
          "descriptions": {
            "ro": "PARO15 este media mobilă pe 15 minute, în MW, a valorii PARO măsurate la punctul intern Paroșeni, care nu este un punct de interconexiune transfrontalieră.",
            "en": "PARO15 is the 15-minute rolling average, in MW, of the PARO value measured at the domestic Paroșeni point, which is not a cross-border interconnection point."
          },
          "unit": "MW"
        },
        {
          "name": "ias215_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "IAS215 is the 15-minute rolling average, in MW, of the IAS2 value measured at the domestic Iași 2 point, which is not a cross-border interconnection point.",
          "descriptions": {
            "ro": "IAS215 este media mobilă pe 15 minute, în MW, a valorii IAS2 măsurate la punctul intern Iași 2, care nu este un punct de interconexiune transfrontalieră.",
            "en": "IAS215 is the 15-minute rolling average, in MW, of the IAS2 value measured at the domestic Iași 2 point, which is not a cross-border interconnection point."
          },
          "unit": "MW"
        },
        {
          "name": "mint15_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "MINT15 is the 15-minute rolling average, in MW, of the MINT value measured at the domestic Mintia point, which is not a cross-border interconnection point.",
          "descriptions": {
            "ro": "MINT15 este media mobilă pe 15 minute, în MW, a valorii MINT măsurate la punctul intern Mintia, care nu este un punct de interconexiune transfrontalieră.",
            "en": "MINT15 is the 15-minute rolling average, in MW, of the MINT value measured at the domestic Mintia point, which is not a cross-border interconnection point."
          },
          "unit": "MW"
        },
        {
          "name": "prog_raw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "PROG is published by the feed with no documentation of its meaning, the observed value being an empty string (\"\"), and this catalogue does not guess what it represents.",
          "descriptions": {
            "ro": "PROG este publicat de flux fără nicio documentație a semnificației sale, valoarea observată fiind un șir gol (\"\"), iar acest catalog nu presupune ce reprezintă.",
            "en": "PROG is published by the feed with no documentation of its meaning, the observed value being an empty string (\"\"), and this catalogue does not guess what it represents."
          }
        },
        {
          "name": "is_raw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "IS is published by the feed with no documentation of its meaning, the observed value in the reference snapshot being 108, and this catalogue does not guess what it represents.",
          "descriptions": {
            "ro": "IS este publicat de flux fără nicio documentație a semnificației sale, valoarea observată în instantaneul de referință fiind 108, iar acest catalog nu presupune ce reprezintă.",
            "en": "IS is published by the feed with no documentation of its meaning, the observed value in the reference snapshot being 108, and this catalogue does not guess what it represents."
          }
        },
        {
          "name": "prot1tms_raw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "Prot1TMS is published by the feed with no documentation of its meaning, the observed value being an empty string (\"\"), and this catalogue does not guess what it represents.",
          "descriptions": {
            "ro": "Prot1TMS este publicat de flux fără nicio documentație a semnificației sale, valoarea observată fiind un șir gol (\"\"), iar acest catalog nu presupune ce reprezintă.",
            "en": "Prot1TMS is published by the feed with no documentation of its meaning, the observed value being an empty string (\"\"), and this catalogue does not guess what it represents."
          }
        },
        {
          "name": "plan_raw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "PLAN is published by the feed with no documentation of its meaning, the observed value in the reference snapshot being 1228, and this catalogue does not guess what it represents.",
          "descriptions": {
            "ro": "PLAN este publicat de flux fără nicio documentație a semnificației sale, valoarea observată în instantaneul de referință fiind 1228, iar acest catalog nu presupune ce reprezintă.",
            "en": "PLAN is published by the feed with no documentation of its meaning, the observed value in the reference snapshot being 1228, and this catalogue does not guess what it represents."
          }
        },
        {
          "name": "s110_raw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "S110 is published by the feed with no documentation of its meaning, the observed value in the reference snapshot being -3, and this catalogue does not guess what it represents.",
          "descriptions": {
            "ro": "S110 este publicat de flux fără nicio documentație a semnificației sale, valoarea observată în instantaneul de referință fiind -3, iar acest catalog nu presupune ce reprezintă.",
            "en": "S110 is published by the feed with no documentation of its meaning, the observed value in the reference snapshot being -3, and this catalogue does not guess what it represents."
          }
        },
        {
          "name": "cons2_raw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "CONS2 is published by the feed with no documentation of its meaning, the observed value in the reference snapshot being 6374, close to but different from total consumption CONS, and this catalogue does not guess what it represents.",
          "descriptions": {
            "ro": "CONS2 este publicat de flux fără nicio documentație a semnificației sale, valoarea observată în instantaneul de referință fiind 6374, apropiată dar diferită de consumul total CONS, iar acest catalog nu presupune ce reprezintă.",
            "en": "CONS2 is published by the feed with no documentation of its meaning, the observed value in the reference snapshot being 6374, close to but different from total consumption CONS, and this catalogue does not guess what it represents."
          }
        }
      ],
      "files": [
        {
          "url": "https://data-directory.fsn1.your-objectstorage.com/public/transelectrica-sen/v/01M5JDE03D0A3VS2EBFVD86B3Y/sen_readings.parquet",
          "sizeBytes": 19245,
          "rowCount": 147,
          "etag": "\"7e0cb1a6eb4b5e796f4d2f48c738af37\"",
          "stats": {
            "reading_time": {
              "min": "2026-09-03 06:02:42",
              "max": "2026-10-22 18:19:11"
            }
          }
        }
      ],
      "example": [
        {
          "reading_time": "2026-09-03T06:02:42.000Z",
          "ingested_at": "2026-09-03T06:03:58.191Z",
          "carb_mw": 865,
          "gaze_mw": 1289,
          "ape_mw": 1362,
          "nucl_mw": 0,
          "eolian_mw": 321,
          "foto_mw": 1563,
          "bmasa_mw": 59,
          "ispoz_mw": 128,
          "cons_mw": 5785,
          "prod_mw": 5591,
          "sold_mw": 193,
          "chea_mw": 856,
          "chef_mw": 505,
          "mint_mw": 0,
          "paro_mw": 75,
          "ias2_mw": 0,
          "cons15_mw": 5932,
          "carb15_mw": 858,
          "gaze15_mw": 1307,
          "nucl15_mw": 0,
          "eolian15_mw": 333,
          "foto15_mw": 1366,
          "bmasa15_mw": 64,
          "chea15_mw": 1025,
          "chef15_mw": 495,
          "kozl115_mw": 0,
          "kozl215_mw": 298,
          "varn15_mw": 282,
          "dobr15_mw": 267,
          "djer15_mw": -173,
          "pancevo2115_mw": 32,
          "pancevo2215_mw": 0,
          "beke115_mw": -71,
          "sand15_mw": 8,
          "muka15_mw": 0,
          "paro15_mw": 75,
          "ias215_mw": 0,
          "mint15_mw": 0,
          "prog_raw": null,
          "is_raw": 128,
          "prot1tms_raw": null,
          "plan_raw": 405,
          "s110_raw": 0,
          "cons2_raw": 6053
        },
        {
          "reading_time": "2026-09-03T12:32:41.000Z",
          "ingested_at": "2026-09-03T12:33:27.234Z",
          "carb_mw": 784,
          "gaze_mw": 1214,
          "ape_mw": 416,
          "nucl_mw": 0,
          "eolian_mw": 184,
          "foto_mw": 2693,
          "bmasa_mw": 58,
          "ispoz_mw": 9,
          "cons_mw": 5208,
          "prod_mw": 5361,
          "sold_mw": -152,
          "chea_mw": 136,
          "chef_mw": 279,
          "mint_mw": 0,
          "paro_mw": 74,
          "ias2_mw": 0,
          "cons15_mw": 5042,
          "carb15_mw": 783,
          "gaze15_mw": 1213,
          "nucl15_mw": 0,
          "eolian15_mw": 177,
          "foto15_mw": 2702,
          "bmasa15_mw": 58,
          "chea15_mw": 129,
          "chef15_mw": 279,
          "kozl115_mw": -109,
          "kozl215_mw": -109,
          "varn15_mw": -75,
          "dobr15_mw": -80,
          "djer15_mw": -486,
          "pancevo2115_mw": -23,
          "pancevo2215_mw": 0,
          "beke115_mw": 382,
          "sand15_mw": 156,
          "muka15_mw": 0,
          "paro15_mw": 75,
          "ias215_mw": 0,
          "mint15_mw": 0,
          "prog_raw": null,
          "is_raw": 9,
          "prot1tms_raw": null,
          "plan_raw": -190,
          "s110_raw": 17,
          "cons2_raw": 5062
        }
      ]
    },
    {
      "name": "sen_generation",
      "description": "The same snapshots as sen_readings, reshaped: one row per generation source per snapshot, eight rows each. This is the table to group by — \"share of production by source\", \"how much of the year did coal run\" — where the wide table would need eight named columns in a CASE. The eight sources are exactly the ones that sum to total production (PROD): coal, gas, hydro, nuclear, wind, solar, biomass and pumped storage. source_code joins to sen_feed_keys.key for the label and the full definition in either language.",
      "descriptions": {
        "ro": "Aceleași instantanee ca în sen_readings, dar restructurate: câte un rând pentru fiecare sursă de producție și pentru fiecare instantaneu, adică opt rânduri de fiecare dată. Acesta este tabelul potrivit pentru grupări — „ponderea fiecărei surse în producție”, „cât din an a funcționat cărbunele” — acolo unde tabelul lat ar avea nevoie de opt coloane într-o expresie CASE. Cele opt surse sunt exact cele care însumate dau producția totală (PROD): cărbune, gaze, hidro, nuclear, eolian, fotovoltaic, biomasă și centrale cu acumulare prin pompaj. source_code se leagă de sen_feed_keys.key pentru etichetă și definiția completă în oricare dintre limbi.",
        "en": "The same snapshots as sen_readings, reshaped: one row per generation source per snapshot, eight rows each. This is the table to group by — \"share of production by source\", \"how much of the year did coal run\" — where the wide table would need eight named columns in a CASE. The eight sources are exactly the ones that sum to total production (PROD): coal, gas, hydro, nuclear, wind, solar, biomass and pumped storage. source_code joins to sen_feed_keys.key for the label and the full definition in either language."
      },
      "rowCount": 1176,
      "lastRunRows": 8,
      "totalBytes": 5548,
      "sortBy": [
        "reading_time",
        "source_code"
      ],
      "searchColumns": [],
      "primaryKey": [
        "reading_time",
        "source_code"
      ],
      "writeMode": "append",
      "storage": "lake",
      "columns": [
        {
          "name": "reading_time",
          "type": "TIMESTAMP",
          "nullable": false,
          "description": "The instant the feed stamped on this snapshot, in UTC. Identical to sen_readings.reading_time — join on it to put a source next to total consumption.",
          "descriptions": {
            "ro": "Momentul pe care fluxul l-a atașat acestui instantaneu, în UTC. Identic cu sen_readings.reading_time — folosește-l la join pentru a pune o sursă lângă consumul total.",
            "en": "The instant the feed stamped on this snapshot, in UTC. Identical to sen_readings.reading_time — join on it to put a source next to total consumption."
          },
          "min": "2026-09-03 06:02:42",
          "max": "2026-10-22 18:19:11",
          "distinctApprox": 158
        },
        {
          "name": "source_code",
          "type": "VARCHAR",
          "nullable": false,
          "description": "The feed's own code for the generation source: CARB (coal), GAZE (natural gas), APE (hydro, itself CHEA + CHEF), NUCL (nuclear), EOLIAN (wind), FOTO (solar), BMASA (biomass), ISPOZ (pumped storage). Join it to sen_feed_keys.key.",
          "descriptions": {
            "ro": "Codul folosit de flux pentru sursa de producție: CARB (cărbune), GAZE (gaze naturale), APE (hidro, adică suma CHEA + CHEF), NUCL (nuclear), EOLIAN (eolian), FOTO (fotovoltaic), BMASA (biomasă), ISPOZ (centrale cu acumulare prin pompaj). Se leagă de sen_feed_keys.key.",
            "en": "The feed's own code for the generation source: CARB (coal), GAZE (natural gas), APE (hydro, itself CHEA + CHEF), NUCL (nuclear), EOLIAN (wind), FOTO (solar), BMASA (biomass), ISPOZ (pumped storage). Join it to sen_feed_keys.key."
          },
          "min": "APE",
          "max": "NUCL",
          "distinctApprox": 9
        },
        {
          "name": "power_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "Instantaneous power from this source at reading_time. NULL when the feed sent an empty value — that is missing, not zero. Slightly negative values are real: solar (FOTO) draws a little power at night for its own auxiliaries, and pumped storage (ISPOZ) is negative while it is pumping.",
          "descriptions": {
            "ro": "Puterea instantanee produsă de această sursă la momentul reading_time. Este NULL când fluxul a trimis o valoare goală — aceasta înseamnă lipsă, nu zero. Valorile ușor negative sunt reale: fotovoltaicul (FOTO) consumă noaptea puțină energie pentru serviciile proprii, iar acumularea prin pompaj (ISPOZ) este negativă cât timp pompează.",
            "en": "Instantaneous power from this source at reading_time. NULL when the feed sent an empty value — that is missing, not zero. Slightly negative values are real: solar (FOTO) draws a little power at night for its own auxiliaries, and pumped storage (ISPOZ) is negative while it is pumping."
          },
          "unit": "MW"
        },
        {
          "name": "avg15_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "The 15-minute average the feed publishes alongside this source, from the matching <CODE>15 key. NULL where the feed has no such key at all: APE is an arithmetic sum of its two hydro components (whose own 15-minute averages ARE published, as chea15_mw and chef15_mw in sen_readings) and pumped storage ISPOZ has none. Also NULL when the key exists but the value was empty.",
          "descriptions": {
            "ro": "Media pe 15 minute pe care fluxul o publică pentru această sursă, din cheia corespunzătoare <COD>15. Este NULL acolo unde fluxul nu are deloc o astfel de cheie: APE este o sumă aritmetică a celor două componente hidro (ale căror medii pe 15 minute SUNT publicate, ca chea15_mw și chef15_mw în sen_readings), iar acumularea prin pompaj ISPOZ nu are niciuna. Este NULL și atunci când cheia există, dar valoarea a fost goală.",
            "en": "The 15-minute average the feed publishes alongside this source, from the matching <CODE>15 key. NULL where the feed has no such key at all: APE is an arithmetic sum of its two hydro components (whose own 15-minute averages ARE published, as chea15_mw and chef15_mw in sen_readings) and pumped storage ISPOZ has none. Also NULL when the key exists but the value was empty."
          },
          "unit": "MW"
        }
      ],
      "files": [
        {
          "url": "https://data-directory.fsn1.your-objectstorage.com/public/transelectrica-sen/v/01M5JDE03D0A3VS2EBFVD86B3Y/sen_generation.parquet",
          "sizeBytes": 5548,
          "rowCount": 1176,
          "etag": "\"2282ee40d49de687daad5c535b8c3148\"",
          "stats": {
            "reading_time": {
              "min": "2026-09-03 06:02:42",
              "max": "2026-10-22 18:19:11"
            },
            "source_code": {
              "min": "APE",
              "max": "NUCL"
            }
          }
        }
      ],
      "example": [
        {
          "reading_time": "2026-09-03T06:02:42.000Z",
          "source_code": "APE",
          "power_mw": 1362,
          "avg15_mw": null
        },
        {
          "reading_time": "2026-09-03T06:02:42.000Z",
          "source_code": "BMASA",
          "power_mw": 59,
          "avg15_mw": 64
        }
      ]
    },
    {
      "name": "sen_interconnection_flows",
      "description": "The eighteen cross-border measuring points, one row each per snapshot. Sign convention: POSITIVE is an import into Romania, negative is an export. The eighteen values sum to SOLD, the national exchange balance in sen_readings — that identity is the feed's own arithmetic and holds within a megawatt or two of rounding. country and point_name are carried on the row so a cross-border question never needs a join; point_code joins to sen_feed_keys.key for the full definition.",
      "descriptions": {
        "ro": "Cele optsprezece puncte de măsurare transfrontaliere, câte un rând pentru fiecare și pentru fiecare instantaneu. Convenția de semn: POZITIV înseamnă import în România, negativ înseamnă export. Cele optsprezece valori însumate dau SOLD, soldul schimburilor la nivel național din sen_readings — este chiar aritmetica fluxului și se verifică cu o abatere de unul-doi megawați din rotunjiri. country și point_name sunt păstrate pe rând ca o întrebare despre schimburi să nu aibă nevoie de join; point_code se leagă de sen_feed_keys.key pentru definiția completă.",
        "en": "The eighteen cross-border measuring points, one row each per snapshot. Sign convention: POSITIVE is an import into Romania, negative is an export. The eighteen values sum to SOLD, the national exchange balance in sen_readings — that identity is the feed's own arithmetic and holds within a megawatt or two of rounding. country and point_name are carried on the row so a cross-border question never needs a join; point_code joins to sen_feed_keys.key for the full definition."
      },
      "rowCount": 2646,
      "lastRunRows": 18,
      "totalBytes": 9258,
      "sortBy": [
        "reading_time",
        "point_code"
      ],
      "searchColumns": [],
      "primaryKey": [
        "reading_time",
        "point_code"
      ],
      "writeMode": "append",
      "storage": "lake",
      "columns": [
        {
          "name": "reading_time",
          "type": "TIMESTAMP",
          "nullable": false,
          "description": "The instant the feed stamped on this snapshot, in UTC. Identical to sen_readings.reading_time.",
          "descriptions": {
            "ro": "Momentul pe care fluxul l-a atașat acestui instantaneu, în UTC. Identic cu sen_readings.reading_time.",
            "en": "The instant the feed stamped on this snapshot, in UTC. Identical to sen_readings.reading_time."
          },
          "min": "2026-09-03 06:02:42",
          "max": "2026-10-22 18:19:11",
          "distinctApprox": 158
        },
        {
          "name": "point_code",
          "type": "VARCHAR",
          "nullable": false,
          "description": "The feed's own code for the interconnection point, e.g. KOZL1, BEKE1, VULC. Join it to sen_feed_keys.key.",
          "descriptions": {
            "ro": "Codul folosit de flux pentru punctul de interconexiune, de exemplu KOZL1, BEKE1, VULC. Se leagă de sen_feed_keys.key.",
            "en": "The feed's own code for the interconnection point, e.g. KOZL1, BEKE1, VULC. Join it to sen_feed_keys.key."
          },
          "min": "BEKE1",
          "max": "VULC",
          "distinctApprox": 18
        },
        {
          "name": "country",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The system on the other side of this point: Bulgaria, Serbia, Hungary, Moldova or Ukraine. Denormalised from the key catalogue so a per-country total is a GROUP BY and not a join.",
          "descriptions": {
            "ro": "Sistemul aflat de cealaltă parte a acestui punct: Bulgaria, Serbia, Ungaria, Republica Moldova sau Ucraina. Este preluat din catalogul de chei și păstrat pe rând, astfel încât un total pe țară să fie un GROUP BY, nu un join.",
            "en": "The system on the other side of this point: Bulgaria, Serbia, Hungary, Moldova or Ukraine. Denormalised from the key catalogue so a per-country total is a GROUP BY and not a join."
          }
        },
        {
          "name": "point_name",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The substation or line the point is named after, e.g. Kozlodui 1, Bekescsaba, Vulcănești.",
          "descriptions": {
            "ro": "Stația sau linia după care este denumit punctul, de exemplu Kozlodui 1, Bekescsaba, Vulcănești.",
            "en": "The substation or line the point is named after, e.g. Kozlodui 1, Bekescsaba, Vulcănești."
          }
        },
        {
          "name": "flow_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "Instantaneous power crossing this point at reading_time. POSITIVE means power flowing INTO Romania (import); negative means an export. NULL when the feed sent an empty value — missing, not a zero flow, which is a different and common state on a point that is simply idle.",
          "descriptions": {
            "ro": "Puterea instantanee care traversează acest punct la momentul reading_time. POZITIV înseamnă putere care intră ÎN România (import), negativ înseamnă export. Este NULL când fluxul a trimis o valoare goală — lipsă, nu un flux egal cu zero, care este o stare diferită și obișnuită pentru un punct nefolosit în acel moment.",
            "en": "Instantaneous power crossing this point at reading_time. POSITIVE means power flowing INTO Romania (import); negative means an export. NULL when the feed sent an empty value — missing, not a zero flow, which is a different and common state on a point that is simply idle."
          },
          "unit": "MW"
        },
        {
          "name": "avg15_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "The 15-minute average the feed publishes for this point, from the matching <CODE>15 key, on the same sign convention. NULL where the feed publishes no such key — it does so for nine of the eighteen points, including every Moldovan point — and NULL when the key exists but the value was empty.",
          "descriptions": {
            "ro": "Media pe 15 minute pe care fluxul o publică pentru acest punct, din cheia corespunzătoare <COD>15, cu aceeași convenție de semn. Este NULL acolo unde fluxul nu publică o astfel de cheie — nu o publică pentru nouă din cele optsprezece puncte, între care toate punctele cu Republica Moldova — și NULL și atunci când cheia există, dar valoarea a fost goală.",
            "en": "The 15-minute average the feed publishes for this point, from the matching <CODE>15 key, on the same sign convention. NULL where the feed publishes no such key — it does so for nine of the eighteen points, including every Moldovan point — and NULL when the key exists but the value was empty."
          },
          "unit": "MW"
        }
      ],
      "files": [
        {
          "url": "https://data-directory.fsn1.your-objectstorage.com/public/transelectrica-sen/v/01M5JDE03D0A3VS2EBFVD86B3Y/sen_interconnection_flows.parquet",
          "sizeBytes": 9258,
          "rowCount": 2646,
          "etag": "\"cc91715141b96700e838e41277a6fbca\"",
          "stats": {
            "reading_time": {
              "min": "2026-09-03 06:02:42",
              "max": "2026-10-22 18:19:11"
            },
            "point_code": {
              "min": "BEKE1",
              "max": "VULC"
            }
          }
        }
      ],
      "example": [
        {
          "reading_time": "2026-09-03T06:02:42.000Z",
          "point_code": "BEKE1",
          "country": "Hungary",
          "point_name": "Bekescsaba",
          "flow_mw": -92,
          "avg15_mw": -71
        },
        {
          "reading_time": "2026-09-03T06:02:42.000Z",
          "point_code": "CIOA",
          "country": "Moldova",
          "point_name": "Cioara",
          "flow_mw": 0,
          "avg15_mw": null
        }
      ]
    },
    {
      "name": "sen_feed_keys",
      "description": "The complete catalogue of the 63 keys the SEN feed publishes: what each one is, in Romanian and in English, and which of this dataset's tables carries it. Reference data — it is rewritten whole on every run and has no history. Read it first: without it the feed is 63 opaque abbreviations, and with it every column and every code in the other three SEN tables explains itself. Six keys are catalogued as kind = 'unknown': the publisher documents no meaning for them, so this catalogue states that fact instead of guessing.",
      "descriptions": {
        "ro": "Catalogul complet al celor 63 de chei publicate de fluxul SEN: ce înseamnă fiecare, în română și în engleză, și în ce tabel din acest set de date se regăsește. Sunt date de referință — se rescriu integral la fiecare rulare și nu au istoric. Citește-l primul: fără el fluxul este o listă de 63 de abrevieri opace, iar cu el fiecare coloană și fiecare cod din celelalte trei tabele SEN se explică singur. Șase chei sunt catalogate cu kind = „unknown”: editorul nu documentează niciun înțeles pentru ele, așa că acest catalog consemnează acest fapt în loc să presupună.",
        "en": "The complete catalogue of the 63 keys the SEN feed publishes: what each one is, in Romanian and in English, and which of this dataset's tables carries it. Reference data — it is rewritten whole on every run and has no history. Read it first: without it the feed is 63 opaque abbreviations, and with it every column and every code in the other three SEN tables explains itself. Six keys are catalogued as kind = 'unknown': the publisher documents no meaning for them, so this catalogue states that fact instead of guessing."
      },
      "rowCount": 63,
      "lastRunRows": 63,
      "totalBytes": 9522,
      "sortBy": [
        "kind",
        "key"
      ],
      "searchColumns": [
        "key"
      ],
      "primaryKey": [
        "key"
      ],
      "writeMode": "replace",
      "storage": "lake",
      "columns": [
        {
          "name": "key",
          "type": "VARCHAR",
          "nullable": false,
          "description": "The key exactly as the feed writes it, e.g. CARB, KOZL115, row1_HARTASEN_DATA. Case and spelling are the source's own, underscore and all. This is the primary key.",
          "descriptions": {
            "ro": "Cheia exact așa cum o scrie fluxul, de exemplu CARB, KOZL115, row1_HARTASEN_DATA. Literele mari și mici și scrierea sunt cele ale sursei, inclusiv linia de subliniere. Este cheia primară.",
            "en": "The key exactly as the feed writes it, e.g. CARB, KOZL115, row1_HARTASEN_DATA. Case and spelling are the source's own, underscore and all. This is the primary key."
          },
          "min": "APE",
          "max": "row1_HARTASEN_DATA",
          "distinctApprox": 75
        },
        {
          "name": "kind",
          "type": "VARCHAR",
          "nullable": false,
          "description": "What the key is: 'source' (one of the eight that sum to production), 'total' (a national aggregate: CONS, PROD, SOLD), 'border_flow' (one of the eighteen interconnection points), 'domestic_flow' (an internal measuring point), 'avg15' (the fifteen-minute average of another key), or 'unknown' (published with no documented meaning).",
          "descriptions": {
            "ro": "Ce reprezintă cheia: „source” (una dintre cele opt care însumate dau producția), „total” (un agregat național: CONS, PROD, SOLD), „border_flow” (unul dintre cele optsprezece puncte de interconexiune), „domestic_flow” (un punct intern de măsurare), „avg15” (media pe 15 minute a altei chei) sau „unknown” (publicată fără un înțeles documentat).",
            "en": "What the key is: 'source' (one of the eight that sum to production), 'total' (a national aggregate: CONS, PROD, SOLD), 'border_flow' (one of the eighteen interconnection points), 'domestic_flow' (an internal measuring point), 'avg15' (the fifteen-minute average of another key), or 'unknown' (published with no documented meaning)."
          },
          "min": "avg15",
          "max": "unknown"
        },
        {
          "name": "base_key",
          "type": "VARCHAR",
          "nullable": false,
          "description": "For an avg15 key, the key it averages — CARB15 has base_key CARB. For every other kind it is the key itself, so grouping by base_key pairs an instantaneous value with its fifteen-minute average without any string surgery.",
          "descriptions": {
            "ro": "Pentru o cheie avg15, cheia a cărei medie o calculează — CARB15 are base_key CARB. Pentru orice alt tip este chiar cheia însăși, astfel încât o grupare după base_key așază valoarea instantanee lângă media ei pe 15 minute fără prelucrări de text.",
            "en": "For an avg15 key, the key it averages — CARB15 has base_key CARB. For every other kind it is the key itself, so grouping by base_key pairs an instantaneous value with its fifteen-minute average without any string surgery."
          }
        },
        {
          "name": "unit",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The unit of the value, 'MW' for every documented key. NULL for the timestamp key and for the six undocumented ones, whose unit is genuinely not known.",
          "descriptions": {
            "ro": "Unitatea de măsură a valorii, „MW” pentru fiecare cheie documentată. Este NULL pentru cheia cu marcajul de timp și pentru cele șase chei nedocumentate, a căror unitate nu este cunoscută.",
            "en": "The unit of the value, 'MW' for every documented key. NULL for the timestamp key and for the six undocumented ones, whose unit is genuinely not known."
          }
        },
        {
          "name": "country",
          "type": "VARCHAR",
          "nullable": true,
          "description": "For a border_flow key, the system on the other side: Bulgaria, Serbia, Hungary, Moldova or Ukraine. NULL for every other kind.",
          "descriptions": {
            "ro": "Pentru o cheie border_flow, sistemul aflat de cealaltă parte: Bulgaria, Serbia, Ungaria, Republica Moldova sau Ucraina. Este NULL pentru orice alt tip.",
            "en": "For a border_flow key, the system on the other side: Bulgaria, Serbia, Hungary, Moldova or Ukraine. NULL for every other kind."
          }
        },
        {
          "name": "point_name",
          "type": "VARCHAR",
          "nullable": true,
          "description": "For a border_flow or domestic_flow key, the substation, line or plant it measures. NULL for aggregates and averages.",
          "descriptions": {
            "ro": "Pentru o cheie border_flow sau domestic_flow, stația, linia sau centrala pe care o măsoară. Este NULL pentru agregate și pentru medii.",
            "en": "For a border_flow or domestic_flow key, the substation, line or plant it measures. NULL for aggregates and averages."
          }
        },
        {
          "name": "label_ro",
          "type": "VARCHAR",
          "nullable": false,
          "description": "A short Romanian label for the key, fit for a chart legend.",
          "descriptions": {
            "ro": "O etichetă scurtă în română pentru cheie, potrivită pentru legenda unui grafic.",
            "en": "A short Romanian label for the key, fit for a chart legend."
          }
        },
        {
          "name": "label_en",
          "type": "VARCHAR",
          "nullable": false,
          "description": "A short English label for the key, fit for a chart legend.",
          "descriptions": {
            "ro": "O etichetă scurtă în engleză pentru cheie, potrivită pentru legenda unui grafic.",
            "en": "A short English label for the key, fit for a chart legend."
          }
        },
        {
          "name": "description_ro",
          "type": "TEXT",
          "nullable": false,
          "description": "What the key means, in Romanian, in full.",
          "descriptions": {
            "ro": "Ce înseamnă cheia, în română, pe larg.",
            "en": "What the key means, in Romanian, in full."
          }
        },
        {
          "name": "description_en",
          "type": "TEXT",
          "nullable": false,
          "description": "What the key means, in English, in full.",
          "descriptions": {
            "ro": "Ce înseamnă cheia, în engleză, pe larg.",
            "en": "What the key means, in English, in full."
          }
        },
        {
          "name": "reading_column",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The column of sen_readings that carries this key — the lowercased key plus _mw where the unit is known and _raw where it is not. NULL for the eighteen border_flow keys, which are published as rows of sen_interconnection_flows instead of columns, and for the timestamp key, which becomes reading_time.",
          "descriptions": {
            "ro": "Coloana din sen_readings care poartă această cheie — cheia scrisă cu litere mici, la care se adaugă _mw acolo unde unitatea este cunoscută și _raw acolo unde nu este. Este NULL pentru cele optsprezece chei border_flow, care sunt publicate ca rânduri în sen_interconnection_flows în loc de coloane, și pentru cheia cu marcajul de timp, care devine reading_time.",
            "en": "The column of sen_readings that carries this key — the lowercased key plus _mw where the unit is known and _raw where it is not. NULL for the eighteen border_flow keys, which are published as rows of sen_interconnection_flows instead of columns, and for the timestamp key, which becomes reading_time."
          }
        }
      ],
      "files": [
        {
          "url": "https://data-directory.fsn1.your-objectstorage.com/public/transelectrica-sen/v/01M5JDE03D0A3VS2EBFVD86B3Y/sen_feed_keys.parquet",
          "sizeBytes": 9522,
          "rowCount": 63,
          "etag": "\"75aac9f747d8f27089697cb909ef90ce\"",
          "stats": {
            "kind": {
              "min": "avg15",
              "max": "unknown"
            },
            "key": {
              "min": "APE",
              "max": "row1_HARTASEN_DATA"
            }
          }
        }
      ],
      "example": [
        {
          "key": "BEKE115",
          "kind": "avg15",
          "base_key": "BEKE1",
          "unit": "MW",
          "country": null,
          "point_name": null,
          "label_ro": "Bekescsaba (medie 15 min)",
          "label_en": "Bekescsaba (15-min avg)",
          "description_ro": "BEKE115 este media mobilă pe 15 minute, în MW, a fluxului de putere BEKE1 de pe linia de interconexiune Bekescsaba cu Ungaria.",
          "description_en": "BEKE115 is the 15-minute rolling average, in MW, of the BEKE1 power flow on the Bekescsaba interconnection line with Hungary.",
          "reading_column": "beke115_mw"
        },
        {
          "key": "BMASA15",
          "kind": "avg15",
          "base_key": "BMASA",
          "unit": "MW",
          "country": null,
          "point_name": null,
          "label_ro": "Biomasă (medie 15 min)",
          "label_en": "Biomass (15-min avg)",
          "description_ro": "BMASA15 este media mobilă pe 15 minute, în MW, a puterii produse din biomasă BMASA.",
          "description_en": "BMASA15 is the 15-minute rolling average, in MW, of the biomass generation BMASA.",
          "reading_column": "bmasa15_mw"
        }
      ]
    },
    {
      "name": "prosumer_installed_capacity",
      "description": "Installed prosumer generating capacity connected to the grid, by month and by county, from Transelectrica's prosumers application. A prosumer is a consumer who also generates — in Romania overwhelmingly a rooftop solar installation — and this is the series that shows that build-out: roughly 1.5 GW nationally in March 2024 against roughly 4 GW two years later. Coverage starts 2024-03. The source file is cumulative, so every run restates the whole history and a revised month is corrected rather than duplicated. county_code RO is the national total, not a county: exclude it or you will double every sum.",
      "descriptions": {
        "ro": "Puterea instalată la prosumatori și racordată la rețea, pe luni și pe județe, din aplicația de prosumatori a Transelectrica. Un prosumator este un consumator care și produce — în România, covârșitor, o instalație fotovoltaică pe acoperiș —, iar aceasta este seria care arată acea creștere: aproximativ 1,5 GW la nivel național în martie 2024, față de aproximativ 4 GW doi ani mai târziu. Acoperirea începe în 2024-03. Fișierul sursă este cumulativ, deci fiecare rulare rescrie întregul istoric, iar o lună revizuită este corectată, nu duplicată. Codul de județ RO este totalul național, nu un județ: exclude-l, altfel vei dubla orice sumă.",
        "en": "Installed prosumer generating capacity connected to the grid, by month and by county, from Transelectrica's prosumers application. A prosumer is a consumer who also generates — in Romania overwhelmingly a rooftop solar installation — and this is the series that shows that build-out: roughly 1.5 GW nationally in March 2024 against roughly 4 GW two years later. Coverage starts 2024-03. The source file is cumulative, so every run restates the whole history and a revised month is corrected rather than duplicated. county_code RO is the national total, not a county: exclude it or you will double every sum."
      },
      "rowCount": 1290,
      "lastRunRows": 1290,
      "totalBytes": 3832,
      "sortBy": [
        "month",
        "county_code"
      ],
      "searchColumns": [],
      "primaryKey": [
        "month",
        "county_code"
      ],
      "writeMode": "snapshot_history",
      "storage": "lake",
      "columns": [
        {
          "name": "month",
          "type": "DATE",
          "nullable": false,
          "description": "The month the capacity was measured, as the first day of that month (UTC). The source reports monthly and gives no finer date.",
          "descriptions": {
            "ro": "Luna în care a fost măsurată puterea instalată, sub forma primei zile a lunii (UTC). Sursa raportează lunar și nu oferă o dată mai precisă.",
            "en": "The month the capacity was measured, as the first day of that month (UTC). The source reports monthly and gives no finer date."
          },
          "min": "2024-03-01",
          "max": "2026-08-01",
          "distinctApprox": 30
        },
        {
          "name": "county_code",
          "type": "VARCHAR",
          "nullable": false,
          "description": "ISO 3166-2:RO county code without the RO- prefix — TM, CJ, IS … — plus B for the municipality of Bucharest. The synthetic code RO is the NATIONAL total across the whole National Power System and is a separate row: filter it out before summing counties.",
          "descriptions": {
            "ro": "Codul de județ ISO 3166-2:RO fără prefixul RO- — TM, CJ, IS … — plus B pentru municipiul București. Codul sintetic RO este totalul NAȚIONAL pentru întregul Sistem Energetic Național și este un rând separat: exclude-l înainte de a însuma județele.",
            "en": "ISO 3166-2:RO county code without the RO- prefix — TM, CJ, IS … — plus B for the municipality of Bucharest. The synthetic code RO is the NATIONAL total across the whole National Power System and is a separate row: filter it out before summing counties."
          },
          "min": "AB",
          "max": "VS",
          "distinctApprox": 48
        },
        {
          "name": "county_name",
          "type": "VARCHAR",
          "nullable": false,
          "description": "The official Romanian name of the county, with diacritics (Timiș, Bistrița-Năsăud, București). Proper nouns, so they are not translated; România is the name carried on the national RO row.",
          "descriptions": {
            "ro": "Denumirea oficială a județului în limba română, cu diacritice (Timiș, Bistrița-Năsăud, București). Sunt nume proprii, deci nu se traduc; pe rândul național RO apare România.",
            "en": "The official Romanian name of the county, with diacritics (Timiș, Bistrița-Năsăud, București). Proper nouns, so they are not translated; România is the name carried on the national RO row."
          }
        },
        {
          "name": "capacity_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "Installed prosumer capacity connected in this county at the end of this month. NULL when the source left the value empty for that month.",
          "descriptions": {
            "ro": "Puterea instalată la prosumatori racordată în acest județ la sfârșitul acestei luni. Este NULL când sursa a lăsat valoarea goală pentru acea lună.",
            "en": "Installed prosumer capacity connected in this county at the end of this month. NULL when the source left the value empty for that month."
          },
          "unit": "MW"
        }
      ],
      "files": [
        {
          "url": "https://data-directory.fsn1.your-objectstorage.com/public/transelectrica-sen/v/01M5JDE03D0A3VS2EBFVD86B3Y/prosumer_installed_capacity.parquet",
          "sizeBytes": 3832,
          "rowCount": 1290,
          "etag": "\"5b615624caf223ce38da450755451a2c\"",
          "stats": {
            "month": {
              "min": "2024-03-01",
              "max": "2026-08-01"
            },
            "county_code": {
              "min": "AB",
              "max": "VS"
            }
          }
        }
      ],
      "example": [
        {
          "month": "2024-03-01T00:00:00.000Z",
          "county_code": "AB",
          "county_name": "Alba",
          "capacity_mw": 31
        },
        {
          "month": "2024-03-01T00:00:00.000Z",
          "county_code": "AG",
          "county_name": "Argeș",
          "capacity_mw": 58
        }
      ]
    },
    {
      "name": "prosumer_forecast_hourly",
      "description": "Hourly forecasts of prosumer production, by county, published by Transelectrica in two vintages: d1 the day before, d2 two days before. One row per forecast date, vintage, hour and county — 1,032 rows per day per vintage. Both vintages are kept because comparing them is the point: the same day forecast twice shows how the forecast moved as the weather firmed up. d1 coverage starts 2024-07-12 and d2 starts 2024-08. county_code RO is the national total, not a county.",
      "descriptions": {
        "ro": "Prognoze orare ale producției prosumatorilor, pe județe, publicate de Transelectrica în două variante: d1 cu o zi înainte, d2 cu două zile înainte. Câte un rând pentru fiecare combinație de dată prognozată, variantă, oră și județ — 1.032 de rânduri pe zi și pe variantă. Sunt păstrate ambele variante tocmai pentru că are sens compararea lor: aceeași zi prognozată de două ori arată cum s-a schimbat prognoza pe măsură ce vremea s-a limpezit. Acoperirea d1 începe la 2024-07-12, iar d2 în august 2024. Codul de județ RO este totalul național, nu un județ.",
        "en": "Hourly forecasts of prosumer production, by county, published by Transelectrica in two vintages: d1 the day before, d2 two days before. One row per forecast date, vintage, hour and county — 1,032 rows per day per vintage. Both vintages are kept because comparing them is the point: the same day forecast twice shows how the forecast moved as the weather firmed up. d1 coverage starts 2024-07-12 and d2 starts 2024-08. county_code RO is the national total, not a county."
      },
      "rowCount": 1673904,
      "lastRunRows": 110424,
      "totalBytes": 785735,
      "sortBy": [
        "forecast_date",
        "vintage",
        "hour",
        "county_code"
      ],
      "searchColumns": [],
      "primaryKey": [
        "forecast_date",
        "vintage",
        "hour",
        "county_code"
      ],
      "writeMode": "snapshot_history",
      "storage": "lake",
      "columns": [
        {
          "name": "forecast_date",
          "type": "DATE",
          "nullable": false,
          "description": "The day being forecast (UTC calendar date).",
          "descriptions": {
            "ro": "Ziua pentru care se face prognoza (dată calendaristică, UTC).",
            "en": "The day being forecast (UTC calendar date)."
          },
          "min": "2024-07-12",
          "max": "2026-10-24",
          "distinctApprox": 897
        },
        {
          "name": "vintage",
          "type": "VARCHAR",
          "nullable": false,
          "description": "Which horizon this forecast was published at: 'd1' the day before the forecast date, 'd2' two days before. A d1 forecast is later and normally better; a d2 forecast for the same date is what it looked like a day earlier.",
          "descriptions": {
            "ro": "Orizontul la care a fost publicată prognoza: „d1” cu o zi înainte de data prognozată, „d2” cu două zile înainte. O prognoză d1 este mai recentă și, de regulă, mai bună; o prognoză d2 pentru aceeași dată arată cum se vedea ziua respectivă cu o zi mai devreme.",
            "en": "Which horizon this forecast was published at: 'd1' the day before the forecast date, 'd2' two days before. A d1 forecast is later and normally better; a d2 forecast for the same date is what it looked like a day earlier."
          },
          "min": "d1",
          "max": "d2",
          "distinctApprox": 2
        },
        {
          "name": "hour",
          "type": "INTEGER",
          "nullable": false,
          "description": "Hour of the day, 1 to 24, exactly as the source labels its own hour axis — hour 1 is the first hour of the day, hour 24 the last. The source publishes 24 values on every day, including the 23- and 25-hour days when Romanian clocks change, so on those two days a year the hour numbers do not line up with civil time.",
          "descriptions": {
            "ro": "Ora din zi, de la 1 la 24, exact cum își etichetează sursa propria axă a orelor — ora 1 este prima oră a zilei, ora 24 este ultima. Sursa publică 24 de valori în fiecare zi, inclusiv în zilele de 23 și de 25 de ore în care se schimbă ora în România, deci în acele două zile pe an numerele orelor nu corespund orei civile.",
            "en": "Hour of the day, 1 to 24, exactly as the source labels its own hour axis — hour 1 is the first hour of the day, hour 24 the last. The source publishes 24 values on every day, including the 23- and 25-hour days when Romanian clocks change, so on those two days a year the hour numbers do not line up with civil time."
          },
          "unit": "hour of day",
          "min": 1,
          "max": 24,
          "distinctApprox": 24
        },
        {
          "name": "county_code",
          "type": "VARCHAR",
          "nullable": false,
          "description": "ISO 3166-2:RO county code without the RO- prefix, plus B for the municipality of Bucharest. The synthetic code RO is the NATIONAL total and is a separate row: filter it out before summing counties.",
          "descriptions": {
            "ro": "Codul de județ ISO 3166-2:RO fără prefixul RO-, plus B pentru municipiul București. Codul sintetic RO este totalul NAȚIONAL și este un rând separat: exclude-l înainte de a însuma județele.",
            "en": "ISO 3166-2:RO county code without the RO- prefix, plus B for the municipality of Bucharest. The synthetic code RO is the NATIONAL total and is a separate row: filter it out before summing counties."
          },
          "min": "AB",
          "max": "VS",
          "distinctApprox": 48
        },
        {
          "name": "county_name",
          "type": "VARCHAR",
          "nullable": false,
          "description": "The official Romanian name of the county, with diacritics. România on the national RO row.",
          "descriptions": {
            "ro": "Denumirea oficială a județului în limba română, cu diacritice. Pe rândul național RO apare România.",
            "en": "The official Romanian name of the county, with diacritics. România on the national RO row."
          }
        },
        {
          "name": "power_mw",
          "type": "DOUBLE",
          "nullable": true,
          "description": "Forecast prosumer production in this county in this hour. Zero overnight is a real forecast of zero and not a missing value; NULL means the source published nothing for that cell.",
          "descriptions": {
            "ro": "Producția prognozată a prosumatorilor din acest județ în această oră. Valoarea zero în timpul nopții este o prognoză reală de zero, nu o valoare lipsă; NULL înseamnă că sursa nu a publicat nimic pentru acea celulă.",
            "en": "Forecast prosumer production in this county in this hour. Zero overnight is a real forecast of zero and not a missing value; NULL means the source published nothing for that cell."
          },
          "unit": "MW"
        },
        {
          "name": "published_at",
          "type": "VARCHAR",
          "nullable": true,
          "description": "The clock time the source stamps on the file, as \"HH:MM\" — the time of day the forecast was published. It is stored as text on purpose: the source gives a time with NO date and no timezone, and turning it into a timestamp would mean inventing both. NULL when the file carried no stamp.",
          "descriptions": {
            "ro": "Ora la care sursa marchează fișierul, sub forma „HH:MM” — momentul din zi în care a fost publicată prognoza. Este păstrată intenționat ca text: sursa oferă o oră FĂRĂ dată și fără fus orar, iar transformarea ei într-un moment de timp ar însemna inventarea ambelor. Este NULL când fișierul nu conținea niciun astfel de marcaj.",
            "en": "The clock time the source stamps on the file, as \"HH:MM\" — the time of day the forecast was published. It is stored as text on purpose: the source gives a time with NO date and no timezone, and turning it into a timestamp would mean inventing both. NULL when the file carried no stamp."
          }
        }
      ],
      "files": [
        {
          "url": "https://data-directory.fsn1.your-objectstorage.com/public/transelectrica-sen/v/01M5JDE03D0A3VS2EBFVD86B3Y/prosumer_forecast_hourly.parquet",
          "sizeBytes": 785735,
          "rowCount": 1673904,
          "etag": "\"848555be444877b7e6f5ef2fa6393109\"",
          "stats": {
            "forecast_date": {
              "min": "2024-07-12",
              "max": "2026-10-24"
            },
            "vintage": {
              "min": "d1",
              "max": "d2"
            },
            "hour": {
              "min": 1,
              "max": 24
            },
            "county_code": {
              "min": "AB",
              "max": "VS"
            }
          }
        }
      ],
      "example": [
        {
          "forecast_date": "2024-07-12T00:00:00.000Z",
          "vintage": "d1",
          "hour": 1,
          "county_code": "AB",
          "county_name": "Alba",
          "power_mw": 0,
          "published_at": "14:38"
        },
        {
          "forecast_date": "2024-07-12T00:00:00.000Z",
          "vintage": "d1",
          "hour": 1,
          "county_code": "AG",
          "county_name": "Argeș",
          "power_mw": 0,
          "published_at": "14:38"
        }
      ]
    }
  ],
  "generatedAt": "2026-10-22T18:21:28.011Z"
}
