buildingsync / buildingsync-gem Goto Github PK
View Code? Open in Web Editor NEWLicense: Other
License: Other
This element should not exist. Instead, the auc:LightingSystem
should have a child auc:LampType
with one of the sub-elements defined for the L100 level (i.e. auc:LampType/auc:LinearFluorescent
, auc:LampType/auc:Incandescent
, etc.)
BuildingSync-gem/lib/buildingsync/helpers/Model.hvac.rb
Lines 28 to 29 in 571698a
Add the parameter for air_loop_heating_type = 'Gas'
into this call. Else, a natural gas hot water boiler is added. The name of this case implies that heating occurs directly in the AHU via a gas fired furnace, not via a hot water loop fed by a gas fired boiler
I'm not fond of having the weather files in this Gem. I don't have a better idea at the moment. In python there is a post-install command that runs and I'm wondering if we could do something similar where upon installing the gem a post install command runs and installed the weather files.
Still needs some investigation on how this would work.
This should not use the name of the scenario or an ID element. It should instead be:
auc:Scenario/auc:ScenarioType/auc:CurrentBuilding/auc:CalculationMethod/auc:Modeled
Hey @TMaile - seems to me these both access the auc:OccupancyClassification element, so just trying to understand if the have different intentions?
Need to define this in format for the use case validator
Site class level testing is almost complete
need testing for all other classes
Currently we are generating an OSM file at the site level and compare it to an earlier version of that file, by making sure the file size is within 1 byte.
In order to detect smaller differences between those files/models, we need to compare IDF files
BuildingSync-gem\spec\files\DC GSA Headquarters.xml refers to a schema at ../BuildingSync.xsd
<BuildingSync xmlns="http://buildingsync.net/schemas/bedes-auc/2019" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://buildingsync.net/schemas/bedes-auc/2019 ../BuildingSync.xsd">
However, this schema does not exist in the repository. We should either include the schema in the repo or point to it at an online location.
The following error message indicates that the construction are not properly selected in the Standards gem.
Could not find construction properties for: CBES T24 2001-ClimateZone 3C-ExteriorFloor-Mass-Nonresidential.
Need to investigate what goes wrong with the string that is passed to that method.
Remove the use of OS_Lib methods and import methods from https://github.com/NREL/openstudio-model-articulation-gem
The following function used to call our parametric schedules code
we need to update it to use: OsLib_Schedules.createComplexSchedule
here is an example of how it is used in a measure:
The following measures could not be processed:
So, I was running EDV workflow, and realized baseline OS simulation results were not adding back to xml. Here is a detail description of the issue.
So I was looking into BuildingSync gem and found that one line in the link above was skipping (if I'm understanding correctly) baseline scenario for adding back to xml files. Is this something that was necessary on BuildingSync gem? or can we comment that line out (or do something else) moving forward?
Running simulations will show that osm files created are complete and simulation ready
Is there something like a local component library that would make it easy to use local instances of EPW files?
spec/tests/model_articulation_test/facility_spec.rb .. create_minimum_snippet(occupancy_classification, year_of_const, floor_area_type, floor_area_value)
we should pull these out into a factory. Most common is https://github.com/thoughtbot/factory_bot_rails
Besides running the schema validation, we should also run the use case check via the selector tool API.
As part of our testing, we compare two IDF files that are generated from OSMs to ensure that we do not miss any changes in the generated model.
We discovered some small differences in the naming of sub surfaces in the IDF files.
E.g., Sub Surface 11 <-> Sub Surface 5
, see comparison screenshot below. I also attached the two osm and idf files. we use the following code to generate the IDF form the OSM.
OpenStudio::EnergyPlus::ForwardTranslator.new.translateModel(model)
@TMaile the class inheritance structure used for the Makers is very confusing. We have the following:
ModelMakerLevelZero < PhaseZeroWorkflowMaker
PhaseZeroWorkflowMaker < WorkflowMaker
WorkflowMaker < ModelMaker
From my perspective, seems like we should segment methods / properties according to how they are segmented for OSMs and OSWs, namely:
Let's discuss on next call
Trying to define more than 1 auc:FloorsBelowGrade
results in the following:
/Users/cmosiman/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/bundler/gems/openstudio-model-articulation-gem-2adec90118c0/lib/openstudio/model_articulation/os_lib_model_generation_bricr.rb:652:in `block in create_bar': undefined method `[]' for nil:NilClass (NoMethodError)
from /Users/cmosiman/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/bundler/gems/openstudio-model-articulation-gem-2adec90118c0/lib/openstudio/model_articulation/os_lib_model_generation_bricr.rb:650:in `each'
from /Users/cmosiman/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/bundler/gems/openstudio-model-articulation-gem-2adec90118c0/lib/openstudio/model_articulation/os_lib_model_generation_bricr.rb:650:in `each_with_index'
from /Users/cmosiman/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/bundler/gems/openstudio-model-articulation-gem-2adec90118c0/lib/openstudio/model_articulation/os_lib_model_generation_bricr.rb:650:in `create_bar'
from /Users/cmosiman/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/bundler/gems/BuildingSync-gem-50edf2060dd5/lib/buildingsync/model_articulation/building.rb:763:in `generate_baseline_osm'
from /Users/cmosiman/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/bundler/gems/BuildingSync-gem-50edf2060dd5/lib/buildingsync/model_articulation/site.rb:260:in `generate_baseline_osm'
from /Users/cmosiman/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/bundler/gems/BuildingSync-gem-50edf2060dd5/lib/buildingsync/model_articulation/facility.rb:123:in `generate_baseline_osm'
from /Users/cmosiman/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/bundler/gems/BuildingSync-gem-50edf2060dd5/lib/buildingsync/makers/model_maker_level_zero.rb:68:in `generate_baseline'
from /Users/cmosiman/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/bundler/gems/BuildingSync-gem-50edf2060dd5/lib/buildingsync/translator.rb:115:in `write_osm'
Exact method name of write_model_to_xml
isn't necessary, nor for it to live in the Translator
class (I know we have the saveXML
in the ModelMaker classes, and maybe this is the eventual intention of this method), but it would be super useful for the OSM to be flushed to the specified file, such that upon write, as many of the characteristics of the model that can be represented in the Schema be translated to xml. This would make it very valuable for users to understand how the BuildingSync file they provided was interpreted by the gem without needing to open up the .osm
file
the file config.rb.in still contains a constant for the number of buildings that can be run in parallel.
# number of parallel BuildingSync files to run
NUM_BUILDINGS_PARALLEL = 2
Should we also move that to the runner options?
See discussion here
When we run the full set of tests, Travis runs out of time especially when running all the scenario simulations. We agreed in our last meeting that we will run all of the tests with Travis except the scenario simulations.
Those can be found in 'translator_scenario_simulations_spec.rb' and should be added to the Jenkins testing.
The Golden Test File has two buildings. Since we are focusing on generating only one building for now, we developed code to pick the largest building by floor area.
This also circumvents the issue with the occupancy type of the small building set to "Laboratory-Testing" which is not supported in any of the standards we are considering,
Currently this is hard wired to use the CBES T24 standard. However in other cases users may want to use a different standard
A BuildingSync file can have multiple buildings in it. We need to design what the expected behavior is. Should we simulate both buildings in the same OSM? Have one OSM per building? Are there user options?
BuildingSync-gem/lib/buildingsync/helpers/Model.hvac.rb
Lines 139 to 140 in 571698a
ht = 'Electricity' and znht = 'Electricity'
Even though it doesn’t matter from an implementation perspective (because the underlying method doesn't look at either of these parameters and automatically utilizes electric resistance heating at both the AHU and terminal units). However, it is very confusing when reading...likely there should be accompanying documentation in the openstudio-standards world for this, since you would think these would be overriding methods...
Having trouble accessing online validator from Ruby 2.2.4 due to OpenSSL issues. Run validator locally to test for now.
@kflemin can you write up or point to some documentation on how to run the validator locally
The OpenStudio Module is huge and not meant to be mixed into classes. Don't include it in classes like:
I am trying to update the DA_update branch to support testing with OpenStudio 3.0.1.
The installation of OpenStudio seems to fail. Below are the details:
here is the line that defines the OpenStudio version:
Line 11 in 012ccc9
here is the line that tries to install it:
Line 20 in f212981
I am not sure if the installation file is missing or the script is outdated.
The following measures could not be processed and I could not find them via a quick search in the usual gems:
The following variables should be covered in the OpenStudioExtension Gem and removed from the config.rb.in
file in BuildingSync
What about others like:
Hey @TMaile, are these defined anywhere? Seems maybe they were previous attribute names or something, or I missed them?
Based on the review of PR #56, define needs for next BSync gem development push
The current (from BRICR inherited) code in the workflow maker uses a lot of if/then/else code. We want to refactor this to make it more generic and to use some hash to generically deal with the categories and properties.
see issue #56 (comment)
BuildingSync-gem/lib/buildingsync/helpers/Model.hvac.rb
Lines 168 to 169 in 571698a
Change heating type to ht = 'Natural Gas'
. Assumption with packaged and non-hot water reheat is that it is natural gas fired.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.