{"id":54849,"name":"OCHRE","description":"Building energy modeling (BEM) tool designed to model flexible loads in residential buildings.","url":"https://github.com/NatLabRockies/OCHRE","last_synced_at":"2026-05-12T02:30:23.306Z","repository":{"id":185453494,"uuid":"340209793","full_name":"NatLabRockies/OCHRE","owner":"NatLabRockies","description":"A Python-based building energy modeling (BEM) tool designed to model flexible loads in residential buildings","archived":false,"fork":false,"pushed_at":"2026-05-07T15:44:33.000Z","size":121521,"stargazers_count":70,"open_issues_count":103,"forks_count":33,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-05-09T18:48:51.588Z","etag":null,"topics":["buildings","distributed-energy-resources","load-shifting","residential","residential-controls"],"latest_commit_sha":null,"homepage":"https://www.nrel.gov/grid/ochre.html","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NatLabRockies.png","metadata":{"files":{"readme":"README.md","changelog":"changelog.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-02-18T23:58:37.000Z","updated_at":"2026-05-01T06:17:06.000Z","dependencies_parsed_at":null,"dependency_job_id":"d4ed6e7f-b0c0-4d41-9298-42aab9ba8a72","html_url":"https://github.com/NatLabRockies/OCHRE","commit_stats":{"total_commits":195,"total_committers":2,"mean_commits":97.5,"dds":0.2512820512820513,"last_synced_commit":"c0a698d19a9057c38f7a72060b63b96251c45e42"},"previous_names":["nrel/ochre"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/NatLabRockies/OCHRE","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NatLabRockies%2FOCHRE","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NatLabRockies%2FOCHRE/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NatLabRockies%2FOCHRE/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NatLabRockies%2FOCHRE/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NatLabRockies","download_url":"https://codeload.github.com/NatLabRockies/OCHRE/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NatLabRockies%2FOCHRE/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32878363,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-10T13:40:02.631Z","status":"online","status_checked_at":"2026-05-11T02:00:05.975Z","response_time":120,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"NatLabRockies","name":"National Laboratory of the Rockies","uuid":"1906800","kind":"organization","description":"","email":null,"website":"http://www.nrel.gov","location":"Golden, CO","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/1906800?v=4","repositories_count":599,"last_synced_at":"2026-01-22T09:57:55.744Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/NatLabRockies","funding_links":[],"total_stars":9633,"followers":1309,"following":0,"created_at":"2022-11-02T20:42:15.539Z","updated_at":"2026-01-22T09:57:55.745Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NatLabRockies","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NatLabRockies/repositories"},"packages":[],"commits":{"id":11615200,"full_name":"NatLabRockies/OCHRE","default_branch":"master","total_commits":475,"total_committers":6,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":79.16666666666667,"dds":0.20631578947368423,"past_year_total_commits":24,"past_year_total_committers":2,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":12.0,"past_year_dds":0.375,"last_synced_at":"2026-05-08T16:35:35.699Z","last_synced_commit":"0bf050355048a92301ece3122f8e5043889ad81c","created_at":"2026-01-25T01:00:29.017Z","updated_at":"2026-05-08T16:35:33.201Z","committers":[{"name":"Michael Blonsky","email":"michael.blonsky@nrel.gov","login":"mnblonsky","count":377},{"name":"Jeff Maguire","email":"Jeff.Maguire@nrel.gov","login":"jmaguire1","count":85},{"name":"Jing Wang","email":"jwang5@nrel.gov","login":"JingWang-CUB","count":9},{"name":"kendallbaertlein","email":"kendall.baertlein@colorado.edu","login":"kendallbaertlein","count":2},{"name":"sugirdhalakshmi","email":"62436486+sugirdhalakshmi","login":"sugirdhalakshmi","count":1},{"name":"Karim Frem","email":"karim.frem@legrand.com","login":"kfrem-leg","count":1}],"past_year_committers":[{"name":"Michael Blonsky","email":"michael.blonsky@nrel.gov","login":"mnblonsky","count":15},{"name":"jmaguire1","email":"Jeff.Maguire@nrel.gov","login":"jmaguire1","count":9}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/NatLabRockies%2FOCHRE/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-10T00:00:08.421Z","repositories_count":6232676,"commits_count":895535002,"contributors_count":34899179,"owners_count":1151564,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"NatLabRockies/OCHRE","html_url":"https://github.com/NatLabRockies/OCHRE","last_synced_at":"2026-05-01T02:00:20.157Z","status":"active","issues_count":4,"pull_requests_count":6,"avg_time_to_close_issue":null,"avg_time_to_close_pull_request":5030717.0,"issues_closed_count":0,"pull_requests_closed_count":1,"pull_request_authors_count":3,"issue_authors_count":2,"avg_comments_per_issue":0.5,"avg_comments_per_pull_request":0.8333333333333334,"merged_pull_requests_count":1,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":4,"past_year_pull_requests_count":6,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":5030717.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":0.5,"past_year_avg_comments_per_pull_request":0.8333333333333334,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"created_at":"2026-02-02T22:00:08.759Z","updated_at":"2026-05-01T02:00:20.158Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/NatLabRockies%2FOCHRE","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/NatLabRockies%2FOCHRE/issues","issue_labels_count":{},"pull_request_labels_count":{"High Priority":1,"enhancement":1},"issue_author_associations_count":{"NONE":3,"COLLABORATOR":1},"pull_request_author_associations_count":{"COLLABORATOR":4,"NONE":2},"issue_authors":{"rcbevans":3,"jmaguire1":1},"pull_request_authors":{"rajeee":2,"jmaguire1":2,"rcbevans":2},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-03T00:00:29.752Z","repositories_count":14466250,"issues_count":34116968,"pull_requests_count":111842913,"authors_count":11252520,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{"enhancement":1,"High Priority":1},"past_year_issue_author_associations_count":{"NONE":3,"COLLABORATOR":1},"past_year_pull_request_author_associations_count":{"COLLABORATOR":4,"NONE":2},"past_year_issue_authors":{"rcbevans":3,"jmaguire1":1},"past_year_pull_request_authors":{"jmaguire1":2,"rajeee":2,"rcbevans":2},"maintainers":[{"login":"jmaguire1","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jmaguire1"},{"login":"rajeee","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rajeee"}],"active_maintainers":[{"login":"jmaguire1","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jmaguire1"},{"login":"rajeee","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rajeee"}]},"events":{"total":{"DeleteEvent":1,"PullRequestEvent":9,"IssuesEvent":5,"WatchEvent":2,"IssueCommentEvent":4,"PushEvent":41,"PullRequestReviewEvent":4,"PullRequestReviewCommentEvent":11,"CreateEvent":1},"last_year":{"DeleteEvent":1,"PullRequestEvent":9,"IssuesEvent":5,"WatchEvent":2,"IssueCommentEvent":4,"PushEvent":41,"PullRequestReviewEvent":4,"PullRequestReviewCommentEvent":11,"CreateEvent":1}},"keywords":["buildings","distributed-energy-resources","load-shifting","residential","residential-controls"],"dependencies":[],"score":6.945051063725835,"created_at":"2023-09-13T13:19:07.289Z","updated_at":"2026-05-12T02:30:23.437Z","avatar_url":"https://github.com/NatLabRockies.png","language":"Python","category":"Consumption","sub_category":"Buildings and Heating","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"![OCHRE](https://github.com/NREL/OCHRE/blob/main/docs/source/images/OCHRE-Logo-Horiz-2Color.png)\n\n# OCHRE: The Object-oriented Controllable High-resolution Residential Energy Model\n\nOCHRE\u0026trade; is a Python-based energy modeling tool designed to model end-use\nloads and distributed energy resources in residential buildings. It can model\nflexible devices---including HVAC equipment, water heaters, electric vehicles,\nsolar PV, and batteries---and the thermal and electrical interactions between\nthem. OCHRE has been used to generate diverse and high-resolution load\nprofiles, examine the impacts of advanced control strategies on energy costs\nand occupant comfort, and assess grid reliability and resilience through\nbuilding-to-grid co-simulation.\n\nMore information about OCHRE can be found in [our\ndocumentation](https://ochre-nrel.readthedocs.io/), on [NREL's\nwebsite](https://www.nrel.gov/grid/ochre.html), and from the [Powered By\nOCHRE](https://www.youtube.com/watch?v=B5elLVtYDbI) webinar recording.\n\nIf you use OCHRE for your research or other projects, please fill out our [user survey](https://forms.office.com/g/U4xYhaWEvs).\n\n## Installation\n\nOCHRE can be installed using `pip` from the command line:\n\n```\npip install ochre-nrel\n```\n\nAlternatively, you can install a specific branch, for example:\n\n```\npip install git+https://github.com/NREL/OCHRE@dev\n```\n\nNote that OCHRE requires Python version \u003e=3.9 and \u003c3.13.\n\n## Usage\n\nOCHRE can be used to simulate a residential dwelling or an individual piece of\nequipment. In either case, a python object is instantiated and then simulated.\nA set of input parameters and/or input files must be defined. \n\nBelow is a simple example of simulating a dwelling:\n```\nimport os\nimport datetime as dt\nfrom ochre import Dwelling\nfrom ochre.utils import default_input_path # for using sample files\ndwelling = Dwelling(\n    start_time=dt.datetime(2018, 1, 1, 0, 0),\n    time_res=dt.timedelta(minutes=10),       \n    duration=dt.timedelta(days=3),\n    hpxml_file=os.path.join(default_input_path, \"Input Files\", \"bldg0112631-up11.xml\"),\n    hpxml_schedule_file=os.path.join(default_input_path, \"Input Files\", \"bldg0112631_schedule.csv\"),\n    weather_file=os.path.join(default_input_path, \"Weather\", \"USA_CO_Denver.Intl.AP.725650_TMY3.epw\"),\n)\n\ndf, metrics, hourly = dwelling.simulate()\n```\n\nThis will return 3 variables:\n * `df`: a Pandas DataFrame with 10 minute resolution\n * `metrics`: a dictionary of energy metrics\n * `hourly`: a Pandas DataFrame with 1 hour resolution (verbosity \u003e= 3 only)\n\nFor more examples, see:\n* The [OCHRE User\n  Tutorial](https://colab.research.google.com/github/NREL/OCHRE/blob/main/notebook/user_tutorial.ipynb)\n  Jupyter notebook \n* Python example scripts to:\n  * Run a [single dwelling](https://github.com/NREL/OCHRE/blob/main/bin/run_dwelling.py)\n  * Run a [single piece of equipment](https://github.com/NREL/OCHRE/blob/main/bin/run_equipment.py)\n  * Run a [fleet of equipment](https://github.com/NREL/OCHRE/blob/main/bin/run_fleet.py)\n  * Run [multiple dwellings](https://github.com/NREL/OCHRE/blob/main/bin/run_multiple.py)\n  * Run a [OCHRE with an external controller](https://github.com/NREL/OCHRE/blob/main/bin/run_external_control.py)\n  * Run a [OCHRE in co-simulation using HELICS](https://github.com/NREL/OCHRE/blob/main/bin/run_cosimulation.py)\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://ost.ecosyste.ms/api/v1/projects/54849","html_url":"https://ost.ecosyste.ms/projects/54849"}