Storage paired with generation and flexible load
Better dispatch decisions above your EMS.
Metis builds a live twin of your battery, site load, generation, contracts, and market exposure, then recommends charge, discharge, import, export, bid, or reserve actions your existing EMS can execute.
Start
Advisory replay
Prove
Lift vs EMS baseline
Promote
Only after calibration
Proof path
Start advisory. Prove lift. Promote only after calibration.
Run 90 to 180 days of telemetry, prices, site load, and settlements through Metis. Compare against actual EMS behavior and desk decisions before any controller integration.
- 01
Replay one asset
Run 90 to 180 days of telemetry, prices, site load, and settlement through the twin without leakage.
- 02
Compare against the EMS baseline
Grade proposed dispatch against actual operation, operator rules, and commercial desk decisions.
- 03
Promote only after calibration
Move from advisory packets to controller integration once constraint behavior and settlement lift are proven.
Why it matters
The expensive miss happens before execution.
Batteries paired with solar, gensets, or flexible load are priced assets, not just equipment.
EMS logic handles safe execution, but it does not continuously price DA/RT spreads, congestion, demand charges, and reserve value.
The hard call is preserving optionality: when to spend cycles, when to keep headroom, and when the site should serve itself versus the market.
Twin runtime
Model the system. Forecast the grid. Plug the answer back in.
Metis builds a live twin around the decision surface you already operate: the assets, desk state, constraints, market context, and software systems. The runtime forecasts what changes next, scores feasible moves, and writes the packet back to the tools that execute.
NY Clean-Energy Hub
Weather + irradiance
live
NYISO market data
owned
On-site generation
132 MW
Flexible load
41 MW
Metis twin
calibrated
BESS fleet
640 MWh
Marcy 345 kV tie
77.9 MW
Existing EMS
online
Dispatch packet
$287k
Weather + irradiance
live
NYISO market data
owned
On-site generation
132 MW
Flexible load
41 MW
Metis twin
calibrated
BESS fleet
640 MWh
Marcy 345 kV tie
77.9 MW
Existing EMS
online
Dispatch packet
$287k
Integration surface
Around the systems energy teams already run.
Example integration targets, not partner badges: Metis can pull from data systems, read operational state, and return bids, setpoints, or decision packets through APIs and control interfaces.
Surface
Market data
Examples
ISO/RTO feeds, Yes Energy, weather and outage APIs
Metis reads
Prices, awards, outages, load, renewable shape
Metis returns
Forecast features and settlement trace
Surface
Site systems
Examples
EMS, SCADA, AVEVA PI, inverter telemetry
Metis reads
SOC, limits, alarms, site load, generation state
Metis returns
Advisory setpoints and operator rationale
Surface
Control and bidding
Examples
Fluence Mosaic, Wartsila GEMS, Tesla Autobidder
Metis reads
Bid state, controller constraints, execution windows
Metis returns
Dispatch or bid packet once approved
Surface
Asset operations
Examples
Power Factors, warehouse, maintenance systems
Metis reads
Availability, derates, work orders, performance history
Metis returns
Constraint updates and asset-level traces
Surface
Desk and risk
Examples
PCI, ION, ETRM, blotter and risk systems
Metis reads
Positions, contracts, limits, exposure
Metis returns
Trade packet, hedge frame, risk-bounded call
Surface
Automation
Examples
API, MCP, Python and agent workflows
Metis reads
Typed context and workflow state
Metis returns
Decision packets, audit trace, model outputs
Runtime
Metis sits above the EMS, not in place of it.
The EMS remains the source of truth for telemetry, alarms, and execution. Metis reads that live state, builds a twin around commercial and physical constraints, simulates feasible dispatch paths, and returns a packet the operator or controller can accept.
01
Existing controls
EMS, SCADA, inverter telemetry, site load, generation, alarms, limits, and current commitments.
02
Metis runtime
A bounded digital twin that joins asset physics with market prices, weather, outages, tariffs, contracts, and settlement history.
03
Dispatch packet
Recommended setpoints, bids, reserve guardrails, operator rationale, and a trace for grading against realized settlement.
Decision loop
Decide when to charge, discharge, export, import, or hold reserve.
Given the site load, state of charge, on-site generation, market prices, and contract limits, what should the asset do over the next dispatch window?
Data in
Yours
- EMS telemetry: SOC, inverter limits, alarms, cycle budget
- Site load, solar or genset output, export and interconnect limits
- Market position, tariff, tolling, PPA, and demand-charge rules
- Nodal and hub prices, DA/RT spreads, ancillary awards
Metis adds
- Weather, solar shape, grid-stress, outage, and curtailment signals
- Similar-day settlement and dispatch history across ISO regimes
Plus cross-ISO history and pretrained time-series models.
Metis decision core
- 1Read
- 2Forecast
- 3Score
- 4Recommend
Same core, every desk.
Decision packet
WhyCharge from on-site solar through the soft midday interval, keep import below the site threshold, hold 35% reserve through the late-afternoon uncertainty window, then export into the HE19 to HE21 spread unless real-time congestion collapses below the guardrail.
High on charge window, medium on export value because congestion tail is live
Calls Metis scores
From forecast to control.
Charge, discharge, or hold reserve
Score each dispatch path against price spread, site reliability, cycle cost, export limits, and downside exposure.
Serve the site or sell to the grid
Compare demand-charge protection, behind-the-meter value, curtailment avoidance, and merchant export opportunity.
Bid energy, ancillary, or stay optional
Choose the market product only when the forecasted spread clears risk and operational constraints.
More energy pages
Split by the decision in front of the operator.
Prove it on one hard call.
Bring one asset, hub, node, or desk baseline. Metis will replay it, grade the lift, and show where the runtime changes the decision.