Annual EnergyPlus HTML report unit (J to kWh)

Hi guys,

I have a question, or possibly a cosmetic request - would it be possible to change the EnergyPlus HTML reporting unit from MJ/m2 to kWh/m2 when using the annual-energy-use recipe with SI units?

I have colleagues that are used to the EnergyPlus HTML Output report, and they prefer it over the OpenStudio Result Report (which already reports to kWh) - I would like to prepare the EP summary in the “usual” way.

Or is it possible with the Custom Energy Sim recipe?
What I tried doing is to attach an additional IDF with the following object in it (unit_conversion.idf):


It has only these lines in it, based on the corresponding Output Reference:

Comma*, !- Column Separator
JtoKWH; !- Unit Conversion

  • I tried leaving the Colum Separator value empty, didn’t work either.

Pollination didn’t like it:

PO.V1.29.3.0 (Jun 27, 2023)
System.ArgumentException: 2023-07-04 11:37:29 ERROR: "RunSimulation" failed. See below for more information:

    Exception:    **  Fatal  ** Errors occurred on processing input file. Preceding condition(s) cause termination.
   at PollinationSDK.Wrapper.ScheduledJobInfo.GetRunInfo(Int32 runIndex)
   at PollinationSDK.Wrapper.JobResultPackage.UpdateRunAssets(Int32 runIndex, String platform)
   at Pollination.RH.UI.LoadResultViewModel.set_CurrentJob(JobResultPackage value)

I suspect I messed up the additional IDF formatting, something should be added to it apart from the object? I thought EnergyPlus just appends it to the in.idf before running.

I would appreciate your thoughts!


Hi @furtonb ,

It is possible to change this reporting unit but it’s a little more complex than usual because you have to work around the fact that OpenStudio does not allow you to change the EnerygPlus reporting units. The OpenStudio team did this because it would have created a unit conversion nightmare for OpenStudio Reporting Measures if they couldn’t reliably know what units to expect from the EnergyPlus results.

So the only way to get the reporting units of the E+ native HTML report to be different from the default SI units is to submit an IDF as the input model to the recipe (instead of a HBJSON or an OSM). The full steps that you have to follow include the following:

  1. Create your IDF from Honeybee by running the HB Model to OSM component with 2 plugged in for run_, which will only generate the OSM/IDF.
  2. Open the IDF in a text editor or the IDFEditor.
  3. Change the OutputControl:Table:Style, object that is already in the IDF to have the JtoKWH unit conversion option in it and save the IDF.
  4. Submit the IDF to either the “Annual Energy Use” or the “Custom Energy Sim” recipe.

If you’re running a large parametric study, there are ways of automating steps 2 and 3 but they involve a little Grasshopper component or Python scripting.

And, to clarify, the reason why your previous attempt failed is that, by plugging in the OutputControl:Table:Style for the additional IDF strings, you were essentially specifying this object twice in the IDF, which is why EnergyPlus threw a fatal error. So that’s why you need to edit the IDF before you submit it instead of specifying this as an additional IDF string object.

1 Like

Thanks, for the clarification, @chriswmackey !