Skip to content
ENLAPAGIS
ProductFeaturesPricingProduct tour
DESign inBook a demo
ProductFeaturesPricingProduct tourSign in to ENLAPA GISDeutsch

Loading...

ENLAPAGIS

The workspace for renewable energy project development.

A product of ENLAPA GmbH. Hosted in Frankfurt.

Product

ProductFeaturesPricingProduct tourApp login

Explore

Grid methodologyENLAPA Data APIENLAPA Netzpartnerenlapa.de

Contact & legal

Book a demoinfo@enlapa.deImprintPrivacy

ENLAPA GIS

Grid intelligence · Technical guide

What we simulate, and how precisely.

This guide documents the methods, algorithms and assumptions behind every grid intelligence layer: the reconstruction of the German transmission grid, the hourly DC load-flow screening, the calculation of available feed-in capacity, redispatch attribution and the assignment of generation units to substations, including calibration status and known limits. (As of 2026-07-10)

Back to grid intelligence

Contents

  • 1 · Reliability tiers T1–T3
  • 2 · Data sources and licences
  • 3 · Grid reconstruction
  • 4 · Electrical parameters
  • 5 · Generation and load model
  • 6 · DC load-flow screening
  • 7 · Available capacity / headroom
  • 8 · Calibration
  • 9 · Curtailment models
  • 10 · Unit → substation
  • 11 · Further model layers
  • 12 · Assumptions and limits
  • 13 · Appendix: constants

Section 1

Reliability tiers: T1 measured, T2 calibrated, T3 modelled

Every number on the platform belongs to exactly one of three tiers, and the product interface must never let a T3 number look like a T1 number:

TierMeaningExamples
T1measuredTaken directly from an official or operator data sourceRedispatch energy (MWh) per measure from the transmission system operators (TSOs); measure timestamps, durations and curtailment steps from the distribution system operators (DSOs); master data from the Marktstammdatenregister (MaStR, the German energy market master data register)
T2modelModel estimate, calibrated against measured redispatchCurtailment energy volumes in the distribution grid (upper-bound model, ERA5 weather-corrected)
T3modelModel estimate from the DC screening (methodology of the Netzentwicklungsplan, the German grid development plan, NEP). Not a real-time model, and not an operator commitmentAvailable feed-in capacity per substation; line loadings

Section 2

Data sources and licences

SourceContent / useLicence / access
netztransparenz.deTSO redispatch measures (all four control areas), "Format 5" CSV via the WebAPI (OAuth2), rolling 365-day window; includes the measured energy (MWh), start and end, and the affected unitnetztransparenz terms of data use
redispatchdaten.deIndividual DSO measures of the E.ON group (Bayernwerk, Avacon, SH Netz, E.DIS, Syna, LEW): per measure × unit × time slice with start and end, duration, curtailment step and the unit key of the EEG (Erneuerbare-Energien-Gesetz, the German Renewable Energy Sources Act). Monthly windows retrieved through server-side start/end filterspublic API
MaStR (Bundesnetzagentur, BNetzA)Unit master data: capacity, energy carrier, voltage level, grid operator, connection location, EEG key, coordinatesDatenlizenz Deutschland (German data licence)
OpenStreetMapGrid topology: substations, lines, voltage and operator tags (imposm import, OpenInfraMap schema)ODbL
50Hertz static grid model + JAO Core Static Grid ModelReal line parameters (R, X, Imax) for extra-high-voltage (EHV) circuits; the JAO file is split by TSO column onto TenneT, Amprion and TransnetBW. Raw files are never redistributed, only the parsed parametersTSO publication obligations
SMARD (BNetzA)Hourly actual generation per energy carrier plus grid load (filter 410), used as the national scaling anchorsCC BY 4.0
ARCO-ERA5 (ECMWF/Google)Reanalysis weather: 100 m wind (u/v), global irradiance (ssrd), 2 m temperature; 0.25° grid, German box 47.0–55.5°N / 5.5–15.5°E = 1,435 cells, hourlyCC BY 4.0
eXtremOS (FfE)Hourly sectoral load per NUTS-3 region (402 regions; industry, household, commerce and services), weather year 2012CC BY 4.0
BKG VG250/VG2500Administrative boundaries (municipalities, districts, federal states) for zones, choropleths and the control area dissolvedl-de/by-2-0
TransnetBW grid connection map / Bayernwerk Simply ConnectPublished (not modelled) connection capacities: points (Baden-Württemberg) and segments (Bavaria, steps of 750 kW and 3 MW)non-binding publications
netzausbau.de (BNetzA) / §13k EnWG publicationsBBPlG and EnLAG projects (ArcGIS FeatureServer, 159+27 segments); §13k relief regions (42 districts, 50Hertz + TenneT). §13k EnWG refers to the Energiewirtschaftsgesetz, the German Energy Industry Actopen geodata services

