Keep the campus running: a microgrid for a three-day winter outage
Plan the microgrid that keeps power to the hospital, its water and heating plant and the dorms through a winter storm, compare three owners, and hand in a one-page note
The brief
Prairie Campus's board must choose a microgrid that keeps electricity flowing to the county hospital, its water and heating plant and the dorms through a three-day winter storm, within the host feeder's limits.
Assume that powering these loads keeps their heating equipment working: heat demand and indoor temperature are not modeled.
- Hand in: a plan link and a one-page note with the annual cost, the unserved critical load, the emissions, a comparison of three owners and a sensitivity line (Modeler version: the M5 notebook too).
- From: the Microgrid Workbench's engine and a hypothetical outage from 20 to 22 January 2025 (a teaching solar profile, a fictional campus).
- Done when: every check under the note is in place, the brief's three loads served among them, and the self-check reaches Proficient on every competence.
About 90 minutes: 35 to build and run the plan, 35 to write the note, 20 to check it.
In the real world
In an industry internship, the course author worked on this question: how should solar PV, battery storage and backup generation be sized for an industrial campus to meet demand through grid outages?
The work used a techno-economic optimization model to size a resilient microgrid for the campus.
The company's data, models and results are confidential and are not shown here.
From the course author's research: in the modeled supply chains, each open factory or warehouse could run its own microgrid, with on-site wind, solar and storage, an energy balance every hour, and energy bought from and sold to the grid.
Holds when: stylized networks with synthetic distances and costs, candidate sites in California, Arizona and Nevada, and one year, planned week by week for products and hour by hour for energy. Leaves out: grid outages, which the studies do not model.
The full case: case file CF1.
Build and run your plan
| Control | Default plan | Range |
|---|---|---|
| Solar panels | 600 kW | 0 to 4,000 kW, in steps of 25 kW |
| Battery | 2,000 kWh | 0 to 8,000 kWh, in steps of 50 kWh |
| Generator sets (200 kW each) | 2 sets | 0 to 4 whole sets |
| Diesel on site | 675 gallons | 0 to 6,000 gallons, in steps of 25 gallons |
| County hospital | Must stay on | one of: Must stay on, Keep if possible, Shed first |
| Water and heating plant | Must stay on | one of: Must stay on, Keep if possible, Shed first |
| Dorms | Must stay on | one of: Must stay on, Keep if possible, Shed first |
| Classrooms and labs | Shed first | one of: Must stay on, Keep if possible, Shed first |
| Outages to plan for | Winter storm, 3 days | any of: Winter storm, 3 days, Winter evening, 1 day, Summer storm, 3 days |
| Feeder export limit | 500 kW | 0 to 2,000 kW, in steps of 50 kW |
| Feeder import limit | 2,000 kW | 800 to 2,000 kW, in steps of 50 kW |
| Tariff | Time-of-use | one of: Time-of-use, Flat |
| Owner | Community-owned | one of: Utility-owned, Co-op-owned, Community-owned |
| Size it may build | solar, battery, generator sets | any of: solar, battery, generator sets |
With JavaScript on, you change the plan, run the storm in your browser and copy a link to it. Without it, the capstone becomes a reading exercise: write the note on the sized plan in the results below.
| Results for the default plan (F7's campus as built) and the sized plan | Value |
|---|---|
| Plan | 600 kW of solar · 2,000 kWh battery · 2 sets of 200 kW · 675 gallons; hospital, water and heat, dorms must stay on |
| Annual cost: equipment and upkeep plus the normal-year grid bill on 12 average days (2025 dollars, illustrative; outage diesel not included) | $1,341,327 |
| The year's bill with nothing built | $1,405,586 |
| Critical load unserved in the 72-hour storm (hospital, water and heat, dorms) | 28,070 kWh (675 gal of diesel, $2,470; 6.9 t CO₂) |
| The same plan if the storm lasts 1, 2, 3 or 4 days | 1,907 · 14,765 · 28,070 · 41,173 kWh unserved |
| CO₂ from grid electricity in a normal year | 3,425 t |
| The plan Size it for me gives from the default | 3,225 kW of solar · 5,050 kWh battery · 2 sets · 675 gallons: $1,181,114 a year, community-owned |
| That plan in the storm, and on a fourth day | 0 kWh of critical load unserved (675 gal of diesel, $2,470); 4,508 kWh if the storm lasts 4 days |
| That plan, paid by each owner (each owner's cheapest, rounded up) | Utility $1,240,076 · Co-op $1,124,657 · Community $1,181,114 |
Precomputed with HiGHS on 3 November 2026. Without JavaScript, write the note on the sized plan from these numbers, naming the plan in words in place of a link; with JavaScript on, you run your own plan, compare the owners and size it with the solver.
- Illustrative: Prairie Campus and its loads (F7's), costs, fuel use, the export credit and the owners' costs of capital, in 2025 dollars.
- Solar: a teaching profile from SPP's observed hourly solar, 20 to 23 January 2025 (EIA-930), scaled to monthly capacity factors; not measured campus output.
- EIA: tariff level, diesel and CO₂ factors (the Workbench's inputs).
Write your one-page note
- Title and plan link: the plan's link from the bench, and the date
- Recommendation: Two or three sentences: what to build, what stays on, and why.
- The plan: each choice, with its unit
- Results: each result, with its unit and boundary
- Assumptions: one sentence each
- Sensitivity: how one result moves when one input changes, and whether the plan was held fixed
- Owner, and who pays: One or two sentences: which owner, who pays, who decides.
- What the plan cannot do: One or two sentences: what could still leave the hospital short.
- Limits of this analysis: what the model leaves out
Go deeper · ModelerThe Modeler version: the M5 notebook with outage scenarios
Work through M5 first. Its notebook rebuilds this engine in Python with SciPy and HiGHS, sizes the campus for the storm, runs the ten seeded winter outages and the rolling horizon, and checks the browser’s numbers.
- Download the notebook and the engine's data file (both below); put them in one folder.
- Open the notebook in Google Colab (File → Upload notebook, then upload the data file), or locally with Python 3, NumPy and SciPy 1.9 or later.
- Set your plan in section 8, “Your plan”: the cell that starts
MY =. The cells before it reproduce M5's reference cases; leave them as they are. Run all cells and hand in the table section 8 prints.
Check your note
Weak note · Developing
Build a big battery and lots of solar [1] so the hospital stays on. It will pay for itself [2], and the campus will be resilient [3].
- Falls short: No sizes and no units: the board cannot price or check it.
- Falls short: No number, no boundary, no dollar year: pays against what, over what time?
- Falls short: Resilient against which outage? Say the scenario and what the plan cannot survive.
Strong note · Proficient
Recommendation: build 3,225 kW of solar, a 5,050 kWh battery and 2 generator sets with 675 gallons of diesel [1]. It keeps the hospital, the water and heating plant and the dorms powered for all 72 hours of the storm (0 kWh short). Cost: $1,181,114 a year, community-owned, 2025 dollars: equipment, upkeep and the normal-year grid bill [2], $224,472 below the grid-only bill. The storm's 675 gallons of diesel ($2,470) are extra [3]. Sensitivity: 0 kWh short for a storm of 1 to 3 days, but 4,508 kWh on a fourth day, the plan held fixed [4]. Emissions: 6.9 t of CO₂ from the storm's diesel; 1,645 t from a normal year's grid electricity (U.S. average, operating only) [5]. Assumptions: a full battery and tank when the storm starts, the coming sun known, flat loads [6]. Owner: community. A co-op would pay $1,124,657 a year for the same plan, a utility $1,240,076; community owners decide by their own rules and share the cost, worth $56,457 a year more than a co-op here [7]. Limits: one storm tested; a set that fails to start, part-load fuel use and fuel deliveries are left out [8].
- Works: Sizes with units, and the fuel that limits the sets.
- Works: The cost with its boundary and dollar year (illustrative costs).
- Works: Storm fuel stated on its own: adding it to an annual cost would need an outage frequency.
- Works: The sensitivity, with the plan held fixed: the plan's limit, said plainly.
- Works: Emissions with their boundary: operating CO₂, average factor.
- Works: The assumptions that flatter the plan, named.
- Works: Who pays and who decides, and why this owner over a cheaper one: a reasoned choice, not the cheapest by default.
- Works: What the analysis leaves out, so the board does not over-read it.
| Competence | Developing | Proficient (the bar for this note) | Strong |
|---|---|---|---|
| Consistent accounting Look for: The annual cost and the storm's unserved load and diesel CO₂, each with its boundary; who pays named. |
Costs and emissions on different boundaries. | Cost and emissions on one boundary; emissions question named; who pays and who benefits named. | Distributional and environmental side effects estimated with stated assumptions. |
| Uncertainty Look for: The sensitivity line: what a shorter or longer storm does to the plan held fixed. |
Single numbers. | Uncertainties classified; scenario or global sensitivity analysis; results as ranges. | Decision-relevant uncertainty identified and its value discussed. |
| Realism Look for: What the plan leaves out: fuel deliveries, a set that fails to start, part-load fuel use. |
Assumes announced projects exist. | Evidence status of key inputs; a 'what the analysis leaves out' list. | Realism checked with a practitioner or primary documents. |
| Communication Look for: A page the campus's owner can act on: the recommendation first, then the numbers that back it. |
Results without limits. | A one-page note with the plan link: the recommendation first, then the evidence (the annual cost, the storm's unserved load and diesel CO₂), the storm-length sensitivity and the plan's limits. | A briefing a decision-maker could act on without misreading. |
Go deeper · ResearcherFrom this capstone to your own study
The same plan, note and self-check grow into a research project: pick a question in the question studio, state what would change your mind, and test your plan on outages you did not design it for, as the Workbench’s ten drawn outages do.
Numbers, sources and what’s next
Inputs the plan uses
| Input | Value | Source |
|---|---|---|
| The storm | 72 hours | From 00:00 on 20 January 2025, the grid assumed down; solar: a teaching profile from SPP's observed hourly solar (EIA-930 · accessed 2 Nov 2026), scaled to monthly capacity factors |
| Must stay on (to start) | 650 kW | Hospital 300, water and heating plant 100, dorms 250 kW: F7's campus (illustrative) |
| Tariff level | 13.37¢/kWh | EIA, Electric Power Annual, Table 2.4, U.S. commercial average, 2025 · accessed 3 Nov 2026 |
| CO₂ from diesel · from the grid | 10.19 kg/gal · 0.367 kg/kWh | EIA coefficients · EIA FAQ (2023 U.S. average) |
| Owners' real cost of capital | 6% · 4% · 5% | Illustrative: utility, co-op, community |
Keep going
Sources and further reading
- The Microgrid Workbench lists every input of the engine with its source and date.
- Li et al. (2023). Facility and microgrid location-allocation for integrated supply chain and transactive energy operations. Applied Mathematical Modelling 119, 119–136.
- EIA. Hourly Electric Grid Monitor (Form EIA-930): the Southwest Power Pool solar behind the storm's sun.
Spotted an error, or stuck? Write to hlli@ksu.edu. Corrections are made in place and dated here.
Text licensed CC BY 4.0, code MIT: teachers and students may reuse and adapt it, with credit to Honglin Li.