A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

OCHRE

Building energy modeling (BEM) tool designed to model flexible loads in residential buildings.
https://github.com/NREL/OCHRE

Category: Consumption
Sub Category: Buildings and Heating

Keywords

buildings distributed-energy-resources load-shifting residential residential-controls

Last synced: about 17 hours ago
JSON representation

Repository metadata

A Python-based building energy modeling (BEM) tool designed to model flexible loads in residential buildings

README.md

OCHRE

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
house = Dwelling(
    simulation_name, 
    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 resolution
  • metrics: a dictionary of energy metrics
  • hourly: a Pandas DataFrame with 1 hour resolution (verbosity >= 3 only)

For more examples, see:


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 6 days ago

Total Commits: 417
Total Committers: 5
Avg Commits per committer: 83.4
Development Distribution Score (DDS): 0.187

Commits in past year: 238
Committers in past year: 5
Avg Commits per committer in past year: 47.6
Development Distribution Score (DDS) in past year: 0.122

Name Email Commits
Michael Blonsky m****y@n****v 339
Jeff Maguire J****e@n****v 66
Jing Wang j****5@n****v 9
kendallbaertlein k****n@c****u 2
sugirdhalakshmi 6****i 1

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 131
Total pull requests: 82
Average time to close issues: 3 months
Average time to close pull requests: 22 days
Total issue authors: 13
Total pull request authors: 7
Average comments per issue: 1.6
Average comments per pull request: 1.17
Merged pull request: 61
Bot issues: 0
Bot pull requests: 0

Past year issues: 38
Past year pull requests: 42
Past year average time to close issues: about 2 months
Past year average time to close pull requests: about 1 month
Past year issue authors: 8
Past year pull request authors: 7
Past year average comments per issue: 2.03
Past year average comments per pull request: 1.62
Past year merged pull request: 23
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/NREL/OCHRE

Top Issue Authors

  • jmaguire1 (76)
  • mnblonsky (27)
  • curiotrope (6)
  • phaniarvind (4)
  • fremk (3)
  • sugirdhalakshmi (3)
  • JingWang-CUB (3)
  • judymin88 (3)
  • zkschmitz (2)
  • pemami4911 (1)
  • iamjatinjain (1)
  • xiaofeiwang158 (1)
  • vtnate (1)

Top Pull Request Authors

  • mnblonsky (41)
  • jmaguire1 (21)
  • kendallbaertlein (7)
  • dsafronov1 (4)
  • eblackley (4)
  • sugirdhalakshmi (3)
  • JingWang-CUB (2)

Top Issue Labels

  • enhancement (22)
  • Medium Priority (19)
  • future (18)
  • Low Priority (16)
  • High Priority (14)
  • bug (8)
  • AC3 (6)
  • documentation (2)
  • good first issue (1)
  • question (1)

Top Pull Request Labels

  • High Priority (3)
  • enhancement (3)
  • documentation (1)
  • bug (1)
  • AC3 (1)
  • Medium Priority (1)

Package metadata

pypi.org: ochre-nrel

An energy modeling tool designed to model residential end-use loads and DERs

  • Homepage: https://www.nrel.gov/grid/ochre.html
  • Documentation: https://ochre-nrel.readthedocs.io/en/latest/
  • Licenses: BSD License
  • Latest release: 0.9.1 (published 2 months ago)
  • Last Synced: 2025-04-25T18:32:06.037Z (1 day ago)
  • Versions: 5
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Downloads: 432 Last month
  • Rankings:
    • Dependent packages count: 7.561%
    • Stargazers count: 23.376%
    • Forks count: 30.308%
    • Average: 32.662%
    • Dependent repos count: 69.402%
  • Maintainers (1)

Score: 12.666089068242842