Every equation behind the microgrid result
MicrogridModeler is a chronological techno-economic screening engine. This page publishes the implemented equations, dispatch order, optimization guarantee, data lineage, and model boundaries in crawlable HTML.
Commercial quote: energy and cash-flow boundaries
The commercial workspace uses nominal dollars and an unlevered project comparison, with a separate customer loan or lease view. The advanced engine equations follow below and use their own explicitly configured financial boundary.
Solar and wind meet demand first. Staged natural gas and diesel fleets support economic, peak-period and backup-only operation. Optional generator charging and off-peak grid charging obey battery power, reserve and conversion limits. Stored energy is traced by origin, so grid-charged discharge is not labeled renewable. Monthly bills include charging imports. Dispatch is a chronological heuristic, not globally optimized unit commitment. Separate outage studies start from the preceding modeled SOC and honor critical-load and fuel limits; they do not earn an assumed monetary reliability credit.
Each year is dispatched again with load growth, resource degradation and battery capacity fade. Replacement budgeting is annual: calendar life, full-equivalent discharge cycles or generator hours trigger costs at the next year boundary. Excess usage carries forward and multiple crossed service intervals are charged. Physical-asset replacements reset the corresponding age; cost-only service does not rejuvenate a battery. Within-year replacement timing and downtime are outside this approximation.
Flat or weekday TOU energy rates, uniform or twelve monthly demand rates, fixed charges and exports are explicit. Complete 15-, 30- and 60-minute meter years can be imported with annual energy preserved. Native interval peaks are retained and disclosed; the hourly dispatch and billing model can understate subhourly demand. Leap years, incomplete or ambiguous timestamp series are rejected. The opening tariff is illustrative, not a verified local utility schedule. Solar defaults to a synthetic profile; optional PVWatts provides modeled typical-year production. Wind is synthetic in the quote. No automatic incentive, tax deduction, salvage value or underwriting approval is assumed.
Project LCOE and NPV exclude financing. The customer view includes annual loan amortization or monthly lease payments aggregated at year end, a stated buyout and lessor maintenance coverage. Loan balances and lease commitments beyond the displayed horizon are disclosed; there is no assumed terminal asset value. Escalation sensitivity reprices a fixed dispatch, while changing the selected fuel or electricity escalation reruns generator operation. Cost-plus worksheets distinguish markup from gross margin and apply an explicit selling price. Customer IRR is only shown for investment cash flows with one sign change; customer print views exclude internal pricing details.
Inputs
Site, 8,760-hour load, component sizes, costs, operating limits, project horizon
Resource
Modeled PVWatts/NSRDB data when selected; otherwise a labeled, seeded Hottel + Erbs synthetic series
Dispatch
Every hour closes an explicit energy balance and propagates battery state of charge
Feasibility
Unmet load, renewable fraction, excess energy, and operating reserve are checked as constraints
Economics
Each project year is re-dispatched; granular capital, owner, operating, replacement, carbon, and closeout cash flows are discounted explicitly
Resilience & evidence
Grid outages plus component failures/repairs are scored; inputs, provenance, outputs, CSV, and fingerprint travel together
Solar geometry and PV conversion
Mid-hour solar position → clear-sky envelope → cloud modulation → diffuse split → tilted plane → module temperature.
Utility tariffs and bill reconstruction
Rapid simple-rate screening or full OpenEI URDB rate structures, priced against the same hourly grid exchange.
Fast scenario setup
Flat or weekday TOU energy, monthly demand, fixed charge, net metering or custom export credit, and explicit import/export limits.
Complex rate fidelity
Weekday/weekend schedules, graduated energy tiers, monthly demand tiers, TOU demand ratchets, fixed/minimum charges, and export rules are preserved from imported JSON.
8,760-hour dispatch, storage, and fuel
Renewables serve load first, then storage; the battery follows explicit power and energy bounds; the genset closes the remaining deficit.
Deficit-driven, with 24-hour foresight
The genset starts only for a real deficit. Once committed, it can remain on and bank energy until the battery can cover the next 24 hours of forecast net deficit, reducing rapid starts without hiding output.
NPS favor-diesel policy
When the genset is needed it operates at rated power; load is served first, usable surplus charges storage, and any remainder is recorded as dumped generator energy.
NPS legacy policy
Renewables serve load first, then diesel precedes the battery. The generator does not start solely to charge storage; unavoidable minimum-load surplus can still be stored.
NPS maximum-reserve policy
Diesel protects the battery's maximum SOC and storage discharges only after renewable and generator capacity. Sub-minimum operation is allowed and reported as wet-stacking.
Component disturbance, repair, and resilience
Seeded fleet-unit failures, repair-driven capacity restoration, and every resilience score implemented by NPS Microgrid Planner v3.
Sizing search and lifecycle economics
A transparent sampled search with a bounded guarantee, followed by a cash-flow model built from the dispatch.
Assumptions and model boundaries
These statements are part of the result, not footnotes hidden after the decision.
Primary methods and public data
Direct links are included so a reviewer—or an answer engine—can follow every important claim to its source.
Public methodology
Open HTML and Markdown publish the equations, scope, and citations without a login or PDF gate.
Open methodology.mdBenchmark data
Every reference project exposes inputs, starting sizes, provenance, and computed outputs as JSON.
Open benchmarks.jsonOpenAPI contract
The same deterministic simulation can be called by benchmark key or a complete project payload.
Read API docs