Giter VIP home page Giter VIP logo

openstudio-beopt's Introduction

Residential OpenStudio Measures

Unit Test Status: CircleCI

Code Coverage: Coverage Status

This project includes OpenStudio measures used to model residential buildings.

This project is a work-in-progress. The models are not fully completed nor tested. These measures will eventually be posted on the Building Component Library

Progress is tracked in this spreadsheet.

Setup

A number of measures in this GitHub repository share the same resource files, found in the top-level resources directory. In order to run the measures, these resources need to be distributed to each measure. This process has been automated via a rake task (a task defined in the rakefile).

To be able to use the rakefile, download the OpenStudio installer from openstudio.net and, at a minimum, install the "Command Line Interface".

Follow the instructions below for Windows setup or Mac setup. Upon completion, you can now run rake update_resources to update the measures' resource files. You will want to perform this task anytime you do a clone or pull of the repository. You can also run rake -T to see the list of possible rake tasks.

Windows Setup

  1. Install Ruby, making sure to use the version compatible with OpenStudio. Add the ruby location to your PATH.
  2. Run gem install bundler. (If you get an error, you may have to issue the following: gem sources -r https://rubygems.org/ followed by gem sources -a http://rubygems.org/.)
  3. Download DevKit at http://rubyinstaller.org/downloads/. Choose either the 32-bit or 64-bit version depending on which version of Ruby you installed. Run the installer and extract to a directory (e.g., C:\RubyDevKit). Go to this directory, run ruby dk.rb init, modify the config.yml file as needed, and finally run ruby dk.rb install.
  4. Run bundler.

Mac Setup

Install Homebrew if you don't have it already.

Run brew doctor. It should give you, among other issues, a list of unexpected dylibs that you'll need to move for this to work such as:

Unexpected dylibs:
  /usr/local/lib/libcrypto.0.9.8.dylib
  /usr/local/lib/libcrypto.1.0.0.dylib
  /usr/local/lib/libcrypto.dylib
  /usr/local/lib/libklcsagt.dylib
  /usr/local/lib/libklcskca.dylib
  /usr/local/lib/libklcsnagt.dylib
  /usr/local/lib/libklcsrt.dylib
  /usr/local/lib/libklcsstd.dylib
  /usr/local/lib/libklcstr.dylib
  /usr/local/lib/libklmspack.0.1.0.dylib
  /usr/local/lib/libklmspack.0.dylib
  /usr/local/lib/libklmspack.dylib
  /usr/local/lib/libssl.0.9.8.dylib
  /usr/local/lib/libssl.1.0.0.dylib
  /usr/local/lib/libssl.dylib
  /usr/local/lib/libz.1.2.5.dylib
  /usr/local/lib/libz.1.2.6.dylib
  /usr/local/lib/libz.1.dylib
  /usr/local/lib/libz.dylib

Highlight and copy the list (without the header "Unexpected dylibs:). Run the following commands to move them to another location where they won't interfere.

mkdir ~/unused_dylibs
pbpaste | xargs -t -I % mv % ~/unused_dylibs

Install rbenv and required dependencies.

brew install openssl libyaml libffi rbenv

Initialize rbenv by running the command below and following the instructions to add the appropriate things to your ~/.bash_profile.

rbenv init

Install the appropriate ruby version.

cd path/to/repo
rbenv install `cat .ruby-version`

Add the path to the install ruby libraries top the bottom of your ~/.bash_profile

echo "export RUBYLIB=/Applications/OpenStudio-2.0.5/Ruby" >> ~/.bash_profile
echo "export ENERGYPLUS_EXE_PATH=\"/Applications/OpenStudio-2.1.0/EnergyPlus/energyplus-8.7.0\""

Install bundler and the libraries that bundler installs.

gem install bundler
bundle install

And finally

rake update_resources

New Construction Workflow for Users

The New Construction workflow illustrates how to build up a complete residential building model from an empty seed model. Note that some measures need to be called before others. For example, the Window Constructions measure must be called after windows have been added to the building. The list below documents the intended workflow for using these measures.

* Note: Nearly every measure is dependent on having the geometry defined first so this is not included in the table for readability purposes.

Group Measure Dependencies*
1. Location 1. Location
2. Geometry 1. Geometry Single-Family Detached (or Single-Family Attached or Multifamily)
2. Number of Beds and Baths
3. Number of Occupants Beds/Baths
4. Orientation
5. Eaves
6. Door Area
7. Window Areas
8. Overhangs Window Areas
9. Neighbors
3. Envelope Constructions 1. Ceilings/Roofs - Unfinished Attic Constructions (or Finished Roof)
2. Ceilings/Roofs - Roof Sheathing
3. Ceilings/Roofs - Roofing Material
4. Ceilings/Roofs - Radiant Barrier
5. Ceilings/Roofs - Ceiling Thermal Mass
6. Foundations/Floors - Unfinished Basement Construction (or Finished Basement, Crawlspace, Slab, or Pier & Beam)
7. Foundations/Floors - Interzonal Floor Construction
8. Foundations/Floors - Floor Covering
9. Foundations/Floors - Floor Sheathing
10. Foundations/Floors - Floor Thermal Mass
11. Walls - Wood Stud Construction (or Double Stud, CMU, etc.)
12. Walls - Interzonal Construction
13. Walls - Wall Sheathing
14. Walls - Exterior Finish
15. Walls - Exterior Thermal Mass
16. Walls - Partition Thermal Mass
17. Uninsulated Surfaces
18. Window Construction Window Areas, Location
19. Door Construction Door Area
20. Furniture Thermal Mass
4. Domestic Hot Water 1. Water Heater (Electric Tank, Fuel Tankless, etc.) Beds/Baths
2. Hot Water Fixtures Water Heater
3. Hot Water Distribution Hot Water Fixtures, Location
5. HVAC 1. Central Air Conditioner and Furnace (or ASHP, Boiler, MSHP, etc.)
2. Heating Setpoint HVAC Equipment, Location
3. Cooling Setpoint HVAC Equipment, Location
4. Ceiling Fan Cooling Setpoint, Beds/Baths
6. Major Appliances 1. Refrigerator
2. Clothes Washer Water Heater, Location
3. Clothes Dryer (Electric or Fuel) Beds/Baths, Clothes Washer
4. Dishwasher Water Heater, Location
5. Cooking Range (Electric or Fuel) Beds/Baths
7. Lighting 1. Lighting Location
8. Misc Loads 1. Plug Loads Beds/Baths
2. Extra Refrigerator
3. Freezer
4. Hot Tub Heater (Electric or Gas) Beds/Baths
5. Hot Tub Pump Beds/Baths
6. Pool Heater (Electric or Gas) Beds/Baths
7. Pool Pump Beds/Baths
8. Well Pump Beds/Baths
9. Gas Fireplace Beds/Baths
10. Gas Grill Beds/Baths
11. Gas Lighting Beds/Baths
9. Airflow 1. Airflow Location, Beds/Baths, HVAC Equipment, Clothes Dryer
10. Renewables 1. Photovoltaics Location
11. Sizing 1. HVAC Sizing (lots of measures...)

Retrofit Workflow for Users

Most of these measures were written to be reusable for existing building retrofits. The intended workflow is to create the existing building from an empty seed model in the same way as the New Construction Workflow. Once the existing building model has been created, the same measures can now be used to replace/modify building components as appropriate.

For example, while the dishwasher measure added a dishwasher to the model when applied to an empty seed model, the same measure, when applied to the existing building model, will replace the existing dishwasher with the newly specified dishwasher (rather than add an additional dishwasher to the model). This example could be used to evaluate an EnergyStar dishwasher replacement, for example. Alternatively, if the existing building was never assigned a dishwasher, then the measure would indeed add a dishwasher to the model.

Note that some measures are dependent on others. For example, if the Clothes Washer measure were to be applied to the existing building model, such that the existing clothes washer is replaced, the Clothes Dryer measure would also need to be subsequently applied to the existing building model so that its energy use, as dependent on the clothes washer, is correct.

openstudio-beopt's People

Contributors

davidgoldwasser avatar ejhw avatar jmaguire1 avatar joseph-robertson avatar nmerket avatar shorowit avatar

Watchers

 avatar

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.