Knowledge Base: Generating CIBSE TM59:2026 Compliance Reports with the TM59 Report Plugin
Applies to: DesignBuilder v2025.1.1.011 and later • Plugin: DesignBuilder TM59 Report Plugin
Overview
The TM59:2026 Report generates a CIBSE TM59:2026 overheating compliance report directly from DesignBuilder, as a PDF or an editable Word document (.docx). It combines the currently loaded model with the TM59:2026 simulation outputs (eplusout.eso, produced by a TM59:2026 simulation run) and evaluates each dwelling zone against the TM59 criteria:
- Criterion (a): adaptive comfort exceedance in naturally ventilated living rooms, kitchens and bedrooms: hours with ΔT ≥ 1K over the assessment period, checked against the standard's fixed limits of 59 hours (living rooms, kitchens and home offices, assumed occupied 09:00–22:00) and 110 hours (bedrooms, occupied at any time), 3% of the assumed occupied hours.
- Criterion (b): bedroom night-time comfort (nights on which the 23:00–08:00 average operative temperature exceeds the threshold).
- Criterion (c): fixed-temperature exceedance in predominantly mechanically ventilated or cooled zones: hours above 26°C, checked against the same fixed 59-hour / 110-hour limits.
- Criterion (d): communal circulation areas: hours above 28°C over the assessment period, checked against the fixed limit of 110 hours (communal areas may be occupied at any time, 3% of 3672 occupied hours); assessed as mandatory pass/fail for common circulation areas and as an advisory significant-risk flag for other circulation areas.
The report includes a cover page with the overall PASS/FAIL verdict, building details, the settings used by the run, an optional project team, the software versions used, a per-zone summary matrix, one detail table per criterion, a ceiling-fan active-hours table, the modelled-zones inventory and any warnings.
The same plugin also produces TM59:2017 reports, from its TM59:2017 Report menu item (see the TM59:2017 Report article). Use the item for the edition your simulation was run for. DesignBuilder v7.3 does not produce TM59:2026 results, so on v7.3 use TM59:2017 Report.
See also: TM59:2026 Program help
Installation
The plugin is loaded from the per-user plugins folder when DesignBuilder starts.
1. Download the plugin package from the DesignBuilder Scripts and Plugins webpage: you'll need to be logged in to your DesignBuilder account to see the download.
2. Locate your User Plugins folder. With DesignBuilder open, choose File > Folders > Library data folder: this opens the folder in File Explorer; go up one level, and you'll see the User Plugins folder listed. (Or paste %LOCALAPPDATA%\DesignBuilder\User Plugins\ into the File Explorer address bar: %LOCALAPPDATA% expands automatically, so you don't need to know your Windows username.)
3. Close DesignBuilder.
4. Unzip the downloaded file DbTm59Report.zip and copy the Tm59Report folder it contains into the User Plugins folder. The zip already bundles everything the plugin needs: DbTm59ReportPlugin.dll, System.Data.SQLite.dll with its x86\ and x64\ interop sub-folders, EpNet.dll, and DocumentFormat.OpenXml.dll with DocumentFormat.OpenXml.Framework.dll (for Word output), so there's no need to copy files one by one.
If the plugin fails to load after a restart, additionally copy DB.Api.dll and DB.Extensibility.Contracts.dll from the DesignBuilder install (<install>\Lib\) alongside the plugin DLL, as most installations resolve these from the install folder automatically, but some configurations require local copies.
5. Start DesignBuilder. The first time you start it after installing a new plugin, you may be asked to confirm it's from a trusted source: click Yes to allow it (DesignBuilder remembers your answer and won't ask again). A TM59 menu appears under Plugins, with the items TM59:2026 Report, TM59:2017 Report and About (which shows the plugin and DesignBuilder versions). The two report items are greyed out until a model is loaded.
To uninstall or temporarily disable the plugin, close DesignBuilder and delete (or move) the plugin folder, then restart.
See also: How to install DesignBuilder plugins
Requirements
Before generating the report, check the following:
1. A model using the TM59 activity templates. The plugin identifies TM59 zones purely by their activity template. Recognised templates:
Category | Templates |
Bedrooms | TM59_SingleBedroom, TM59_DoubleBedroom, TM59_Studio |
Living / kitchen | TM59_1-BedKitchen … TM59_5-BedKitchen, TM59_1-BedLiving … TM59_5-BedLiving, TM59_1-BedLivingKitchen … TM59_5-BedLivingKitchen, TM59_HomeOffice |
Communal circulation (mandatory Criterion d) | TM59_CommonCirculationAreas |
Other circulation (advisory Criterion d) | TM59_CirculationAreas |
Zones with any other activity template are ignored. Zones with Include zone in thermal calculations switched off are also left out, as they are not simulated.
2. A completed TM59:2026 simulation whose results folder contains both of:
- eplusout.eso, with the run-period EMS output variables produced by the TM59_2026 reporting objects (CIBSE TM59 2026 Criterion A/B/C/D …), and
- the EnergyPlus input file (in.idf) that produced it. The plugin reads this companion file as the ground truth for the simulated settings and will not generate a report without it (see How the plugin verifies the run below).
3. Results simulated from the model that is open: the in.idf next to the results must name this model file, in this folder, as its source.
The simulation run period must cover the full TM59 assessment window: 1 May – 30 September (northern hemisphere) or 1 November – 31 March (southern hemisphere).
Using the plugin
Step 1: Run the TM59:2026 simulation
Run your TM59:2026 simulation as usual (with the TM59 reporting objects included) so that the results folder contains eplusout.eso and in.idf. Either the current EnergyPlus folder or a Simulation Manager job can be used as the source.
Step 2: Open the report dialog
With the model loaded, select the building you want to report on in the navigator (the report is scoped to the currently selected building), then choose Plugins > TM59 > TM59:2026 Report.
If no TM59 activity templates are found in the selected building, the plugin tells you so and lists the recognised template names.
Step 3: Complete the dialog
- Project: the project title shown on the report cover and running header (pre-filled from the building/site Title attribute) and the project Phase (1–3).
- Project team: optional Modeller and Reviewed by details (name and role), a Company name and an optional company Logo (PNG or JPEG), printed in the report's Project team section. The company name also appears in the footer ("Prepared by …"), and the logo replaces the DesignBuilder logo on the cover page and page headers. Leave them blank to omit them. They are remembered on this computer for your next report.
- Results file: pick one of:
- EnergyPlus folder: path to an eplusout.eso (defaults to the current EnergyPlus folder), or
- Simulation Manager results: a list of FINISHED jobs from the Simulation Manager database that were run on the currently open model. Each job's results are read from that job's own results folder. Jobs whose folder has no results file show "Not found" in red; for those, switch to "EnergyPlus folder" and browse to the file manually. Select several jobs (Ctrl/Shift + click, or Ctrl+A) to generate one report per job, each named after the output file with the job's start time added. The job's description is printed in the report's Building details section, unless it is empty or the same as the building name.
- Output: the format (PDF or Word document (.docx)) and where to save the report (defaults to TM59_2026_Report.pdf in your Documents folder, or in the folder you last saved a report to). Close the file first if you are overwriting a previous report, as the plugin checks and will ask you to close it.
- Zone evaluation: one row per standard (non-circulation) zone showing its activity template and detected mechanical-ventilation / cooling status, with the evaluation branch:
- Natural (Criteria A + B), or
- Mechanical / cooled (Criteria B + C).
The branch is preset automatically (see below) but can be overridden per zone, as TM59 allows a partially mechanically ventilated zone to still be assessed as predominantly naturally ventilated, and vice versa. To change several zones at once, select their rows and use the Set selected zones to buttons below the table, or right-click the selection; Reset returns the selected zones to the detected branch. Circulation areas are not listed: they are always assessed under Criterion (d).
Step 4: Generate
Click Generate report. The plugin evaluates every zone, writes the report and (with "Open when done" ticked) opens it. With several Simulation Manager jobs selected, the button changes to Cancel while the reports are generated, a summary of every job's outcome is shown at the end, and "Open when done" opens the output folder instead.
How the plugin verifies the run (important)
To prevent reports that silently disagree with the simulation they claim to describe, the plugin treats the EnergyPlus input file next to the results (in.idf) as the ground truth for what was actually simulated:
- Source model: the in.idf records the model file it was generated from. If that is not the model that is open (including a copy of it saved in another folder), report generation is refused.
- Occupant category (Category I vulnerable / Category II standard) and the natural ventilation rules (Standard / TM59 / Approved Document O / TM59 Scotland) are detected from the simulation itself, overriding the current model attributes if they differ. The report's Settings section notes when these could not be confirmed.
- Per-zone mechanical ventilation and cooling are detected from the simulation and preset the Natural/Mechanical evaluation branch in the dialog.
- The simulation period is read from the in.idf. If it does not cover the full TM59 assessment window, report generation is refused: re-run the simulation with the correct period.
- Hemisphere (and therefore the May–September vs November–March assessment window) is detected from the run itself, not from the model's current site location.
- The weather file shown in the report is the one named in the in.idf, so it is the weather file the simulation was actually run with.
The plugin also won't generate a report when any zone's expected results are missing from the .eso (typically caused by selecting the wrong results file, results from a different building, or a stale run), so no partial report is ever written. A non-blocking note under the zone grid reminds you that model-sourced supporting information (zone areas, activity templates) always reflects the model as currently open, which may have been edited since the run.
Troubleshooting
Symptom | Cause and fix |
TM59 menu does not appear | Plugin not loaded. Check the plugin folder is in %LOCALAPPDATA%\DesignBuilder\User Plugins\ with all the files from the zip, copy DB.Api.dll and DB.Extensibility.Contracts.dll alongside the plugin DLL, and restart DesignBuilder. |
“TM59:2026 Report” is greyed out | No model is loaded. Open a model first. |
“No building is currently selected” | Select a building in the navigator (Site → Building) before opening the dialog. |
“No TM59 zones were found” | The selected building has no zones with TM59 activity templates assigned. Assign the templates listed under Requirements. |
“The current building has no TM59 zones to assess” | Every TM59 zone in the building has Include zone in thermal calculations switched off, so none of them is simulated. Switch it on for the zones to be assessed and simulate again. |
“No EnergyPlus input file (in.idf) was found next to the selected results” | The results folder must contain the in.idf that produced the .eso. Select a results source whose folder holds both files. |
“A companion EnergyPlus input file was found at … but it could not be read” | The in.idf exists but couldn't be opened, for example because it is locked by another program. Close it there and try again. |
“The selected results were simulated from … but the model open in DesignBuilder is …” | The results belong to another model, or to a copy of this model saved in another folder. Open the model the results were simulated from, or select results simulated from this model. If the model was moved or renamed after the simulation, simulate it again. |
“The simulation run period … does not cover the full TM59 assessment window” | Re-run the simulation with a run period spanning at least 1 May – 30 September (north) or 1 November – 31 March (south). |
“Results are incomplete for N of M zone(s)” | The selected .eso does not contain the TM59 EMS outputs for every zone, usually the wrong results file, a different building's results, or a run made before zones/templates were changed. Re-check the results source or re-run the simulation. This can also happen when the simulation was run on a Trial version of DesignBuilder, which does not produce the full TM59 output: a standard DesignBuilder licence is required (contact sales@designbuilder.co.uk). |
“The output file is open in another program” | The report is open in a PDF viewer or in Word. Close it and generate again. |
“Ran out of memory while reading the results file” | The results file is very large. If the simulation reports any hourly or sub-hourly outputs that aren't needed for this report, disable them and re-run the simulation. |
Simulation Manager list is empty or fails to load | Only FINISHED jobs run on the open model file are listed, so the model must be saved. The list also requires System.Data.SQLite.dll and its x86/x64 interop folders in the plugin folder, and a Simulation Manager database at C:\ProgramData\DesignBuilder\JobServer\DBJobServer.db. Alternatively use the “EnergyPlus folder” source. |
A job shows “Not found” in red under Results | The job's results folder (C:\ProgramData\DesignBuilder\JobServer\Users\<user>\<job id>) has no eplusout.eso, for example because it was deleted. Switch to “EnergyPlus folder” and browse to the file. |
A Word (.docx) report fails to generate | Requires DocumentFormat.OpenXml.dll and DocumentFormat.OpenXml.Framework.dll in the plugin folder. Alternatively choose the PDF output format. |
Any other error message | Details of unexpected errors are written to DbTm59Report.log in the plugin folder; the message shows its full path. Include this file when you report the problem to DesignBuilder support. |
Notes
- Criteria thresholds are fixed at the TM59:2026 defaults and are not user-editable. For Criteria (a), (c) and (d) the pass/fail check uses the standard's fixed occupied-hours basis: living rooms, kitchens and home offices are assumed occupied 09:00–22:00 (13 hours a day, 1989 occupied hours over May–September), so 3% gives a maximum of 59 hours of threshold exceedance; bedrooms and communal areas may be occupied at any time (3672 hours), giving a maximum of 110 hours. Criterion (b) allows a maximum of 4 nights.
- Threshold temperatures reflect the detected occupant category: Category I (vulnerable / sensitive occupants) reduces the Criterion (a) adaptive threshold and the Criterion (b) night threshold by 1K relative to Category II.
- The Criterion (a), (c) and (d) tables may carry two advisory markers, explained in a legend under the table: † marks a marginal pass (exceedance within 1 hour of the fixed-hours limit: passes, but worth review) and ‡ marks a basis discrepancy (Criteria (a)/(c) only: the nominal 3% check against the zone's simulated occupied hours contradicts the fixed-hours verdict, indicating the zone's occupancy schedules deviate from the standard's assumed occupancy). Both are review prompts only: the fixed-hours verdict and the overall PASS/FAIL are unaffected.
- The overall verdict is PASS only when every applicable check passes, including Criterion (d) for common circulation areas. Criterion (d) for other circulation areas is advisory and does not affect it; when one is flagged as a significant risk, the cover page notes it alongside the verdict.
- The report footer records the company name ("Prepared by …", when entered), the DesignBuilder version, the generation date/time and "Report Page X of Y" on every content page. The plugin version is shown in the report's Software section.
- In the PDF, the cover page is not numbered: page numbering starts at 1 on the first content page.
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article