Direct answer

Size an off-grid microgrid by converting a validated 8,760-hour load, chronological solar resource, reliability rule, and lifecycle costs into bounded PV-kW, battery-kW/kWh, and diesel-kW candidates. Dispatch every candidate through every hour, reject designs that break supported load, state-of-charge, power, or reserve rules, then rank the feasible set. The answer changes with load shape, growth, bad-weather years, component limits, fuel price and logistics, and allowed unmet energy.

Key takeaways

  • Treat annual energy, peak demand, and autonomy ratios as search anchors, not final equipment sizes; chronology decides when PV, battery, and diesel capacity can actually work together.
  • Size battery power and battery energy separately. A kWh value does not prove that the battery or converter can serve the required kW in a difficult hour.
  • Reject infeasible candidates before ranking cost. A low NPC or LCOE is irrelevant when the design violates the agreed unmet-load, reserve, state-of-charge, or operating rule.
  • Inspect the hard hours behind the selected candidate, then test load, resource, fuel, costs, component availability, and the reliability rule far enough to change the decision.
  • Carry a credible capacity range into vendor and electrical review. An hourly single-bus sizing model is not a one-line diagram, power-flow study, controls design, or procurement specification.

What off-grid microgrid sizing should decide

Sizing is the planning job of selecting credible PV power, battery energy and power, converter power, and diesel generation capacity for a defined load and reliability rule. The output should be a preferred screening candidate, nearby alternatives, binding constraints, and the assumptions that would move the choice. It should not be a single unexplained equipment list.

This workflow applies to isolated PV + battery + diesel systems where hourly energy adequacy and lifecycle cost are the immediate questions. It assumes one aggregate electrical bus and an explicit dispatch policy. This worked evidence does not size wind, hydro, or a multiple-generator fleet. Network constraints, protection, transient stability, controls implementation, civil works, permitting, and vendor-specific ratings also remain outside its scope.

Sandia describes conceptual microgrid design as an iterative, roughly 10% to 20% design used to compare options and tradeoffs before full engineering. That is the right boundary here. Use the separate feasibility-study guide to define the approval gate, study scope, report, and handoff; use this page to understand how the capacity candidates are built, rejected, ranked, and audited.

Sources for this section: Sandia Microgrid Conceptual Design Guidebook

Lock the sizing inputs before searching capacities

Capacity results inherit every weakness in the load, resource, component, reliability, and cost inputs. The U.S. Department of Energy identifies site boundaries, time-series demand, renewable-resource data, technology cost, efficiency, size, land, and life as core screening inputs. NLR guidance similarly treats actual interval demand as the most accurate load representation and simulated profiles as a documented fallback.

Record a central value, defensible range, unit, source, date, owner, and confidence level for each material input. If a value is synthetic, scaled, or assumed, say so before the result table rather than hiding it in a footnote.

Minimum input set for an off-grid PV + battery + diesel sizing run
Input groupRequired basisSizing consequencePreflight check
Load8,760 chronological kW values, annual kWh, peak kW, time zone, gaps, critical-load boundary, and growth caseSets the energy, power, duration, and difficult-hour requirements seen by every componentReconcile interval sum and maximum with meters, bills, schedules, and known seasonal operations
Solar resourceChronological irradiance or PV production factor, location, year or typical-year method, orientation, temperature, and lossesControls when PV can serve load or recharge storage, not only annual kWh per kWpCompare annual specific yield and seasonal shape with an independent source or nearby operating asset
Battery and converterUsable state-of-charge window, charge and discharge kW, kWh, efficiency, degradation, life, and replacement costSeparates short high-power support from multi-hour energy shifting and lifecycle replacement exposureKeep nameplate, usable energy, DC/AC boundary, C-rate, and converter efficiency internally consistent
Diesel generation and fuelDerating, minimum loading, fuel curve, O&M, lifetime hours, starts, delivered fuel price, and external fleet or outage requirementsSets firm power, low-resource coverage, operating reserve, fuel use, and replacement timingReconcile modeled loading and fuel rate with vendor data, site conditions, maintenance, and logistics; review fleet and outage rules outside the current automatic search
Reliability and dispatchMaximum unmet energy, renewable and excess-energy rules, reserve treatment, minimum state of charge, operating strategy, and separately documented contingenciesDetermines which candidates are feasible before economics are comparedTranslate supported rules into exact model metrics; evaluate equipment outages and fuel inventory manually or in a tool that can enforce them
Economics and constraintsProject life, discount and inflation convention, capital, installation, O&M, replacements, fuel escalation, land, and applicable incentivesChanges the ranking among technically feasible candidates and may move the search boundaryKeep currency and real or nominal conventions consistent; use ranges rather than an unsupported point estimate

