Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Data refactoring #1486

Closed
wants to merge 51 commits into from
Closed

Data refactoring #1486

wants to merge 51 commits into from

Conversation

lymereJ
Copy link
Collaborator

@lymereJ lymereJ commented Apr 1, 2023

This pull request sets up the new data management process for OpenStudio-Standards. The data management process now relies on a relational database which along some export functionalities enables developers and users of the repository to better track changes to the data, automatically validate data during updates, and maintain important relationship across different interdependent data tables (constructions/materials, space type assumptions, etc.). This provides a more sustainable data management approach and make it easier to expand upon (i.e., add data for additional building energy code; currently the database only covers ASHRAE 90.1-2004 through 2019).

This data refactoring effort also includes a refactoring of the space type data itself. Previously, space type data was defined as a function of building energy code version and building type which based on stakeholder surveys seemed confusing and complicated. The space type data has now been simplified and streamlined. The database offers users and developers a curated (concise yet exhaustive) list of space type to choose from. These space types and associated assumptions can be used to represent most space types in commercial building built in the U.S.

A documentation of the new data management process is provided here.

We expect this PR to stay open and serve as a reference for the upcoming workflow refactoring. We expect to have to provide modification to some of the proposed changes to accommodate changes to the workflow.

A few notes about the changes:

  • A refactoring of the modeled fenestration assembly was included. Previously, some of the constructions were relying on the simplified glazing approach while others relied on a more detailed approach. All fenestration constructions have been switched to use the simplified glazing approach which is better suited to building energy code requirement which do not represent a specific product type
  • Jenkins testing have been temporarily deactivated
  • As per the documentation, test for the data management process are carried out using GitHub actions
  • Since the number of changes provided in this PR is rather large, the data that can be exported from the database have not been included. They can be quickly and easily generated using the code provided in the documentation

lymereJ and others added 22 commits January 16, 2023 22:27
…ce space types and space type assumptions for 90.1-2004.
Database code migration
* small change to test action

* add working directory

* ad database code

* update yml for action

* reformat.

* add engine print for action debug

* remove byte data

* Remove byte from ventilation data

* black format

* test if code change in osstd would trigger action

* add code to prevent action running if no changes in the database folder.

* add condition to remove the tests

* update script

* revise typo

* change to a new folder

* remove the code chaneg detection

* remove needs

* Revert changes to Standards.Model and Standards.Space

* add python file ignores

* Remove pyc files, pip lock file, and other misc files.

* File lock is needed for tests.

* Move files.

* Initial data files.

* Remove ids from tables, and temporary remove JSON files.

* Black.

---------

Co-authored-by: Weili Xu <weili.xu@pnnl.gov>
* Remove IDs from export, fix typos.

* Same change but for JSON export.

* Fix typos.

* Fix typo.

* Missing comma

* Missing annotation column.

* Float formatting

* Temporary add JSON files.

* Remove initial data folder.

* Catch conversion CSV to JSON and JSON to CSV issues.
* Update tests and use logging instead of print.

* Correct path
Build test case for the index validation
Complete the workflow
* Merge latest changes from dev branch.

* Update space type data.
* Misc cleanup

* Black formatting

* Update JSON files.

* Level 1 space type cleanup, add datacenter equipment assumptions.

* Add missing tag.

* Add missing tag.
* First pass at updating docs.

* Update docs.

* Update docs.

* Update docs.

* Update docs.

* Update docs.

* Update docs.
@mdahlhausen
Copy link
Collaborator

Thanks @lymereJ. I want to wait to merge this until after the release going out this week because it will take a while to review. If that's not ok and you really want it in this release, let's talk.

@lymereJ
Copy link
Collaborator Author

lymereJ commented Apr 1, 2023

@mdahlhausen - Oh, totally fine. We should probably have a call to talk about the changes. No rush.

@weilixu
Copy link
Collaborator

weilixu commented Apr 1, 2023

@lymereJ @mdahlhausen just a reminder, the PR removed Jenkins to prevent frequent CI events. Before merge, we should uncomment the lines to allow OpenStudio unit tests.

@lymereJ lymereJ mentioned this pull request Aug 4, 2023
@lymereJ
Copy link
Collaborator Author

lymereJ commented Aug 24, 2023

@mdahlhausen - d3c30d7 replaces the standards space types used in the prototype templates.

@lymereJ
Copy link
Collaborator Author

lymereJ commented Aug 24, 2023

@weilixu - It looks like the black verification is tripping over a file that's not on that branch.

move OsLib_Schedules methods from the openstudio-extension-gem to openstudio-standards.
Add tests for the new methods.
switch to object methods
add yard documentation edits
@lymereJ lymereJ mentioned this pull request Sep 13, 2023
16 tasks
@lymereJ
Copy link
Collaborator Author

lymereJ commented Oct 31, 2023

Closing this PR. Development keeps going here. Relevant changes from this PR are included in #1634.

@lymereJ lymereJ closed this Oct 31, 2023
@lymereJ lymereJ deleted the data_refactoring branch February 7, 2024 23:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants