BOPTEST (Building Optimization Performance Tests)

repository·master·Indexed 41 days ago

https://github.com/ibpsa/project1-boptest

A framework for testing building control strategies using a web-service architecture to run complex building simulations via FMUs. It features a RESTful API, a BACnet interface for emulating devices, and tools for baseline testing, boundary condition data generation, and KPI calculation.

Tokens
35.6K
Snippets
73
Records
175
Agent score
52%

What's inside BOPTEST

  1. Overview of BOPTEST Test Cases

    master

    The testcases/ directory contains various building optimization models used for testing. Test cases range from simple prototype models to complex multi-zone commercial buildings.

    Each test case supports different combinations of:

    • Electricity Prices: constant, dynamic, or highly_dynamic.
    • Time Periods: Specific scenarios like test_day, peak_heat_day, typical_cool_day, etc., depending on the model.

    For detailed information on a specific test case, navigate to /<testcase_dir_name>/docs within the repository.

  2. Overview of BOPTEST-Service

    master
    BOPTEST-Service implements Building Optimization Performance Tests (BOPTEST) as a web service architecture. This design allows the system to support multiple clients and execute multiple simultaneous tests at a large scale. For broader project context and high-level information, refer to the README.md at the root of the repository.
  3. Understand the goal of BOPTEST

    master

    BOPTEST (Building Optimization Performance Tests) is a platform designed for simulation-based testing and benchmarking of advanced building control strategies. It provides a standardized environment for researchers and industry to evaluate control performance through four main components:

    1. Reference building emulation test cases: Standardized building models available for testing.
    2. Key Performance Indicators (KPIs): Metrics used to assess the performance of a control strategy.
    3. Software platform: A system to manage test cases, facilitate data exchange (control and measurement) between user software and building emulations, calculate KPIs, and generate reports.
    4. Benchmarking procedures: Standardized methods and user guides for testing controls development.
  4. Understand the structure of BOPTEST Test Case 1

    master

    BOPTEST Test Case 1 is a simple RC network with a feedback-controlled heating device. The test case directory is organized as follows:

    • doc/: Contains documentation specific to this test case.
    • models/: Contains the emulation model files.
    • config.py: Defines the configuration used for building the Docker image for this test case.
  5. Explore additional BOPTEST interfaces

    master

    Beyond the core service, several interfaces are available for different programming environments and protocols:

    • OpenAI-Gym: An environment interface for reinforcement learning, available in ibpsa/project1-boptest-gym.
    • BACnet: A BACnet interface located in the /bacnet directory of this repository.
    • Julia: A Julia package named BOPTestAPI.jl for interacting with BOPTEST.
    • Results Dashboard: A proposed web interface for account management and result sharing.
  6. What is the Weather Forecast Uncertainty Emulator?

    master

    The weather forecast uncertainty emulator adds stochasticity to deterministic BOPTEST forecasts to simulate real-world behavior. This allows developers to evaluate control strategies against realistic forecast errors.

    It models uncertainty for two specific variables using a first-order autoregressive model (AR(1)):

    • Dry-bulb temperature (ambient temperature): Uses Gaussian-distributed residuals.
    • Global Horizontal Irradiation (GHI): Uses Laplace-distributed residuals to match the heavy-tailed nature of GHI errors.

    GHI Special Handling:

    • Nighttime: If measured GHI is zero, no error is added ($\hat{X}_{\tau|k} = 0$).
    • Smoothing: A 3-sample moving average filter is applied to reduce high-frequency noise.
  7. Understand the control logic for the Single Zone VAV model

    master

    The system uses a single maximum VAV heating and cooling control strategy.

    Cooling Control

    • Supply Air Flow: Modulated by the supply fan using a proportional feedback controller with gain kFan to maintain the thermostat cooling setpoint. The supply air temperature is held constant.
    • Cooling Coil: Water flow is modulated via a three-valve mixing valve using a proportional feedback controller with gain kCoo to maintain the supply air temperature. The coil is modeled as a dry effectiveness-NTU heat exchanger.
    • Chiller & Pump: The air-cooled chiller and chilled water pump operate to maintain a chilled water temperature setpoint.
    • Economizer: An ideal flow mixer supplies minimum outside air. If the outside air dry bulb temperature is lower than the return air temperature, the outside air damper is modulated using a proportional feedback controller with gain kEco to maintain the supply air temperature.

    Heating Control

    • Supply Air Flow: Held constant with minimum outside air ventilation.
    • Heating Coil: Modulated using a proportional feedback controller with gain kHea to maintain the zone temperature. The coil is modeled as an ideal fluid heater (electric resistance) with 0.99 efficiency.