Section 3

Grid reconstruction: from OSM to a computable topology

The computable grid model is derived deterministically from the OSM data: every recomputation returns identical IDs and identical results for identical inputs.

Scope and voltage classes

  • Three voltage classes: 380 kV, 220 kV, 110 kV. The highest voltage tag decides the assignment: ≥300 kV → 380 kV class, ≥175 kV → 220 kV, ≥60 kV → 110 kV (150 kV lines are added to the 110 kV class). Anything below 60 kV or above 800 kV lies outside the model.
  • Spatial extent: Germany plus a 20 km border buffer. Foreign grid meshes without load and generation data would form artificial parallel paths; interconnectors end as boundary nodes. Transit ring flows (AT/PL/CZ) are therefore deliberately outside the model (see section 12).
  • Metric: all distance calculations run in EPSG:25832 (ETRS89/UTM 32N, true metres).

Node formation (clustering)

  • Substation geometries are clustered with a union-find grid method at a 500 m radius (PyPSA-Eur convention). One grid node = (location cluster × voltage class); the centroid is the mean of the members, name and operator take the most frequent value.
  • Line ends without a matching substation within 2,000 m become junction nodes (400 m raster bundling), so that lines meeting mid-span share a node. Lines are never dropped.
  • Parallel circuits are combined into one edge with circuits=N: R and X per circuit ÷ N, thermal rating × N.
  • Transformers connect adjacent voltage classes of the same cluster as separate edges; HVDC links (frequency tag 0) are typed as dc_link and excluded from the AC screening (controlled setpoint flows).
  • Degenerate edges (zero length <1 m, self-loops) are removed and counted; minimum counts (≥1,000 substations, ≥5,000 lines) prevent a broken OSM import from emptying the model (fail-closed).

Resulting size: around 7,950 screened edges after clustering. Quality metrics (island shares, parametrisation level per class, connected components) are logged on every run.

Section 4

Electrical parameters: standard types, TSO grid models, corridor matching

Standard line types (fallback)

Where no real parameters are available, standard types apply (Oeding & Oswald 2011, PyPSA convention), per circuit and kilometre:

ClassTypeR [Ω/km]X [Ω/km]Inom [kA]Snom = √3·U·I
380 kVAl/St 240/40, quad bundle0.030.2462.58≈1,698 MVA
220 kVAl/St 240/40, twin bundle0.060.3011.29≈492 MVA
110 kVAl/St 240/40, single conductor0.120.390.645≈123 MVA

Transformers: (380/220) 600 MVA, x_pu=0.10; (380/110) and (220/110) 300 MVA, x_pu=0.12; X/R ≈ 20. Every edge carries the N-1 reserve s_max_pu = 0.7 (pypsa-eur convention): usable capacity = 70% of the thermal rating.