Sources for this section: DOE distributed energy project identification · NLR load profile input guidance

The 10-step 8,760-hour sizing workflow

The sequence below keeps the optimization tied to the reader job: choose capacities that satisfy the stated service rule, then understand why they were selected. Repeat the loop whenever the inputs, constraints, or vendor boundaries change.

  1. Define the load and service boundary. State which loads are included, which are critical or flexible, and whether future phases are built into the same profile.
  2. Validate the 8,760-hour demand. Check units, timestamps, missing and duplicate intervals, annual energy, peak power, load factor, seasonality, and extreme ramps.
  3. Build the chronological resource cases. Preserve the relationship between solar availability and demand, and include a lower-resource year or sequence when reliability matters.
  4. Write the reliability and operating rules. Set the current run's unmet-load, renewable-fraction, excess-energy, state-of-charge, and reserve rules before viewing cost; record fuel inventory, equipment outage, and fleet requirements for separate manual or external review.
  5. Set component and economic assumptions. Separate battery kW from kWh, use consistent AC/DC ratings, and document efficiencies, costs, lives, replacements, and fuel delivery.
  6. Create a broad search envelope. Use energy, peak, autonomy, and site limits to bound PV, battery energy, battery power, converter, and generator candidates. Compare discrete vendor choices separately when the current browser search cannot encode them.
  7. Dispatch every candidate chronologically. Carry state of charge from hour to hour and record unmet load, reserve, curtailment, generator loading, fuel, and component utilization.
  8. Reject infeasible designs before ranking. Only compare lifecycle cost or another objective among candidates that pass every hard rule.
  9. Refine around the best feasible region and retain alternatives. Search between coarse points, check the boundary, and preserve near-best designs that may fit vendor or site constraints better.
  10. Audit difficult hours and run decision-changing sensitivities. Inspect the sequences behind binding metrics, vary uncertain inputs, and hand off a capacity range with unresolved risks.

Use simple ratios to build the search envelope—not to choose the answer

Annual load divided by annual PV specific yield is a useful energy anchor. Average critical load multiplied by an autonomy interval is a useful battery-energy anchor. Peak load plus a stated reserve or contingency is a useful firm-power anchor. None of these preserves the hourly order of cloudy periods, night load, battery limits, generator minimum loading, or growth.

For the unscaled synthetic Island guesthouse case below, annual demand is 371,691.5 kWh, peak demand is 80 kW, average demand is 42.43 kW, and the synthetic tropical resource yields 1,194.4 kWh per installed kWp. The annual-energy PV anchor is therefore about 311 kW. The current engine searches on both sides of that anchor and then refines locally rather than declaring 311 kW to be the design. A separate joint-grid audit is still necessary because coordinate refinement can miss interactions among axes.

Base-case search envelope generated from the synthetic Island guesthouse load and resource
Search axisCoarse valuesWhy the range existsAutomatic first-pass result
PV power0, 98, 200, 290, 390, 490, 590, and 680 kWSpans zero PV through about 2.2 times the annual-energy anchor so fuel, storage, and curtailment tradeoffs can appear440 kW
Battery energy0, 91, 180, 270, 370, 460, 550, and 640 kWhSpans zero storage through eight peak-load hours as an initial envelope, then permits local expansion641 kWh
Battery powerLocally tested as separate power-to-energy ratiosPrevents one fixed C-rate from deciding both short-duration power and longer-duration energy128.2 kW
Diesel generation0, 40, 70, 100, and 150 kWTests renewable-plus-storage support against generator capacities below, near, and above the 80 kW peak40 kW aggregate genset
Converter powerDerived for each PV and battery-power candidateKeeps conversion capacity consistent with the modeled PV, battery, and load power paths396 kW screening value

Reproduce the worked evidence from exact assumptions

The table below is the input manifest for the published numbers. Engine files were unchanged from Git commit 442176a; the article and image are published later. The benchmark key and numeric assumptions are included so a future reviewer can distinguish this run from changed defaults. Values not listed as decision variables were held constant across all three load-scale searches.

The automatic search uses a complete coarse PV × battery-energy × generator grid, then coordinate refinement over PV, battery energy, battery power, and generator size. The separate base-case audit evaluates the full Cartesian product of the stated nearby values. Neither method proves a continuous global optimum.

Versioned input manifest for the Island guesthouse sizing artifact
Input blockExact values usedReproduction note
Version and benchmarkEngine logic at Git commit 442176a; benchmark key island-guesthouse; deterministic synthetic hospitality load and tropical resourceLoad and resource are generated by the benchmark code, not imported measurements
Load cases8,760 hourly base values; 371,691.5118 kWh/year; 80 kW peak; multipliers 0.8, 1.0, and 1.2; annual growth 0%Each multiplier preserves the same hourly shape; every candidate is re-dispatched over 25 project years
PV and resource1,194.4088 kWh/kWp year-one specific yield; 11° tilt; 180° azimuth; 0.85 derate; -0.0037/°C coefficient; 45°C NOCT; 0.5%/year degradation; 30-year service lifeSynthetic resource; no historical bad-weather year or measured availability case was tested
Battery and converterBattery round-trip factor 0.975; minimum/initial state of charge 0.20/0.50; 4,000-cycle life; 15-year calendar life; converter efficiency 0.96 and life 15 yearsBattery kWh and kW vary by candidate; current dispatch uses load-following
Generator and reserveOne aggregate genset; 15% minimum load; fuel curve 0.08 L/h per rated kW + 0.25 L/kWh; 15,000-hour life; reserve basis 10% of served load + 25% of PV serving load; 2% reserve-shortfall toleranceNo fleet commitment, N+1, minimum runtime, start cost, fuel-inventory cap, or equipment-outage constraint
Economics25 years; 8% nominal discount; 2% inflation; $1.55/L diesel; 2% real fuel escalation; $5/kWh value of lost load; incentive 0%Currency is USD; load growth and grid-electricity escalation are inactive in this off-grid case
Capital and O&MPV $900/kW + $12/kW-year; battery $253/kWh + $7/kWh-year; genset $880/kW + $0.02/generated kWh; converter $300/kW + $4/kW-year; fixed BOS $20,000Editable screening defaults, not supplier or EPC quotations
Hard model rulesMaximum unmet fraction 0; minimum renewable fraction 0; maximum excess fraction 1; feasibility enforced across the project dispatchZero modeled unmet energy does not represent equipment outages, subhourly events, or field reliability
Base nearby-grid auditPV [390, 415, 440, 465, 490] kW × battery [550, 600, 641, 680, 720] kWh × genset [40, 50, 60, 70, 80] kW × battery C-rate [0.20, 0.33, 0.50]375 explicit candidates evaluated with the same 25-year dispatch and economics; this audit is separate from the browser's automatic search

Worked sizing run: the synthetic Island guesthouse

We reran the current Island guesthouse benchmark on July 19, 2026. The benchmark is a deterministic synthetic 8,760-hour hospitality load and tropical solar resource, not a measured island project. The base load totals 371,691.5 kWh per year and peaks at 80 kW. The economic case uses $1.55/L delivered diesel, a 25-year project life, 8% nominal discount rate, 2% inflation, current editable component-cost defaults, and no tax credit or other incentive.

The automatic search first returned a feasible 440 kW PV, 641 kWh battery, and 40 kW generator candidate. We did not stop there. The explicit nearby-grid audit in the input manifest found a different feasible point with 9.02% lower NPC: 490 kW PV, 720 kWh / 144 kW battery, and the same 40 kW aggregate generator. That material improvement means the automatic first pass is not the recommendation; the joint search needs to be widened before a preferred range is retained.

