Open
Conversation
It is simply better to specify the actual children if these umi components instead of relying on their type in DFS traverse algorit
…into feature/measures
Copy over Feature/measures
numeric values should be called with Enum(<int>) and strings should be called with Enum[<string>]
This reverts commit fcaacd7.
This reverts commit fcaacd7.
a4f69cb to
014bb8a
Compare
Owner
|
My bad, this is the one |
Closed
Collaborator
Author
|
When we did this in Lisbon, we encountered some issues with the insulation layer upgrade - specifically, they were trying to upgrade single layer brick walls, which resulting in "insulation layer" (the brick) blowing up to like, 10 feet+. The solution was to create a new measure which automatically adds an insulation layer to the building by creating a new component. The cool thing is, the measures lib can handle those kinds of operations! There's another similar one in there now for changing a single pane window to a double pane window from the default library. Haven't written tests for them yet tho |
* The ExpandObjects threaded executor now works even if the epw attribute is not set on an IDF model (#415) * enables use of expandobjects even if epw is not set * pint~=0.19 * pint==0.19 * Updates eppy and geomeppy (#418) * Updates eppy and geomeppy * Added typing-extensions * Updated the CI to use actions/setup-python@v4 pip caching (#423) * Update python-package.yml * Update setup.cfg * Added reporting_frequency parameter to IDF class (#422) * Added reporting_frequency parameter to IDF class * Implements frequency in Outputs * Fix flake8 * Fix tests * Quick fix for sklearn dependency * Fixes an issue where passing a new attributes to IDF.simulate would fail to create a new cache (#436) * Fixes an issue where passing a new attributes to IDF.simulate would fail to create a new cache * reformat * New function to clear the cache (#437) * Fixes an issue where passing a new attributes to IDF.simulate would fail to create a new cache * reformat * Added clear_cache method - deletes the settings.cache_folder (files and sub-directories) - Import from archetypal directly * Settings in the archetypal.settings module can now be set using environment variables (#438) * Fixes an issue where passing a new attributes to IDF.simulate would fail to create a new cache * reformat * Added clear_cache method - deletes the settings.cache_folder (files and sub-directories) - Import from archetypal directly * Refactored the settings module as a pydantic BaseSettings class Enables easily setting environment variables * docs beginning * format * Fixes * rename use_cache to cache_responses * Updated docs * Issue with FullService Restaurant file * fix import * Update requirements.txt (#441) * Fixes an issue preventing the EnergyPlus installation folder to be discovered when `as_version` is None (#446) * Fixes an issue preventing the EnergyPlus installation it be discovered when `as_version` is None * add missing import * expand_objects path fix for docker implementation. (#442) * expand_objects path fix for docker implementation. * Fixes an issue preventing the EnergyPlus installation it be discovered when `as_version` is None * add missing import * Removed conflicting geomeppy requirement. --------- Co-authored-by: Samuel Letellier-Duchesne <samuel.letellier-duchesne@polymtl.ca> Co-authored-by: Samuel Letellier-Duchesne <samuelduchesne@me.com> --------- Co-authored-by: Samuel Letellier-Duchesne <samueld@mit.edu> Co-authored-by: Samuel Letellier-Duchesne <samuel.letellier-duchesne@polymtl.ca> Co-authored-by: Samuel Letellier-Duchesne <samuelduchesne@me.com> Co-authored-by: zlehong <52012036+zlehong@users.noreply.github.com>
…archetypal into feature/measures
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The old pr was from my fork, re-opening here so that it is in the main repo.
Refactored the measures lib so that
disentanglearg, but it is on by default. This means that even if a single template uses the same ZoneLoad for both perimeter and core, you can upgrade just the Perimeter ZoneLoad if desired! And it of course works across objects shared between templates as well.test_disentagledemonstrates this.zonekwarg into your mutation call. This is shown intest_callback_signatures. These dynamic callbacks are signature-checked when they are assigned to an object.I also added a bunch more tests to show the ins and outs of using the MeasureAction/MeasureProp/Measure API.
Point 3 resolves the major issue I had with the previous version in terms of it being ready to publish.
There are a few small outstanding issues or things I wanted to confirm with you:
OpaqueConstruction.r_value- it was instead inferring the actual insulation layer and setting itsr_valuedirectly usingMaterialLayer.r_valueto change the thickness of the insulation layer, as opposed to specifying the whole wall assembly's r_value and then calculating the r_value based off of the the whole thing. I added a new class which does the facade upgrade with a singler_valuefor the whole assembly, and also kept the original style. I wasn't sure what to use for R-Values for the presets in the version that sets the entire wall assembly's r-value, so some input there would be appreciated.It might be nice to write some functions for adding measures together, e.g. anmulti-class inheritance works, see__add__method or maybe anextend.test_class_inheritancedisentanglefunctionality means its no longer really necessary. It would be easy enough to add it back in if you think it's worth it, since the new api is very easy to use.I was undecided on creatingwith class inheritance working i think this is 100% unnecessaryMeasurePresetclass. I think changing the parameters is so straightforward and creating "presets" as classmethods is simple enough that it is not really necessary.All checks passing though, including the expanded test_measure.py, so it would be good to review this and see if its ready for merging!