About Storage Modelling#

Storage modeling is complex because storage systems behave differently than generation or demand. Storages move energy across time, not just produce or consume it. This means:

🔁 1. Storage shifts energy in time

Unlike solar panels (generate) or homes (consume), storage stores energy when it’s abundant and releases it when needed. That means:

  • You can't look at one hour in isolation — what happened before matters.

  • The state of charge (SOC) today depends on all previous hours.

    Analogy: It's like a savings account — what you can spend today depends on how much you saved earlier.

⏳ 2. Time resolution matters

Should you model every single hour? Every day? A few representative days? Each choice impacts:

  • Accuracy (high resolution = realistic, but slow to compute)

  • Computational effort (simplified models lose detail)

    If you model storage with only a few sample days, you risk missing important patterns, like a long wind lull or weekend charging habits.

🔗 3. Storage needs continuity

Many simplification techniques (e.g. clustering days) break the continuity of storage:

  • The model might forget how full the battery was yesterday.

  • Artificial resets can distort when charging/discharging actually happens.

This makes it tricky to model seasonal storage or multi-day balancing.

⚡ 4. Storage interacts with everything Storage isn’t just an isolated battery:

  • It interacts with renewables (absorbing variability)

  • It supports grid reliability (fast response)

  • It responds to prices, constraints, and emissions goals

So modeling it well requires integrating with the rest of the energy system.

state of the art energy storage algorithms:#

Welsch (Fixed-Pattern) — “Photocopied Day”#

  • Analogy: This person writes down one typical day of feelings and then photocopies that same page for each day of the week. So Monday, Tuesday, etc., look exactly the same.

  • Key idea: Same daily pattern repeated; no inter-day variation.

  • Use case: Fast and simple but ignores variation between days.

Kotzur (Unverified Cluster) — “Alternating Diaries”#

  • Analogy: This person has two types of days — maybe “busy” and “lazy” days — and alternates between those two. They use pre-written diary templates for each. But they don’t bother connecting one day’s feelings to the next, so it can feel jumpy or inconsistent.

  • Key idea: Captures daily diversity using clusters, but no continuity.

  • Use case: Captures more variety than Welsch but lacks smooth transitions.

Novo (Hourly-Verified) — “Linked Journaling”#

  • Analogy: This person still uses simplified mood templates for different kinds of days, but they always make sure each day starts where the previous one left off. So it feels realistic and connected, even if it's not a full diary.

  • Key idea: Combines typical days with continuity between hours.

  • Use case: A practical middle ground between realism and simplicity.

A detailed comparison:

📊 Comparative Table of Storage Modeling Methods#

Feature

Niet

Welsch

Kotzur

Novo

Period Linking

Direct Link

Enhanced Periods (Fixed Pattern)

Enhanced Periods (Day Cluster Mapping)

Enhanced Periods (Hourly-Verified Clustering)

Time Representation

Representative periods (e.g. days, weeks)

Representative days (fixed mapping)

Representative days (arbitrary sequence allowed)

Full hourly resolution mapped to rep days

Chronological Continuity

✅ Maintained between periods

❌ Not maintained (days are independent)

✅ Maintained via day-sequence mapping

✅ Maintained at hourly level

SoC Linkage Between Periods

✅ Explicit (stepwise linkage)

❌ No linkage; each rep day repeats independently

✅ Daily SoC updated using mapped intra-day values

✅ Fully verified SoC with hourly mapping

Intra-Day Resolution

Average or period-level

Full 24-hour profile (rep day)

Full 24-hour profile (rep day)

Full 24-hour profile (mapped to full year)

Reset or Loop Behavior

None; sequential linkage

Yes; rep day is repeated N times

Resets daily but allows arbitrary day ordering

No reset; each hour is mapped and verified

Flexibility in Time Sequencing

Low (predefined order of rep periods)

Very low (repeats identical rep day pattern)

High (any chronological day can map to any rep day)

Very high (full hourly reconstruction)

Computational Cost

Low (simple stepwise link across periods)

Very low (repeats rep day)

Medium (needs intra-day dynamics + daily tracking)

High (full hourly SoC tracking and bounds checking)

Storage Bounds Verification

Implicit per period

Start/End of rep day only

Only for intra-day cycles; inter-day bounds ignored

✅ Enforced at each hour

Use Case

Fast approximation with minimal memory effects

Simple seasonal or weekday/weekend modeling

Captures non-repetitive variation (e.g. windless days)

High-fidelity operational modeling (e.g., reliability)