Real TSO parameters (static grid model)

  • Sources: the 50Hertz static grid model (a dedicated annual file) plus the JAO Core "Static Grid Model" (published twice a year), whose rows are split by the TSO column onto TenneT, Amprion and TransnetBW; foreign owners (RTE, PSE, TenneT NL) are discarded. EHV circuits only (380/220 kV).
  • Matching algorithm: a normalised, unordered endpoint name pair plus the voltage class. Name normalisation: umlaut folding, lower-casing, removal of prefix tokens (uw, umspannwerk, ua, pst, kw, ...) and of a trailing circuit number. An exact match scores confidence 1.0; otherwise the best fuzzy candidate (mean of the two best SequenceMatcher ratios under optimal pairing) is accepted from 0.85 upwards.
  • Corridor matching: because OSM edges usually end at unnamed junctions, edge matching covered only 11% of the EHV circuit kilometres. Corridors are therefore formed: maximal chains of line edges of the same class whose interior nodes are pure pass-through junctions (degree 2). A corridor with two named endpoints is matched like a circuit; R and X of the match are distributed across the chain members in proportion to length (the series sum stays exact, so the PTDF sees the true corridor impedance), with a length plausibility gate (±30% or 15 km; ±60% or 30 km on an exact name match). Direct edge matches always take precedence. Result: coverage with real parameters rises from 11.0% to 21.6% of the EHV circuit kilometres, which means 78.4% still run on standard types (see sections 8 and 12 for what that implies).
  • Every edge carries its provenance in param_source (tso_*, tso_*_corridor, std_type, default).

Section 5

Generation and load model (hourly, calendar year 2025)

Generation

  • Plant fleet: all MaStR units marked "in operation" (status code 35) with coordinates and rated capacity, assigned to the grid model through the unit-to-substation mapping (section 10), otherwise to the nearest node that meets the same hard voltage floor.
  • Wind capacity factor from the ERA5 100 m wind, with a cubic power curve between cut-in and rated wind speed:
CF_wind
CF_wind(v) = 0 for v < 3 m/s or v > 25 m/s
           = (v³ − v_ci³)/(v_r³ − v_ci³) for v_ci ≤ v < v_r
           = 1 from rated wind speed upwards
Fleet split by coastal AGS prefix {01,02,03,04,13}:
  high_wind v_r=13.5 m/s, otherwise low_wind v_r=10.0 m/s
  • PV capacity factor from global irradiance: CF_pv = (G/1000 W/m²) · PR with a performance ratio of 0.9, clipped to [0,1] (v1 without orientation or tilt; an optional temperature derating of −0.4%/K exists but is off by default).
  • Scaling to reality: the capacity factor model supplies the spatial pattern; the national hourly sum for wind and PV is scaled multiplicatively onto the SMARD actual generation (unscaled, the wind model ran 31% high, which would have overstated the north-south flows).
  • Conventional plants, biomass, hydro and pumped storage: SMARD actual generation per carrier group, distributed pro rata by installed capacity per node (time-invariant weights, national sum preserved exactly). No unit commitment model in v1 (see section 12).

Load

  • eXtremOS supplies hourly sectoral load profiles per NUTS-3 region (402 regions; weather year 2012, leap day removed, so 8,760 hours map 1:1 onto 2025).
  • Regionalisation onto 110 kV nodes uses ENLAPA's own land use data: industrial load by industrial and commercial areas, household plus commerce and services load by settlement areas. Three energy-preserving corrections: (1) nodes with more than 1 TWh/a of assigned industrial energy are moved to the nearest ≥220 kV node (≤25 km), a direct-connection heuristic motivated by BASF Ludwigshafen (around 6.35 TWh/a); (2) every weight polygon is distributed inverse-quadratically across the 3 nearest 110 kV nodes; (3) capping: at most 50% of a (region × sector) energy on a single node, with the excess redistributed pro rata.
  • SMARD anchor: the national hourly sum is scaled onto the realised grid load (SMARD filter 410). Fail-closed gates: annual energy 400–600 TWh, hourly mean 40–90 GW.

Section 6

DC load-flow screening: PTDF across 8,760 hours

