OCHRE
Building energy modeling (BEM) tool designed to model flexible loads in residential buildings.
https://github.com/NatLabRockies/OCHRE
Category: Consumption
Sub Category: Buildings and Heating
Keywords
buildings distributed-energy-resources load-shifting residential residential-controls
Last synced: about 8 hours ago
JSON representation
Repository metadata
A Python-based building energy modeling (BEM) tool designed to model flexible loads in residential buildings
- Host: GitHub
- URL: https://github.com/NatLabRockies/OCHRE
- Owner: NatLabRockies
- License: bsd-3-clause
- Created: 2021-02-18T23:58:37.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2026-02-12T17:18:35.000Z (9 days ago)
- Last Synced: 2026-02-15T06:39:23.165Z (6 days ago)
- Topics: buildings, distributed-energy-resources, load-shifting, residential, residential-controls
- Language: Python
- Homepage: https://www.nrel.gov/grid/ochre.html
- Size: 75.2 MB
- Stars: 70
- Watchers: 6
- Forks: 32
- Open Issues: 94
- Releases: 7
-
Metadata Files:
- Readme: README.md
- Changelog: changelog.md
- License: LICENSE
README.md

OCHRE: The Object-oriented Controllable High-resolution Residential Energy Model
OCHRE™ is a Python-based energy modeling tool designed to model end-use
loads and distributed energy resources in residential buildings. It can model
flexible devices---including HVAC equipment, water heaters, electric vehicles,
solar PV, and batteries---and the thermal and electrical interactions between
them. OCHRE has been used to generate diverse and high-resolution load
profiles, examine the impacts of advanced control strategies on energy costs
and occupant comfort, and assess grid reliability and resilience through
building-to-grid co-simulation.
More information about OCHRE can be found in our
documentation, on NREL's
website, and from the Powered By
OCHRE webinar recording.
If you use OCHRE for your research or other projects, please fill out our user survey.
Installation
OCHRE can be installed using pip from the command line:
pip install ochre-nrel
Alternatively, you can install a specific branch, for example:
pip install git+https://github.com/NREL/OCHRE@dev
Note that OCHRE requires Python version >=3.9 and <3.13.
Usage
OCHRE can be used to simulate a residential dwelling or an individual piece of
equipment. In either case, a python object is instantiated and then simulated.
A set of input parameters and/or input files must be defined.
Below is a simple example of simulating a dwelling:
import os
import datetime as dt
from ochre import Dwelling
from ochre.utils import default_input_path # for using sample files
dwelling = Dwelling(
start_time=dt.datetime(2018, 1, 1, 0, 0),
time_res=dt.timedelta(minutes=10),
duration=dt.timedelta(days=3),
hpxml_file=os.path.join(default_input_path, "Input Files", "bldg0112631-up11.xml"),
hpxml_schedule_file=os.path.join(default_input_path, "Input Files", "bldg0112631_schedule.csv"),
weather_file=os.path.join(default_input_path, "Weather", "USA_CO_Denver.Intl.AP.725650_TMY3.epw"),
)
df, metrics, hourly = dwelling.simulate()
This will return 3 variables:
df: a Pandas DataFrame with 10 minute resolutionmetrics: a dictionary of energy metricshourly: a Pandas DataFrame with 1 hour resolution (verbosity >= 3 only)
For more examples, see:
- The OCHRE User
Tutorial
Jupyter notebook - Python example scripts to:
- Run a single dwelling
- Run a single piece of equipment
- Run a fleet of equipment
- Run multiple dwellings
- Run a OCHRE with an external controller
- Run a OCHRE in co-simulation using HELICS
Owner metadata
- Name: National Laboratory of the Rockies
- Login: NatLabRockies
- Email:
- Kind: organization
- Description:
- Website: http://www.nrel.gov
- Location: Golden, CO
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/1906800?v=4
- Repositories: 599
- Last ynced at: 2026-01-22T09:57:55.744Z
- Profile URL: https://github.com/NatLabRockies
GitHub Events
Total
- Delete event: 1
- Pull request event: 9
- Issues event: 1
- Issue comment event: 2
- Push event: 16
- Pull request review comment event: 6
- Create event: 1
Last Year
- Delete event: 1
- Pull request event: 9
- Issues event: 1
- Issue comment event: 2
- Push event: 16
- Pull request review comment event: 6
- Create event: 1
Committers metadata
Last synced: 5 days ago
Total Commits: 475
Total Committers: 6
Avg Commits per committer: 79.167
Development Distribution Score (DDS): 0.206
Commits in past year: 42
Committers in past year: 3
Avg Commits per committer in past year: 14.0
Development Distribution Score (DDS) in past year: 0.476
| Name | Commits | |
|---|---|---|
| Michael Blonsky | m****y@n****v | 377 |
| Jeff Maguire | J****e@n****v | 85 |
| Jing Wang | j****5@n****v | 9 |
| kendallbaertlein | k****n@c****u | 2 |
| sugirdhalakshmi | 6****i | 1 |
| Karim Frem | k****m@l****m | 1 |
Committer domains:
- nrel.gov: 3
- legrand.com: 1
- colorado.edu: 1
Issue and Pull Request metadata
Last synced: 6 days ago
Total issues: 1
Total pull requests: 2
Average time to close issues: N/A
Average time to close pull requests: N/A
Total issue authors: 1
Total pull request authors: 2
Average comments per issue: 0.0
Average comments per pull request: 0.0
Merged pull request: 0
Bot issues: 0
Bot pull requests: 0
Past year issues: 1
Past year pull requests: 2
Past year average time to close issues: N/A
Past year average time to close pull requests: N/A
Past year issue authors: 1
Past year pull request authors: 2
Past year average comments per issue: 0.0
Past year average comments per pull request: 0.0
Past year merged pull request: 0
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- jmaguire1 (1)
Top Pull Request Authors
- rajeee (1)
- jmaguire1 (1)
Top Issue Labels
Top Pull Request Labels
Score: 6.891625897052254