EnergyPlus Issues¶
This page covers common EnergyPlus-related issues and their solutions.
Installation Problems¶
EnergyPlus Not Found¶
idfkit searches for EnergyPlus in this order:
- Explicit path in code
ENERGYPLUS_DIRenvironment variable- System PATH
- Platform default locations:
- macOS:
/Applications/EnergyPlus-*/ - Linux:
/usr/local/EnergyPlus-*/ - Windows:
C:\EnergyPlusV*/
- macOS:
Verify installation:
from idfkit.simulation import find_energyplus
try:
config = find_energyplus()
print(f"Found: {config.executable}")
except Exception as e:
print(f"Not found: {e}")
Specify path manually:
config = find_energyplus("/path/to/EnergyPlus-24-1-0")
result = simulate(model, weather, energyplus=config)
Multiple Versions Installed¶
When multiple versions exist, idfkit uses the newest by default.
Use a specific version:
# Find a specific version
config = find_energyplus("/Applications/EnergyPlus-23-2-0")
result = simulate(model, weather, energyplus=config)
Permission Denied¶
Linux/macOS:
Windows: Run as Administrator or check file permissions.
Simulation Failures¶
Fatal Errors¶
Check the error report for details:
result = simulate(model, weather)
if not result.success:
for err in result.errors.fatal:
print(f"Fatal: {err.message}")
Common Fatal Errors¶
| Error | Cause | Solution |
|---|---|---|
| "No surfaces in zone" | Zone has no surfaces | Add surfaces referencing the zone |
| "Weather file has no data" | Date mismatch | Check RunPeriod matches weather file |
| "Node not found" | HVAC node missing | Fix HVAC connections |
| "Schedule not found" | Missing schedule | Add the referenced schedule |
Severe Errors¶
Severe errors don't stop the simulation but may cause incorrect results:
Warnings¶
Warnings are informational but worth reviewing:
Model Issues¶
Missing Output:SQLite¶
idfkit automatically adds Output:SQLite if missing. However, if you
see SQL-related errors:
# Verify SQL output is present
if "Output:SQLite" not in model:
model.add("Output:SQLite", option_type="SimpleAndTabular")
Version Mismatch¶
If the model was created for a different EnergyPlus version:
Geometry Errors¶
Common geometry issues:
| Error | Solution |
|---|---|
| "Surface has zero area" | Fix vertex coordinates |
| "Zone volume is zero" | Ensure zone is fully enclosed |
| "Surface vertices are not planar" | Adjust vertices to be coplanar |
Use idfkit's geometry tools to diagnose:
from idfkit.geometry import calculate_surface_area, calculate_zone_volume
for surface in model["BuildingSurface:Detailed"].values():
area = calculate_surface_area(surface)
if area <= 0:
print(f"Invalid surface: {surface.name}")
volume = calculate_zone_volume(model, "Zone1")
if volume <= 0:
print("Zone has invalid volume")
Performance Issues¶
Simulation Takes Too Long¶
-
Use design-day mode for testing:
-
Reduce timesteps:
-
Simplify the model:
- Reduce zone count
- Simplify HVAC systems
- Use ideal loads for initial testing
High Memory Usage¶
Large models may consume significant memory:
-
Close SQL connections when done:
-
Process results incrementally in batch runs
Output Issues¶
No SQL Output¶
If result.sql is None:
-
Check that EnergyPlus completed:
-
Check the error report:
-
Verify output files exist:
Missing Time-Series Data¶
If get_timeseries() returns None:
-
Verify the variable name matches exactly:
-
Check the reporting frequency in your model
-
Verify the output was requested:
Platform-Specific Issues¶
macOS¶
Gatekeeper blocks EnergyPlus:
Linux¶
Shared library errors:
Windows¶
Path with spaces:
Avoid installing EnergyPlus in paths with spaces. If necessary, use short paths or quotes.
Long path issues:
Enable long paths in Windows or use shorter directory names.
Getting Help¶
If you can't resolve an issue:
- Check the idfkit GitHub issues
- Check the EnergyPlus documentation
- Search the EnergyPlus Helpdesk
When reporting issues, include:
- idfkit version (
idfkit.__version__) - EnergyPlus version
- Python version
- Operating system
- Error messages and stack traces
- Minimal reproducible example
See Also¶
- Common Errors — General error reference
- Simulation Error Handling — Parsing error reports
- Running Simulations — Simulation guide