The core of the twin is a linear DC screening: line flows are linear in the nodal net injections.

DC screening
f = PTDF · p    with p(t) = generation(t) − load(t) per node [MW]
B = Aᵀ·diag(b)·A (nodal susceptance)
PTDF = diag(b)·A·B_red⁻¹ (slack node reduced)
x_pu = x_Ω·S_Base/U²,  S_Base = 100 MVA,  x floor 10⁻⁵ pu
  • Validation: our own numpy PTDF is verified against pandapower rundcpp on SimBench grids to below 10⁻⁶ p.u. (including the N-1 case with a line outage) and cross-checked against the PyPSA PTDF.
  • Distributed slack: the hourly imbalance is taken with fixed weights proportional to each node's annual generation: p'(t) = p(t) − w·Σp(t). The same weights define the reference for the headroom sensitivity (section 7).
  • Islands: only the largest connected component is screened; the excluded node and edge shares are reported. Transformers enter as ordinary low-reactance edges (tap changers and phase shifters ignored); HVDC is excluded.
  • Execution: float32, in blocks of 730 hours (roughly one month) across 8,760 hours. Capacity per edge = s_nom · s_max_pu.
  • Persisted per edge: the loading percentiles p50/p95/p99/max plus overload hours (loading > 1.0), the N-1 equivalents including the worst contingency, and Parquet intermediates for the calibration.

Section 7

Available capacity: feed-in headroom per substation

Headroom answers one question: how much additional feed-in ΔP can node n absorb in hour t before any line exceeds its limit? The additional feed-in is taken up by the distributed slack; the slack-adjusted sensitivity of line l to node n is:

Headroom
S_ln = PTDF_ln − Σ_k w_k·PTDF_lk
headroom_n(t) = min_l ( cap_l − |f_l(t)| ) / |S_ln|
   across all l with |S_ln| > 0.05 and known capacity
  • Sensitivity threshold 5%: the conventional "significantly affected element" limit. (A threshold of 10⁻⁴ proved far too permissive: a distant line with a sensitivity of 0.001 and a negative margin zeroed out every node.)
  • Positive-margin semantics: lines that are already at or beyond their limit in a given hour (margin ≤ 0) drop out of that hour's minimum. Base-case violations are TSO redispatch reality, not a marginal constraint on additional feed-in. Without these semantics, headroom would be identically zero across Germany (at around 10 TWh/a of redispatch, some EHV element is violated in almost every hour).
  • Constraint set = EHV (≥220 kV), NEP scope. 110 kV edges are reported in full but are not used as a headroom constraint (the NUTS-3 load clustering produced around 500 chronic artefact overloads there). Edges with suspect data (own p95 loading > 2.0) are excluded and counted.
  • Percentile criterion: the 8,760-hour series per node yields p100 (the minimum), p99 and p95 = the feed-in that would be possible without overload in at least 95% of the hours of the year, and that is the default display of the map layer. Capped at 100,000 MW (no binding element); nodes with no constraint at all are shown as "not assessed" (grey). Each node also carries the most frequently binding line (limiting_edge).
  • Direction: the value is a feed-in headroom (additional generation). For withdrawal (battery charging, electrolysis) the sign of the grid effect reverses; a dedicated withdrawal headroom is on the roadmap. Until then, curtailment hotspots and §13k relief regions are the reliable siting signals for flexible load.

N-1 calculation (LODF): implemented, disabled for the customer layer

N-1 (LODF)
f_l^post(k) = f_l + LODF_lk·f_k
LODF_lk = (PTDF_l,f(k) − PTDF_l,t(k)) / (1 − (PTDF_k,f(k) − PTDF_k,t(k)))

