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

feat(doe2): Refactor the package to fix several bugs and support new features #106

Merged
merged 27 commits into from
May 8, 2024

Conversation

chriswmackey
Copy link
Member

The major improvements include:

  • Anything that can be done with the current package can be done with the refactored one, though some conventions have changed for assigning certain things (like switch statements via ProgramType instead of via CLI option).
  • POLYGONs are now used only when they are required to represent the input geometry correctly. Rectangular Shades do not use POLYGON and SPACEs that are extruded floor plates have only one POLYGON for the room floor plate.
  • All of the loads and schedules that people currently assign with ProgramTypes in honeybee-energy now get translated to INP. This includes hot water and gas equipment loads as well as the properties of loads like sensible/latent/lost fractions.
  • Loads and schedules assigned via ProgramTypes are translated to switch statements while loads and schedules directly to rooms are translated as such.
  • The mechanical Airflow attributes can be assigned directly via Room.properties.doe2 or they can be written into the Room's user_data. However, assigning these airflow properties this way will put them directly onto the room. To have the assigned as part of the switch statement, you can add them to ProgramType.user_data and they will be translated as a switch statement along with the rest of the program's loads and schedules. You can see an example of setting up this user_data in this unit test here.

This also adds support for hot water loads
It seems there are 5 numerical properties that have no equivalent in honeybee-core or honeybee-energy since they have to do with the simplified way that DOE-2 models HVAC systems.

But BR+A has confirmed that they need them and I can see that they are fairly prominent within the eQuest UI. So I think others will need to set them as well.

So we're going to add some RoomDoe2Properties in order to manage them. I'll make some pathways to make these new properties compatible with the old hacky way that this was done with Room.user_data. But these properties will be the long-term solution for this.
@chriswmackey chriswmackey added bug Something isn't working documentation Improvements or additions to documentation enhancement New feature or request labels May 7, 2024
Copy link
Collaborator

@TfedUD TfedUD left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I really really like the generate_inp_string, generate_inp_string_list_format functions!

@chriswmackey chriswmackey merged commit 38a5ed2 into main May 8, 2024
10 checks passed
Copy link

github-actions bot commented May 8, 2024

🎉 This PR is included in version 0.17.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working documentation Improvements or additions to documentation enhancement New feature or request released
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants