Skip to content

Buildings in OCHRE™ Gym

A key advantage of OCHRE™ Gym over related building RL Gyms is the ease with which new buildings can be added. Buildings in OCHRE™ Gym are specified with the Home Performance eXtensible Markup Language (HPXML) format. Since OCHRE™ Gym wraps around OCHRE™, you can use any building that is supported by OCHRE™. Please read OCHRE™'s documentation for adding a custom building.

To quote from these docs, HPXML and occupancy schedule input files can be generated from:

  • BEopt 3.0 or later: best for designing a single building model. Includes a user interface to select building features. Note that the occupancy schedule file is optional; users must specify stochastic occupancy in BEopt. To generate input files from BEopt, run your model as usual. The input files you need for OCHRE™ (in.hpxml and schedules.csv) will be automatically generated and are located in ‘C:/Users/your_username/Documents/BEopt_3.0.x/TEMP1/1/run’. BEopt generates several xml files as part of the workflow, but the one OCHRE™ is looking for is always within the run directory.
  • End-Use Load Profiles Database: best for using pre-existing building models
  • ResStock: best for existing ResStock users and for users in need of a large sample of building models.

We provide a number of example buildings in ochre_gym/buildings/ created with ResStock.

Building config details

For each building, the following files should be located in the same directory under ochre_gym/buildings/your-env-name:

  • The HPXML file
  • a schedules.csv file for occupancy usage patterns
  • a weather file (TMY .epw or AMY)

See an example in ochre_gym/buildings/basic-v0. The weather and schedules files should contain a sufficiently long time range spanning the entire episode start/end timestamps.

Removing uncontrollable loads

Remove uncontrollable "scheduled" loads like lighting and appliances from the building by setting disable_uncontrollable_loads=True in ochre_gym.load().