Contingency set = EHV; bridges (island formers, |denominator| < 10⁻⁶) are excluded and counted (their N-1 event is loss of load, not redistribution). The N-1-aware headroom adds, for each monitored line, its 5 worst contingencies as pseudo-lines with sensitivity PTDF[l,·] + LODF[l,k]·PTDF[k,·], and is by construction ≤ N-0. A deliberate decision: the customer layer shows N-0 headroom. At today's parametrisation level, the strict N-1 headroom (median p95 ≈ 10 MW; 2,053 of 4,217 substations below 10 MW) is parameter noise rather than signal. It will be released only once the corridor impedance coverage turns the N-1 corridor rank correlation positive (section 8). The N-1 loading and calibration metrics keep running in the background.

Section 8

Calibration: model against measured redispatch

Every screening cycle is tested against reality: predicted bottlenecks (overload hours per edge) against observed, geocoded redispatch (curtailed MWh per unit, assigned to the nearest EHV edge within 25 km; zones via the control area polygons). All metrics are versioned append-only, and a regression guard blocks publication if the hit rate falls by more than 20% against the previous run.

MetricDefinitionCurrent valueA sober reading
hit_rate_top20predicted top 20 ∩ observed top 20 / 20 (edges)0.00disjoint at edge granularity; the attribution base is thin (284 geocoded TSO units → 142 edges)
hit_rate_top20_corridor (+N-1)the same at corridor level0.05the first hit rate above zero; the dilution effect is real, but small
spearman_zone_*rank correlation of overload hours ↔ attributed MWh per control areaAmprion +0.19 · TenneT −0.18 · zones_mean +0.002the ranking does not hold up yet; the remaining error is parameter quality (78.4% std_type)
loading_percentile_at_measuresmodel loading percentile of the edge at the start of real measures (baseline 0.5)0.574 (N-1: 0.584)weakly positive: measures start more often than by chance in hours the model considers tight
energy_r2 (generation/load per zone)r² of modelled vs. SMARD control area energyload: Amprion 0.95 · TransnetBW 0.86 · TenneT 0.53 · 50Hertz 0.22the energy anchor is solid in the west and south; the 50Hertz assignment is the weakest point
attribution_coverageattributed / observed MWh0.63 (12.8/20.4 TWh)unit-level TSO redispatch is only around 20% of the total volume; name matching reaches about 69%

Interpretation: today the twin is a screening tool with a reliable energy and timing anchor, but still without a reliable edge ranking. Hence the conservative product decision: N-0 display, T3 labelling, no suggestion of an operator guarantee. The calibration loop runs unattended every month.

Section 9

Curtailment models: measured, modelled, attributed

TSO side (measured): redispatch measures from all four TSOs including the measured energy (MWh). The free-text unit names are geocoded against the MaStR: normalisation (remove everything outside [a-zA-Z0-9], lower-case), preferring an exact match, otherwise a substring search over the first non-stopword token of at least 5 letters, with the highest rated capacity as the tiebreak. Coverage is around 68.9% of the name references.

DSO side (E.ON group): measured facts, modelled energy. The feed supplies, per measure × unit × time slice: start and end, duration, curtailment step and the EEG unit key (joined onto the MaStR; 46.4% of the keys match a unit of at least 30 kW), but no energy volume. That volume is modelled in two stages:

DSO energy
v1 (upper bound):  E = P_rated · (step%/100, clamped to [0,1]) · (duration_min/60)
CF-refined:        E = P_rated · step% · ∫ CF_ERA5(t) dt   over the measure window

The integral sums, per hour, overlap(window, hour) × CF(hour, grid cell); wind uses the two-class power curve, PV the global irradiance (0.25° cell of the unit). Windows longer than 168 h are extrapolated with the window mean after the first exactly integrated week; functional tests are excluded. Both the v1 and the CF value are stored, so the difference stays visible. Why an upper bound: v1 assumes full load throughout the curtailment window; the CF weighting replaces that with the actual weather resource, but it remains a model estimate (not a measurement of lost energy, and structurally impossible to validate, because DSOs do not publish unit-level lost energy).

Consistency rules in the display: measures are counted everywhere as distinct events (not as time slices); measured facts (count, hours, weekly profile) carry "measured", energy volumes carry "model".