Original MicrogridModeler first pass and nearby-grid audit; synthetic data, versioned assumptions, 0% modeled unmet load
Result groupObserved evidenceDecision consequence
Automatic first pass440 kW PV; 641 kWh / 128.2 kW battery; 40 kW aggregate genset; 396 kW converter screening value$732,173 capital; $1,556,116 NPC; $0.324/kWh LCOE; feasible under the stated model rules, but not accepted without a joint-axis audit
Lowest NPC in 375-point nearby audit490 kW PV; 720 kWh / 144 kW battery; 40 kW aggregate genset; 441 kW converter screening value$810,660 capital; $1,415,758 NPC; $0.295/kWh LCOE; NPC is 9.02% below the automatic first pass
Audited-point feasibility0 kWh unmet; minimum state of charge 20.010%; reserve shortfall 0.084% within the engine's current 2% tolerancePasses the supported hard checks, but still needs low-resource, outage, fleet, fuel-logistics, and vendor review outside this automatic search
Audited-point first-year operation91.30% renewable; 12,152 L fuel; 1,027 generator hours; 146 starts; 256 equivalent battery cycles; 229,249 kWh curtailedMore capital buys less fuel than the first pass; the large surplus still needs land, flexible-load, curtailment, and commercial review
Audit conclusionThe first-pass coordinate refinement missed an interaction between higher PV, higher battery energy, and lower battery C-rate inside the published audit gridDo not label either point a continuous optimum. Expand the joint grid, retain same-input alternatives, and only then map the range to real equipment

Sensitivity: the same load shape at 80%, 100%, and 120%

To show why capacity cannot be scaled by one universal multiplier, we reran the same hourly guesthouse shape at 80%, 100%, and 120% of its base kW values. Each automatic search rebuilt its envelope, used the same solar series and economics, and required 0% modeled unmet energy. Only the load scale changed.

These are comparable first-pass outputs from the same procedure, not final optima; only the 100% case received the separate 375-point audit above. PV, battery, and generator capacities rise with demand, but not in perfectly equal proportions. Renewable fraction also falls from the 80% case before recovering slightly in the 120% case. The pattern is a signal to audit each joint search, not a fixed sizing law.

Original load-scale sensitivity; feasible automatic first-pass candidate from each identically configured search
Load caseAnnual load and peakAutomatic first-pass capacitiesFirst-year operationLifecycle result
80% load297,353 kWh; 64 kW peak360 kW PV; 575 kWh / 102.6 kW battery; 35 kW genset89.72% renewable; 11,714 L fuel; 0 kWh unmet$617,475 capital; $1,149,684 NPC; $0.299/kWh LCOE
100% load371,692 kWh; 80 kW peak440 kW PV; 641 kWh / 128.2 kW battery; 40 kW genset84.84% renewable; 20,786 L fuel; 0 kWh unmet$732,173 capital; $1,556,116 NPC; $0.324/kWh LCOE
120% load446,030 kWh; 96 kW peak545 kW PV; 770 kWh / 154 kW battery; 50 kW genset85.00% renewable; 24,772 L fuel; 0 kWh unmet$896,460 capital; $1,883,942 NPC; $0.327/kWh LCOE

Size each component for its own binding job

PV, battery energy, battery power, converter power, and diesel generation are coupled, but they are not interchangeable. An extra kWh of storage cannot fix an undersized inverter. A larger generator may cover the peak but increase part-load exposure. More PV can reduce fuel and still create a low-solar sequence that only storage or dispatchable generation can bridge.

NLR describes off-grid reserve as responsive capacity held for unexpected load increases and PV decreases. Its current manual also separates generator size, minimum turndown, replacement, fuel, and reserve inputs. Those distinctions belong in the sizing model even when a first-pass equipment list looks simpler.

