OCHRE

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

https://github.com/NREL/OCHRE

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 5 committers (20.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.1%) to scientific vocabulary

Keywords

buildings distributed-energy-resources load-shifting residential residential-controls
Last synced: 10 months ago · JSON representation

Repository

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

Basic Info
Statistics
  • Stars: 59
  • Watchers: 7
  • Forks: 26
  • Open Issues: 93
  • Releases: 5
Topics
buildings distributed-energy-resources load-shifting residential residential-controls
Created over 5 years ago · Last pushed 10 months ago
Metadata Files
Readme Changelog License

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 defaultinputpath # for using sample files dwelling = Dwelling( starttime=dt.datetime(2018, 1, 1, 0, 0), timeres=dt.timedelta(minutes=10),
duration=dt.timedelta(days=3), hpxmlfile=os.path.join(defaultinputpath, "Input Files", "bldg0112631-up11.xml"), hpxmlschedulefile=os.path.join(defaultinputpath, "Input Files", "bldg0112631schedule.csv"), weatherfile=os.path.join(defaultinputpath, "Weather", "USACODenver.Intl.AP.725650TMY3.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: * 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

  • Name: National Renewable Energy Laboratory
  • Login: NREL
  • Kind: organization
  • Location: Golden, CO

GitHub Events

Total
  • Create event: 24
  • Release event: 2
  • Issues event: 29
  • Watch event: 18
  • Delete event: 18
  • Member event: 2
  • Issue comment event: 97
  • Push event: 175
  • Pull request event: 44
  • Pull request review comment event: 35
  • Pull request review event: 47
  • Fork event: 22
Last Year
  • Create event: 24
  • Release event: 2
  • Issues event: 29
  • Watch event: 18
  • Delete event: 18
  • Member event: 2
  • Issue comment event: 97
  • Push event: 175
  • Pull request event: 44
  • Pull request review comment event: 35
  • Pull request review event: 47
  • Fork event: 22

Committers

Last synced: 10 months ago

All Time
  • Total Commits: 419
  • Total Committers: 5
  • Avg Commits per committer: 83.8
  • Development Distribution Score (DDS): 0.186
Past Year
  • Commits: 186
  • Committers: 4
  • Avg Commits per committer: 46.5
  • Development Distribution Score (DDS): 0.14
Top Committers
Name Email Commits
Michael Blonsky m****y@n****v 341
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 (Top 20 + Academic)

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 110
  • Total pull requests: 108
  • Average time to close issues: 3 months
  • Average time to close pull requests: 22 days
  • Total issue authors: 15
  • Total pull request authors: 7
  • Average comments per issue: 1.03
  • Average comments per pull request: 1.05
  • Merged pull requests: 76
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 27
  • Pull requests: 51
  • Average time to close issues: 20 days
  • Average time to close pull requests: 23 days
  • Issue authors: 8
  • Pull request authors: 5
  • Average comments per issue: 0.52
  • Average comments per pull request: 1.12
  • Merged pull requests: 28
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • jmaguire1 (64)
  • mnblonsky (21)
  • curiotrope (3)
  • fremk (3)
  • phaniarvind (3)
  • sugirdhalakshmi (3)
  • judymin88 (3)
  • JingWang-CUB (2)
  • alexhyunminlee (2)
  • zkschmitz (1)
  • dawsonc (1)
  • pemami4911 (1)
  • iamjatinjain (1)
  • xiaofeiwang158 (1)
  • vtnate (1)
Pull Request Authors
  • mnblonsky (55)
  • jmaguire1 (27)
  • kendallbaertlein (8)
  • dsafronov1 (7)
  • sugirdhalakshmi (4)
  • eblackley (4)
  • JingWang-CUB (3)
Top Labels
Issue Labels
enhancement (19) Medium Priority (17) future (16) Low Priority (14) High Priority (11) bug (7) AC3 (5) good first issue (1) question (1) documentation (1)
Pull Request Labels
enhancement (4) High Priority (3) documentation (1) bug (1) AC3 (1) Medium Priority (1)

Packages

  • Total packages: 3
  • Total downloads:
    • pypi 228 last-month
  • Total dependent packages: 1
    (may contain duplicates)
  • Total dependent repositories: 0
    (may contain duplicates)
  • Total versions: 17
  • Total maintainers: 1
proxy.golang.org: github.com/NREL/OCHRE
  • Versions: 6
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 10 months ago
proxy.golang.org: github.com/nrel/ochre
  • Versions: 6
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 10 months ago
pypi.org: ochre-nrel

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

  • Versions: 5
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Downloads: 228 Last month
Rankings
Dependent packages count: 7.6%
Stargazers count: 23.4%
Forks count: 30.3%
Average: 32.7%
Dependent repos count: 69.4%
Maintainers (1)
Last synced: 10 months ago