{
  "study": "Temporal persistence and ideal cyclic storage capacity in finalized RTE actuals",
  "version": "1.0",
  "committed_before_data_outcomes_utc": "2026-10-30T17:04:59.546769+00:00",
  "source_file": "/Users/tobymikle/Documents/Codex/2026-10-30/sta/work/original-theories-vol8-20261030-source-freeze/theories/storage-sizing-variance.html",
  "source_sha256": "7185686abf3c5a758c28a9cfbff3d2ba60ec7f32127dc5dac4808e240d8d5fe2",
  "source_public_url": "https://incoprea.com/research-library/original-theories-vol8-20261030/theories/storage-sizing-variance.html",
  "scope": "Engineering chronology-sensitivity diagnostic. Tests whether marginal variance and peak alone suffice for storage energy, not a refutation of the original duration-aware mechanism, not actual French system sizing, not a novelty claim.",
  "data": {
    "provider": "RTE via ODRE OpenDataSoft",
    "dataset": "eco2mix-national-cons-def",
    "metadata_url": "https://odre.opendatasoft.com/api/explore/v2.1/catalog/datasets/eco2mix-national-cons-def",
    "dataset_url": "https://odre.opendatasoft.com/explore/dataset/eco2mix-national-cons-def/information/",
    "export_endpoint": "https://odre.opendatasoft.com/api/explore/v2.1/catalog/datasets/eco2mix-national-cons-def/exports/csv",
    "columns": [
      "date_heure",
      "date",
      "heure",
      "nature",
      "consommation",
      "eolien",
      "solaire"
    ],
    "years": [
      2015,
      2016,
      2017,
      2018,
      2019,
      2020,
      2021,
      2022,
      2023,
      2024
    ],
    "calendar": "Europe/Paris civil calendar years and months; timestamps additionally normalized to UTC for contiguity.",
    "range_utc_inclusive": "2014-12-31T23:00:00+00:00",
    "range_utc_exclusive": "2024-12-31T23:00:00+00:00",
    "units": "actual consumption, wind and solar in MW; each actual sample represents0.5h; forecasts not used.",
    "eligibility": "Use finalized definitive actuals only. Quarter-hour forecast-only rows are excluded explicitly; actual half-hours must be complete.",
    "acquisition": "Official metadata plus ten annual selected-column CSV exports; preserve exact downloaded bytes, URL, HTTP metadata and SHA-256. Requests bounded with timeout and at most2 retries; no data values interpreted as capacity before review/preflight.",
    "license_gate": "Record official metadata license/attribution and retain terms evidence before redistributing raw files; if terms unclear, retain raw privately and publish hashes/official download instructions rather than unlicensed copies."
  },
  "preflight_abort_rules": [
    "Any missing required actual half-hour slot: abort; no interpolation or filling.",
    "Any duplicated actual timestamp, conflicting values, invalid timestamp or non-contiguous UTC half-hour sequence: abort.",
    "Any actual timestamp not on a whole UTC half-hour: abort rather than rebin.",
    "Required actual fields must parse as exact integer MW (integral decimal encodings accepted); consumption must be positive, wind/solar nonnegative, annual wind/solar sums positive. Otherwise abort.",
    "Nature/finalization labels and field units must be consistent with official finalized actuals metadata; consolidated/unfinalized actuals trigger review rather than silent inclusion.",
    "Expected annual intervals are 17520 or17568 according to leap year; Europe/Paris DST civil days legitimately contain46,48 or50 samples. Check every civil date and allUTC gaps; do not pad, average duplicate local hours or drop leap day.",
    "If any gate fails, no storage outcomes are computed. A numbered plan revision and reason must be saved before outcomes, retaining this plan and its hash."
  ],
  "model": {
    "purpose": "Hypothetical closed annual balancing scenario using only demand, wind and solar shapes",
    "primary_wind_solar_annual_energy_shares": [
      70,
      30
    ],
    "mixture_rule": "Fixed70%wind/30%solar annual energy shares chosen as a scenario, not fit to results. Independently rescale wind and solar shapes within each year so total hypothetical generation equals that year demand energy.",
    "formula": "G[t] = sumL * (a/b * W[t]/sumW + (b-a)/b * S[t]/sumS), where a/b is declared wind share; sums are annual half-hour MW sample sums.",
    "exact_residual_numerator": "N[t] = b*sumW*sumS*L[t] - sumL*(a*sumS*W[t] + (b-a)*sumW*S[t]); denominatorD=b*sumW*sumS; residual MW=N[t]/D.",
    "annual_balance": "Sum N[t] must equal exactly0 with integer arithmetic for every year/scenario. No floating drift subtraction, detrending or residual energy correction.",
    "capacity": "C_ideal_MWh=(max inclusive cumulative N - min inclusive cumulative N)/(2*D), including initial cumulative0; cyclic annual boundary; ideal lossless store with unlimited charge/discharge power; no curtailment or other generation/trade.",
    "units_and_outputs": "Store energy capacity in MWh and GWh, plus equivalent hours of that year mean demand C/(sumL/intervals). Report energy separately from power; no power adequacy claim.",
    "counterfactual_limits": [
      "renewables scaling is hypothetical, not actual installed capacity",
      "100% round-trip efficiency",
      "unlimited power and infinite rate changes",
      "no imports, dispatchable supply, transmission or curtailment",
      "cyclic boundary within each separate year, not interannual storage"
    ]
  },
  "controls": {
    "deterministic_residual_MW": [
      [
        1,
        1,
        -1,
        -1
      ],
      [
        1,
        -1,
        1,
        -1
      ]
    ],
    "interval_hours": "1/2",
    "expected_capacity_MWh": [
      "1",
      "1/2"
    ],
    "invariants": "Both residual sequences have zero total, marginal variance1 and positive peak1; cumulative range differs. Established storage accounting, not new theorem."
  },
  "permutation_design": {
    "primary": "For each year, permute whole observed Europe/Paris civil-day blocks independently within each original calendar month; concatenate months in their original order. Preserve every within-day matched demand/wind/solar sample and its0.5h duration. DST blocks retain46/50 intervals wherever placed; no synthetic timestamps are presented as original observations.",
    "replicates_per_year_scenario": 999,
    "seed_rule": "first8 SHA-256 bytes, unsigned big-endian, of incoprea-storage-v1|year=<YYYY>|wind=<70,50,90>|scheme=<month,month_same_length>|replicate=<0..998>; separate random.Random instance and standard shuffle for each permutation; January through December fixed.",
    "preserved_invariants": [
      "same full-year residual multiset: mean, variance, peak and energy sum",
      "same month membership and monthly energy totals",
      "same within-day patterns and original dayblock lengths",
      "same0.5h sample duration and exact zero annual net energy"
    ],
    "changed_feature": "Between-day chronology/persistence within each month; not all temporal structure or seasonal persistence.",
    "efficient_exact_evaluation": "For each observed day store its exact netN, minimum/maximum prefixN including0. The full permuted cumulative range is exactly computed by concatenating these summaries; validate this optimization against half-hour reconstruction for the original order and a predefined first permutation of each year/scenario.",
    "interpretation": "Permutation distribution is a conditional chronology sensitivity reference, not a randomized-treatment causal effect or evidence that days are exchangeable."
  },
  "scenarios": [
    {
      "id": "primary_70_30",
      "wind_share_percent": 70,
      "scheme": "month"
    },
    {
      "id": "sensitivity_50_50",
      "wind_share_percent": 50,
      "scheme": "month"
    },
    {
      "id": "sensitivity_90_10",
      "wind_share_percent": 90,
      "scheme": "month"
    },
    {
      "id": "sensitivity_DST_schedule",
      "wind_share_percent": 70,
      "scheme": "month_same_length"
    }
  ],
  "sensitivity_DST_rule": "In month_same_length, permute only among civil-day positions with the same observed sample count; short/long DST days remain in their sole length class. Other scenarios all use complete variable-length blocks.",
  "planned_summaries": {
    "per_year_scenario": [
      "original chronological capacity",
      "999 permutation capacities and seeds",
      "permutation median, empirical2.5th/97.5th percentiles (linear interpolation), min and max",
      "original/median ratio",
      "absolute GWh and equivalent-mean-demand-hour differences original minus permutation median",
      "upper/lower empirical rank of original with plus-one correction: (1+number permuted>=original)/1000 and (1+number permuted<=original)/1000; ties counted inclusively"
    ],
    "primary_across_years": [
      "median and range of original/median capacity ratios across all10years",
      "number of years above/below permutation median and outside central95% reference interval",
      "paired year-level log(original/median) summaries; no IID half-hour standard errors",
      "no primary global p-value; years are not assumed independent randomized replicates"
    ],
    "multiple_comparisons": "If exploratory year-specific extremeness is discussed, report all10primary year ranks, not a selected year; apply Holm to the two-sided rank quantities min(1,2*min(upper,lower)) only as descriptive adjusted reference ranks, not calibrated causal/randomization p-values. Sensitivity sets fully tabulated, not cherry-picked.",
    "figures": [
      "original and permutation-reference capacity by year for all4scenarios",
      "primary original/median ratio by year",
      "deterministic same-marginal cumulative excursion control"
    ],
    "claims_allowed": "Different capacities at identical marginal mean/variance/peak establish those marginal summaries are insufficient in this balancing model. This is compatible with, not a refutation of, the source mechanism that already includes duration.",
    "no_forced_support": "Null/negative/inconclusive outcomes and all exclusions are retained. No original-theory proof or actual-France storage requirement claim."
  },
  "execution_gate": "Do not compute data-dependent capacity outcomes until plan is hashed, official metadata/license examined, full-data preflight passes and independent Codex design review is received. Metadata/availability and missingness inspection may precede outcomes.",
  "authorship": "Source hypothesis from DeepSeek-prepared collection; experiment, code and report by Codex; separate Codex agent internal review is not external peer review."
}
