Giter Site home page Giter Site logo

buildingsync-gem's People

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Forkers

cunybpl

buildingsync-gem's Issues

PSZ-AC with gas coil heat change air_loop_heating_type

when 'PSZ-AC with gas coil heat'
standard.model_add_hvac_system(self, 'PSZ-AC', ht = 'NaturalGas', znht = nil, cl = 'Electricity', zones)

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

Remove weather files from the repository

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.

occupancy_type vs occupancy_classification?

@occupancy_classification = section_element.elements["#{ns}:OccupancyClassification"].text

@occupancy_type = read_occupancy_type(section_element, occ_type, ns)

Hey @TMaile - seems to me these both access the auc:OccupancyClassification element, so just trying to understand if the have different intentions?

[DA_Update] Update to OpenStudio 3.0 and ruby 2.5

  • created new branch DA_update based on DA branch
  • changed to model-articulation-gem to v 0.2.0
  • changed model-articulation-gem from DA branch to develop branch
  • updated to support Ruby 2.5.8
  • installed OpenStudio 3.0.1
  • changed reference from ruby 2.5.8 to OpenStudio 3.0.1
  • refactor code that uses Epw class
  • adjusted travis testing to use 3.0.1 (depends on #65)
  • update reference files and measures to reflect changes in OpenStudio 3.0.1 (adding these measures to openstudio-ee-gem here: NREL/openstudio-ee-gem@4d595fc)
    • tenant_star_internal_loads
    • replace_simple_glazing
    • vr_fwith_doas
    • add_apszhp_to_each_zone
    • improve_simple_glazing_by_percentage
    • set_boiler_thermal_efficiency
    • replace_hvac_with_gshp_and_doas
    • ReplaceFanTotalEfficiency
    • ImproveFanTotalEfficiencybyPercentage
    • add_energy_recovery_ventilator
    • set_water_heater_efficiency_heat_lossand_peak_water_flow_rate
    • reduce_water_use_by_percentage
    • add_apszhp_to_each_zone
  • refactor code to ensure tests are passing again

Extend testing of comparing to OSM file to compare IDF files

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

Test files refer to schema in incorrect relative location

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.

Selection of constructions in Standards fails

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.

[DA_Update_RefSched] Refactor code that uses parametric schedules

The following function used to call our parametric schedules code

def adjust_people_schedule(space_type, building_section, model)

we need to update it to use: OsLib_Schedules.createComplexSchedule

https://github.com/NREL/OpenStudio-Prototype-Buildings/blob/c3d5021d8b7aef43e560544699fb5c559e6b721d/lib/btap/lib/os_lib_schedules.rb#L451

here is an example of how it is used in a measure:

https://github.com/NREL/openstudio-model-articulation-gem/blob/e1da9c43d6cee75012520975cc4b7022414336b6/lib/measures/create_parametric_schedules/measure.rb#L744

question on this line in workflow_maker.rb

next if scenario_name == 'Baseline'

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?

Inconsistent sub surface name in IDF Translator

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)

image
IDF_OSM_Files.zip

Maker Classes

@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:

  1. ModelMaker should include methods / structures for creating an OSM
  2. WorkflowMaker should include methods / structures for defining an OSW using a base OSM

Let's discuss on next call

auc:FloorsBelowGrade Max at 1

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'

Translator.write_model_to_xml

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

[DA] move NUM_BUILDINGS_PARALLEL to runner?

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

Jenkins testing of scenario simulations [postponed]

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.

VAV with PFP Boxes Change

when 'VAV with PFP boxes'
standard.model_add_hvac_system(self, 'VAV PFP Boxes', ht = 'NaturalGas', znht = 'NaturalGas', cl = 'Electricity', zones)

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...

Run BuildingSync Use Case Validator localy

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

[DA_Update] OpenStudio 3.0.1 fails to install during travis testing

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:

image

here is the line that defines the OpenStudio version:

- env: FAVOR_LOCAL_GEMS=1 OPENSTUDIO_VERSION=3.0.1 OPENSTUDIO_SHA=09b7c8a554 RUBYLIB=/usr/local/openstudio-3.0.1/Ruby:/usr/Ruby

here is the line that tries to install it:

- curl -sLO https://raw.githubusercontent.com/NREL/OpenStudio-server/2.9.X-LTS/docker/deployment/scripts/install_openstudio.sh

I am not sure if the installation file is missing or the script is outdated.

Scenario processing: Measures not found in DC GSA Headquarters.xml

The following measures could not be processed and I could not find them via a quick search in the usual gems:

  • Name: Other -- Description: HVAC Scheduling Control
  • Name: Retrofit with T-8 -- Description: Lighting Retrofit
  • Name: Other -- Description: Air Side and Water Side Economizer Maintenance
  • Name: Upgrade operating protocols, calibration, and/or sequencing -- Description: Demand Controlled Ventilation

Include simulation variables within the OpenStudio Extension Gem

The following variables should be covered in the OpenStudioExtension Gem and removed from the config.rb.in file in BuildingSync

  • MAX_DATAPOINTS
  • NUM_PARALLEL

What about others like:

  • DO_SIMULATIONS
  • SIMULATE_BASELINE_ONLY
  • DO_MODEL_CALIBRATION
  • DO_GET_RESULTS

Attributes conditioned_floor_area or heated_and_cooled_floor_area used?

if @total_floor_area.nil? && !@conditioned_floor_area.nil?
@total_floor_area = @conditioned_floor_area
elsif @total_floor_area.nil? && !@heated_and_cooled_floor_area.nil?
@total_floor_area = @heated_and_cooled_floor_area
end

Hey @TMaile, are these defined anywhere? Seems maybe they were previous attribute names or something, or I missed them?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.