NetZero Assistant
Early-Stage Net-Zero Building Design Assistant: A parametric Grasshopper tool for comparing building electricity demand, PV production, grid imports/exports, self-consumption, and self-sufficiency
Overview
NetZero Assistant is a parametric design assistant built in Grasshopper using Ladybug Tools and Honeybee to help designers evaluate the early-stage net-zero potential of simple residential and office building concepts.
The tool allows the user to input a simplified building geometry, available PV areas, climate data, building type, envelope standard, HVAC system, and PV technology. It then estimates annual building electricity demand and annual PV electricity production, compares both on an hourly basis, and reports how much PV energy is consumed on-site, exported to the grid, or still needs to be purchased from the grid.
The goal is not to replace a detailed energy model or PV engineering study. Instead, NetZero Assistant is intended as an early-stage decision tool that helps architects, engineers, students, and designers quickly understand if a proposed PV strategy is likely to move a building toward net-zero energy.
Intended Users
NetZero Assistant is designed for:
- Architects testing early building massing and roof/PV viability.
- MEP engineers assessing conceptual PV feasibility.
- Sustainability consultants evaluating early net-zero strategies.
- Students learning how building demand, PV production, and energy matching interact.
The Need
NetZero Assistant combines building energy simulation and PV generation simulation in a single workflow, allowing users to evaluate net-zero performance metrics during early-stage design. A roof may appear to have enough area for PV, but annual PV production alone does not tell the full story. A building could produce as much electricity as it consumes annually and still import large amounts of electricity from the grid if generation and demand do not occur at the same time.
NetZero Assistant seeks to address this gap by bringing together:
- Building electricity demand simulation.
- PV electricity production simulation.
- Grid import/export calculation.
- Self-consumption and self-sufficiency metrics.
This helps users move beyond the question:
“How much PV can I produce?”
toward the more useful question:
“How much of my building’s electricity demand can this PV system actually cover?”
What It Does
NetZero Assistant takes user-defined building and PV geometry, assigns simplified Honeybee energy assumptions, runs annual electricity demand and PV production simulations, and calculates the following net-zero performance metrics:
- Annual electricity demand.
- Annual PV electricity production.
- PV surplus exported to the grid.
- Electricity purchased from the grid.
- Self-consumption percentage.
- Self-sufficiency percentage.
- Overall performance status.
The tool also produces visual outputs, including an 8760-hour heat map of PV production and a monthly comparison of electricity demand and PV production.
Primary Inputs
Geometry Inputs
Defined in Rhino through Breps
Building Geometry
A Brep representing the main building mass. This is used to create the Honeybee energy model.
Roof PV Geometry
One or more Breps representing roof areas available for PV installation.
Ground PV Geometry
One or more Breps representing ground-mounted PV or parking/canopy PV areas.
Context Buildings
Optional Breps representing surrounding buildings or obstructions. These are used as context shading geometry.
Climate Input
EPW Weather File
The user provides an EPW weather file URL by copying the path from the Ladybug tools EPW map. The tool uses this file for the building energy simulation and PV production simulation.
The corresponding STAT file is also used to automatically extract the ASHRAE climate zone and avoid asking the user to manually select it, reducing the risk of mismatching a hot-climate weather file with a cold-climate construction set.
Building Assumption Inputs
Building Type
- Residential
- Residential + Home Office
- Office
Internally, these are mapped to simplified Honeybee program assumptions:
- Residential: Midrise Apartment / Apartment program
- Residential + Home Office: Midrise Apartment / Apartment program
- Office: Medium Office / Open Office program
Envelope Standard
- Existing
- Modern Code
- Current Code
Internally, these are mapped to Honeybee construction vintages:
- Existing: 1980–2004
- Modern Code: 2013
- Current Code: 2019
HVAC System
- Gas Heat + DX Cooling
- Heat Pump
- VRF
Internally, the HVAC template is mapped based on building type. For example, residential buildings use residential HVAC templates, while office buildings use commercial fan coil / VRF templates. Domestic hot water is also selected automatically: gas HVAC uses a gas water heater, while electrified systems use a heat pump water heater.
Window-to-Wall Ratio
Slider:
- Typical range: 0.10 to 0.60
- Default: 0.40
This affects the building energy demand simulation by modifying the amount of glazing applied to the building.
PV Inputs
PV Technology
Value list:
- Thin Film
- Standard Polycrystalline
- Premium Monocrystalline
These are mapped to representative rated PV efficiencies and fed into the Honeybee Photovoltaic Properties component.
PV Coverage Factor
Slider:
- Typical range: 0.40 to 0.95
This represents how much of the user-provided PV area is effectively occupied by active PV modules. It accounts for access paths, setbacks, imperfect packing, spacing, or unusable portions of the drawn PV area.
Model Logic
NetZero Assistant is organised into two main simulation branches.
1. Building Electricity Demand
The building Brep is converted into Honeybee rooms. The selected building type, envelope standard, HVAC system, WWR, and EPW file are used to define the building energy model.
The model is then simulated to calculate annual electricity demand.
2. PV Electricity Production
The roof and ground PV Breps are converted into Honeybee shade objects and assigned photovoltaic properties. The PV technology selection determines the rated efficiency, while the PV coverage factor adjusts the effective active PV area.
The PV branch is simulated using Honeybee’s generation workflow to calculate hourly and annual electricity production.
3. Hourly Energy
The tool compares hourly PV production against hourly electricity demand.
For each hour:
- If PV production is less than or equal to demand, all PV is consumed on-site.
- If PV production is greater than demand, the excess is counted as surplus exported to the grid.
- If demand is greater than PV production, the deficit is counted as electricity purchased from the grid.
This hourly analysis is summed across the year.
Outputs
Main Annual Results
- Annual Electricity Demand [kWh/year]
- Annual PV Electricity Production [kWh/year]
- Total On-Site Produced Surplus Electricity Exported to the Grid [kWh/year]
- Total Electricity Purchased from the Grid [kWh/year]
Key Performance Indicators
Self-Consumption
The percentage of PV production that is consumed on-site.
Self-consumption answers:
“How much of the PV electricity is actually used by the building?”
Self-Sufficiency
The percentage of building electricity demand covered by on-site PV.
Self-sufficiency answers:
“How much of the building’s electricity demand is covered by its own PV?”
Status Output
The tool includes a simple status classification based on self-consumption and self-sufficiency.
Possible status messages include:
- Grid Dependent
- Moderate Match
- Strong Match
- Near Net Zero
This gives the user an immediate interpretation of the numerical results.
Visual Outputs
8760 PV Production Heat Map
Shows the hourly PV production pattern across the full year.
Monthly Production vs Demand Plot
Compares monthly electricity demand and PV production.
Results Dashboard
The main dashboard displays the key metrics and status output.
How to Use NetZero Assistant
- Open Rhino and Grasshopper.
- Open the NetZero Assistant Grasshopper definition.
- In Rhino, prepare the required geometry:
- Main building Brep.
- Roof PV Brep.
- Ground PV Brep, if applicable.
- Context building Breps, if applicable.
- Reference the geometry into the corresponding Grasshopper inputs:
- Building Geometry
- Roof PV Geometry
- Ground PV Geometry
- Context Buildings
- Provide the EPW weather file in zip format (the easiest way is to copy and paste the url from the Ladybug tools EPW map (https://www.ladybug.tools/epwmap/)
- Choose the building assumptions:
- Building Program
- Envelope Standard
- Window-to-Wall Ratio
- HVAC System
- Choose the PV assumptions:
- PV Technology
- PV Coverage Factor
- Run NetZero Assistant to calculate the electricity demand and PV production simultaneously.
- Review the results dashboard:
- Electricity demand
- PV production
- PV exported
- Electricity purchased
- Self-consumption
- Self-sufficiency
- Status classification
- Adjust the inputs and rerun to compare design alternatives.
Typical Results
A typical use case is a simple residential or office shoebox model with roof-mounted PV. After providing an EPW file and drawing available PV areas, the user can quickly test whether changing the building type, envelope standard, HVAC system, PV technology, or PV coverage factor moves the building closer to net-zero.
For example, a design with high annual PV production may still show low self-consumption if most generation occurs during hours of low building demand. Conversely, a smaller PV system may achieve better self-consumption but lower self-sufficiency. The tool makes these tradeoffs visible early in the design process.
Node Organization
The Grasshopper script is organised from left to right:
- User Inputs
- Internal Mapping
- Building Model Generation
- PV Model Generation
- Electricity Demand Simulation
- PV Production Simulation
- Energy Metrics Calculations
- Results Dashboard
Requirements
- Rhino 8 + Grasshopper
- Ladybug Tools / Honeybee
- EPW weather file
Known Limitations
- Early-Stage Design Scope
NetZero Assistant is intended for conceptual comparison only. It is not a replacement for a detailed energy model or feasibility study.
- Simplified Geometry
The tool assumes a simplified building model. Complex multi-zone buildings, detailed internal loads, detailed occupancy schedules, and advanced HVAC configurations are outside the current scope.
- User-Defined PV Areas
The user must manually draw or provide the PV Breps. The tool does not automatically detect usable roof area, setbacks, mechanical equipment, roof obstructions, or fire-code access paths.
- No Real Module
PV production is calculated using effective PV surface area, PV technology efficiency, and a coverage factor. The current version does not place individual PV modules, calculate portrait/landscape distribution.
- No Battery Storage
The tool is designed for direct on-site use, grid export, or grid import. Battery storage is not modelled.
Future Development
Future versions of NetZero Assistant could include:
- PV module packing and panel count.
- Automatic roof usability detection.
- Facade PV.
- Battery storage.
- Carbon emissions using grid intensity factors.
- Financial analysis including electricity cost, incentives, payback, and NPV.
- Optimisation mode using Galapagos or Wallacei.
Grasshopper Script