Section 10

Unit-to-substation mapping (basis of the fan-out)

361,741 MaStR units are assigned to exactly one of around 37,000 OSM substations (exactly one row per unit, strictly checked). Four signals in a fixed order of precedence; every assignment carries its provenance and confidence:

  1. Location grouping (registered), confidence 0.7: units sharing the same MaStR connection location are assigned as a group (centroid, highest voltage floor among the members) to exactly one substation. A location can never split across several substations.
  2. Grid operator match, confidence 0.8: candidates whose OSM operator tokens overlap with the tokens of the registered connecting grid operator win, after the voltage precondition and before distance. Deterministic token normalisation: lower-casing, removal of legal forms and filler words, minimum token length 2. In production this signal decides around 58% of the units (mean distance 6.1 km instead of 2.0 km for a pure nearest-neighbour approach).
  3. Voltage floor plus distance (baseline), confidence 0.5: voltage level codes 348/349 → ≥220 kV, 350/351 → ≥110 kV; without a code, the capacity heuristic applies (≥150 MW → 220 kV, ≥50 MW → 110 kV, ≥1 MW → 20 kV; §8 KraftNAV / VDE-AR-N connection levels). Untagged "minor_distribution" stations count as 20 kV (around 80% of medium-voltage stations are untagged). Search radius 20 km, 25 km for a ≥220 kV floor; stations below the floor are removed from the candidate set. If no candidate fits: the nearest substation with voltage_ok=false, never discarded.
  4. Co-curtailment correction (observed), confidence 0.9: units curtailed together in at least 3 distinct DSO measures share a feeder. The weighted majority of the cluster can move a unit, but only within its search radius, only where the voltage floor is met, never against a registered location group, and measures affecting more than 200 units (area-wide curtailment, no feeder signal) do not count.

Production distribution after the last recomputation: operator_match 210,371 · lokation_group 131,088 · knn 20,277 · cocurtailment 5; zero split locations. One caveat matters: the MaStR NAP table contains no coordinates, so its geometry is a centroid artefact of the members. Registry data therefore cannot replace the spatial search entirely; it can only refine it.

Section 11

Further model layers

LayerMethod
Redispatch intensity (municipality / grid area)Curtailed MWh per year and area (TSO: point-in-polygon of the geocoded units; DSO: via the municipality key), normalised per installed MW, in quintile classes. 1,318 municipalities and 104 grid areas carry values.
Grid area class (renewables-heavy / balanced / load-heavy)Ratio of installed renewable capacity (MaStR wind and PV, in operation) to a load proxy from area benchmarks (industry 0.30 MW/ha, settlement 0.08 MW/ha): ≥1.5 → renewables-heavy, ≥0.75 → balanced, otherwise load-heavy. A commercial lead signal, never a scoring input.
Substation map (connected capacity)Sum of rated capacity, unit count and energy carrier mix per substation from the mapping (section 10); curtailment split three ways: TSO measured / DSO CF-modelled / DSO v1 upper bound.
Grid operator per municipalityThe dominant DSO = highest installed MW per municipality key; the top 12 operators with voltage levels as an attribute.
Published connection capacityTransnetBW grid connection map (around 52 extra-high-voltage (EHV) points, traffic-light status, MW bands, n-0/n-1, 2032–2035) and Bayernwerk Simply Connect (KML segments, steps of 750 kW and 3 MW). Published, non-binding information, not ENLAPA modelling.
§13k relief regions"Use instead of curtail" regions (implementation concept 2.0, effective 2026-10): 42 districts, only 50Hertz (H1, H2) and TenneT (T1–T6), dissolved from district boundaries.
Grid expansion projectsBBPlG (159 segments) plus EnLAG (27) from the BNetzA FeatureServer; the timing signal is the procedural stage (rank 1–6). A display signal, never a scoring input.
Control areasDistrict-to-TSO assignment (with the overrides OWL → TenneT, Rhine-Main → Amprion, Bavarian Swabia → Amprion), dissolved; carrier of the measured zonal redispatch totals.

