{"id":20041,"name":"BOPTEST","description":"The Building Optimization Testing (BOPTEST) Framework enables the assessment and benchmarking of control algorithms for building energy management.","url":"https://github.com/ibpsa/project1-boptest","last_synced_at":"2026-04-07T02:30:27.834Z","repository":{"id":32914728,"uuid":"133074041","full_name":"ibpsa/project1-boptest","owner":"ibpsa","description":"Building Optimization Performance Tests","archived":false,"fork":false,"pushed_at":"2026-03-23T10:58:15.000Z","size":2864479,"stargazers_count":148,"open_issues_count":76,"forks_count":88,"subscribers_count":15,"default_branch":"master","last_synced_at":"2026-03-24T08:30:25.740Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Modelica","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ibpsa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"license.md","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":"2018-05-11T18:18:07.000Z","updated_at":"2026-03-18T04:16:26.000Z","dependencies_parsed_at":"2023-09-21T19:49:43.564Z","dependency_job_id":"6bc54fae-e547-4947-a8bc-4e3bc2f4cdd6","html_url":"https://github.com/ibpsa/project1-boptest","commit_stats":{"total_commits":2277,"total_committers":32,"mean_commits":71.15625,"dds":0.411945542380325,"last_synced_commit":"6ceeba29a16580085a84cb9bcff9645ec26f74fa"},"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/ibpsa/project1-boptest","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ibpsa%2Fproject1-boptest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ibpsa%2Fproject1-boptest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ibpsa%2Fproject1-boptest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ibpsa%2Fproject1-boptest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ibpsa","download_url":"https://codeload.github.com/ibpsa/project1-boptest/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ibpsa%2Fproject1-boptest/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31213707,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-30T15:24:02.938Z","status":"ssl_error","status_checked_at":"2026-03-30T15:23:44.804Z","response_time":138,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":"ibpsa","name":"IBPSA","uuid":"16223588","kind":"organization","description":"International Building Performance Simulation Association","email":"president@ibpsa.org","website":"http://www.ibpsa.org","location":"Worldwide","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/16223588?v=4","repositories_count":12,"last_synced_at":"2024-03-27T12:18:13.678Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ibpsa","funding_links":[],"total_stars":332,"followers":28,"following":0,"created_at":"2022-11-06T04:12:44.713Z","updated_at":"2024-03-27T12:18:13.771Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ibpsa","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ibpsa/repositories"},"packages":[],"commits":{"id":1254065,"full_name":"ibpsa/project1-boptest","default_branch":"master","total_commits":3070,"total_committers":41,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":74.8780487804878,"dds":0.47328990228013035,"past_year_total_commits":279,"past_year_total_committers":11,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":25.363636363636363,"past_year_dds":0.40501792114695345,"last_synced_at":"2026-03-03T21:40:34.787Z","last_synced_commit":"9bf09c9d677c30e73e9841f6046cb11f9a02838d","created_at":"2023-03-27T10:58:01.473Z","updated_at":"2026-03-03T21:37:46.121Z","committers":[{"name":"David Blum","email":"dhblum@lbl.gov","login":"dhblum","count":1617},{"name":"Javier Arroyo","email":"javier.arroyo@kuleuven.be","login":"JavierArroyoBastida","count":579},{"name":"terrancelu92","email":"40041133+terrancelu92","login":"terrancelu92","count":177},{"name":"Kyle Benne","email":"Kyle.Benne@nrel.gov","login":"kbenne","count":150},{"name":"ettore zanetti","email":"ettore.zanetti@polimi.it","login":"EttoreZ","count":96},{"name":"Guowen Li","email":"guowenli@tamu.edu","login":"GuowenLi-PhD","count":67},{"name":"Iago Cupeiro Figueroa","email":"iago.cupeiro@deltaq.io","login":null,"count":50},{"name":"huan875","email":"huang875@pnnl.gov","login":null,"count":44},{"name":"rlutes","email":"robert.lutes@pnnl.gov","login":"rlutes","count":34},{"name":"Ettore Zanetti","email":"ettore.ilcubo@gmail.com","login":null,"count":25},{"name":"Jaap Neven","email":"jaap.neven@vito.be","login":"Jaap-Neven","count":24},{"name":"Lingzhe Wang","email":"lzwang26@gmail.com","login":"lzwang26","count":22},{"name":"tijcolem","email":"tjc.coleman@gmail.com","login":"tijcolem","count":19},{"name":"Lu, Xing","email":"xing.lu@pnnl.gov","login":null,"count":18},{"name":"Harald Taxt Walnum","email":"harald.walnum@sintef.no","login":"HWalnum","count":18},{"name":"Bertrand Kerres","email":"bertrand.kerres@gmail.com","login":"bertrandkerres","count":15},{"name":"wanfu","email":"wanfu@kth.se","login":"wfzheng","count":15},{"name":"Michael Wetter","email":"mwetter@lbl.gov","login":"mwetter","count":11},{"name":"Jermy Thomas","email":"jermythomasv@gmail.com","login":"jmythms","count":11},{"name":"Tao Yang","email":"taoy@mmmi.sdu.dk","login":"taoyyt","count":8},{"name":"Nicholas Long","email":"nicholas.long@nrel.gov","login":"nllong","count":7},{"name":"SenHuang19","email":"jhy1987@gmail.com","login":"SenHuang19","count":7},{"name":"Sen Huang","email":"jhy19872gmail.com","login":null,"count":7},{"name":"laura.zabala","email":"laura.zabala@r2msolution.com","login":null,"count":6},{"name":"Huang","email":"7q0@ornl.gov","login":null,"count":4},{"name":"Laura Zabala","email":"54661936+laura-zabala","login":"laura-zabala","count":4},{"name":"Matt Robinson","email":"mattrob@hey.com","login":"mattrobmattrob","count":4},{"name":"Andrew Rodgers","email":"andrew@aceiotsolutions.com","login":"acedrew","count":4},{"name":"Dave Biagioni","email":"davebiagioni","login":"davebiagioni","count":3},{"name":"TaoYang-CFEI","email":"44610145+TaoYang-CFEI","login":"TaoYang-CFEI","count":3},{"name":"Bart Merema","email":"98538716+bmerema","login":"bmerema","count":3},{"name":"W. Huang","email":"82864676+wehuang16","login":"wehuang16","count":3},{"name":"Iago Cupeiro","email":"iagocupeiro@gmail.com","login":"icupeiro","count":2},{"name":"kim1077","email":"donghunkim@lbl.gov","login":"kim1077","count":2},{"name":"Jermy Thomas","email":"jthomas3@nrel.gov","login":null,"count":2},{"name":"Yan Chen","email":"yan.chen@pnnl.gov","login":"yanchenpnnl","count":2},{"name":"François Gauthier-Clerc","email":"francois.gauthier-clerc@purecontrol.com","login":"Enderdead","count":2},{"name":"Filip Jorissen","email":"filip.jorissen@kuleuven.be","login":"Mathadon","count":2},{"name":"Sen Huang","email":"huan875@dockerdev02.pnl.gov","login":null,"count":1},{"name":"Kefei Mo","email":"kefei.mo@pnnl.gov","login":"kefeimo","count":1},{"name":"Konstantin Filonenko","email":"kfi@mmmi.sdu.dk","login":"filokot","count":1}],"past_year_committers":[{"name":"David Blum","email":"dhblum@lbl.gov","login":"dhblum","count":166},{"name":"terrancelu92","email":"40041133+terrancelu92","login":"terrancelu92","count":33},{"name":"Jaap Neven","email":"jaap.neven@vito.be","login":"Jaap-Neven","count":19},{"name":"ettore zanetti","email":"ettore.zanetti@polimi.it","login":"EttoreZ","count":18},{"name":"Lu, Xing","email":"xing.lu@pnnl.gov","login":null,"count":16},{"name":"Bertrand Kerres","email":"bertrand.kerres@gmail.com","login":"bertrandkerres","count":15},{"name":"Andrew Rodgers","email":"andrew@aceiotsolutions.com","login":"acedrew","count":4},{"name":"W. Huang","email":"82864676+wehuang16","login":"wehuang16","count":3},{"name":"Laura Zabala","email":"54661936+laura-zabala","login":"laura-zabala","count":2},{"name":"Kyle Benne","email":"Kyle.Benne@nrel.gov","login":"kbenne","count":2},{"name":"icupeiro","email":"iagocupeiro@protonmail.com","login":"icupeiro","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/ibpsa%2Fproject1-boptest/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-03-30T00:00:08.107Z","repositories_count":6205809,"commits_count":927736503,"contributors_count":35814928,"owners_count":1143189,"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":"ibpsa/project1-boptest","html_url":"https://github.com/ibpsa/project1-boptest","last_synced_at":"2026-03-01T16:04:48.544Z","status":"active","issues_count":393,"pull_requests_count":474,"avg_time_to_close_issue":11288492.0,"avg_time_to_close_pull_request":3040248.6782407407,"issues_closed_count":306,"pull_requests_closed_count":432,"pull_request_authors_count":30,"issue_authors_count":64,"avg_comments_per_issue":2.361323155216285,"avg_comments_per_pull_request":2.040084388185654,"merged_pull_requests_count":391,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":35,"past_year_pull_requests_count":54,"past_year_avg_time_to_close_issue":1418584.3846153845,"past_year_avg_time_to_close_pull_request":747901.0,"past_year_issues_closed_count":13,"past_year_pull_requests_closed_count":37,"past_year_pull_request_authors_count":9,"past_year_issue_authors_count":11,"past_year_avg_comments_per_issue":0.7714285714285715,"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":36,"created_at":"2023-05-09T10:38:47.839Z","updated_at":"2026-03-01T16:04:48.544Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ibpsa%2Fproject1-boptest","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ibpsa%2Fproject1-boptest/issues","issue_labels_count":{"test case":23,"core":20,"boptest-service":18,"service":12,"interface/example":8,"bug":6,"enhancement":5,"dashboard":4,"Knowledge Base":1,"good first issue":1,"unit tests":1,"question":1,"documentation":1},"pull_request_labels_count":{"enhancement":5,"test case":1,"core":1,"unit tests":1},"issue_author_associations_count":{"COLLABORATOR":205,"CONTRIBUTOR":110,"NONE":75,"MEMBER":3},"pull_request_author_associations_count":{"COLLABORATOR":250,"CONTRIBUTOR":182,"NONE":34,"MEMBER":8},"issue_authors":{"dhblum":205,"JavierArroyoBastida":39,"kbenne":19,"EttoreZ":17,"SenHuang19":11,"Jaap-Neven":10,"haraldwalnum":7,"epaulson":5,"icupeiro":5,"kefeimo":4,"MaPaKo":3,"javiarrobas":3,"JanMarcoRuizdeVargas":3,"cosmos0x57":2,"P11GH":2,"Rapi1234":2,"mwetter":2,"Enderdead":2,"acedrew":2,"tstorek":2,"bertrandkerres":2,"davidefop":2,"Mathadon":2,"MaxBerktoldRWTH":2,"SebsCubs":1,"CasBex":1,"LiMingchen159":1,"YQliux":1,"terrancelu92":1,"bmerema":1,"mattrobmattrob":1,"JonasHillenGit":1,"wehuang16":1,"LauraMaier":1,"mildwall":1,"kuzha":1,"jdf1818":1,"nllong":1,"TuMK24":1,"tijcolem":1,"Fanccccc":1,"mschaar":1,"FerranAD":1,"Bokai-Ji":1,"rsoo8":1,"fsievers93":1,"madhu-kt":1,"zephyr0722":1,"CCCGao":1,"AlinaCartus":1,"SunJ2019":1,"li-yun":1,"sn3kyJ3di":1,"anandkp92":1,"rainbownmm":1,"Norah135":1,"SiAndRo2002":1,"JamesCheng21":1,"FWuellhorst":1,"mariuseb":1,"yanchenpnnl":1,"Swopper050":1,"jmythms":1,"kim1077":1},"pull_request_authors":{"dhblum":250,"JavierArroyoBastida":66,"EttoreZ":40,"SenHuang19":22,"Jaap-Neven":12,"kbenne":11,"icupeiro":9,"terrancelu92":9,"nllong":7,"javiarrobas":6,"ybae0330":5,"HWalnum":4,"mattrobmattrob":4,"laura-zabala":4,"mwetter":3,"tijcolem":3,"wehuang16":2,"bertrandkerres":2,"yanchenpnnl":2,"JanMarcoRuizdeVargas":2,"acedrew":2,"Enderdead":1,"davebiagioni":1,"taoyyt":1,"NechZ":1,"lazlop":1,"jmythms":1,"kuzha":1,"rlutes":1,"Mathadon":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-03-02T00:00:10.048Z","repositories_count":13538218,"issues_count":34997657,"pull_requests_count":114042654,"authors_count":11178144,"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":{"test case":7,"service":5,"interface/example":3,"enhancement":3,"core":3,"good first issue":1,"unit tests":1,"dashboard":1,"documentation":1},"past_year_pull_request_labels_count":{"enhancement":3,"test case":1,"core":1,"unit tests":1},"past_year_issue_author_associations_count":{"COLLABORATOR":13,"CONTRIBUTOR":13,"NONE":9},"past_year_pull_request_author_associations_count":{"COLLABORATOR":30,"CONTRIBUTOR":17,"NONE":7},"past_year_issue_authors":{"dhblum":13,"Jaap-Neven":6,"EttoreZ":5,"acedrew":2,"bertrandkerres":2,"MaxBerktoldRWTH":2,"FerranAD":1,"jdf1818":1,"SebsCubs":1,"SenHuang19":1,"wehuang16":1},"past_year_pull_request_authors":{"dhblum":30,"Jaap-Neven":6,"EttoreZ":5,"terrancelu92":4,"acedrew":2,"bertrandkerres":2,"laura-zabala":2,"wehuang16":2,"NechZ":1},"maintainers":[{"login":"dhblum","count":455,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dhblum"},{"login":"nllong","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nllong"},{"login":"Mathadon","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Mathadon"}],"active_maintainers":[{"login":"dhblum","count":43,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/dhblum"}]},"events":{"total":{"ReleaseEvent":3,"DeleteEvent":19,"PullRequestEvent":85,"ForkEvent":8,"IssuesEvent":104,"WatchEvent":32,"IssueCommentEvent":268,"PushEvent":223,"GollumEvent":2,"PullRequestReviewCommentEvent":62,"PullRequestReviewEvent":72,"CreateEvent":26},"last_year":{"ReleaseEvent":1,"DeleteEvent":12,"PullRequestEvent":51,"ForkEvent":5,"IssuesEvent":64,"WatchEvent":13,"IssueCommentEvent":120,"PushEvent":127,"PullRequestReviewEvent":37,"PullRequestReviewCommentEvent":42,"CreateEvent":14}},"keywords":[],"dependencies":[{"ecosystem":"docker","filepath":"Dockerfile","sha":null,"kind":"manifest","created_at":"2023-01-14T22:45:23.813Z","updated_at":"2023-01-14T22:45:23.813Z","repository_link":"https://github.com/ibpsa/project1-boptest/blob/master/Dockerfile","dependencies":[{"id":6908129071,"package_name":"michaelwetter/ubuntu-1804_jmodelica_trunk","ecosystem":"docker","requirements":"latest","direct":true,"kind":"build","optional":false}]},{"ecosystem":"docker","filepath":"docker-compose.yml","sha":null,"kind":"manifest","created_at":"2023-01-14T22:45:24.606Z","updated_at":"2023-01-14T22:45:24.606Z","repository_link":"https://github.com/ibpsa/project1-boptest/blob/master/docker-compose.yml","dependencies":[{"id":6908134924,"package_name":"boptest_base","ecosystem":"docker","requirements":"latest","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"docker","filepath":"examples/javascript/Dockerfile","sha":null,"kind":"manifest","created_at":"2023-01-14T22:45:25.383Z","updated_at":"2023-01-14T22:45:25.383Z","repository_link":"https://github.com/ibpsa/project1-boptest/blob/master/examples/javascript/Dockerfile","dependencies":[{"id":6908139240,"package_name":"ubuntu","ecosystem":"docker","requirements":"18.04","direct":true,"kind":"build","optional":false}]},{"ecosystem":"docker","filepath":"examples/julia/Dockerfile","sha":null,"kind":"manifest","created_at":"2023-01-14T22:45:26.051Z","updated_at":"2023-01-14T22:45:26.051Z","repository_link":"https://github.com/ibpsa/project1-boptest/blob/master/examples/julia/Dockerfile","dependencies":[{"id":6908143994,"package_name":"senhuang/julia","ecosystem":"docker","requirements":"latest","direct":true,"kind":"build","optional":false}]},{"ecosystem":"docker","filepath":"testing/Dockerfile","sha":null,"kind":"manifest","created_at":"2023-09-21T19:49:43.231Z","updated_at":"2023-09-21T19:49:43.231Z","repository_link":"https://github.com/ibpsa/project1-boptest/blob/master/testing/Dockerfile","dependencies":[{"id":13856964089,"package_name":"michaelwetter/ubuntu-1804_jmodelica_trunk","ecosystem":"docker","requirements":"latest","direct":true,"kind":"build","optional":false}]}],"score":9.125218118559348,"created_at":"2023-09-11T14:52:09.212Z","updated_at":"2026-04-07T02:30:27.838Z","avatar_url":"https://github.com/ibpsa.png","language":"Modelica","category":"Consumption","sub_category":"Buildings and Heating","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"# IBPSA Project 1 - BOPTEST\n\n[![Build Status](https://travis-ci.com/ibpsa/project1-boptest.svg?branch=master)](https://travis-ci.com/ibpsa/project1-boptest)\n\nBuilding Optimization Performance Tests\n\nVisit the [BOPTEST Home Page](https://ibpsa.github.io/project1-boptest/) for more information about the project, software, and documentation.\n\nThis repository contains code for the Building Optimization Performance Test framework (BOPTEST)\nthat is being developed as part of the [IBPSA Project 1](https://ibpsa.github.io/project1/).\n\n\n## Structure\n- ``/testcases`` contains test cases, including docs, models, and configuration settings.\n- ``/examples`` contains code for interacting with a test case and running example tests with simple controllers.  Those controllers are implemented in Python (Version 2.7 and 3.9), Julia (Version 1.0.3), and JavaScript (Version ECMAScript 2018).\n- ``/parsing`` contains code for a script that parses a Modelica model using signal exchange blocks and outputs a wrapper FMU and KPI json.\n- ``/testing`` contains code for unit and functional testing of this software.  See the README there for more information about running these tests.\n- ``/data`` contains code for generating and managing data associated with test cases.  This includes boundary conditions, such as weather, schedules, and energy prices, as well as a map of test case FMU outputs needed to calculate KPIs.\n- ``/forecast`` contains code for returning boundary condition forecast, such as weather, schedules, and energy prices.\n- ``/kpis`` contains code for calculating key performance indicators.\n- ``/docs`` contains design documentation and delivered workshop content.\n- ``/bacnet`` contains code for a bacnet interface.\n\n## Quick-Start to Deploy a Test Case\n1) Download this repository.\n2) Install [Docker](https://docs.docker.com/get-docker/) and [Docker Compose](https://docs.docker.com/compose/install/).\n3) To build and deploy a test case, use the following commands within the root directory of the extracted software:\n\n  * Linux or macOS: ``$ TESTCASE=\u003ctestcase_name\u003e docker-compose up``\n  * Windows PowerShell: ``\u003e ($env:TESTCASE=\"\u003ctestcase_name\u003e\") -and (docker-compose up)``\n  * A couple notes:\n    * Replace ``\u003ctestcase_name\u003e`` with the name of the test case you wish to deploy.  Test case names can be found in the [\"testcases\" directory](https://github.com/ibpsa/project1-boptest/tree/master/testcases) or on the [\"Test Cases\" web page](https://ibpsa.github.io/project1-boptest/testcases/index.html).\n    * The first time this command is run, the image ``boptest_base`` will be built. This takes about a minute. Subsequent usage will use the already-built image and deploy much faster.\n    * If you update your BOPTEST repository, use the command ``docker rmi boptest_base`` to remove the image so it can be re-built with the updated repository upon next deployment.\n    * ``TESTCASE`` is simply an environment variable. Consistent with use of docker-compose, you may also edit the value of this variable in the ``.env`` file and then use ``docker-compose up``.\n\n4) In a separate process, use the test case API defined below to interact with the test case using your test controller.  Alternatively, view and run an example test controller as described below.\n5) Shutdown the test case by the command ``docker-compose down`` executed in the root directory of this repository\n\n## Run an example test controller:\n\n* For Python-based example controllers:\n  * Optionally, add the directory path to the root of this repository to the ``PYTHONPATH`` environment variable. Use ``export PYTHONPATH=$(pwd):$PYTHONPATH``. Note: The Python example updates the ``PYTHONPATH`` just in time.\n  * Build and deploy ``testcase1``.  Then, in a separate terminal, use ``$ cd examples/python/ \u0026\u0026 python testcase1.py`` to test a simple proportional feedback controller on this test case over a two-day period.\n  * Build and deploy ``testcase1``.  Then, in a separate terminal, use ``$ cd examples/python/ \u0026\u0026 python testcase1_scenario.py`` to test a simple proportional feedback controller on this test case over a test period defined using the ``/scenario`` API.\n  * Build and deploy ``testcase2``.  Then, in a separate terminal, use ``$ cd examples/python/ \u0026\u0026 python testcase2.py`` to test a simple supervisory controller on this test case over a two-day period.\n\n* For Julia-based example controllers:\n  * Build and deploy ``testcase1``.  Then, in a separate terminal, use ``$ cd examples/julia \u0026\u0026 make build Script=testcase1 \u0026\u0026 make run Script=testcase1`` to test a simple proportional feedback controller on this test case over a two-day period.  Note that the Julia-based controller is run in a separate Docker container.\n  * Build and deploy ``testcase2``.  Then, in a separate terminal, use ``$ cd examples/julia \u0026\u0026 make build Script=testcase2 \u0026\u0026 make run Script=testcase2`` to test a simple supervisory controller on this test case over a two-day period.  Note that the Julia-based controller is run in a separate Docker container.\n  * Once either test is done, use ``$ make remove-image Script=testcase1`` or ``$ make remove-image Script=testcase2`` to removes containers, networks, volumes, and images associated with these Julia-based examples.\n\n* For JavaScript-based example controllers:\n  * In a separate terminal, use ``$ cd examples/javascript \u0026\u0026 make build Script=testcase1 \u0026\u0026 make run Script=testcase1`` to test a simple proportional feedback controller on the testcase1 over a two-day period.\n  * In a separate terminal, use ``$ cd examples/javascript \u0026\u0026 make build Script=testcase2 \u0026\u0026 make run Script=testcase2`` to test a simple supervisory controller on the testcase2 over a two-day period.\n  * Ince the test is done, use ``$ make remove-image Script=testcase1`` or ``$ make remove-image Script=testcase2`` to removes containers, networks, volumes, and images, and use ``$ cd examples/javascript \u0026\u0026 rm geckodriver`` to remove the geckodriver file.\n  * Note that those two controllers can also be executed by web browers, such as chrome or firefox.\n\n## Test Case RESTful API\n- To interact with a deployed test case, use the API defined in the table below by sending RESTful requests to: ``http://127.0.0.1:5000/\u003crequest\u003e``\n- The API will return a JSON in the form ``{\"status\":\u003cstatus_code_int\u003e, \"message\":\u003cmessage_str\u003e, \"payload\":\u003crelevant_return_data\u003e}``. Status codes in ``\"status\"`` are integers: ``200`` for successful with or without warning, ``400`` for bad input error, or ``500`` for internal error.  Data returned in ``\"payload\"`` is the data of interest relvant to the specific API request, while the string in ``\"message\"`` will report any warnings or error messages to help debug encountered problems.\n\nExample RESTful interaction:\n\n- Receive a list of available measurement names and their metadata: ``$ curl http://127.0.0.1:5000/measurements``\n- Receive a forecast of boundary condition data: ``$ curl http://127.0.0.1:5000/forecast``\n- Advance simulation of test case 2 with new heating and cooling temperature setpoints: ``$ curl http://127.0.0.1:5000/advance -d '{\"oveTSetRooHea_u\":293.15,\"oveTSetRooHea_activate\":1, \"oveTSetRooCoo_activate\":1,\"oveTSetRooCoo_u\":298.15}' -H \"Content-Type: application/json\"``.  Leave an empty json to advance the simulation using the setpoints embedded in the model.\n\n| Interaction                                                           | Request                                                   |\n|-----------------------------------------------------------------------|-----------------------------------------------------------|\n| Advance simulation with control input and receive measurements.        |  POST ``advance`` with optional arguments ``\u003cinput_name_u\u003e:\u003cvalue\u003e``, and corresponding ``\u003cinput_name_activate\u003e:\u003c0 or 1\u003e``, where 1 enables value overwrite and 0 disables (0 is default)  |\n| Initialize simulation to a start time using a warmup period in seconds.  Also resets point data history and KPI calculations.     |  PUT ``initialize`` with required arguments ``start_time=\u003cvalue\u003e``, ``warmup_period=\u003cvalue\u003e``|\n| Receive communication step in seconds.                                 |  GET ``step``                                             |\n| Set communication step in seconds.                                     |  PUT ``step`` with required argument ``step=\u003cvalue\u003e``              |\n| Receive sensor signal point names (y) and metadata.                          |  GET ``measurements``                                     |\n| Receive control signal point names (u) and metadata.                        |  GET ``inputs``                                           |\n| Receive test result data for the given point names between the start and final time in seconds. |  PUT ``results`` with required arguments ``point_names=\u003clist of strings\u003e``, ``start_time=\u003cvalue\u003e``, ``final_time=\u003cvalue\u003e``|\n| Receive test KPIs.                                                     |  GET ``kpi``                                              |\n| Receive test case name.                                                |  GET ``name``                                             |\n| Receive boundary condition forecast from current communication step for the given point names for the horizon and at the interval in seconds.   |  PUT ``forecast`` with required arguments ``point_names=\u003clist of strings\u003e``, ``horizon=\u003cvalue\u003e``, ``interval=\u003cvalue\u003e``|\n| Receive boundary condition forecast available point names and metadata. |  GET ``forecast_points``                              |\n| Receive current test scenario.                                         |  GET ``scenario``                                   |\n| Set test scenario. Setting the argument ``time_period`` performs an initialization with predefined start time and warmup period and will only simulate for predefined duration. |  PUT ``scenario`` with optional arguments ``electricity_price=\u003cstring\u003e``, ``time_period=\u003cstring\u003e``.  See README in [/testcases](https://github.com/ibpsa/project1-boptest/tree/master/testcases) for options and test case documentation for details.|\n| Receive BOPTEST version.                                               |  GET ``version``                                             |\n| Submit KPIs, other test information, and optional string tags (up to 10) to online dashboard.  Requires a formal test scenario to be completed, initialized using the PUT ``scenario`` API. |  POST ``submit`` with required argument ``api_key=\u003cstring\u003e`` and optional arguments ``tag#=\u003cstring\u003e`` where # is an integer between 1 and 10.  The API key can be obtained from the user account registered with the online dashboard.|\n\n## Development\nCommunity development is welcome through reporting [issues](https://github.com/ibpsa/project1-boptest/issues) and/or making pull requests. If making a pull request,\nmake sure an issue is opened first, name the development branch according to the convention ``issue\u003cissue#\u003e_\u003cdescriptor\u003e``, and cite in the pull request which issue is being addressed.\n\nThis repository uses pre-commit to ensure that the files meet standard formatting conventions (such as line spacing, layout, etc).\nPresently only a handful of checks are enabled and will expanded in the near future. To run pre-commit first install\npre-commit into your Python version using pip `pip install pre-commit`. Pre-commit can either be manually by calling\n`pre-commit run --all-files` from within the BOPTEST checkout directory, or you can install pre-commit to be run automatically\nas a hook on all commits by calling `pre-commit install` in the root directory of the BOPTEST GitHub checkout.\n\n## Additional Software\n\n### Deployment as a Web-Service\nBOPTEST is delpoyed as a web-service using [BOPTEST-Service](https://github.com/NREL/boptest-service).\nSee the related [section in the user guide](https://ibpsa.github.io/project1-boptest/docs-userguide/getting_started.html#public-web-service) for getting started.\n\n### OpenAI-Gym Environment\nAn OpenAI-Gym environment for BOPTEST is implemented in [ibpsa/project1-boptest-gym](https://github.com/ibpsa/project1-boptest-gym).\nSee the documentation there for getting started.\n\n### BACnet Interface\nA BACnet interface for BOPTEST is implemented in the ``/bacnet`` directory of this repository.  See the ``/bacnet/README.md`` there for getting started.\n\n### Results Dashboard\nA proposed BOPTEST home page and dashboard for creating accounts and sharing results is published here https://xd.adobe.com/view/0e0c63d4-3916-40a9-5e5c-cc03f853f40a-783d/.\n\n## Use Cases and Development Requirements\nSee the [wiki](https://github.com/ibpsa/project1-boptest/wiki) for use cases and development requirements.\n\n## Publications\n\n### To cite, please use:\nD. Blum, J. Arroyo, S. Huang, J. Drgona, F. Jorissen, H.T. Walnum, Y. Chen, K. Benne, D. Vrabie, M. Wetter, and L. Helsen. (2021). [\"Building optimization testing framework (BOPTEST) for simulation-based benchmarking of control strategies in buildings.\"](https://doi.org/10.1080/19401493.2021.1986574) *Journal of Building Performance Simulation*, 14(5), 586-610.\n\n### Additional publications:\nSee the [Publications](https://ibpsa.github.io/project1-boptest/publications/index.html) page.\n","funding_links":[],"readme_doi_urls":["https://doi.org/10.1080/19401493.2021.1986574"],"works":{"https://doi.org/10.1080/19401493.2021.1986574":{"id":"https://openalex.org/W3209188603","doi":"https://doi.org/10.1080/19401493.2021.1986574","title":"Building optimization testing framework (BOPTEST) for simulation-based benchmarking of control strategies in buildings","display_name":"Building optimization testing framework (BOPTEST) for simulation-based benchmarking of control strategies in buildings","publication_year":2021,"publication_date":"2021-09-03","ids":{"openalex":"https://openalex.org/W3209188603","doi":"https://doi.org/10.1080/19401493.2021.1986574","mag":"3209188603"},"language":"en","primary_location":{"is_oa":true,"landing_page_url":"https://doi.org/10.1080/19401493.2021.1986574","pdf_url":null,"source":{"id":"https://openalex.org/S59432305","display_name":"Journal of Building Performance Simulation","issn_l":"1940-1493","issn":["1940-1507","1940-1493"],"is_oa":false,"is_in_doaj":false,"host_organization":"https://openalex.org/P4310320547","host_organization_name":"Taylor \u0026 Francis","host_organization_lineage":["https://openalex.org/P4310320547"],"host_organization_lineage_names":["Taylor \u0026 Francis"],"type":"journal"},"license":"cc-by","version":"publishedVersion","is_accepted":true,"is_published":true},"type":"article","type_crossref":"journal-article","open_access":{"is_oa":true,"oa_status":"hybrid","oa_url":"https://doi.org/10.1080/19401493.2021.1986574","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5023678036","display_name":"D. Blum","orcid":"https://orcid.org/0000-0003-3231-7937"},"institutions":[{"id":"https://openalex.org/I148283060","display_name":"Lawrence Berkeley National Laboratory","ror":"https://ror.org/02jbv0t02","country_code":"US","type":"facility","lineage":["https://openalex.org/I1330989302","https://openalex.org/I148283060"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"David Blum","raw_affiliation_string":"Lawrence Berkeley National Laboratory. Berkeley, CA, USA","raw_affiliation_strings":["Lawrence Berkeley National Laboratory. Berkeley, CA, USA"]},{"author_position":"middle","author":{"id":"https://openalex.org/A5063763978","display_name":"Javier Arroyo","orcid":"https://orcid.org/0000-0003-2778-2973"},"institutions":[{"id":"https://openalex.org/I99464096","display_name":"KU Leuven","ror":"https://ror.org/05f950310","country_code":"BE","type":"education","lineage":["https://openalex.org/I99464096"]},{"id":"https://openalex.org/I68522396","display_name":"Flemish Institute for Technological Research","ror":"https://ror.org/04gq0w522","country_code":"BE","type":"facility","lineage":["https://openalex.org/I68522396"]}],"countries":["BE"],"is_corresponding":false,"raw_author_name":"Javier Arroyo","raw_affiliation_string":"Department of Mechanical Engineering, KU Leuven, Leuven, Belgium; Flemish Institute for Technological Research (VITO), Mol, Belgium","raw_affiliation_strings":["Department of Mechanical Engineering, KU Leuven, Leuven, Belgium","Flemish Institute for Technological Research (VITO), Mol, Belgium"]},{"author_position":"middle","author":{"id":"https://openalex.org/A5059809752","display_name":"Sen Huang","orcid":"https://orcid.org/0000-0002-7647-9375"},"institutions":[{"id":"https://openalex.org/I142606810","display_name":"Pacific Northwest National Laboratory","ror":"https://ror.org/05h992307","country_code":"US","type":"facility","lineage":["https://openalex.org/I1330989302","https://openalex.org/I142606810"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Sen Huang","raw_affiliation_string":"Pacific Northwest National Laboratory, Richland, WA USA","raw_affiliation_strings":["Pacific Northwest National Laboratory, Richland, WA USA"]},{"author_position":"middle","author":{"id":"https://openalex.org/A5019969465","display_name":"Ján Drgoňa","orcid":"https://orcid.org/0000-0003-1223-208X"},"institutions":[{"id":"https://openalex.org/I142606810","display_name":"Pacific Northwest National Laboratory","ror":"https://ror.org/05h992307","country_code":"US","type":"facility","lineage":["https://openalex.org/I1330989302","https://openalex.org/I142606810"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Ján Drgoňa","raw_affiliation_string":"Pacific Northwest National Laboratory, Richland, WA USA","raw_affiliation_strings":["Pacific Northwest National Laboratory, Richland, WA USA"]},{"author_position":"middle","author":{"id":"https://openalex.org/A5023375903","display_name":"Filip Jorissen","orcid":"https://orcid.org/0000-0002-9273-0179"},"institutions":[{"id":"https://openalex.org/I99464096","display_name":"KU Leuven","ror":"https://ror.org/05f950310","country_code":"BE","type":"education","lineage":["https://openalex.org/I99464096"]}],"countries":["BE"],"is_corresponding":false,"raw_author_name":"Filip Jorissen","raw_affiliation_string":"Department of Mechanical Engineering KU Leuven Leuven Belgium","raw_affiliation_strings":["Department of Mechanical Engineering KU Leuven Leuven Belgium"]},{"author_position":"middle","author":{"id":"https://openalex.org/A5038910258","display_name":"Harald Taxt Walnum","orcid":"https://orcid.org/0000-0002-8718-6797"},"institutions":[{"id":"https://openalex.org/I173888879","display_name":"SINTEF","ror":"https://ror.org/01f677e56","country_code":"NO","type":"facility","lineage":["https://openalex.org/I173888879"]}],"countries":["NO"],"is_corresponding":false,"raw_author_name":"Harald Taxt Walnum","raw_affiliation_string":"SINTEF Community, Oslo, Norway","raw_affiliation_strings":["SINTEF Community, Oslo, Norway"]},{"author_position":"middle","author":{"id":"https://openalex.org/A5037458498","display_name":"Yan Chen","orcid":"https://orcid.org/0000-0002-4909-439X"},"institutions":[{"id":"https://openalex.org/I142606810","display_name":"Pacific Northwest National Laboratory","ror":"https://ror.org/05h992307","country_code":"US","type":"facility","lineage":["https://openalex.org/I1330989302","https://openalex.org/I142606810"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Yan Chen","raw_affiliation_string":"Pacific Northwest National Laboratory, Richland, WA USA","raw_affiliation_strings":["Pacific Northwest National Laboratory, Richland, WA USA"]},{"author_position":"middle","author":{"id":"https://openalex.org/A5086047447","display_name":"Kyle Benne","orcid":"https://orcid.org/0009-0008-0302-5584"},"institutions":[{"id":"https://openalex.org/I1297288678","display_name":"National Renewable Energy Laboratory","ror":"https://ror.org/036266993","country_code":"US","type":"facility","lineage":["https://openalex.org/I1297288678","https://openalex.org/I1330989302"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Kyle Benne","raw_affiliation_string":"National Renewable Energy Laboratory, Golden , CO, USA","raw_affiliation_strings":["National Renewable Energy Laboratory, Golden , CO, USA"]},{"author_position":"middle","author":{"id":"https://openalex.org/A5047724723","display_name":"Draguna Vrabie","orcid":"https://orcid.org/0000-0002-1547-2049"},"institutions":[{"id":"https://openalex.org/I142606810","display_name":"Pacific Northwest National Laboratory","ror":"https://ror.org/05h992307","country_code":"US","type":"facility","lineage":["https://openalex.org/I1330989302","https://openalex.org/I142606810"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Draguna Vrabie","raw_affiliation_string":"Pacific Northwest National Laboratory, Richland, WA USA","raw_affiliation_strings":["Pacific Northwest National Laboratory, Richland, WA USA"]},{"author_position":"middle","author":{"id":"https://openalex.org/A5058614103","display_name":"Michael Wetter","orcid":"https://orcid.org/0000-0002-7043-0802"},"institutions":[{"id":"https://openalex.org/I148283060","display_name":"Lawrence Berkeley National Laboratory","ror":"https://ror.org/02jbv0t02","country_code":"US","type":"facility","lineage":["https://openalex.org/I1330989302","https://openalex.org/I148283060"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Michael Wetter","raw_affiliation_string":"Lawrence Berkeley National Laboratory. Berkeley, CA, USA","raw_affiliation_strings":["Lawrence Berkeley National Laboratory. Berkeley, CA, USA"]},{"author_position":"last","author":{"id":"https://openalex.org/A5020954840","display_name":"Lieve Helsen","orcid":"https://orcid.org/0000-0002-9643-8204"},"institutions":[{"id":"https://openalex.org/I99464096","display_name":"KU Leuven","ror":"https://ror.org/05f950310","country_code":"BE","type":"education","lineage":["https://openalex.org/I99464096"]}],"countries":["BE"],"is_corresponding":false,"raw_author_name":"Lieve Helsen","raw_affiliation_string":"Department of Mechanical Engineering, KU Leuven, Leuven, Belgium","raw_affiliation_strings":["Department of Mechanical Engineering, KU Leuven, Leuven, Belgium"]}],"countries_distinct_count":3,"institutions_distinct_count":6,"corresponding_author_ids":["https://openalex.org/A5023678036"],"corresponding_institution_ids":["https://openalex.org/I148283060"],"apc_list":null,"apc_paid":null,"has_fulltext":false,"cited_by_count":42,"cited_by_percentile_year":{"min":98,"max":99},"biblio":{"volume":"14","issue":"5","first_page":"586","last_page":"610"},"is_retracted":false,"is_paratext":false,"keywords":[{"keyword":"optimization testing framework","score":0.6256},{"keyword":"buildings","score":0.4069},{"keyword":"benchmarking","score":0.383},{"keyword":"control strategies","score":0.3737},{"keyword":"simulation-based","score":0.25}],"concepts":[{"id":"https://openalex.org/C86251818","wikidata":"https://www.wikidata.org/wiki/Q816754","display_name":"Benchmarking","level":2,"score":0.8414666},{"id":"https://openalex.org/C122346748","wikidata":"https://www.wikidata.org/wiki/Q1798773","display_name":"HVAC","level":3,"score":0.7858912},{"id":"https://openalex.org/C185798385","wikidata":"https://www.wikidata.org/wiki/Q1161707","display_name":"Benchmark (surveying)","level":2,"score":0.6879278},{"id":"https://openalex.org/C105339364","wikidata":"https://www.wikidata.org/wiki/Q2297740","display_name":"Software deployment","level":2,"score":0.6170771},{"id":"https://openalex.org/C83931994","wikidata":"https://www.wikidata.org/wiki/Q1149653","display_name":"Building automation","level":2,"score":0.55167705},{"id":"https://openalex.org/C2780598303","wikidata":"https://www.wikidata.org/wiki/Q65921492","display_name":"Flexibility (engineering)","level":2,"score":0.5402304},{"id":"https://openalex.org/C37785467","wikidata":"https://www.wikidata.org/wiki/Q385325","display_name":"Modelica","level":2,"score":0.5353172},{"id":"https://openalex.org/C172205157","wikidata":"https://www.wikidata.org/wiki/Q1782962","display_name":"Model predictive control","level":3,"score":0.5225677},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.4993174},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.46972314},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.4442735},{"id":"https://openalex.org/C2775924081","wikidata":"https://www.wikidata.org/wiki/Q55608371","display_name":"Control (management)","level":2,"score":0.43485242},{"id":"https://openalex.org/C201995342","wikidata":"https://www.wikidata.org/wiki/Q682496","display_name":"Systems engineering","level":1,"score":0.43169135},{"id":"https://openalex.org/C133731056","wikidata":"https://www.wikidata.org/wiki/Q4917288","display_name":"Control engineering","level":1,"score":0.42415574},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.35685128},{"id":"https://openalex.org/C44154836","wikidata":"https://www.wikidata.org/wiki/Q45045","display_name":"Simulation","level":1,"score":0.31745666},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.19767094},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.101450086},{"id":"https://openalex.org/C162853370","wikidata":"https://www.wikidata.org/wiki/Q39809","display_name":"Marketing","level":1,"score":0.0},{"id":"https://openalex.org/C144133560","wikidata":"https://www.wikidata.org/wiki/Q4830453","display_name":"Business","level":0,"score":0.0},{"id":"https://openalex.org/C78519656","wikidata":"https://www.wikidata.org/wiki/Q101333","display_name":"Mechanical engineering","level":1,"score":0.0},{"id":"https://openalex.org/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","level":1,"score":0.0},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"score":0.0},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0},{"id":"https://openalex.org/C13280743","wikidata":"https://www.wikidata.org/wiki/Q131089","display_name":"Geodesy","level":1,"score":0.0},{"id":"https://openalex.org/C38652104","wikidata":"https://www.wikidata.org/wiki/Q3510521","display_name":"Computer security","level":1,"score":0.0},{"id":"https://openalex.org/C103742991","wikidata":"https://www.wikidata.org/wiki/Q173725","display_name":"Air conditioning","level":2,"score":0.0},{"id":"https://openalex.org/C97355855","wikidata":"https://www.wikidata.org/wiki/Q11473","display_name":"Thermodynamics","level":1,"score":0.0},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.0},{"id":"https://openalex.org/C205649164","wikidata":"https://www.wikidata.org/wiki/Q1071","display_name":"Geography","level":0,"score":0.0}],"mesh":[],"locations_count":7,"locations":[{"is_oa":true,"landing_page_url":"https://doi.org/10.1080/19401493.2021.1986574","pdf_url":null,"source":{"id":"https://openalex.org/S59432305","display_name":"Journal of Building Performance Simulation","issn_l":"1940-1493","issn":["1940-1507","1940-1493"],"is_oa":false,"is_in_doaj":false,"host_organization":"https://openalex.org/P4310320547","host_organization_name":"Taylor \u0026 Francis","host_organization_lineage":["https://openalex.org/P4310320547"],"host_organization_lineage_names":["Taylor \u0026 Francis"],"type":"journal"},"license":"cc-by","version":"publishedVersion","is_accepted":true,"is_published":true},{"is_oa":false,"landing_page_url":"https://www.osti.gov/biblio/1834043","pdf_url":null,"source":{"id":"https://openalex.org/S4306402487","display_name":"OSTI OAI (U.S. Department of Energy Office of Scientific and Technical Information)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"host_organization":"https://openalex.org/I139351228","host_organization_name":"Office of Scientific and Technical Information","host_organization_lineage":["https://openalex.org/I139351228"],"host_organization_lineage_names":["Office of Scientific and Technical Information"],"type":"repository"},"license":null,"version":null,"is_accepted":false,"is_published":false},{"is_oa":false,"landing_page_url":"https://www.osti.gov/biblio/1827766","pdf_url":null,"source":{"id":"https://openalex.org/S4306402487","display_name":"OSTI OAI (U.S. Department of Energy Office of Scientific and Technical Information)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"host_organization":"https://openalex.org/I139351228","host_organization_name":"Office of Scientific and Technical Information","host_organization_lineage":["https://openalex.org/I139351228"],"host_organization_lineage_names":["Office of Scientific and Technical Information"],"type":"repository"},"license":null,"version":null,"is_accepted":false,"is_published":false},{"is_oa":false,"landing_page_url":"https://www.osti.gov/biblio/1833989","pdf_url":null,"source":{"id":"https://openalex.org/S4306402487","display_name":"OSTI OAI (U.S. Department of Energy Office of Scientific and Technical Information)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"host_organization":"https://openalex.org/I139351228","host_organization_name":"Office of Scientific and Technical Information","host_organization_lineage":["https://openalex.org/I139351228"],"host_organization_lineage_names":["Office of Scientific and Technical Information"],"type":"repository"},"license":null,"version":null,"is_accepted":false,"is_published":false},{"is_oa":false,"landing_page_url":"https://www.osti.gov/biblio/1832895","pdf_url":null,"source":{"id":"https://openalex.org/S4306402487","display_name":"OSTI OAI (U.S. Department of Energy Office of Scientific and Technical Information)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"host_organization":"https://openalex.org/I139351228","host_organization_name":"Office of Scientific and Technical Information","host_organization_lineage":["https://openalex.org/I139351228"],"host_organization_lineage_names":["Office of Scientific and Technical Information"],"type":"repository"},"license":null,"version":null,"is_accepted":false,"is_published":false},{"is_oa":true,"landing_page_url":"https://lirias.kuleuven.be/handle/123456789/684334","pdf_url":"https://lirias.kuleuven.be/bitstream/123456789/684334/2/BOPTEST_postprint.pdf","source":{"id":"https://openalex.org/S4306401954","display_name":"Lirias (KU Leuven)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"host_organization":"https://openalex.org/I99464096","host_organization_name":"KU Leuven","host_organization_lineage":["https://openalex.org/I99464096"],"host_organization_lineage_names":["KU Leuven"],"type":"repository"},"license":"cc-by","version":"publishedVersion","is_accepted":true,"is_published":true},{"is_oa":true,"landing_page_url":"https://escholarship.org/uc/item/7xb9g6hv","pdf_url":"https://escholarship.org/content/qt7xb9g6hv/qt7xb9g6hv.pdf?t=r3jcl6","source":{"id":"https://openalex.org/S4306402430","display_name":"eScholarship University of California (University of California)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"host_organization":"https://openalex.org/I95457486","host_organization_name":"University of California, Berkeley","host_organization_lineage":["https://openalex.org/I95457486"],"host_organization_lineage_names":["University of California, Berkeley"],"type":"repository"},"license":"cc-by","version":"publishedVersion","is_accepted":true,"is_published":true}],"best_oa_location":{"is_oa":true,"landing_page_url":"https://doi.org/10.1080/19401493.2021.1986574","pdf_url":null,"source":{"id":"https://openalex.org/S59432305","display_name":"Journal of Building Performance Simulation","issn_l":"1940-1493","issn":["1940-1507","1940-1493"],"is_oa":false,"is_in_doaj":false,"host_organization":"https://openalex.org/P4310320547","host_organization_name":"Taylor \u0026 Francis","host_organization_lineage":["https://openalex.org/P4310320547"],"host_organization_lineage_names":["Taylor \u0026 Francis"],"type":"journal"},"license":"cc-by","version":"publishedVersion","is_accepted":true,"is_published":true},"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/7","display_name":"Affordable and clean energy","score":0.89}],"grants":[{"funder":"https://openalex.org/F4320322308","funder_display_name":"KU Leuven","award_id":"C32/18/063"},{"funder":"https://openalex.org/F4320324551","funder_display_name":"Vlaamse Instelling voor Technologisch Onderzoek","award_id":"1710754"},{"funder":"https://openalex.org/F4320337483","funder_display_name":"Building Technologies Program","award_id":"DE-AC36-08GO28308"},{"funder":"https://openalex.org/F4320337483","funder_display_name":"Building Technologies Program","award_id":"DE-AC02-05CH11231"},{"funder":"https://openalex.org/F4320337483","funder_display_name":"Building Technologies Program","award_id":"DE-AC05-76RL01830"}],"referenced_works_count":40,"referenced_works":["https://openalex.org/W1593349661","https://openalex.org/W1908007089","https://openalex.org/W1973944436","https://openalex.org/W2011938518","https://openalex.org/W2019167870","https://openalex.org/W2042317950","https://openalex.org/W2048047354","https://openalex.org/W2050856428","https://openalex.org/W2080197935","https://openalex.org/W2083804469","https://openalex.org/W2108152153","https://openalex.org/W2121305631","https://openalex.org/W2154892255","https://openalex.org/W2189980012","https://openalex.org/W2220986280","https://openalex.org/W2309744066","https://openalex.org/W2375521046","https://openalex.org/W2397492845","https://openalex.org/W2553629062","https://openalex.org/W2567289819","https://openalex.org/W2733860688","https://openalex.org/W2794243362","https://openalex.org/W2897377849","https://openalex.org/W2901645090","https://openalex.org/W2923378668","https://openalex.org/W2928371905","https://openalex.org/W2982984621","https://openalex.org/W2997609246","https://openalex.org/W3012473946","https://openalex.org/W3024350433","https://openalex.org/W3033217105","https://openalex.org/W3083631464","https://openalex.org/W3090789943","https://openalex.org/W3095837133","https://openalex.org/W3106853684","https://openalex.org/W3107762986","https://openalex.org/W3135432508","https://openalex.org/W3155630619","https://openalex.org/W4285822485","https://openalex.org/W4285822712"],"related_works":["https://openalex.org/W2032823921","https://openalex.org/W2749654269","https://openalex.org/W2329485921","https://openalex.org/W3123745253","https://openalex.org/W4238897586","https://openalex.org/W2143671155","https://openalex.org/W2735458449","https://openalex.org/W3031841740","https://openalex.org/W2357836719","https://openalex.org/W2387860042"],"ngrams_url":"https://api.openalex.org/works/W3209188603/ngrams","abstract_inverted_index":{"Development":[0],"of":[1,70,84,115,136],"new":[2,22],"building":[3,71,86],"HVAC":[4,72],"control":[5,73,109],"algorithms":[6,23],"has":[7],"grown":[8],"due":[9],"to":[10,31,41,95,126,142],"needs":[11],"for":[12,67],"energy":[13],"efficiency":[14],"and":[15,38,64,103,107,124,134,138],"operational":[16],"flexibility.":[17],"However,":[18],"case":[19,43],"studies":[20,44],"demonstrating":[21],"are":[24,119],"largely":[25],"individualized,":[26],"making":[27],"algorithm":[28],"performance":[29,117],"difficult":[30],"compare":[32],"directly.":[33],"In":[34],"addition,":[35],"the":[36,58,122,127,132],"effort":[37],"expertise":[39],"required":[40],"implement":[42],"in":[45],"real":[46],"or":[47],"simulated":[48],"buildings":[49],"limits":[50],"rapid":[51],"prototyping":[52],"potential.":[53],"Therefore,":[54],"this":[55],"paper":[56,130],"presents":[57],"Building":[59],"Optimization":[60],"Testing":[61],"Framework":[62],"(BOPTEST)":[63],"associated":[65],"software":[66,137],"simulation-based":[68],"benchmarking":[69],"algorithms.":[74],"A":[75],"containerized":[76],"run-time":[77],"environment":[78],"(RTE)":[79],"enables":[80],"rapid,":[81],"repeatable":[82],"deployment":[83],"common":[85,113],"emulators":[87],"representing":[88],"different":[89],"system":[90],"types.":[91],"Emulators":[92],"use":[93],"Modelica":[94],"represent":[96],"realistic":[97],"physical":[98],"dynamics,":[99],"embed":[100],"baseline":[101],"control,":[102],"enable":[104],"overwriting":[105],"supervisory":[106],"local-loop":[108],"signals.":[110],"Finally,":[111],"a":[112,144],"set":[114],"key":[116],"indicators":[118],"calculated":[120],"within":[121],"RTE":[123],"reported":[125],"user.":[128],"This":[129],"details":[131],"design":[133],"implementation":[135],"demonstrates":[139],"its":[140],"usage":[141],"benchmark":[143],"Model":[145],"Predictive":[146],"Control":[147],"strategy.":[148]},"cited_by_api_url":"https://api.openalex.org/works?filter=cites:W3209188603","counts_by_year":[{"year":2023,"cited_by_count":26},{"year":2022,"cited_by_count":14}],"updated_date":"2023-12-18T08:39:05.232721","created_date":"2021-11-08"}},"citation_counts":{"https://doi.org/10.1080/19401493.2021.1986574":40},"total_citations":40,"keywords_from_contributors":["buildings","modelica","energy-efficiency","control","modelica-library","ernergy","mpc","ibpsa","bim","energy-data"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/20041","html_url":"https://ost.ecosyste.ms/projects/20041"}