DesignBuilder comes with 2 useful Python libraries built in:
db_eplusout_reader
eppy
You can learn more about how to use eppy and db_eplusout_reader to generate custom output reports and custom KPIs in the Python Scripting Examples section.
EnergyPlus stores its main outputs results in ESO and SQL files and the db_eplusout_reader library provided with DesignBuilder allows the SQL output type to be read and processed. It simplifies the process of exploring and processing the SQLite output of EnergyPlus simulations and can be especially useful for generating custom reports and for implementing custom KPIs for parametric analysis, optimisation and UA/SA studies.
Also the SQL output processing methods are available.
The latest Python db_eplusout_reader libraries can be downloaded from:
https://github.com/DesignBuilderSoftware/db-eplusout-reader
eppy is a scripting language specifically developed to process EnergyPlus IDF input files and output files. It is written in Python and takes advantage of the rich data structure and idioms that are available in Python. You can programmatically navigate, search, and modify EnergyPlus idf files using eppy, for example:
Make a large number of changes in an IDF file with a few lines of eppy code.
Use conditions and filters when making changes to an IDF file
Read data from the summary output files of a EnergyPlus simulation run.
Here are some more specific examples of what you can do with eppy:
Change construction for all north-facing walls.
Change the glass type for all windows larger than 2 square meters.
Change the number of people in all the interior zones.
Change the efficiency and fan power of all rooftop units.
Find the energy use of all the models in a folder (or of models that were run after a certain date)
You can access other 3rd party libraries from your DesignBuilder Python scripts by adding the required library files to the Python scripting folder.
Some important points to note are:
DesignBuilder Python is based on Python v2.7 and so may not support libraries created for more recent versions of Python.
All custom package dependencies must be included with the library.
Pandas and Numpy libraries are not supported at the moment.
We do not recommend using the esoreader library because it loads the entire ESO file data set into an array and so is inefficient with memory and so will tend to cause out of memory crashes.