concept

CH table metadata: omie.offer_complex

Complex day-ahead offer (OMIE `cab`+`det` — Mercado Diario → 4. Ofertas), header ("Cabecera de las ofertas al mercado diario") and detail ("Detalle de las ofertas al mercado diario") joined at ETL time into one wide row per tramo/block — supersedes the former omie.offer_headers/omie.offer_blocks split (2026-10-01), matching the wide-per-source pattern already used by esios.archives_i90. Carries the complex conditions (indivisibility, gradient, MIC linkage per the OMIE catalog description) that t

# `omie.offer_complex` Complex day-ahead offer (OMIE `cab`+`det` — Mercado Diario → 4. Ofertas), header ("Cabecera de las ofertas al mercado diario") and detail ("Detalle de las ofertas al mercado diario") joined at ETL time into one wide row per tramo/block — supersedes the former omie.offer_headers/omie.offer_blocks split (2026-10-01), matching the wide-per-source pattern already used by esios.archives_i90. Carries the complex conditions (indivisibility, gradient, MIC linkage per the OMIE catalog description) that the plain curva_pbc/curva_pbc_uof blocks don't expose. `source_format` tells apart the two reverse-engineered byte layouts this table spans: 'current_2025' (2025-04+, confirmed against 2653/258756 real cab/det rows on 2026-01-01) and 'legacy_2017' (cab origin 2017-01, det origin 2018-01, through 2025-03 — confirmed against 279137/7109786 real rows spanning 6 different years on 2026-10-01). Neither era has an official OMIE spec published anywhere public — both are reverse-engineered from never-varying whitespace columns across real files. A header published before det existed (2017, see legacy_header_zero_* note) lands as one row with period_index..detail_flag_2 all NULL. Only PDBF is wired; `icab`/`idet` (the intraday-auction equivalent) use a DIFFERENT byte layout and are not ingested here.