Section 12

Assumptions and limits, in full

Known limits of the model

  • DC instead of AC. No reactive power, voltage or thermal dynamics model; a linear bottleneck screening, not an operational study. Tap changers and phase shifters are not modelled; HVDC is excluded as a setpoint element.
  • Reconstructed topology. The grid is derived from OSM; missing or mistagged stations and lines propagate into the flows. Island shares and degenerate edges are quantified on every run.
  • Uneven parameter coverage. Only the 50Hertz static grid model is verified in detail; 78.4% of the EHV circuit kilometres run on standard types. This is currently the most likely cause of the weak edge ranking, and the reason why the N-1 headroom is not exposed to customers.
  • Attribution is geometric and name-based. Observed redispatch reaches the model only through MaStR geocoding (around 69% name matching on the TSO side; 46.4% EEG keys on the DSO side) and the nearest-edge assignment within 25 km. Unit-level TSO redispatch is also only around 20% of the published volume.
  • DSO energy is structurally unvalidatable. There is no published unit-level lost energy per DSO, so the MWh remain a clearly labelled upper-bound or weather-corrected model estimate. DSO coverage today: the E.ON group.
  • Load allocation dominates the 110 kV error. An area-weighted NUTS-3 distribution is a proxy; the three disaggregation corrections (section 5) mitigate but do not remove the uncertainty at individual nodes, which is why 110 kV edges are not a headroom constraint.
  • Simplified conventional dispatch. SMARD actuals distributed pro rata instead of a unit commitment model distorts north-south flows in extreme hours.
  • One weather and load year (2025), no scenario years. Foreign ring flows lie outside the German extent. PV without orientation or tilt; wind with a two-class fleet curve; ERA5 cell 0.25° (around 25 km).
  • Product labelling. Every layer names source and methodology in the "Data status & methodology" attribute; T3 values consistently carry "model" / "model estimate (DC screening, NEP methodology)" and are explicitly not real-time figures and not operator-binding capacity commitments.

Section 13

Appendix: key constants

ConstantValueMeaning
CLUSTER_M / SNAP_M500 m / 2,000 mNode cluster radius / junction snap radius
s_max_pu0.7N-1 reserve on the thermal rating
FUZZY_THRESHOLD0.85Name matching threshold for the static grid model
SENS_MIN0.05PTDF sensitivity threshold in the headroom
HEADROOM_MIN_KV / EXCLUDE_P95220 kV / 2.0Constraint set EHV / exclusion of edges with suspect data
MAX_HEADROOM_MW100,000Cap for "no binding element"
N1_TOPK / HEADROOM_N15 / offContingencies per line / N-1 headroom disabled on the customer side
Wind v_ci/v_r/v_co3 / 10 or 13.5 / 25 m/sPower curve (low_wind / high_wind coastal split)
PV PR0.9Performance ratio, reference 1,000 W/m²
Demand gates400–600 TWh · 40–90 GWFail-closed plausibility window for load
Mapping search radius20 km (25 km EHV)Unit → substation (section 10)
Capacity floors150 / 50 / 1 MW → 220 / 110 / 20 kVVoltage floor without a registry entry
Co-curtailment≥3 shared measures · ≤200 units per measureCluster signal / area-curtailment exclusion
Attribution≤25 km, ≥220 kVCalibration mapping unit → edge
TSO window / DSO window365 d / 730 dRolling data windows

All thresholds are configurable as documented environment variables; changes run through the monthly calibration loop with its regression guard.

Every value carries its reliability tier in the product (measured / model). Companion document to the grid intelligence page.

Back to grid intelligence

See your next site first.

In 30 minutes we walk you through the platform using your real project regions, and afterwards you receive a quote that fits your team size.

Book a demo (30 min)Request a quote

ENLAPA GmbH · Made in Germany · Hosting in Frankfurt