THIS PROJECT HAS MOVED TO: https://github.com/nllong/metamodeling-framework

This repo will remain for the time being to maintain history, but it is highly recommended to use the newly name repository.

Reduced Order Modeling Framework

The reduced order model (ROM) framework was created to build models to use for estimating commercial building energy loads. The framework currently supports linear models, random forests, and support vector regressions. The framework handles the building, evalulation, and validation of the models. During each set of the process, the framework exports diagnostic data for the user to evaluate the performance of the reduced order models. In addition to building, evaluating, and validating the reduced order models, the framework is able to load previously persisted model to be used in third-party applications (e.g. Modelica).

The project was initially developed focusing on evaluating ambient loop district heating and cooling systems. As a result, there are several hard coded methods designed to evaluate and validate building energy modeling data. These are planned to be removed and made more generic in the coming months.

This documentation will discuss how to inspect, build, evaluate, and validate a simple dataset focused on commercial building energy consumption. The documentation will also demonstrate how to load and run an already built ROM to be used to approximate building energy loads.

Instructions

The ROM Framework requires Python 3. After installing Python and configuring Python 3, the ROM Framework can be installed from source code (recommended) or from PyPI.

Installation from Source

  1. Install Python and pip

  2. Clone this repository

  3. Install the Python dependencies

    1
    pip install -r requirements.txt
    
  4. (Optional) install graphviz to visualize decision trees

    • OSX: brew install graphviz

Building Example Models

A small office example has been included with the source code under the rom/tests directory. The small office includes 3,300 hourly samples of building energy consumption with several characteristics for each sample. The example shown here is only the basics, for further instructions view the complete documentation on readthedocs.

1
2
3
./rom-runner build -f rom/tests/smoff_test/metamodels.json -a smoff_test
./rom-runner evaluate -f rom/tests/smoff_test/metamodels.json -a smoff_test
./rom-runner validate -f rom/tests/smoff_test/metamodels.json -a smoff_test

Installation from PyPI

Not yet complete.

Example Repository

An example repository was developed using the ROM Framework to evaluate the results of OpenStudio using PAT. There are several repositories to generate the datasets; however, the first link below contains a basic dataset in order to demonstrate the functionality of the ROM Framework.

The two repositories below were used to generate the OpenStudio/EnergyPlus models used for the ROM FRamework.

Indices and tables