Capacity-specific checks before accepting a sizing result
CapacityPrimary sizing jobBinding evidenceCommon handoff trap
PV kWProduce energy in the actual seasonal and hourly resource patternLow-resource dispatch, annual yield, land limit, curtailment, and degradationSizing from average peak-sun hours alone and ignoring chronology or the AC/DC rating convention
Battery kWhMove renewable energy across multi-hour deficits within the usable state-of-charge windowLowest-state-of-charge sequences, usable depth, efficiency, degradation, and replacementCalling nameplate kWh usable autonomy without accounting for limits and losses
Battery kWServe ramps and peaks and absorb available charging powerMaximum charge and discharge hours, C-rate, temperature, and converter limitAssuming the selected kWh can deliver any required kW
Converter kWCarry the modeled AC/DC power paths without clipping required serviceCoincident PV, battery, and load power plus efficiency and architectureTreating an aggregate screening value as a vendor-ready inverter schedule
Genset kWProvide firm power and low-resource coverage while holding required reserveDifficult-hour loading, battery support, derating, unit sizes, redundancy, fuel, and maintenanceAccepting one aggregate rating without testing motor starts, N+1 policy, multiple units, or site derating

Sources for this section: NLR REopt web tool user manual

Why the modeled generator can be smaller than the peak load

The base screening result selects a 40 kW aggregate generator for an 80 kW peak because the modeled battery and PV can share the load and reserve obligation. That is a legitimate energy-feasibility result under the stated single-bus dispatch assumptions. It is not a general rule that every 80 kW site should buy a 40 kW generator.

A site may require the generator plant to carry the full peak without PV, start motors, recharge the battery while serving load, survive altitude and temperature derating, meet an N+1 policy, or use discrete units with maintenance outages. Treat each applicable rule as an external acceptance criterion, rerun the closest available screen, or use a tool that can enforce it. The current browser optimizer models one aggregate genset; it does not expose fleet commitment, N+1, minimum runtime, start cost, fuel-inventory, equipment-outage, protection, or transient-response constraints.

  • Keep a full-peak or N+1 generator case when the operating philosophy requires independent firm capacity.
  • Use vendor fuel curves and derated ratings at the actual elevation, temperature, and fuel quality.
  • Check starting and step-load requirements outside an hourly energy model, then reconcile the required rating back into dispatch.
  • Test fuel storage and delivery interruption manually or in a tool that can enforce inventory constraints, not only through price per liter.

Audit the hard sequence, not just the annual totals

In the audited base point, the battery reaches its minimum modeled state of charge at zero-based dispatch index 3,150—the 3,151st hourly record—while the annual peak load occurs at index 4,507, the 4,508th record. That difference is the point of chronological sizing: the binding energy sequence is not necessarily the peak-power hour. Export the dispatch, inspect the records leading into each constraint, and confirm that the model behavior matches the intended operating policy.

PNNL research on PV resource modeling shows that different treatments of solar conditions can change component and fuel requirements for resilience. A single typical or synthetic year is therefore a screening case, not proof against every weather sequence. Add historical or deliberately adverse resource cases when the consequence of undersizing is high.

  • Find the minimum state-of-charge hour and inspect at least the preceding 24 to 72 hours.
  • Find the annual peak, largest ramp, lowest solar period, longest generator run, and largest reserve shortfall.
  • Reconcile hourly and annual energy balance after conversion losses, curtailment, and unmet load.
  • Check generator loading, starts, hours, fuel, and maintenance exposure against the proposed equipment strategy.
  • Repeat lower-solar and higher-load cases in the model; evaluate equipment outages, fuel inventory, and other unsupported rules as separate manual or external cases.

Sources for this section: PNNL research on PV resource modeling for microgrid sizing

A practical sizing decision rule

Retain a preferred capacity range only when at least one candidate passes every hard constraint; the difficult-hour dispatch is operationally credible; nearby feasible designs have been reviewed; and the recommendation remains inside the acceptable cost and service range under the agreed load, resource, fuel, component, and reliability sensitivities.

If a small input change moves the preferred size sharply, do not hide the instability behind a rounded recommendation. Collect better data, widen the range, stage the decision, or carry multiple alternatives into the next gate. If the lowest sampled point sits on a search boundary, expand that boundary before accepting it. If vendor, land, or redundancy constraints invalidate the numerical best, rerun with the real feasible set.

