Save, restore and share setup
Save the complete working setup as a portable JSON file. This includes system settings, candidate assets, loaded demand and renewable profiles, load-builder components, map/resource assumptions and optional solved results. Another user can open the same HTML file, load this JSON, and rerun or inspect the case.
Conceptual nodal view. In one-node mode the existing hub-and-spoke view is retained. In multi-node mode the diagram uses node cards and directed or bidirectional link arrows, with technology candidates and storage grouped inside their assigned node. Drag node cards to arrange the diagram for readability. This is still a linear transport abstraction, not an alternating-current power-flow model.
Publication, data provenance and license
Software license: GNU General Public License v3.0 or later (GPL-3.0-or-later). Users may use, share and modify the tool. If they distribute modified versions, the modified source should remain available under the same license.
PLEXOS-World demand data attribution: the embedded demand library is a compressed reconstruction derived from PLEXOS-World 2015, Harvard Dataverse, DOI 10.7910/DVN/CBYXBY. The specific demand-file reference used during development was doi:10.7910/DVN/CBYXBY/JCQPTE.
Recommended citation: Brinkerink, M., and Deane, P. (2020). PLEXOS-World 2015. Harvard Dataverse. Also cite the related article, Building and Calibrating a Country-Level Detailed Global Electricity Model Based on Public Data, when using the embedded demand profiles in published or shared analysis.
Netlify note: publish the generic app only. Do not publish saved setup JSON files containing confidential locations, demand traces, costs, capacities or commercial assumptions.
Decision Summary
Decision framing converts the solved optimisation into plain-language conditions for success. It is generated from the current solved case and should be read before the detailed metrics.
Binding and near-binding constraints
This panel explains why the solution looks the way it does using simple constraint diagnostics, not dual values.
| Constraint area | Indicator | Extent | Interpretation |
|---|---|---|---|
| Not run | - | - | Run optimisation to populate this panel. |
Commercial reality
Reliability and firming are economic choices. This panel translates the solved technical system into board-level commercial signals.
Scenario comparison and decision dashboard
Compares solved snapshots for the optimised base, fixed system comparator, stress cases and flat-world sensitivity. The first snapshot remains the base case for deltas. Snapshots store summary metrics only, not full dispatch arrays.
| Scenario | Type | Annual cost | LCOE | Unserved | Decision signal |
|---|---|---|---|---|---|
| No scenario snapshots saved yet. Run a case, then add the plotted or base result. | |||||
Stress test layer
Stress tests apply selected shocks to the current setup and report deltas versus the solved base case. They do not overwrite the base solution.
Stress tests run full-year reruns one at a time. If a stress does not return within the wall-clock timeout, that row is marked as timed out and the next selected stress continues. Default and maximum wall-clock runtime is 20 minutes per rerun. Reduce candidate count or horizon if a case still times out.
| Stress | Status | Plot | Cost delta | Conditional LCOE delta | Unserved delta | Emissions delta | Interpretation |
|---|
Model boundary and limitations
This visible boundary is intentional. It reduces misuse risk and keeps the tool honest.
- Transport bottlenecks, link losses and link build costs are represented. Voltage limits, inertia, frequency security and alternating-current power flow are not.
- No unit commitment, minimum stable generation, starts, ramping limits, binary build decisions or complementarity constraints.
- No market price formation, contract revenue, merchant risk, revenue sufficiency or nodal pricing.
- No probabilistic outage modelling, extreme-weather tail risk or security-constrained dispatch.
- Storage polish and non-commercial guide scores are diagnostics. They do not turn the model into a physical dispatch engine.
- Outputs are screening-grade evidence, not a bankable system design or investment approval.
Installed capacity by technology
Annual energy by function
System cost bridge
This is a cost bridge, not a tariff, market price or investment answer. The conditional LCOE is annual all-in system cost divided by annual served demand for this feasible modelled system. It excludes risk, optionality, network security and revenue sufficiency.
Cost by system function
Detailed cost components
Node operating audit linked to supply-demand stack
This audit uses the selected plotted result and the same time slicer as the hourly dispatch explorer. The Supply-demand stack remains the primary node chart; this panel quantifies net imports, gross exports, storage charge/discharge, dumping, unserved energy and balance residual for the selected node. It is an operational diagnostic over the solved transport model, not a power-flow study.
Use the main supply-demand stack for visual shape. Use this audit view for imports, exports, storage sinks, dumping, unserved energy and node balance residual.
Selected node operating audit
| Metric | Selected range | Unit | Interpretation |
|---|
Hourly dispatch explorer
Use the day-time slicer, or the persistent bottom slicer, to inspect full-day or custom hourly slices of the selected solved result. Demand-framing traces can show the full selected period, while dense operational charts are capped to a 30-day rendered window for browser performance. Chart X axes use timestamps from the model start date. Energy Storage System charging is shown below zero. Dumping means renewable energy available in that hour that is neither served nor stored.
Demand being framed before optimisation
This chart is available before optimisation. It shows demand from load objects, reference CSV and PLEXOS-World sources against active model demand. Node demand is summarised below.
This changes only the operational charts below. Stress-test rows become available here after successful stress solves. Selecting Fixed system comparator will solve fixed system comparator dispatch first if needed, then plot it. KPI tiles and the main capacity and energy tables continue to show the optimised base system.
Allowed keys: solar, wind, dis, firm, grid, unserved. In node-filtered charts, delivered imports follow the grid position. This changes only the visual stacking order, not the optimisation result.
Supply-demand stack chart
Stacked supply shows how solar, wind, firm generation, Energy Storage System discharge, External Grid Interface imports and any unserved energy meet node demand over the selected period. Energy Storage System charging is shown below zero because it is load on the system.
The chart legend is generated from active candidate-level series in the selected time window. In multi-node cases, the node filter can show the system total or a selected node. Drag the legend box to reposition it.
Dumped power and Energy Storage System charging
Positive values show dumped renewable power. Negative values show Energy Storage System charging, which absorbs surplus before dumping if it is economic and capacity is available.
Energy Storage System state of charge
Hourly marginal and average cash cost
Shows the selected plotted result: optimised system, fixed system comparator, plotted stress case or flat-world sensitivity. Marginal cost is a short-run cash-cost proxy from the highest-cost dispatched block in each hour, with unserved energy setting the Value of Lost Load when present. Average cash cost is hourly variable, import, carbon, unserved and dumping cash cost divided by served node demand. It is not a market price and it excludes capacity recovery. Summary figures below show full-year and selected-range averages. Click or tap a point on this chart to set the selected hour used by the merit-order curve and SRMC demand-crossing stack.
The merit order is a cash-cost stack for the selected hour. It uses available candidate capacity in that hour, not a network dispatch curve. Storage is shown at its direct variable cost only; its opportunity value is not calculated without solver dual prices.
Merit order cost curve for selected hour
Export checks
Checks the Dispatch CSV header for the currently plotted solved result. It confirms that demand, node, link-flow, storage, load-object, balance-residual and finance-export columns are available where expected, then builds a column dictionary from the observed export header.
| Area | Check | Status | Detail | Action |
|---|---|---|---|---|
| Export checks | Not run | Watch | Use the review button after a solved result is plotted. | Then export Dispatch CSV and Finance CSV. |
Dispatch column dictionary preview
Preview shows the first dictionary rows. The download includes observed columns from the current plotted result where available, plus expected schema patterns.
| Column or pattern | Area | Requirement | Definition | Interpretation |
|---|---|---|---|---|
| Not run | - | Watch | Run the column review. | The full dictionary is produced by the download button. |
Detailed tables, audit and exports
Capacity table
Energy table
Energy balance audit
Optimal versus user system comparison
Finance detail: discounted cash flow and system-wide P&L
Post-processing finance view for the currently plotted result. The finance LCOE is solved so constant annual revenue from served energy produces a project IRR equal to the Cost of Capital / Target IRR, after fixed costs, variable costs, tax cash expense and straight-line depreciation over the Economic Investment Horizon. It does not change the optimisation.
System-wide P&L
| Line item | Value | Unit | Interpretation |
|---|
Annual discounted cash flow
| Year | Revenue | Fixed cost | Variable cost | Depreciation | Tax | Net cash flow | Discounted cash flow | Cumulative discounted |
|---|