Decision-changing sensitivities to run before handing off capacities
UncertaintyMinimum rerunDecision signal
LoadCorrected central profile plus credible low, high, phased-growth, and critical-load casesPV, battery, generator, fuel, or service rule changes materially
SolarAlternative weather years or a documented low-resource sequence plus loss and availability casesHard hours, storage, generator duty, or unmet load shift
BatteryUsable energy, power, efficiency, degradation, cost, calendar life, and replacement timingPower-to-energy ratio or replacement exposure changes the preferred design
Generator and fuelScreen delivered fuel price and escalation in the current model; review discrete unit sizes, derating, outage, and fuel inventory as external or manual casesFirm capacity, generator hours, fuel logistics, or lifecycle rank changes
ReliabilityUse exact supported unmet-load, reserve, and state-of-charge rules; test equipment outages and other unsupported contingencies manually or in a suitable external modelA lower-cost candidate fails the service definition or the preferred case needs more redundancy
Economics and siteInstalled costs, replacements, project life, discount convention, land, logistics, and contingencyA neighboring candidate or a staged project becomes more practical than the numerical best

Limitations and engineering handoff

This worked artifact uses synthetic load and solar data, editable generic costs, one aggregate generator, hourly single-bus dispatch, and a deterministic sampled search. It does not test field performance, forecast error, subhourly ramps, motor starting, multiple generator commitment, power flow, fault current, protection, harmonics, stability, controls code, communications, fire safety, civil works, permitting, interconnection, or constructability.

Give the next engineer the 8,760-hour inputs, resource series, assumptions, constraints, search bounds, preferred and alternate capacities, hourly dispatch exports, hard-hour timestamps, sensitivity cases, model version, and unresolved risks. Replace each generic component and cost value with site- and vendor-specific evidence, then rerun after any material equipment or network change.

Bottom line

A defensible off-grid microgrid size is not annual kWh divided by sun hours plus an arbitrary number of battery days. It is a capacity range that serves the chronological load under explicit rules, survives the important sensitivities, exposes the binding hours, and remains understandable to the next reviewer.

Use MicrogridModeler for the focused browser-first PV + battery + diesel sizing and dispatch screen. Keep the feasibility pillar for study scope and approval gates, spreadsheets for input QA and commercial checks, and detailed electrical and vendor workflows for the engineering decisions an hourly energy model cannot make.

Keep exploring

Sources and review notes

This article is grounded in the cited technical sources and the stated modeling assumptions. Recheck project inputs, equipment data, and local requirements before using it for design.

U.S. Department of Energy: Distributed energy project identificationReviewed July 19, 2026, for current guidance on goals, site and time-series data, renewable-resource and technology inputs, costs, efficiencies, size, land, life, and increasing data resolution by project stage.Sandia National Laboratories: Microgrid Conceptual Design GuidebookReviewed July 19, 2026, for the iterative conceptual-design boundary, data and goal definition, comparison of options and tradeoffs, and the distinction between early sizing and fully engineered design.Sandia National Laboratories: Microgrid Design Toolkit sizing use caseReviewed July 19, 2026, for the planning task of identifying the types and quantities of technologies to purchase and comparing sizing outcomes across use cases.National Laboratory of the Rockies: REopt capabilitiesReviewed July 19, 2026; page updated January 29, 2026. Used for current primary-source descriptions of interval or simulated load inputs, technology sizing, hourly dispatch, lifecycle cost, resilience, and energy targets.National Laboratory of the Rockies: REopt web tool user manualReviewed July 19, 2026, for current off-grid load, operating-reserve, PV, generator-size, minimum-turndown, replacement, fuel, lifecycle-cost, and model-boundary guidance.National Laboratory of the Rockies: REopt load profile tutorialReviewed July 19, 2026; page updated February 12, 2025. Used for actual interval-data preference, simulated-load fallback, CSV chronology, and year preservation.Pacific Northwest National Laboratory: PV resource modeling for sizing microgrid componentsReviewed July 19, 2026, for primary research on how resource-model treatment affects PV, battery, generator, and fuel requirements under resilience goals.IEA PVPS: Blueprint for off-grid photovoltaic systems feasibility studiesReviewed July 19, 2026, for the scope, data, modeling, assessment, and recommendation structure around off-grid sizing evidence.

Run the first pass, then widen the audit

Open a benchmark or bring a validated 8,760-hour load, run the automatic capacity search as a first pass, export the dispatch evidence, and review a wider joint-axis candidate set manually or in a suitable external model before retaining a preferred range.