Repository: NREL/OpenStudio (language: python)

Issue:
Python Measures: Remove unsupported code and cleanup project
There are some historical artifacts in the OpenStudio projects related various defunct language binding efforts, such as NodeJS bindings to name one. Before embarking on Python Measures, the purpose of this issue is to root out stale code, and generally make sure that the project structure is well organized.
Python Measures: Remove unsupported code and cleanup project
There are some historical artifacts in the OpenStudio projects related various defunct language binding efforts, such as NodeJS bindings to name one. Before embarking on Python Measures, the purpose of this issue is to root out stale code, and generally make sure that the project structure is well organized.


Discussion / hints:

Fix patch:
diff --git a/.decent_ci-Linux.yaml b/.decent_ci-Linux.yaml
deleted file mode 100644
index 018cf8d1fe9..00000000000
--- a/.decent_ci-Linux.yaml
+++ /dev/null
@@ -1,8 +0,0 @@
-compilers:
-  - name: "clang"
-    version: "3.5"
-    cmake_extra_flags: -DBUILD_SHARED_LIBS:BOOL=OFF -DBUILD_PAT:BOOL=OFF -DBUILD_PACKAGE:BOOL=ON -DBUILD_TESTING:BOOL=ON -DBUILD_BOOST:BOOL=OFF -DBUILD_QT:BOOL=OFF -DBUILD_RUBY:BOOL=OFF -DBUILD_OPENSTUDIO_GEMS:BOOL=OFF -DUSE_PCH:BOOL=ON -DCPACK_BINARY_DEB:BOOL=ON -DCPACK_BINARY_NSIS:BOOL=OFF -DCPACK_BINARY_RPM:BOOL=OFF -DCPACK_BINARY_STGZ:BOOL=OFF -DCPACK_BINARY_TBZ2:BOOL=OFF -DCPACK_BINARY_TGZ:BOOL=OFF -DCPACK_BINARY_TZ:BOOL=OFF
-    package_command: make package_deb
-  - name: cppcheck
-    compiler_extra_flags: --enable=warning  --suppress="*:*zlib*" --suppress="*:*sqlite*" --suppress="cppcheckError:*" --inline-suppr --suppress="syntaxError:*"
-
diff --git a/.decent_ci-MacOS.yaml b/.decent_ci-MacOS.yaml
deleted file mode 100644
index 994102c8598..00000000000
--- a/.decent_ci-MacOS.yaml
+++ /dev/null
@@ -1,4 +0,0 @@
-compilers:
-  - name: clang
-    cmake_extra_flags: -DBUILD_SHARED_LIBS:BOOL=OFF -DBUILD_PAT:BOOL=OFF -DBUILD_PACKAGE:BOOL=ON -DBUILD_TESTING:BOOL=ON -DBUILD_BOOST:BOOL=OFF -DBUILD_QT:BOOL=OFF -DBUILD_RUBY:BOOL=OFF -DBUILD_OPENSTUDIO_GEMS:BOOL=OFF -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9
-    cmake_extra_flags_release: -DBUILD_SHARED_LIBS:BOOL=OFF -DBUILD_PAT:BOOL=OFF -DBUILD_PACKAGE:BOOL=ON -DBUILD_TESTING:BOOL=ON -DBUILD_BOOST:BOOL=OFF -DBUILD_QT:BOOL=OFF -DBUILD_RUBY:BOOL=OFF -DBUILD_OPENSTUDIO_GEMS:BOOL=OFF -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.9 -DCMAKE_OSX_ARCHITECTURES:STRING="x86_64" 
diff --git a/.decent_ci-Windows.yaml b/.decent_ci-Windows.yaml
deleted file mode 100644
index aebcd423c4e..00000000000
--- a/.decent_ci-Windows.yaml
+++ /dev/null
@@ -1,10 +0,0 @@
-compilers:
-  - name: Visual Studio
-    version: 12
-    cmake_extra_flags: -DBUILD_SHARED_LIBS:BOOL=OFF -DBUILD_PAT:BOOL=OFF -DBUILD_PACKAGE:BOOL=ON -DBUILD_TESTING:BOOL=ON -DBUILD_BOOST:BOOL=OFF -DBUILD_QT:BOOL=OFF -DBUILD_RUBY:BOOL=OFF -DBUILD_OPENSTUDIO_GEMS:BOOL=OFF -DUSE_PCH:BOOL=ON -DBUILD_CSHARP_BINDINGS:BOOL=ON -DMAXIMIZE_CPU_USAGE:BOOL=ON
-  - name: Visual Studio
-    version: 12
-    architecture: Win64
-    cmake_extra_flags: -DBUILD_SHARED_LIBS:BOOL=OFF -DBUILD_PAT:BOOL=OFF -DBUILD_PACKAGE:BOOL=ON -DBUILD_TESTING:BOOL=ON -DBUILD_BOOST:BOOL=OFF -DBUILD_QT:BOOL=OFF -DBUILD_RUBY:BOOL=OFF -DBUILD_OPENSTUDIO_GEMS:BOOL=OFF -DUSE_PCH:BOOL=ON -DBUILD_CSHARP_BINDINGS:BOOL=ON -DMAXIMIZE_CPU_USAGE:BOOL=ON
-
-
diff --git a/.decent_ci.yaml b/.decent_ci.yaml
deleted file mode 100644
index b554757afd2..00000000000
--- a/.decent_ci.yaml
+++ /dev/null
@@ -1,14 +0,0 @@
-results_repository : NREL/OpenStudioBuildResults
-results_path : _posts
-results_base_url : https://nrel.github.io/OpenStudioBuildResults
-tests_dir : OSCore-prefix/src/OSCore-build
-notification_recipients:
-  - lgentile
-aging_pull_requests_notification: true
-
-extra_tests_branches :
-  - master
-  - 81237966_EnableRegressions
-
-extra_tests_cmake_extra_flags : -DBUILD_REGRESSIONS:BOOL=ON
-extra_tests_test_dir : Regressions-prefix/src/Regressions-build
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
deleted file mode 100644
index fe1c6203702..00000000000
--- a/.gitlab-ci.yml
+++ /dev/null
@@ -1,488 +0,0 @@
-stages:
-- build_deploy
-- deploy_latest_master
-- testCTest
-- testResources
-
-build_deploy_develop:
-  stage: build_deploy
-  only:
-    - develop
-  script:
-    # Empty s3://openstudio-builds/develop/latest/
-    - aws s3 rm s3://openstudio-builds/develop/latest/ --recursive
-
-build_deploy_develop:windows:
-  stage: build_deploy
-  only:
-    - develop
-  tags:
-    - windows
-  script:
-    - if not exist "build" mkdir build
-    - cd build
-    - dir
-    - if exist OpenStudio-2.*-Windows.exe del OpenStudio-2.*-Windows.exe
-    - dir
-    - cmake -G "Visual Studio 12 2013 Win64" ../openstudiocore
-    # PAT does not build in the OpenStudio CI, at the moment
-    - cmake -DBUILD_CSHARP_BINDINGS=ON -DBUILD_DOCUMENTATION=ON -DBUILD_TESTING=ON -DBUILD_DVIEW=ON -DBUILD_OS_APP=ON -DBUILD_PACKAGE=ON -DBUILD_PAT=OFF -DCMAKE_BUILD_TYPE=Release -DCPACK_BINARY_DEB=OFF -DCPACK_BINARY_IFW=ON -DCPACK_BINARY_NSIS=OFF -DCPACK_BINARY_RPM=OFF -DCPACK_BINARY_STGZ=OFF -DCPACK_BINARY_TBZ2=OFF -DCPACK_BINARY_TGZ=OFF -DCPACK_BINARY_TXZ=OFF -DCPACK_BINARY_TZ=OFF  ../openstudiocore
-    - cmake - ../openstudiocore
-    #- cmake --build . --config Release --target ALL_BUILD
-    #- cmake --build . --config Release --target PACKAGE
-    # Use IncrediBuild
-    - BuildConsole.exe OpenStudio.sln /cfg="Release|x64" /prj="ALL_BUILD"
-    - BuildConsole.exe OpenStudio.sln /cfg="Release|x64" /prj="PACKAGE"
-    #- cmake --build . --config Release --target ALL_DOXYGEN # docs do not build without errors
-    - if exist "package" rd /S /Q package
-    - mkdir package
-    - copy OpenStudio-2.*-Windows.exe package
-    - move /y OpenStudio-2.*-Windows.exe OpenStudio.exe
-    - cd package
-    - aws s3 cp ./ s3://openstudio-builds/_CI/OpenStudio/ --recursive --exclude "*" --include "OpenStudio-2.*-Windows.exe"
-    - aws s3 cp ./ s3://openstudio-builds/develop/latest/ --recursive --exclude "*" --include "OpenStudio-2.*-Windows.exe"
-    - cd ../
-    #- cd /doc
-    #- aws s3 cp ./ s3://openstudio-builds/_CI/OpenStudio/doc --recursive --exclude "*" --include "*.zip"
-  retry: 1
-  artifacts:
-    expire_in: 24 hrs
-    paths:
-      - build/
-  cache:
-    key: openstudio_windows
-    untracked: true
-    #policy: push # NOTE: use default pull-push policy
-    paths:
-      - build
-
-build_deploy_develop:mac:
-  stage: build_deploy
-  only:
-    - develop
-  tags:
-    - mac
-  script:
-    - date +%R
-    - ls
-    - mkdir -p build/_CPack_Packages/Darwin/IFW
-    - cd build/_CPack_Packages/Darwin/IFW
-    - ls
-    - rm -f OpenStudio-2.*-Darwin.zip
-    - ls
-    - date +%R
-    - cd ../../../
-    - pwd
-    - ls
-    - cmake -DOPENSSL_INCLUDE_DIR=/usr/bin/openssl -DBUILD_TESTING=ON -DBUILD_DVIEW=ON -DBUILD_OS_APP=ON -DBUILD_PACKAGE=ON -DBUILD_PAT=ON -DCMAKE_BUILD_TYPE=Release -DCPACK_BINARY_DEB=OFF -DCPACK_BINARY_IFW=ON -DCPACK_BINARY_NSIS=OFF -DCPACK_BINARY_RPM=OFF -DCPACK_BINARY_STGZ=OFF -DCPACK_BINARY_TBZ2=OFF -DCPACK_BINARY_TGZ=OFF -DCPACK_BINARY_TXZ=OFF -DCPACK_BINARY_TZ=OFF ../openstudiocore
-    - make -j16 package
-    - date +%R
-    - cd _CPack_Packages/Darwin/IFW
-    - zip -r `ls -1 | grep OpenStudio-*.app | sed -e 's/\.app$//'`.zip OpenStudio-*.app
-    - aws s3 cp ./ s3://openstudio-builds/_CI/OpenStudio/ --recursive --exclude "*" --include "OpenStudio-2.*-Darwin.zip"
-    - aws s3 cp ./ s3://openstudio-builds/develop/latest/ --recursive --exclude "*" --include "OpenStudio-2.*-Darwin.zip"
-    - date +%R
-  retry: 1
-  artifacts:
-    expire_in: 24 hrs
-    paths:
-      - build/
-  cache:
-    key: openstudio_mac
-    untracked: true
-    #policy: push # NOTE: use default pull-push policy
-    paths:
-      - build
-
-build_deploy_develop:ubuntu:
-  stage: build_deploy
-  only:
-    - develop
-  tags:
-    - ubuntu
-  script:
-    - date +%R
-    - ls
-    - mkdir -p build
-    - cd build
-    - ls
-    - rm -f OpenStudio-2.*-Linux.deb
-    - ls
-    - date +%R
-    - cmake -DOPENSSL_INCLUDE_DIR=/usr/bin/openssl -DBUILD_TESTING=ON -DBUILD_DVIEW=ON -DBUILD_OS_APP=ON -DBUILD_PACKAGE=ON -DBUILD_PAT=OFF -DCMAKE_BUILD_TYPE=Release -DCPACK_BINARY_DEB=ON -DCPACK_BINARY_IFW=OFF -DCPACK_BINARY_NSIS=OFF -DCPACK_BINARY_RPM=OFF -DCPACK_BINARY_STGZ=OFF -DCPACK_BINARY_TBZ2=OFF -DCPACK_BINARY_TGZ=OFF -DCPACK_BINARY_TXZ=OFF -DCPACK_BINARY_TZ=OFF ../openstudiocore
-    - make -j16 package
-    - mv OpenStudio-2.*-Linux.deb OpenStudio.deb
-    - cd _CPack_Packages/Linux/DEB
-    - ls
-    - rm -rf `ls -d */ | grep OpenStudio-2.*-Linux`
-    - ls
-    - date +%R
-    - aws s3 cp ./ s3://openstudio-builds/_CI/OpenStudio/ --recursive --exclude "*" --include "OpenStudio-2.*-Linux.deb"
-    - aws s3 cp ./ s3://openstudio-builds/develop/latest/ --recursive --exclude "*" --include "OpenStudio-2.*-Linux.deb"
-    - date +%R
-  retry: 1
-  artifacts:
-    expire_in: 24 hrs
-    paths:
-      - build/
-  cache:
-    key: openstudio_ubuntu
-    untracked: true
-    #policy: push # NOTE: use default pull-push policy
-    paths:
-      - build
-
-build_deploy_all_others:windows:
-  stage: build_deploy
-  only:
-     - triggers
-     - master
-     - iteration
-  tags:
-    - windows
-  script:
-    - if not exist "build" mkdir build
-    - cd build
-    - dir
-    - if exist OpenStudio-2.*-Windows.exe del OpenStudio-2.*-Windows.exe
-    - dir
-    - cmake -G "Visual Studio 12 2013 Win64" ../openstudiocore
-    # PAT does not build in the OpenStudio CI, at the moment
-    - cmake -DBUILD_CSHARP_BINDINGS=ON -DBUILD_DOCUMENTATION=ON -DBUILD_TESTING=ON -DBUILD_DVIEW=ON -DBUILD_OS_APP=ON -DBUILD_PACKAGE=ON -DBUILD_PAT=OFF -DCMAKE_BUILD_TYPE=Release -DCPACK_BINARY_DEB=OFF -DCPACK_BINARY_IFW=ON -DCPACK_BINARY_NSIS=OFF -DCPACK_BINARY_RPM=OFF -DCPACK_BINARY_STGZ=OFF -DCPACK_BINARY_TBZ2=OFF -DCPACK_BINARY_TGZ=OFF -DCPACK_BINARY_TXZ=OFF -DCPACK_BINARY_TZ=OFF  ../openstudiocore
-    - cmake - ../openstudiocore
-    #- cmake --build . --config Release --target ALL_BUILD
-    #- cmake --build . --config Release --target PACKAGE
-    # Use IncrediBuild
-    - BuildConsole.exe OpenStudio.sln /cfg="Release|x64" /prj="ALL_BUILD"
-    - BuildConsole.exe OpenStudio.sln /cfg="Release|x64" /prj="PACKAGE"
-    #- cmake --build . --config Release --target ALL_DOXYGEN # docs do not build without errors
-    - if exist "package" rd /S /Q package
-    - mkdir package
-    - copy OpenStudio-2.*-Windows.exe package
-    - move /y OpenStudio-2.*-Windows.exe OpenStudio.exe
-    - cd package
-    - aws s3 cp ./ s3://openstudio-builds/_CI/OpenStudio/ --recursive --exclude "*" --include "OpenStudio-2.*-Windows.exe"
-    - cd ../
-    #- cd /doc
-    #- aws s3 cp ./ s3://openstudio-builds/_CI/OpenStudio/doc --recursive --exclude "*" --include "*.zip"
-  retry: 1
-  artifacts:
-    expire_in: 24 hrs
-    paths:
-      - build/
-  cache:
-    key: openstudio_windows
-    untracked: true
-    #policy: push # NOTE: use default pull-push policy
-    paths:
-      - build
-
-build_deploy_all_others:mac:
-  stage: build_deploy
-  only:
-    - triggers
-    - master
-    - iteration
-  tags:
-    - mac
-  script:
-    - date +%R
-    - ls
-    - mkdir -p build/_CPack_Packages/Darwin/IFW
-    - cd build/_CPack_Packages/Darwin/IFW
-    - ls
-    - rm -f OpenStudio-2.*-Darwin.zip
-    - ls
-    - date +%R
-    - cd ../../../
-    - pwd
-    - ls
-    - cmake -DOPENSSL_INCLUDE_DIR=/usr/bin/openssl -DBUILD_TESTING=ON -DBUILD_DVIEW=ON -DBUILD_OS_APP=ON -DBUILD_PACKAGE=ON -DBUILD_PAT=ON -DCMAKE_BUILD_TYPE=Release -DCPACK_BINARY_DEB=OFF -DCPACK_BINARY_IFW=ON -DCPACK_BINARY_NSIS=OFF -DCPACK_BINARY_RPM=OFF -DCPACK_BINARY_STGZ=OFF -DCPACK_BINARY_TBZ2=OFF -DCPACK_BINARY_TGZ=OFF -DCPACK_BINARY_TXZ=OFF -DCPACK_BINARY_TZ=OFF ../openstudiocore
-    - make -j16 package
-    - date +%R
-    - cd _CPack_Packages/Darwin/IFW
-    - zip -r `ls -1 | grep OpenStudio-*.app | sed -e 's/\.app$//'`.zip OpenStudio-*.app
-    - aws s3 cp ./ s3://openstudio-builds/_CI/OpenStudio/ --recursive --exclude "*" --include "OpenStudio-2.*-Darwin.zip"
-    - date +%R
-  retry: 1
-  artifacts:
-    expire_in: 24 hrs
-    paths:
-      - build/
-  cache:
-    key: openstudio_mac
-    untracked: true
-    #policy: push # NOTE: use default pull-push policy
-    paths:
-      - build
-
-build_deploy_all_others:ubuntu:
-  stage: build_deploy
-  only:
-    - triggers
-    - master
-    - iteration
-  tags:
-    - ubuntu
-  script:
-    - date +%R
-    - ls
-    - mkdir -p build
-    - cd build
-    - ls
-    - rm -f OpenStudio-2.*-Linux.deb
-    - ls
-    - date +%R
-    - cmake -DOPENSSL_INCLUDE_DIR=/usr/bin/openssl -DBUILD_TESTING=ON -DBUILD_DVIEW=ON -DBUILD_OS_APP=ON -DBUILD_PACKAGE=ON -DBUILD_PAT=OFF -DCMAKE_BUILD_TYPE=Release -DCPACK_BINARY_DEB=ON -DCPACK_BINARY_IFW=OFF -DCPACK_BINARY_NSIS=OFF -DCPACK_BINARY_RPM=OFF -DCPACK_BINARY_STGZ=OFF -DCPACK_BINARY_TBZ2=OFF -DCPACK_BINARY_TGZ=OFF -DCPACK_BINARY_TXZ=OFF -DCPACK_BINARY_TZ=OFF ../openstudiocore
-    - make -j16 package
-    - mv OpenStudio-2.*-Linux.deb OpenStudio.deb
-    - cd _CPack_Packages/Linux/DEB
-    - ls
-    - rm -rf `ls -d */ | grep OpenStudio-2.*-Linux`
-    - ls
-    - date +%R
-    - aws s3 cp ./ s3://openstudio-builds/_CI/OpenStudio/ --recursive --exclude "*" --include "OpenStudio-2.*-Linux.deb"
-    - aws s3 cp ./ s3://openstudio-builds/develop/latest/ --recursive --exclude "*" --include "OpenStudio-2.*-Linux.deb"
-    - date +%R
-  retry: 1
-  artifacts:
-    expire_in: 24 hrs
-    paths:
-      - build/
-  cache:
-    key: openstudio_ubuntu
-    untracked: true
-    #policy: push # NOTE: use default pull-push policy
-    paths:
-      - build
-
-deploy_latest_master:
-  stage: deploy_latest_master
-  only:
-    - master
-  dependencies:
-    - build_deploy_all_others:windows
-    - build_deploy_all_others:mac
-    - build_deploy_all_others:ubuntu
-  script:
-    # Empty s3://openstudio-builds/master/latest/
-    - aws s3 rm s3://openstudio-builds/master/latest/ --recursive
-
-deploy_latest_master:windows:
-  stage: deploy_latest_master
-  only:
-    - master
-  tags:
-    - windows
-  dependencies:
-    - build_deploy_all_others:windows
-  script:
-    - developer/ruby/CheckOSMVersions.rb # Ensure Library/Resources OSMs are at the right version
-    - aws s3 cp ./ s3://openstudio-builds/master/latest/ --recursive --exclude "*" --include "OpenStudio-2.*-Windows.exe"
-
-deploy_latest_master:mac:
-  stage: deploy_latest_master
-  only:
-    - master
-  tags:
-    - mac
-  dependencies:
-    - build_deploy_all_others:mac
-  script:
-    - developer/ruby/CheckOSMVersions.rb
-    - aws s3 cp ./ s3://openstudio-builds/master/latest/ --recursive --exclude "*" --include "OpenStudio-2.*-Darwin.zip"
-
-deploy_latest_master:ubuntu:
-  stage: deploy_latest_master
-  only:
-    - master
-  tags:
-    - ubuntu
-  dependencies:
-    - build_deploy_all_others:ubuntu
-  script:
-    - developer/ruby/CheckOSMVersions.rb
-    - aws s3 cp ./ s3://openstudio-builds/master/latest/ --recursive --exclude "*" --include "OpenStudio-2.*-Linux.deb"
-
-testCTest_develop:windows:
-  stage: testCTest
-  only:
-    - develop
-  tags:
-    - windows
-  dependencies:
-    - build_deploy_develop:windows
-  script:
-    - cd build
-    - dir
-    - ctest
-  allow_failure: true
-
-testCTest_develop:mac:
-  stage: testCTest
-  only:
-    - develop
-  tags:
-    - mac
-  dependencies:
-    - build_deploy_develop:mac
-  script:
-    - cd build
-    - ls
-    - ctest
-  allow_failure: true
-
-testCTest_develop:ubuntu:
-  stage: testCTest
-  only:
-    - develop
-  tags:
-    - ubuntu
-  dependencies:
-    - build_deploy_develop:ubuntu
-  script:
-    - cd build
-    - ls
-    - ctest
-  allow_failure: true
-
-testCTest_all_others:windows:
-  stage: testCTest
-  only:
-    - triggers
-    - master
-    - iteration
-  tags:
-    - windows
-  dependencies:
-    - build_deploy_all_others:windows
-  script:
-    - cd build
-    - dir
-    - ctest
-  allow_failure: true
-
-testCTest_all_others:mac:
-  stage: testCTest
-  only:
-    - triggers
-    - master
-    - iteration
-  tags:
-    - mac
-  dependencies:
-    - build_deploy_all_others:mac
-  script:
-    - cd build
-    - ls
-    - ctest
-  allow_failure: true
-
-testCTest_all_others:ubuntu:
-  stage: testCTest
-  only:
-    - triggers
-    - master
-    - iteration
-  tags:
-    - ubuntu
-  dependencies:
-    - build_deploy_all_others:ubuntu
-  script:
-    - cd build
-    - ls
-    - ctest
-  allow_failure: true
-
-testResources_develop:windows:
-  stage: testResources
-  only:
-    - develop
-  tags:
-    - windows
-  dependencies:
-    - build_deploy_develop
-  script:
-    - "rmdir c:\\\\openstudio\\ /s /q"
-    - dir
-    - cd build
-    - dir
-    - OpenStudio.exe --script ../install.qs
-    - cd c://openstudio/
-    - git clone https://github.com/NREL/OpenStudio-resources.git
-    - cd bin/
-    - openstudio.exe ../OpenStudio-resources/model_tests.rb"
-  allow_failure: true
-
-testResources_all_others:windows:
-  stage: testResources
-  only:
-    - triggers
-    - master
-    - iteration
-  tags:
-    - windows
-  dependencies:
-    - build_deploy_all_others:windows
-  script:
-    - "rmdir c:\\\\openstudio\\ /s /q"
-    - dir
-    - cd build
-    - dir
-    - OpenStudio.exe --script ../install.qs
-    - cd c://openstudio/
-    - git clone https://github.com/NREL/OpenStudio-resources.git
-    - cd bin/
-    - openstudio.exe ../OpenStudio-resources/model_tests.rb"
-  allow_failure: true
-
-#testResources:mac:
-#  stage: testResources
-#  only:
-#    - triggers
-#    - master
-#    - iteration
-#    - develop
-#  tags:
-#    - mac
-#  dependencies:
-#    - build_deploy_all_others:mac
-#  script:
-#    - rm -rf /OpenStudio
-#    - cd build
-#    - ls
-#    - unzip `ls | grep OpenStudio*.zip`
-#    - ls
-#    - mv `ls | grep OpenStudio*.app` openstudio
-#    - ls
-#    - ./openstudio --script install.qs
-#    - cd OpenStudio/
-#    - git clone https://github.com/NREL/OpenStudio-resources.git
-#    - cd bin/
-#    - ./openstudio ../OpenStudio-resources/model_tests.rb
-#  allow_failure: true
-
-#testResources:ubuntu:
-#  stage: testResources
-#  only:
-#    - triggers
-#    - master
-#    - iteration
-#    - develop
-#  tags:
-#    - ubuntu
-#  dependencies:
-#    - build_deploy_all_others:ubuntu
-#  script:
-#    - rm -rf /OpenStudio
-#    - cd build
-#    - ls
-#    - mv `ls | grep OpenStudio*.deb` openstudio
-#    - ls
-#    - ./openstudio
-#    - cd OpenStudio/
-#    - git clone https://github.com/NREL/OpenStudio-resources.git
-#    - cd bin/
-#    - ./openstudio ../OpenStudio-resources/model_tests.rb
-#  allow_failure: true
-
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e9d8d02b514..1cf0c54da69 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -275,14 +275,6 @@ option(BUILD_DOCUMENTATION "Build Documentation" OFF)
 option(BUILD_CSHARP_BINDINGS "Build CSharp bindings" OFF)
 option(BUILD_NUGET_PACKAGE "Build NuGet Package" OFF)
 
-# Build Java bindings
-# Requires: SWIG
-option(BUILD_JAVA_BINDINGS "Build Java bindings" OFF)
-
-# Build V8 Node bindings
-# Requires: SWIG, Node
-option(BUILD_V8_BINDINGS "Build Node V8 bindings" OFF)
-
 # Build Python bindings
 # Requires: SWIG Python
 option(BUILD_PYTHON_BINDINGS "Build Python bindings" OFF)
@@ -371,10 +363,6 @@ if(WIN32)
   endif()
 endif()
 
-if(BUILD_V8_BINDINGS)
-  option(BUILD_NODE_MODULES "Build V8 Bindings as Node Modules" ON)
-endif()
-
 option(USE_LTO "Use Link-Time-Optimization" OFF)
 
 if (USE_LTO)
@@ -918,15 +906,6 @@ if(BUILD_CSHARP_BINDINGS)
   set(ALL_CSHARP_WRAPPER_TARGETS "") # global list targets that build generated wrapper cxx files
 endif()
 
-# JAVA
-if(BUILD_JAVA_BINDINGS)
-  find_package(JNI)
-  find_package(Java)
-  set(ALL_JAVA_BINDING_TARGETS "") # global list
-  set(ALL_JAVA_SRC_DIRECTORIES "") # global list
-endif()
-
-
 if(BUILD_NODE_MODULES)
   add_definitions(-DBUILD_NODE_MODULE)
 endif()
@@ -1052,21 +1031,11 @@ if(BUILD_CSHARP_BINDINGS)
   add_subdirectory(csharp)
 endif()
 
-# java, after loading projects
-if(BUILD_JAVA_BINDINGS)
-  add_subdirectory(java)
-endif()
-
 # python, after loading projects
 if(BUILD_PYTHON_BINDINGS)
   add_subdirectory(python)
 endif()
 
-# v8-node
-if(BUILD_NODE_MODULES)
-  add_subdirectory(v8-node)
-endif()
-
 ###############################################################################
 
 ###############################################################################
@@ -1088,17 +1057,6 @@ if(BUILD_CSHARP_BINDINGS)
 endif()
 
 
-if(BUILD_JAVA_BINDINGS)
-  add_custom_target(ALL_JAVA_BINDINGS)
-  #add_dependencies(ALL_JAVA_BINDINGS java_sdk ${ALL_JAVA_BINDING_TARGETS})
-endif()
-
-
-if(BUILD_V8_BINDINGS)
-  add_custom_target(ALL_V8_BINDINGS)
-  add_dependencies(ALL_V8_BINDINGS ${ALL_V8_BINDING_TARGETS})
-endif()
-
 set(MAXIMIZE_CPU_USAGE OFF CACHE BOOL "Attempt to fully load the CPU during builds")
 mark_as_advanced(MAXIMIZE_CPU_USAGE)
 
diff --git a/INSTALL.md b/INSTALL.md
deleted file mode 100644
index 1b3f539cda9..00000000000
--- a/INSTALL.md
+++ /dev/null
@@ -1,42 +0,0 @@
-OpenStudio is supported on Windows 7 - 10 (32-bit & 64-bit), OS X 10.9 - 10.10 (64-bit), and Ubuntu 14.04 (64-bit).
-
-OpenStudio 1.9.0 works with [EnergyPlus 8.3.0](https://github.com/NREL/EnergyPlus/releases/tag/v8.3.0), which is now bundled with the OpenStudio installer. It is no longer necessary to download and install EnergyPlus separately.
-
-#### Download and install SketchUp
-
-1. The OpenStudio SketchUp Plug-in requires [SketchUp 2015](http://www.sketchup.com/) (not available for Linux). Older versions of SketchUp are not supported. SketchUp 2015 is available in 32 and 64-bit versions; the 32-bit version of OpenStudio on Windows will only work with the 32-bit version of SketchUp 2015 and the 64-bit version of OpenStudio will only work with the 64-bit version of SketchUp 2015.
-
-#### Download and install OpenStudio
-
-1. Login to the [OpenStudio website](https://www.openstudio.net/). Create an account if you don't have one.
-2. Click *Downloads* at the top of the page.
-3. Choose the installer that matches your operating system. The OpenStudio package contains the following tools:
-  - SketchUp Plug-in
-  - OpenStudio Application
-  - ParametricAnalysisTool (PAT)
-  - ResultsViewer
-
-#### Optional - Create a Building Component Library (BCL) Account
-BCL content can be accessed from within the OpenStudio SketchUp Plug-in and from the standalone OpenStudio application. To take advantage of this integration, you will need to follow the steps outlined here to request a BCL key.
-
-1. Login to the [Building Component Library (BCL)](https://bcl.nrel.gov/). Create an account if you don't have one. Follow the instructions from the email sent to you upon registration and then login.
-2. Click on *My Dashboard* near the top right of the website.
-3. Copy the text after *API v1.1 key*: then paste the key into the SketchUp Plug-in, the OpenStudio application, or the Parametric Analysis Tool (PAT). You only need to configure the key in one place and it will be used globally throughout the OpenStudio tools. Additionally, this key will be maintained when you install updates to OpenStudio.
-
-Enter the key through the OpenStudio SketchUp Plug-in under the menu `Plugins->OpenStudio User Scripts->Building Component Library->Setup BCL Key` and click *OK*. Or register the key through the OpenStudio Application under the menu `Components & Measures->Find Components`. If a key is not already registered, it will prompt you for one.
-
-#### Radiance
-OpenStudio 1.9.0 supports Radiance 5.0.a.5, which is bundled with the OpenStudio installer. It is no longer necessary to download and install Radiance separately.
-
-#### Optional - Install Ruby
-If you plan to use the OpenStudio SDK Ruby bindings via command prompt on Windows, you must install Ruby. OS X already has Ruby installed.
-
-1. Download the [Ruby 2.0.0](http://rubyinstaller.org/downloads/) installer.
-2. Add `C:\Ruby200\bin` to the *PATH* environment variable. [Detailed instructions](http://geekswithblogs.net/renso/archive/2009/10/21/how-to-set-the-windows-path-in-windows-7.aspx).
-3. Create a text file called with the following text inside:
-
-    ```
-    require 'C:\Program Files (x86)\OpenStudio 1.9.0\Ruby\openstudio.rb'
-    ```
-
-4. Save the file as `openstudio.rb` here: `C:\Ruby200\lib\ruby\site_ruby\openstudio.rb` (next to the 2.0.0 folder).
diff --git a/dependencies/Boost/fchmodat.patch b/dependencies/Boost/fchmodat.patch
deleted file mode 100644
index 645674d1db7..00000000000
--- a/dependencies/Boost/fchmodat.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-This seems to fix issues described here: https://svn.boost.org/trac/boost/ticket/6659
-That patch does not seem to have been accepted, but we are using crude a variation here.
-diff -ur a/libs/filesystem/src/operations.cpp b/libs/filesystem/src/operations.cpp
---- a/libs/filesystem/src/operations.cpp	2015-01-26 14:31:23.000000000 -0600
-+++ b/libs/filesystem/src/operations.cpp	2015-01-26 14:35:37.000000000 -0600
-@@ -1397,25 +1397,7 @@
-     else if (prms & remove_perms)
-       prms = current_status.permissions() & ~prms;
- 
--    // Mac OS X Lion and some other platforms don't support fchmodat().
--    // Solaris (SunPro and gcc) only support fchmodat() on Solaris 11 and higher,
--    // and a runtime check is too much trouble.
--    // Linux does not support permissions on symbolic links and has no plans to
--    // support them in the future.  The chmod() code is thus more practical,
--    // rather than always hitting ENOTSUP when sending in AT_SYMLINK_NO_FOLLOW.
--    //  - See the 3rd paragraph of
--    // "Symbolic link ownership, permissions, and timestamps" at:
--    //   "http://man7.org/linux/man-pages/man7/symlink.7.html"
--    //  - See the fchmodat() Linux man page:
--    //   "http://man7.org/linux/man-pages/man2/fchmodat.2.html"
--#   if defined(AT_FDCWD) && defined(AT_SYMLINK_NOFOLLOW) \
--      && !(defined(__SUNPRO_CC) || defined(sun)) \
--      && !(defined(linux) || defined(__linux) || defined(__linux__))
--      if (::fchmodat(AT_FDCWD, p.c_str(), mode_cast(prms),
--           !(prms & symlink_perms) ? 0 : AT_SYMLINK_NOFOLLOW))
--#   else  // fallback if fchmodat() not supported
--      if (::chmod(p.c_str(), mode_cast(prms)))
--#   endif
-+    if (::chmod(p.c_str(), mode_cast(prms)))
-     {
-       if (ec == 0)
-       BOOST_FILESYSTEM_THROW(filesystem_error(
diff --git a/dependencies/Boost/gcc_5_no_cxx11.patch b/dependencies/Boost/gcc_5_no_cxx11.patch
deleted file mode 100644
index 0df2def8cea..00000000000
--- a/dependencies/Boost/gcc_5_no_cxx11.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From eec808554936ae068b23df07ab54d4dc6302a695 Mon Sep 17 00:00:00 2001
-From: jzmaddock <jzmaddock@gmail.com>
-Date: Sat, 23 Aug 2014 09:38:02 +0100
-Subject: [PATCH] Fix BOOST_NO_CXX11_VARIADIC_TEMPLATES definition - the
- feature was introduced in GCC 4.4.
-
----
- include/boost/config/compiler/gcc.hpp | 9 +--------
- 1 file changed, 1 insertion(+), 8 deletions(-)
-
-diff --git a/include/boost/config/compiler/gcc.hpp b/include/boost/config/compiler/gcc.hpp
-index f37159d..97d8a18 100644
---- a/boost/config/compiler/gcc.hpp
-+++ b/boost/config/compiler/gcc.hpp
-@@ -154,14 +154,6 @@
- #  define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
- #  define BOOST_NO_CXX11_RVALUE_REFERENCES
- #  define BOOST_NO_CXX11_STATIC_ASSERT
--
--// Variadic templates compiler:
--//   http://www.generic-programming.org/~dgregor/cpp/variadic-templates.html
--#  if defined(__VARIADIC_TEMPLATES) || (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4) && defined(__GXX_EXPERIMENTAL_CXX0X__))
--#    define BOOST_HAS_VARIADIC_TMPL
--#  else
--#    define BOOST_NO_CXX11_VARIADIC_TEMPLATES
--#  endif
- #endif
- 
- // C++0x features in 4.4.n and later
-@@ -176,6 +168,7 @@
- #  define BOOST_NO_CXX11_DELETED_FUNCTIONS
- #  define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
- #  define BOOST_NO_CXX11_INLINE_NAMESPACES
-+#  define BOOST_NO_CXX11_VARIADIC_TEMPLATES
- #endif
- 
- #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5)
\ No newline at end of file
diff --git a/dependencies/Boost/transform_width.diff b/dependencies/Boost/transform_width.diff
deleted file mode 100644
index 3f1c3d60217..00000000000
--- a/dependencies/Boost/transform_width.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- C:/working/openstudio-boost/dependencies/Boost/transform_width.hpp	Sun Apr 28 10:07:27 2013
-+++ C:/working/openstudio-boost/dependencies/Boost/transform_width_new.hpp	Fri Apr 25 12:15:18 2014
-@@ -30,6 +30,8 @@
- #include <boost/iterator/iterator_adaptor.hpp>
- #include <boost/iterator/iterator_traits.hpp>
- 
-+#include <algorithm>
-+
- namespace boost { 
- namespace archive {
- namespace iterators {
diff --git a/dependencies/Boost/xcode_51.patch b/dependencies/Boost/xcode_51.patch
deleted file mode 100644
index 8689693ec86..00000000000
--- a/dependencies/Boost/xcode_51.patch
+++ /dev/null
@@ -1,138 +0,0 @@
-diff --git a/boost/atomic/detail/cas128strong.hpp b/boost/atomic/detail/cas128strong.hpp
---- a/boost/atomic/detail/cas128strong.hpp
-+++ b/boost/atomic/detail/cas128strong.hpp
-@@ -196,15 +196,17 @@ protected:
- 
- public:
-     BOOST_DEFAULTED_FUNCTION(base_atomic(void), {})
--    explicit base_atomic(value_type const& v) BOOST_NOEXCEPT : v_(0)
-+    explicit base_atomic(value_type const& v) BOOST_NOEXCEPT
-     {
-+        memset(&v_, 0, sizeof(v_));
-         memcpy(&v_, &v, sizeof(value_type));
-     }
- 
-     void
-     store(value_type const& value, memory_order order = memory_order_seq_cst) volatile BOOST_NOEXCEPT
-     {
--        storage_type value_s = 0;
-+        storage_type value_s;
-+        memset(&value_s, 0, sizeof(value_s));
-         memcpy(&value_s, &value, sizeof(value_type));
-         platform_fence_before_store(order);
-         platform_store128(value_s, &v_);
-@@ -247,7 +249,9 @@ public:
-         memory_order success_order,
-         memory_order failure_order) volatile BOOST_NOEXCEPT
-     {
--        storage_type expected_s = 0, desired_s = 0;
-+        storage_type expected_s, desired_s;
-+        memset(&expected_s, 0, sizeof(expected_s));
-+        memset(&desired_s, 0, sizeof(desired_s));
-         memcpy(&expected_s, &expected, sizeof(value_type));
-         memcpy(&desired_s, &desired, sizeof(value_type));
- 
-diff --git a/boost/atomic/detail/gcc-atomic.hpp b/boost/atomic/detail/gcc-atomic.hpp
---- a/boost/atomic/detail/gcc-atomic.hpp
-+++ b/boost/atomic/detail/gcc-atomic.hpp
-@@ -61,7 +61,7 @@ public:
- 
-     void clear(memory_order order = memory_order_seq_cst) volatile BOOST_NOEXCEPT
-     {
--        __atomic_clear((bool*)&v_, atomics::detail::convert_memory_order_to_gcc(order));
-+        __atomic_clear(const_cast<bool*>(&v_), atomics::detail::convert_memory_order_to_gcc(order));
-     }
- };
- 
-@@ -958,14 +958,16 @@ protected:
- 
- public:
-     BOOST_DEFAULTED_FUNCTION(base_atomic(void), {})
--    explicit base_atomic(value_type const& v) BOOST_NOEXCEPT : v_(0)
-+    explicit base_atomic(value_type const& v) BOOST_NOEXCEPT
-     {
-+        memset(&v_, 0, sizeof(v_));
-         memcpy(&v_, &v, sizeof(value_type));
-     }
- 
-     void store(value_type const& v, memory_order order = memory_order_seq_cst) volatile BOOST_NOEXCEPT
-     {
--        storage_type tmp = 0;
-+        storage_type tmp;
-+        memset(&tmp, 0, sizeof(tmp));
-         memcpy(&tmp, &v, sizeof(value_type));
-         __atomic_store_n(&v_, tmp, atomics::detail::convert_memory_order_to_gcc(order));
-     }
-@@ -980,7 +982,8 @@ public:
- 
-     value_type exchange(value_type const& v, memory_order order = memory_order_seq_cst) volatile BOOST_NOEXCEPT
-     {
--        storage_type tmp = 0;
-+        storage_type tmp;
-+        memset(&tmp, 0, sizeof(tmp));
-         memcpy(&tmp, &v, sizeof(value_type));
-         tmp = __atomic_exchange_n(&v_, tmp, atomics::detail::convert_memory_order_to_gcc(order));
-         value_type res;
-@@ -994,7 +997,9 @@ public:
-         memory_order success_order,
-         memory_order failure_order) volatile BOOST_NOEXCEPT
-     {
--        storage_type expected_s = 0, desired_s = 0;
-+        storage_type expected_s, desired_s;
-+        memset(&expected_s, 0, sizeof(expected_s));
-+        memset(&desired_s, 0, sizeof(desired_s));
-         memcpy(&expected_s, &expected, sizeof(value_type));
-         memcpy(&desired_s, &desired, sizeof(value_type));
-         const bool success = __atomic_compare_exchange_n(&v_, &expected_s, desired_s, false,
-@@ -1010,7 +1015,9 @@ public:
-         memory_order success_order,
-         memory_order failure_order) volatile BOOST_NOEXCEPT
-     {
--        storage_type expected_s = 0, desired_s = 0;
-+        storage_type expected_s, desired_s;
-+        memset(&expected_s, 0, sizeof(expected_s));
-+        memset(&desired_s, 0, sizeof(desired_s));
-         memcpy(&expected_s, &expected, sizeof(value_type));
-         memcpy(&desired_s, &desired, sizeof(value_type));
-         const bool success = __atomic_compare_exchange_n(&v_, &expected_s, desired_s, true,
-diff --git a/tools/build/v2/tools/darwin.jam b/tools/build/v2/tools/darwin.jam
---- a/tools/build/v2/tools/darwin.jam
-+++ b/tools/build/v2/tools/darwin.jam
-@@ -72,7 +72,7 @@ toolset.inherit-flags darwin : gcc
- #
- #   <root>PATH
- #       Platform root path. The common autodetection will set this to
--#       "/Developer". And when a command is given it will be set to
-+#       "/Applications/Xcode.app/Contents/Developer". And when a command is given it will be set to
- #       the corresponding "*.platform/Developer" directory.
- #
- rule init ( version ? : command * : options * : requirement * )
-@@ -106,7 +106,7 @@ rule init ( version ? : command * : options * : requirement * )
-         bin ?= [ common.get-absolute-tool-path $(command[1]) ] ;
-         if $(bin) = "/usr/bin"
-         {
--            root ?= /Developer ;
-+            root ?= /Applications/Xcode.app/Contents/Developer ;
-         }
-         else
-         {
-@@ -329,9 +329,13 @@ local rule init-sdk ( condition * : root ? : version + : version-feature ? )
- # Determine the MacOSX SDK versions installed and their locations.
- local rule init-available-sdk-versions ( condition * : root ? )
- {
--    root ?= /Developer ;
--    local sdks-root = $(root)/SDKs ;
--    local sdks = [ GLOB $(sdks-root) : MacOSX*.sdk iPhoneOS*.sdk iPhoneSimulator*.sdk ] ;
-+    root ?= /Applications/Xcode.app/Contents/Developer ;
-+    local platforms = [ GLOB /Applications/Xcode.app/Contents/Developer/Platforms : *.platform ] ;
-+    local sdks = ;
-+    for local platform in $(platforms)
-+    {
-+        sdks += [ GLOB $(platform)/Developer/SDKs : *.sdk ] ;
-+    }
-     local result ;
-     for local sdk in $(sdks)
-     {
--- 
-1.9.3 (Apple Git-50)
-
diff --git a/dependencies/GoogleTest/CMakeLists.txt b/dependencies/GoogleTest/CMakeLists.txt
deleted file mode 100644
index 8fa1af89582..00000000000
--- a/dependencies/GoogleTest/CMakeLists.txt
+++ /dev/null
@@ -1,244 +0,0 @@
-########################################################################
-# CMake build script for Google Test.
-#
-# To run the tests for Google Test itself on Linux, use 'make test' or
-# ctest.  You can select which tests to run using 'ctest -R regex'.
-# For more options, run 'ctest --help'.
-
-# BUILD_SHARED_LIBS is a standard CMake variable, but we declare it here to
-# make it prominent in the GUI.
-option(BUILD_SHARED_LIBS "Build shared libraries (DLLs)." OFF)
-
-# When other libraries are using a shared version of runtime libraries,
-# Google Test also has to use one.
-option(
-  gtest_force_shared_crt
-  "Use shared (DLL) run-time lib even when Google Test is built as static lib."
-  ON)
-
-option(gtest_build_tests "Build all of gtest's own tests." OFF)
-
-option(gtest_build_samples "Build gtest's sample programs." OFF)
-
-option(gtest_disable_pthreads "Disable uses of pthreads in gtest." OFF)
-
-# Defines pre_project_set_up_hermetic_build() and set_up_hermetic_build().
-include(cmake/hermetic_build.cmake OPTIONAL)
-
-if(COMMAND pre_project_set_up_hermetic_build)
-  pre_project_set_up_hermetic_build()
-endif()
-
-########################################################################
-#
-# Project-wide settings
-
-# Name of the project.
-#
-# CMake files in this project can refer to the root source directory
-# as ${gtest_SOURCE_DIR} and to the root binary directory as
-# ${gtest_BINARY_DIR}.
-# Language "C" is required for find_package(Threads).
-project(gtest CXX C)
-cmake_minimum_required(VERSION 2.6.2)
-
-if(COMMAND set_up_hermetic_build)
-  set_up_hermetic_build()
-endif()
-
-
-# Define helper functions and macros used by Google Test.
-include(cmake/internal_utils.cmake)
-
-config_compiler_and_linker()  # Defined in internal_utils.cmake.
-
-# Where Google Test's .h files can be found.
-include_directories(
-  ${gtest_SOURCE_DIR}/include
-  ${gtest_SOURCE_DIR})
-
-# Where Google Test's libraries can be found.
-link_directories(${gtest_BINARY_DIR}/src)
-
-
-add_definitions(-DGTEST_HAS_TR1_TUPLE=0)
-
-########################################################################
-#
-# Defines the gtest & gtest_main libraries.  User tests should link
-# with one of them.
-
-# Google Test libraries.  We build them using more strict warnings than what
-# are used for other targets, to ensure that gtest can be compiled by a user
-# aggressive about warnings.
-cxx_library(gtest "${cxx_strict}" src/gtest-all.cc)
-cxx_library(gtest_main "${cxx_strict}" src/gtest_main.cc)
-target_link_libraries(gtest_main gtest)
-
-########################################################################
-#
-# Samples on how to link user tests with gtest or gtest_main.
-#
-# They are not built by default.  To build them, set the
-# gtest_build_samples option to ON.  You can do it by running ccmake
-# or specifying the -Dbuild_gtest_samples=ON flag when running cmake.
-
-if(gtest_build_samples)
-  cxx_executable(sample1_unittest samples gtest_main samples/sample1.cc)
-  cxx_executable(sample2_unittest samples gtest_main samples/sample2.cc)
-  cxx_executable(sample3_unittest samples gtest_main)
-  cxx_executable(sample4_unittest samples gtest_main samples/sample4.cc)
-  cxx_executable(sample5_unittest samples gtest_main samples/sample1.cc)
-  cxx_executable(sample6_unittest samples gtest_main)
-  cxx_executable(sample7_unittest samples gtest_main)
-  cxx_executable(sample8_unittest samples gtest_main)
-  cxx_executable(sample9_unittest samples gtest)
-  cxx_executable(sample10_unittest samples gtest)
-endif()
-
-########################################################################
-#
-# Google Test's own tests.
-#
-# You can skip this section if you aren't interested in testing
-# Google Test itself.
-#
-# The tests are not built by default.  To build them, set the
-# gtest_build_tests option to ON.  You can do it by running ccmake
-# or specifying the -Dgtest_build_tests=ON flag when running cmake.
-
-if(gtest_build_tests)
-  # This must be set in the root directory for the tests to be run by
-  # 'make test' or ctest.
-  enable_testing()
-
-  ############################################################
-  # C++ tests built with standard compiler flags.
-
-  cxx_test(gtest-death-test_test gtest_main)
-  cxx_test(gtest_environment_test gtest)
-  cxx_test(gtest-filepath_test gtest_main)
-  cxx_test(gtest-linked_ptr_test gtest_main)
-  cxx_test(gtest-listener_test gtest_main)
-  cxx_test(gtest_main_unittest gtest_main)
-  cxx_test(gtest-message_test gtest_main)
-  cxx_test(gtest_no_test_unittest gtest)
-  cxx_test(gtest-options_test gtest_main)
-  cxx_test(gtest-param-test_test gtest
-    test/gtest-param-test2_test.cc)
-  cxx_test(gtest-port_test gtest_main)
-  cxx_test(gtest_pred_impl_unittest gtest_main)
-  cxx_test(gtest-printers_test gtest_main)
-  cxx_test(gtest_prod_test gtest_main
-    test/production.cc)
-  cxx_test(gtest_repeat_test gtest)
-  cxx_test(gtest_sole_header_test gtest_main)
-  cxx_test(gtest_stress_test gtest)
-  cxx_test(gtest-test-part_test gtest_main)
-  cxx_test(gtest_throw_on_failure_ex_test gtest)
-  cxx_test(gtest-typed-test_test gtest_main
-    test/gtest-typed-test2_test.cc)
-  cxx_test(gtest_unittest gtest_main)
-  cxx_test(gtest-unittest-api_test gtest)
-
-  ############################################################
-  # C++ tests built with non-standard compiler flags.
-
-  cxx_library(gtest_no_exception "${cxx_no_exception}"
-    src/gtest-all.cc)
-  cxx_library(gtest_main_no_exception "${cxx_no_exception}"
-    src/gtest-all.cc src/gtest_main.cc)
-  cxx_library(gtest_main_no_rtti "${cxx_no_rtti}"
-    src/gtest-all.cc src/gtest_main.cc)
-
-  cxx_test_with_flags(gtest-death-test_ex_nocatch_test
-    "${cxx_exception} -DGTEST_ENABLE_CATCH_EXCEPTIONS_=0"
-    gtest test/gtest-death-test_ex_test.cc)
-  cxx_test_with_flags(gtest-death-test_ex_catch_test
-    "${cxx_exception} -DGTEST_ENABLE_CATCH_EXCEPTIONS_=1"
-    gtest test/gtest-death-test_ex_test.cc)
-
-  cxx_test_with_flags(gtest_no_rtti_unittest "${cxx_no_rtti}"
-    gtest_main_no_rtti test/gtest_unittest.cc)
-
-  cxx_shared_library(gtest_dll "${cxx_default}"
-    src/gtest-all.cc src/gtest_main.cc)
-
-  cxx_executable_with_flags(gtest_dll_test_ "${cxx_default}"
-    gtest_dll test/gtest_all_test.cc)
-  set_target_properties(gtest_dll_test_
-                        PROPERTIES
-                        COMPILE_DEFINITIONS "GTEST_LINKED_AS_SHARED_LIBRARY=1")
-
-  if(NOT MSVC OR NOT MSVC_VERSION EQUAL 1600)
-    # The C++ Standard specifies tuple_element<int, class>.
-    # Yet MSVC 10's <utility> declares tuple_element<size_t, class>.
-    # That declaration conflicts with our own standard-conforming
-    # tuple implementation.  Therefore using our own tuple with
-    # MSVC 10 doesn't compile.
-    cxx_library(gtest_main_use_own_tuple "${cxx_use_own_tuple}"
-      src/gtest-all.cc src/gtest_main.cc)
-
-    cxx_test_with_flags(gtest-tuple_test "${cxx_use_own_tuple}"
-      gtest_main_use_own_tuple test/gtest-tuple_test.cc)
-
-    cxx_test_with_flags(gtest_use_own_tuple_test "${cxx_use_own_tuple}"
-      gtest_main_use_own_tuple
-      test/gtest-param-test_test.cc test/gtest-param-test2_test.cc)
-  endif()
-
-  ############################################################
-  # Python tests.
-
-  cxx_executable(gtest_break_on_failure_unittest_ test gtest)
-  py_test(gtest_break_on_failure_unittest)
-
-  cxx_executable_with_flags(
-    gtest_catch_exceptions_no_ex_test_
-    "${cxx_no_exception}"
-    gtest_main_no_exception
-    test/gtest_catch_exceptions_test_.cc)
-  cxx_executable_with_flags(
-    gtest_catch_exceptions_ex_test_
-    "${cxx_exception}"
-    gtest_main
-    test/gtest_catch_exceptions_test_.cc)
-  py_test(gtest_catch_exceptions_test)
-
-  cxx_executable(gtest_color_test_ test gtest)
-  py_test(gtest_color_test)
-
-  cxx_executable(gtest_env_var_test_ test gtest)
-  py_test(gtest_env_var_test)
-
-  cxx_executable(gtest_filter_unittest_ test gtest)
-  py_test(gtest_filter_unittest)
-
-  cxx_executable(gtest_help_test_ test gtest_main)
-  py_test(gtest_help_test)
-
-  cxx_executable(gtest_list_tests_unittest_ test gtest)
-  py_test(gtest_list_tests_unittest)
-
-  cxx_executable(gtest_output_test_ test gtest)
-  py_test(gtest_output_test)
-
-  cxx_executable(gtest_shuffle_test_ test gtest)
-  py_test(gtest_shuffle_test)
-
-  cxx_executable(gtest_throw_on_failure_test_ test gtest_no_exception)
-  set_target_properties(gtest_throw_on_failure_test_
-    PROPERTIES
-    COMPILE_FLAGS "${cxx_no_exception}")
-  py_test(gtest_throw_on_failure_test)
-
-  cxx_executable(gtest_uninitialized_test_ test gtest)
-  py_test(gtest_uninitialized_test)
-
-  cxx_executable(gtest_xml_outfile1_test_ test gtest_main)
-  cxx_executable(gtest_xml_outfile2_test_ test gtest_main)
-  py_test(gtest_xml_outfiles_test)
-
-  cxx_executable(gtest_xml_output_unittest_ test gtest)
-  py_test(gtest_xml_output_unittest)
-endif()
diff --git a/dependencies/qt/build_shared_qt.bat.in b/dependencies/qt/build_shared_qt.bat.in
deleted file mode 100644
index 7256266c1cf..00000000000
--- a/dependencies/qt/build_shared_qt.bat.in
+++ /dev/null
@@ -1,9 +0,0 @@
-if "%WindowsSDKVersion%"== "" (
-  call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\vcvarsall.bat" amd64
-)
-if "%WindowsSDKVersion%"== "" (
-  echo "Must install Windows SDK version 10 or higher"
-  exit
-)
-
-call .\configure.bat -platform win32-msvc -debug-and-release -opensource -shared -mp -openssl -I "${OPENSSL_ROOT_DIR}/include" -L "${OPENSSL_ROOT_DIR}/lib" -opengl dynamic -no-ssse3 -sql-sqlite -plugin-sql-sqlite -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype -qt-harfbuzz -skip enginio -skip qtconnectivity -skip qtmultimedia -skip qtpurchasing -skip qtsensors -skip qtwayland -no-compile-examples -nomake examples -nomake tests -nomake tools -confirm-license -prefix "${PROJECT_BINARY_DIR}/Qt-prefix/src/Qt-install"
diff --git a/dependencies/qt/build_static_qt.bat.in b/dependencies/qt/build_static_qt.bat.in
deleted file mode 100644
index 7eb459c0c32..00000000000
--- a/dependencies/qt/build_static_qt.bat.in
+++ /dev/null
@@ -1,9 +0,0 @@
-if "%WindowsSDKVersion%"== "" (
-  call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\vcvarsall.bat" amd64
-)
-if "%WindowsSDKVersion%"== "" (
-  echo "Must install Windows SDK version 10 or higher"
-  exit
-)
-
-call .\configure.bat -platform win32-msvc -debug-and-release -opensource -static -mp -openssl-linked OPENSSL_LIBS="-llibcrypto -llibssl" -I "${OPENSSL_ROOT_DIR}/include" -L "${OPENSSL_ROOT_DIR}/lib/" -opengl dynamic -no-ssse3 -sql-sqlite -plugin-sql-sqlite -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype -qt-harfbuzz -skip enginio -skip qtconnectivity -skip qtlocation -skip qtmultimedia -skip qtpurchasing -skip qtsensors -skip qtwayland  -no-compile-examples -nomake examples -nomake tests -nomake tools -confirm-license -prefix "${CMAKE_BINARY_DIR}/Qt-prefix/src/Qt-static-install" 
\ No newline at end of file
diff --git a/dependencies/qt/qmacstyle_mac.patch b/dependencies/qt/qmacstyle_mac.patch
deleted file mode 100644
index 1d75c2b78fd..00000000000
--- a/dependencies/qt/qmacstyle_mac.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/qtbase/src/widgets/styles/qmacstyle_mac.mm	2014-09-11 04:48:01.000000000 -0600
-+++ b/qtbase/src/widgets/styles/qmacstyle_mac.mm	2014-10-17 00:57:27.000000000 -0600
-@@ -3667,9 +3667,9 @@ void QMacStyle::drawControl(ControlEleme
- 
-                 NSBezierPath *pushButtonFocusRingPath;
-                 if (bdi.kind == kThemeBevelButton)
--                    pushButtonFocusRingPath = [NSBezierPath bezierPathWithRect:focusRect];
-+                    pushButtonFocusRingPath = [NSBezierPath bezierPathWithRect:NSRectFromCGRect(focusRect)];
-                 else
--                    pushButtonFocusRingPath = [NSBezierPath bezierPathWithRoundedRect:focusRect xRadius:4 yRadius:4];
-+                    pushButtonFocusRingPath = [NSBezierPath bezierPathWithRoundedRect:NSRectFromCGRect(focusRect) xRadius:4 yRadius:4];
-                 qt_drawFocusRingOnPath(cg, pushButtonFocusRingPath);
-             }
- 
diff --git a/dependencies/ruby/.gitignore b/dependencies/ruby/.gitignore
deleted file mode 100644
index f1af4451391..00000000000
--- a/dependencies/ruby/.gitignore
+++ /dev/null
@@ -1,1 +0,0 @@
-/.bundle/config
diff --git a/dependencies/ruby/i386-mingw32.patch b/dependencies/ruby/i386-mingw32.patch
deleted file mode 100644
index 1ac0bd6b294..00000000000
--- a/dependencies/ruby/i386-mingw32.patch
+++ /dev/null
@@ -1,332 +0,0 @@
-diff --git a/include/ruby-2.0.0/ruby/missing.h b/include/ruby-2.0.0/ruby/missing.h
---- a/include/ruby-2.0.0/ruby/missing.h
-+++ b/include/ruby-2.0.0/ruby/missing.h
-@@ -25,21 +25,18 @@ extern "C" {
- #include RUBY_EXTCONF_H
- #endif
- 
--#if !defined(HAVE_STRUCT_TIMEVAL) || !defined(HAVE_STRUCT_TIMESPEC)
--#if defined(HAVE_TIME_H)
--# include <time.h>
--#endif
- #if defined(HAVE_SYS_TIME_H)
--# include <sys/time.h>
--#endif
--#endif
--
--#if !defined(HAVE_STRUCT_TIMEVAL)
-+#  include <sys/time.h>
-+#elif !defined(_WIN32)
-+#  define time_t long
- struct timeval {
-     time_t tv_sec;	/* seconds */
-     long tv_usec;	/* microseconds */
- };
--#endif /* HAVE_STRUCT_TIMEVAL */
-+#endif
-+#if defined(HAVE_SYS_TYPES_H)
-+#  include <sys/types.h>
-+#endif
- 
- #if !defined(HAVE_STRUCT_TIMESPEC)
- struct timespec {
-@@ -55,6 +52,11 @@ struct timezone {
- };
- #endif
- 
-+#if defined(HAVE___SYSCALL) && (defined(__APPLE__) || defined(__OpenBSD__))
-+/* Mac OS X and OpenBSD have __syscall but don't define it in headers */
-+off_t __syscall(quad_t number, ...);
-+#endif
-+
- #ifdef RUBY_EXPORT
- #undef RUBY_EXTERN
- #endif
-diff --git a/include/ruby-2.0.0/ruby/ruby.h b/include/ruby-2.0.0/ruby/ruby.h
---- a/include/ruby-2.0.0/ruby/ruby.h
-+++ b/include/ruby-2.0.0/ruby/ruby.h
-@@ -59,6 +59,11 @@ extern "C" {
- 
- #ifdef HAVE_STDINT_H
- # include <stdint.h>
-+#else
-+  typedef __int32 int32_t;
-+  typedef unsigned __int32 uint32_t;
-+  typedef __int64 int64_t;
-+  typedef unsigned __int64 uint64_t;
- #endif
- #ifdef HAVE_INTTYPES_H
- # include <inttypes.h>
-diff --git a/include/ruby-2.0.0/i386-mingw32/ruby/config.h b/include/ruby-2.0.0/i386-mingw32/ruby/config.h
---- a/include/ruby-2.0.0/i386-mingw32/ruby/config.h
-+++ b/include/ruby-2.0.0/i386-mingw32/ruby/config.h
-@@ -1,37 +1,16 @@
- #ifndef INCLUDE_RUBY_CONFIG_H
- #define INCLUDE_RUBY_CONFIG_H 1
--/* confdefs.h */
--#define CANONICALIZATION_FOR_MATHN 1
--#define RUBY_MSVCRT_VERSION 60
-+#if _MSC_VER < 1500
-+  #error MSC version unmatch: _MSC_VER: >= 1500 is expected.
-+#endif
-+#define RUBY_MSVCRT_VERSION 100
- #define STDC_HEADERS 1
- #define HAVE_SYS_TYPES_H 1
- #define HAVE_SYS_STAT_H 1
- #define HAVE_STDLIB_H 1
-+#define HAVE_STDDEF_H 1
- #define HAVE_STRING_H 1
- #define HAVE_MEMORY_H 1
--#define HAVE_STRINGS_H 1
--#define HAVE_INTTYPES_H 1
--#define HAVE_STDINT_H 1
--#define HAVE_UNISTD_H 1
--#define __EXTENSIONS__ 1
--#define _ALL_SOURCE 1
--#define _GNU_SOURCE 1
--#define _POSIX_PTHREAD_SEMANTICS 1
--#define _TANDEM_SOURCE 1
--#define HAVE_DIRENT_H 1
--#define HAVE__BOOL 1
--#define HAVE_STDBOOL_H 1
--#define HAVE_LIMITS_H 1
--#define HAVE_SYS_FILE_H 1
--#define HAVE_FCNTL_H 1
--#define HAVE_SYS_FCNTL_H 1
--#define HAVE_DIRECT_H 1
--#define HAVE_SYS_UTIME_H 1
--#define HAVE_FLOAT_H 1
--#define HAVE_LOCALE_H 1
--#define HAVE_TIME_H 1
--#define HAVE_PROCESS_H 1
--#define _FILE_OFFSET_BITS 64
- #define HAVE_LONG_LONG 1
- #define HAVE_OFF_T 1
- #define SIZEOF_INT 4
-@@ -39,160 +18,128 @@
- #define SIZEOF_LONG 4
- #define SIZEOF_LONG_LONG 8
- #define SIZEOF___INT64 8
--#define SIZEOF_OFF_T 8
-+#define _INTEGRAL_MAX_BITS 64
-+#define SIZEOF_OFF_T 4
- #define SIZEOF_VOIDP 4
- #define SIZEOF_FLOAT 4
- #define SIZEOF_DOUBLE 8
- #define SIZEOF_TIME_T 4
--#define PRI_LL_PREFIX "I64"
--#define rb_pid_t pid_t
--#define PIDT2NUM(v) INT2NUM(v)
--#define NUM2PIDT(v) NUM2INT(v)
--#define PRI_PIDT_PREFIX PRI_INT_PREFIX
--#define rb_uid_t int
--#define UIDT2NUM(v) INT2NUM(v)
--#define NUM2UIDT(v) NUM2INT(v)
--#define PRI_UIDT_PREFIX PRI_INT_PREFIX
--#define rb_gid_t int
--#define GIDT2NUM(v) INT2NUM(v)
--#define NUM2GIDT(v) NUM2INT(v)
--#define PRI_GIDT_PREFIX PRI_INT_PREFIX
--#define rb_time_t time_t
--#define TIMET2NUM(v) LONG2NUM(v)
--#define NUM2TIMET(v) NUM2LONG(v)
--#define PRI_TIMET_PREFIX PRI_LONG_PREFIX
--#define rb_dev_t dev_t
--#define DEVT2NUM(v) UINT2NUM(v)
--#define NUM2DEVT(v) NUM2UINT(v)
--#define PRI_DEVT_PREFIX PRI_INT_PREFIX
--#define rb_mode_t mode_t
--#define MODET2NUM(v) UINT2NUM(v)
--#define NUM2MODET(v) NUM2UINT(v)
--#define PRI_MODET_PREFIX PRI_INT_PREFIX
--#define rb_rlim_t int long "long long"
--#define RLIM2NUM(v) LONG2NUM(v)
--#define NUM2RLIM(v) NUM2LONG(v)
--#define PRI_RLIM_PREFIX PRI_LONG_PREFIX
-+#define TIMET2NUM(v) LL2NUM(v)
-+#define NUM2TIMET(v) NUM2LL(v)
-+#define SIZEOF_RLIM_T 0
-+#define SIZEOF_SIZE_T 4
-+#define SIZEOF_PTRDIFF_T 4
-+#define SIZEOF_INTPTR_T 4
-+#define SIZEOF_UINTPTR_T 4
- #define HAVE_PROTOTYPES 1
- #define TOKEN_PASTE(x,y) x##y
--#define STRINGIZE(expr) STRINGIZE0(expr)
- #define HAVE_STDARG_PROTOTYPES 1
--#define HAVE_VA_ARGS_MACRO 1
--#define NORETURN(x) __attribute__ ((noreturn)) x
--#define DEPRECATED(x) __attribute__ ((deprecated)) x
--#define NOINLINE(x) __attribute__ ((noinline)) x
--#define FUNC_STDCALL(x) __attribute__ ((stdcall)) x
--#define FUNC_CDECL(x) __attribute__ ((cdecl)) x
--#define FUNC_FASTCALL(x) __attribute__ ((fastcall)) x
--#define RUBY_ALIAS_FUNCTION_TYPE(type, prot, name, args) type prot __attribute__((alias(#name)));
--#define RUBY_ALIAS_FUNCTION_VOID(prot, name, args) RUBY_ALIAS_FUNCTION_TYPE(void, prot, name, args)
--#define HAVE_GCC_ATOMIC_BUILTINS 1
--#define HAVE_GCC_SYNC_BUILTINS 1
--#define UNREACHABLE __builtin_unreachable()
--#define RUBY_FUNC_EXPORTED __attribute__ ((visibility("default"))) extern
-+#define NORETURN(x) __declspec(noreturn) x
-+#define DEPRECATED(x) __declspec(deprecated) x
-+#define NOINLINE(x) __declspec(noinline) x
-+#define FUNC_STDCALL(x) __stdcall x
-+#define FUNC_CDECL(x) __cdecl x
-+#define FUNC_FASTCALL(x) __fastcall x
-+#define RUBY_EXTERN extern __declspec(dllimport)
- #define HAVE_DECL_SYS_NERR 1
--#define SIZEOF_SIZE_T 4
--#define SIZEOF_PTRDIFF_T 4
-+#define HAVE_LIMITS_H 1
-+#define HAVE_FCNTL_H 1
-+#define HAVE_SYS_UTIME_H 1
-+#define HAVE_FLOAT_H 1
-+#define rb_pid_t int
-+#define rb_gid_t int
-+#define rb_uid_t int
- #define HAVE_STRUCT_STAT_ST_RDEV 1
- #define HAVE_ST_RDEV 1
--#define SIZEOF_STRUCT_STAT_ST_SIZE SIZEOF_LONG_LONG
--#define HAVE_STRUCT_TIMEVAL 1
--#define HAVE_STRUCT_TIMESPEC 1
--#define HAVE_STRUCT_TIMEZONE 1
--#define HAVE_CLOCKID_T 1
--#define HAVE_RB_FD_INIT 1
-+#if _MSC_VER >= 1600
-+  #define HAVE_STDINT_H 1
-+#endif
- #define HAVE_INT8_T 1
--#define SIZEOF_INT8_T 1
- #define HAVE_UINT8_T 1
-+#define SIZEOF_INT8_T 1
- #define SIZEOF_UINT8_T 1
- #define HAVE_INT16_T 1
--#define SIZEOF_INT16_T 2
- #define HAVE_UINT16_T 1
-+#define SIZEOF_INT16_T 2
- #define SIZEOF_UINT16_T 2
- #define HAVE_INT32_T 1
--#define SIZEOF_INT32_T 4
- #define HAVE_UINT32_T 1
-+#define SIZEOF_INT32_T 4
- #define SIZEOF_UINT32_T 4
- #define HAVE_INT64_T 1
--#define SIZEOF_INT64_T 8
- #define HAVE_UINT64_T 1
-+#define SIZEOF_INT64_T 8
- #define SIZEOF_UINT64_T 8
- #define HAVE_INTPTR_T 1
--#define SIZEOF_INTPTR_T 4
- #define HAVE_UINTPTR_T 1
--#define SIZEOF_UINTPTR_T 4
- #define HAVE_SSIZE_T 1
--#define SIZEOF_SSIZE_T 4
--#define uid_t int
--#define gid_t int
-+#define ssize_t __int64
-+#define PRI_LL_PREFIX "I64"
-+#define PRI_PIDT_PREFIX PRI_INT_PREFIX
- #define GETGROUPS_T int
- #define RETSIGTYPE void
-+#define TYPEOF_TIMEVAL_TV_SEC long
- #define HAVE_ALLOCA 1
- #define HAVE_DUP2 1
-+#define HAVE_MEMCMP 1
- #define HAVE_MEMMOVE 1
-+#define HAVE_MKDIR 1
-+#define HAVE_STRCASECMP 1
-+#define HAVE_STRNCASECMP 1
- #define HAVE_STRERROR 1
-+#define HAVE_STRFTIME 1
- #define HAVE_STRCHR 1
- #define HAVE_STRSTR 1
-+#define HAVE_STRTOD 1
-+#define HAVE_STRTOL 1
-+#define HAVE_STRTOUL 1
- #define HAVE_FLOCK 1
- #define HAVE_ISNAN 1
- #define HAVE_FINITE 1
--#define HAVE_ISINF 1
- #define HAVE_HYPOT 1
--#define HAVE_ACOSH 1
--#define HAVE_ERF 1
--#define HAVE_TGAMMA 1
--#define HAVE_CBRT 1
--#define HAVE_SIGNBIT 1
- #define HAVE_FMOD 1
-+#define HAVE_FREXP 1
-+#define HAVE_MODF 1
- #define HAVE_WAITPID 1
--#define HAVE_SPAWNV 1
-+#define HAVE_FSYNC 1
- #define HAVE_GETCWD 1
- #define HAVE_TRUNCATE 1
- #define HAVE_FTRUNCATE 1
-+#define HAVE_FSEEKO 1
- #define HAVE_FTELLO 1
--#define HAVE_CHSIZE 1
- #define HAVE_TIMES 1
- #define HAVE_FCNTL 1
--#define HAVE_TRUNCATE64 1
--#define HAVE_FTRUNCATE64 1
--#define HAVE_FTELLO64 1
--#define HAVE_FSEEKO 1
--#define HAVE_FSEEKO64 1
- #define HAVE_LINK 1
--#define HAVE_FSYNC 1
--#define HAVE_CLOSE 1
- #define HAVE__SETJMP 1
- #define HAVE_TELLDIR 1
- #define HAVE_SEEKDIR 1
-+#define HAVE_MKTIME 1
- #define HAVE_COSH 1
- #define HAVE_SINH 1
- #define HAVE_TANH 1
--#define HAVE_LOG2 1
--#define HAVE_ROUND 1
--#define HAVE_LLABS 1
--#define HAVE_MKTIME 1
-+#define HAVE_SIGNBIT 1
-+#define HAVE_TZNAME 1
-+#define HAVE_DAYLIGHT 1
- #define HAVE_GMTIME_R 1
--#define HAVE_GETTIMEOFDAY 1
--#define HAVE_DUP 1
--#define RUBY_SETJMP(env) setjmp(env)
-+#define SETPGRP_VOID 1
-+#define RSHIFT(x,y) ((x)>>(int)y)
-+#define HAVE_RB_FD_INIT 1
-+#define RUBY_SETJMP(env) _setjmp(env)
- #define RUBY_LONGJMP(env,val) longjmp(env,val)
- #define RUBY_JMP_BUF jmp_buf
--#define HAVE_DECL_TZNAME 1
--#define HAVE_TZNAME 1
--#define HAVE_DAYLIGHT 1
--#define HAVE_VAR_TIMEZONE 1
--#define TYPEOF_VAR_TIMEZONE long
--#define HAVE_TIMEZONE 1
--#define TIMEZONE_VOID 1
--#define RSHIFT(x,y) ((x)>>(int)(y))
--#define FILE_COUNT _cnt
--#define FILE_READPTR _ptr
--#define SIZEOF_STRUCT_STAT_ST_INO 2
-+#define inline __inline
-+#define NEED_IO_SEEK_BETWEEN_RW 1
- #define STACK_GROW_DIRECTION -1
--#define DLEXT_MAXLEN 3
-+#define CANONICALIZATION_FOR_MATHN 1
-+#define DEFAULT_KCODE KCODE_NONE
-+#define LOAD_RELATIVE 1
- #define DLEXT ".so"
--#define LIBDIR_BASENAME "lib"
- #define EXECUTABLE_EXTS ".exe",".com",".cmd",".bat"
--#define LOAD_RELATIVE 1
--#define RUBY_EXEC_PREFIX ""
-+#define RUBY_COREDLL "msvcr100"
-+#define LIBRUBY_SO "x64-msvcr100-ruby200.dll"
-+#if 0
-+!if "x64-msvcr100-ruby200"!="$(RUBY_SO_NAME)" || "x64-mswin64_100"!="$(ARCH)-$(PLATFORM)"
-+config.h: nul
-+!endif
-+#endif
- #endif /* INCLUDE_RUBY_CONFIG_H */
diff --git a/dependencies/ruby/notes.md b/dependencies/ruby/notes.md
deleted file mode 100644
index 70f7d732ad5..00000000000
--- a/dependencies/ruby/notes.md
+++ /dev/null
@@ -1,36 +0,0 @@
-ruby 2.0.0 is created from 
-
-https://github.com/ruby/ruby on tag v2_0_0_648
-
-then there are two commits cherry picked on top
-
-2250b195a9fcbbfe752dd6d46a702674ec144272
-773248551b8cb46f281d5b6bb4f61477ce17d55d
-
-Apply a patch like this..
-
-diff Ruby/load.c
-11a12,15
-> int rb_hasFile(const char *t_filename);
->
-> int rb_require_embedded(const char *t_filename);
->
-1066a1071,1073
->   if( rb_hasFile(fname) ) {
->     return rb_require_embedded(fname);
->   } else {
-1069a1077
->   }
-diff Ruby/main.c
-38a39,46
->
-> int rb_hasFile(const char *t_filename) {
->   return 0;
-> }
->
-> int rb_require_embedded(const char *t_filename) {
->   return 0;
-> }
-
-This results in a 2.0.0 build of ruby that builds as static library.
-
diff --git a/dependencies/ruby/x64-mingw32.patch b/dependencies/ruby/x64-mingw32.patch
deleted file mode 100644
index c5c8088ca32..00000000000
--- a/dependencies/ruby/x64-mingw32.patch
+++ /dev/null
@@ -1,330 +0,0 @@
-diff --git a/include/ruby-2.0.0/ruby/missing.h b/include/ruby-2.0.0/ruby/missing.h
---- a/include/ruby-2.0.0/ruby/missing.h
-+++ b/include/ruby-2.0.0/ruby/missing.h
-@@ -25,21 +25,18 @@ extern "C" {
- #include RUBY_EXTCONF_H
- #endif
- 
--#if !defined(HAVE_STRUCT_TIMEVAL) || !defined(HAVE_STRUCT_TIMESPEC)
--#if defined(HAVE_TIME_H)
--# include <time.h>
--#endif
- #if defined(HAVE_SYS_TIME_H)
--# include <sys/time.h>
--#endif
--#endif
--
--#if !defined(HAVE_STRUCT_TIMEVAL)
-+#  include <sys/time.h>
-+#elif !defined(_WIN32)
-+#  define time_t long
- struct timeval {
-     time_t tv_sec;	/* seconds */
-     long tv_usec;	/* microseconds */
- };
--#endif /* HAVE_STRUCT_TIMEVAL */
-+#endif
-+#if defined(HAVE_SYS_TYPES_H)
-+#  include <sys/types.h>
-+#endif
- 
- #if !defined(HAVE_STRUCT_TIMESPEC)
- struct timespec {
-@@ -55,6 +52,11 @@ struct timezone {
- };
- #endif
- 
-+#if defined(HAVE___SYSCALL) && (defined(__APPLE__) || defined(__OpenBSD__))
-+/* Mac OS X and OpenBSD have __syscall but don't define it in headers */
-+off_t __syscall(quad_t number, ...);
-+#endif
-+
- #ifdef RUBY_EXPORT
- #undef RUBY_EXTERN
- #endif
-diff --git a/include/ruby-2.0.0/ruby/ruby.h b/include/ruby-2.0.0/ruby/ruby.h
---- a/include/ruby-2.0.0/ruby/ruby.h
-+++ b/include/ruby-2.0.0/ruby/ruby.h
-@@ -59,6 +59,11 @@ extern "C" {
- 
- #ifdef HAVE_STDINT_H
- # include <stdint.h>
-+#else
-+  typedef __int32 int32_t;
-+  typedef unsigned __int32 uint32_t;
-+  typedef __int64 int64_t;
-+  typedef unsigned __int64 uint64_t;
- #endif
- #ifdef HAVE_INTTYPES_H
- # include <inttypes.h>
-diff --git a/include/ruby-2.0.0/x64-mingw32/ruby/config.h b/include/ruby-2.0.0/x64-mingw32/ruby/config.h
---- a/include/ruby-2.0.0/x64-mingw32/ruby/config.h
-+++ b/include/ruby-2.0.0/x64-mingw32/ruby/config.h
-@@ -1,37 +1,16 @@
- #ifndef INCLUDE_RUBY_CONFIG_H
- #define INCLUDE_RUBY_CONFIG_H 1
--/* confdefs.h */
--#define CANONICALIZATION_FOR_MATHN 1
--#define RUBY_MSVCRT_VERSION 60
-+#if _MSC_VER < 1500
-+  #error MSC version unmatch: _MSC_VER: >= 1500 is expected.
-+#endif
-+#define RUBY_MSVCRT_VERSION 100
- #define STDC_HEADERS 1
- #define HAVE_SYS_TYPES_H 1
- #define HAVE_SYS_STAT_H 1
- #define HAVE_STDLIB_H 1
-+#define HAVE_STDDEF_H 1
- #define HAVE_STRING_H 1
- #define HAVE_MEMORY_H 1
--#define HAVE_STRINGS_H 1
--#define HAVE_INTTYPES_H 1
--#define HAVE_STDINT_H 1
--#define HAVE_UNISTD_H 1
--#define __EXTENSIONS__ 1
--#define _ALL_SOURCE 1
--#define _GNU_SOURCE 1
--#define _POSIX_PTHREAD_SEMANTICS 1
--#define _TANDEM_SOURCE 1
--#define HAVE_DIRENT_H 1
--#define HAVE__BOOL 1
--#define HAVE_STDBOOL_H 1
--#define HAVE_LIMITS_H 1
--#define HAVE_SYS_FILE_H 1
--#define HAVE_FCNTL_H 1
--#define HAVE_SYS_FCNTL_H 1
--#define HAVE_DIRECT_H 1
--#define HAVE_SYS_UTIME_H 1
--#define HAVE_FLOAT_H 1
--#define HAVE_LOCALE_H 1
--#define HAVE_TIME_H 1
--#define HAVE_PROCESS_H 1
--#define _FILE_OFFSET_BITS 64
- #define HAVE_LONG_LONG 1
- #define HAVE_OFF_T 1
- #define SIZEOF_INT 4
-@@ -39,161 +18,128 @@
- #define SIZEOF_LONG 4
- #define SIZEOF_LONG_LONG 8
- #define SIZEOF___INT64 8
-+#define _INTEGRAL_MAX_BITS 64
- #define SIZEOF_OFF_T 8
- #define SIZEOF_VOIDP 8
- #define SIZEOF_FLOAT 4
- #define SIZEOF_DOUBLE 8
- #define SIZEOF_TIME_T 8
--#define PRI_LL_PREFIX "I64"
--#define rb_pid_t pid_t
--#define PIDT2NUM(v) LL2NUM(v)
--#define NUM2PIDT(v) NUM2LL(v)
--#define PRI_PIDT_PREFIX PRI_LL_PREFIX
--#define rb_uid_t int
--#define UIDT2NUM(v) INT2NUM(v)
--#define NUM2UIDT(v) NUM2INT(v)
--#define PRI_UIDT_PREFIX PRI_INT_PREFIX
--#define rb_gid_t int
--#define GIDT2NUM(v) INT2NUM(v)
--#define NUM2GIDT(v) NUM2INT(v)
--#define PRI_GIDT_PREFIX PRI_INT_PREFIX
--#define rb_time_t time_t
- #define TIMET2NUM(v) LL2NUM(v)
- #define NUM2TIMET(v) NUM2LL(v)
--#define PRI_TIMET_PREFIX PRI_LL_PREFIX
--#define rb_dev_t dev_t
--#define DEVT2NUM(v) UINT2NUM(v)
--#define NUM2DEVT(v) NUM2UINT(v)
--#define PRI_DEVT_PREFIX PRI_INT_PREFIX
--#define rb_mode_t mode_t
--#define MODET2NUM(v) UINT2NUM(v)
--#define NUM2MODET(v) NUM2UINT(v)
--#define PRI_MODET_PREFIX PRI_INT_PREFIX
--#define rb_rlim_t int long "long long"
--#define RLIM2NUM(v) LONG2NUM(v)
--#define NUM2RLIM(v) NUM2LONG(v)
--#define PRI_RLIM_PREFIX PRI_LONG_PREFIX
-+#define SIZEOF_RLIM_T 0
-+#define SIZEOF_SIZE_T 4
-+#define SIZEOF_PTRDIFF_T 4
-+#define SIZEOF_INTPTR_T 4
-+#define SIZEOF_UINTPTR_T 4
- #define HAVE_PROTOTYPES 1
- #define TOKEN_PASTE(x,y) x##y
--#define STRINGIZE(expr) STRINGIZE0(expr)
- #define HAVE_STDARG_PROTOTYPES 1
--#define HAVE_VA_ARGS_MACRO 1
--#define NORETURN(x) __attribute__ ((noreturn)) x
--#define DEPRECATED(x) __attribute__ ((deprecated)) x
--#define NOINLINE(x) __attribute__ ((noinline)) x
--#define FUNC_STDCALL(x) __attribute__ ((stdcall)) x
--#define FUNC_CDECL(x) __attribute__ ((cdecl)) x
--#define FUNC_FASTCALL(x) __attribute__ ((fastcall)) x
--#define RUBY_ALIAS_FUNCTION_TYPE(type, prot, name, args) type prot __attribute__((alias(#name)));
--#define RUBY_ALIAS_FUNCTION_VOID(prot, name, args) RUBY_ALIAS_FUNCTION_TYPE(void, prot, name, args)
--#define HAVE_GCC_ATOMIC_BUILTINS 1
--#define HAVE_GCC_SYNC_BUILTINS 1
--#define UNREACHABLE __builtin_unreachable()
--#define RUBY_FUNC_EXPORTED __attribute__ ((visibility("default"))) extern
-+#define NORETURN(x) __declspec(noreturn) x
-+#define DEPRECATED(x) __declspec(deprecated) x
-+#define NOINLINE(x) __declspec(noinline) x
-+#define FUNC_STDCALL(x) __stdcall x
-+#define FUNC_CDECL(x) __cdecl x
-+#define FUNC_FASTCALL(x) __fastcall x
-+#define RUBY_EXTERN extern __declspec(dllimport)
- #define HAVE_DECL_SYS_NERR 1
--#define SIZEOF_SIZE_T 8
--#define SIZEOF_PTRDIFF_T 8
-+#define HAVE_LIMITS_H 1
-+#define HAVE_FCNTL_H 1
-+#define HAVE_SYS_UTIME_H 1
-+#define HAVE_FLOAT_H 1
-+#define rb_pid_t int
-+#define rb_gid_t int
-+#define rb_uid_t int
- #define HAVE_STRUCT_STAT_ST_RDEV 1
- #define HAVE_ST_RDEV 1
--#define SIZEOF_STRUCT_STAT_ST_SIZE SIZEOF_LONG_LONG
--#define HAVE_STRUCT_TIMEVAL 1
--#define HAVE_STRUCT_TIMESPEC 1
--#define HAVE_STRUCT_TIMEZONE 1
--#define HAVE_CLOCKID_T 1
--#define HAVE_RB_FD_INIT 1
-+#if _MSC_VER >= 1600
-+  #define HAVE_STDINT_H 1
-+#endif
- #define HAVE_INT8_T 1
--#define SIZEOF_INT8_T 1
- #define HAVE_UINT8_T 1
-+#define SIZEOF_INT8_T 1
- #define SIZEOF_UINT8_T 1
- #define HAVE_INT16_T 1
--#define SIZEOF_INT16_T 2
- #define HAVE_UINT16_T 1
-+#define SIZEOF_INT16_T 2
- #define SIZEOF_UINT16_T 2
- #define HAVE_INT32_T 1
--#define SIZEOF_INT32_T 4
- #define HAVE_UINT32_T 1
-+#define SIZEOF_INT32_T 4
- #define SIZEOF_UINT32_T 4
- #define HAVE_INT64_T 1
--#define SIZEOF_INT64_T 8
- #define HAVE_UINT64_T 1
-+#define SIZEOF_INT64_T 8
- #define SIZEOF_UINT64_T 8
- #define HAVE_INTPTR_T 1
--#define SIZEOF_INTPTR_T 8
- #define HAVE_UINTPTR_T 1
--#define SIZEOF_UINTPTR_T 8
- #define HAVE_SSIZE_T 1
--#define SIZEOF_SSIZE_T 8
--#define uid_t int
--#define gid_t int
-+#define ssize_t __int64
-+#define PRI_LL_PREFIX "I64"
-+#define PRI_PIDT_PREFIX PRI_INT_PREFIX
- #define GETGROUPS_T int
- #define RETSIGTYPE void
-+#define TYPEOF_TIMEVAL_TV_SEC long
- #define HAVE_ALLOCA 1
- #define HAVE_DUP2 1
-+#define HAVE_MEMCMP 1
- #define HAVE_MEMMOVE 1
-+#define HAVE_MKDIR 1
-+#define HAVE_STRCASECMP 1
-+#define HAVE_STRNCASECMP 1
- #define HAVE_STRERROR 1
-+#define HAVE_STRFTIME 1
- #define HAVE_STRCHR 1
- #define HAVE_STRSTR 1
-+#define HAVE_STRTOD 1
-+#define HAVE_STRTOL 1
-+#define HAVE_STRTOUL 1
- #define HAVE_FLOCK 1
- #define HAVE_ISNAN 1
- #define HAVE_FINITE 1
--#define HAVE_ISINF 1
- #define HAVE_HYPOT 1
--#define HAVE_ACOSH 1
--#define HAVE_ERF 1
--#define HAVE_TGAMMA 1
--#define HAVE_CBRT 1
--#define HAVE_SIGNBIT 1
- #define HAVE_FMOD 1
-+#define HAVE_FREXP 1
-+#define HAVE_MODF 1
- #define HAVE_WAITPID 1
--#define HAVE_SPAWNV 1
-+#define HAVE_FSYNC 1
- #define HAVE_GETCWD 1
- #define HAVE_TRUNCATE 1
- #define HAVE_FTRUNCATE 1
-+#define HAVE_FSEEKO 1
- #define HAVE_FTELLO 1
--#define HAVE_CHSIZE 1
- #define HAVE_TIMES 1
- #define HAVE_FCNTL 1
--#define HAVE_TRUNCATE64 1
--#define HAVE_FTRUNCATE64 1
--#define HAVE_FTELLO64 1
--#define HAVE_FSEEKO 1
--#define HAVE_FSEEKO64 1
- #define HAVE_LINK 1
--#define HAVE_FSYNC 1
--#define HAVE_CLOSE 1
- #define HAVE__SETJMP 1
- #define HAVE_TELLDIR 1
- #define HAVE_SEEKDIR 1
-+#define HAVE_MKTIME 1
- #define HAVE_COSH 1
- #define HAVE_SINH 1
- #define HAVE_TANH 1
--#define HAVE_LOG2 1
--#define HAVE_ROUND 1
--#define HAVE_LLABS 1
--#define HAVE_MKTIME 1
-+#define HAVE_SIGNBIT 1
-+#define HAVE_TZNAME 1
-+#define HAVE_DAYLIGHT 1
- #define HAVE_GMTIME_R 1
--#define HAVE_GETTIMEOFDAY 1
--#define HAVE_SHUTDOWN 1
--#define HAVE_DUP 1
--#define RUBY_SETJMP(env) setjmp(env)
-+#define SETPGRP_VOID 1
-+#define RSHIFT(x,y) ((x)>>(int)y)
-+#define HAVE_RB_FD_INIT 1
-+#define RUBY_SETJMP(env) _setjmp(env)
- #define RUBY_LONGJMP(env,val) longjmp(env,val)
- #define RUBY_JMP_BUF jmp_buf
--#define HAVE_DECL_TZNAME 1
--#define HAVE_TZNAME 1
--#define HAVE_DAYLIGHT 1
--#define HAVE_VAR_TIMEZONE 1
--#define TYPEOF_VAR_TIMEZONE long
--#define HAVE_TIMEZONE 1
--#define TIMEZONE_VOID 1
--#define RSHIFT(x,y) ((x)>>(int)(y))
--#define FILE_COUNT _cnt
--#define FILE_READPTR _ptr
--#define SIZEOF_STRUCT_STAT_ST_INO 2
-+#define inline __inline
-+#define NEED_IO_SEEK_BETWEEN_RW 1
- #define STACK_GROW_DIRECTION -1
--#define DLEXT_MAXLEN 3
-+#define CANONICALIZATION_FOR_MATHN 1
-+#define DEFAULT_KCODE KCODE_NONE
-+#define LOAD_RELATIVE 1
- #define DLEXT ".so"
--#define LIBDIR_BASENAME "lib"
- #define EXECUTABLE_EXTS ".exe",".com",".cmd",".bat"
--#define LOAD_RELATIVE 1
--#define RUBY_EXEC_PREFIX ""
-+#define RUBY_COREDLL "msvcr100"
-+#define LIBRUBY_SO "x64-msvcr100-ruby200.dll"
-+#if 0
-+!if "x64-msvcr100-ruby200"!="$(RUBY_SO_NAME)" || "x64-mswin64_100"!="$(ARCH)-$(PLATFORM)"
-+config.h: nul
-+!endif
-+#endif
- #endif /* INCLUDE_RUBY_CONFIG_H */
diff --git a/java/CMakeLists.txt b/java/CMakeLists.txt
deleted file mode 100644
index a6967c2442f..00000000000
--- a/java/CMakeLists.txt
+++ /dev/null
@@ -1,103 +0,0 @@
-  set(JAVA_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/java")
-
-  file(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/java_wrapper/generated_sources")
-  file(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/java_wrapper/merged_sources")
-
-  # the main OpenStudio jar file
-  if(MSVC)
-    set(OPENSTUDIO_JAVA_JAR "${JAVA_LIBRARY_OUTPUT_DIRECTORY}/$(ConfigurationName)/OpenStudio.jar")
-  else()
-    set(OPENSTUDIO_JAVA_JAR "${JAVA_LIBRARY_OUTPUT_DIRECTORY}/OpenStudio.jar")
-  endif()
-
-  if(MSVC)
-    set(OPENSTUDIO_JAVA_BIN_DIR "${JAVA_LIBRARY_OUTPUT_DIRECTORY}/$<CONFIGURATION>")
-  else()
-    set(OPENSTUDIO_JAVA_BIN_DIR "${JAVA_LIBRARY_OUTPUT_DIRECTORY}")
-  endif()
-
-
-  file(TO_NATIVE_PATH "${OPENSTUDIO_JAVA_JAR}" OPENSTUDIO_NATIVE_JAVA_JAR)
-
-
-  # custom command to make OPENSTUDIO_JAVA_JAR
-  add_custom_command(
-    OUTPUT "${OPENSTUDIO_JAVA_JAR}"
-    COMMAND "${CMAKE_COMMAND}" -E remove_directory "${PROJECT_BINARY_DIR}/java_wrapper/merged_sources"
-    COMMAND "${CMAKE_COMMAND}" -E make_directory "${PROJECT_BINARY_DIR}/java_wrapper/merged_sources"
-    DEPENDS ${ALL_JAVA_BINDING_TARGETS}
-  )
-
-  foreach(D ${ALL_JAVA_SRC_DIRECTORIES})
-    add_custom_command(
-      OUTPUT "${OPENSTUDIO_JAVA_JAR}"
-      COMMAND "${CMAKE_COMMAND}" -E copy_directory "${D}" "${PROJECT_BINARY_DIR}/java_wrapper/merged_sources"
-      APPEND
-    )
-  endforeach()
-
-  if(MSVC)
-    file(TO_NATIVE_PATH "${PROJECT_BINARY_DIR}/java_wrapper/merged_sources/*.java" NATIVE_JAVA_SOURCE_LIST)
-    file(TO_NATIVE_PATH "${PROJECT_BINARY_DIR}/java_wrapper/merged_sources/filelist" NATIVE_JAVA_SOURCE_FILELIST)
-    add_custom_command(
-      OUTPUT "${OPENSTUDIO_JAVA_JAR}"
-      COMMAND cmd /C dir /s /B "${NATIVE_JAVA_SOURCE_LIST}" > "${NATIVE_JAVA_SOURCE_FILELIST}"
-      APPEND
-    )
-  else()
-    add_custom_command(
-      OUTPUT "${OPENSTUDIO_JAVA_JAR}"
-      COMMAND find "${PROJECT_BINARY_DIR}/java_wrapper/merged_sources/" -name "\"*.java\"" > "${PROJECT_BINARY_DIR}/java_wrapper/merged_sources/filelist"
-      APPEND
-    )
-  endif()
-
-  add_custom_command(
-    OUTPUT "${OPENSTUDIO_JAVA_JAR}"
-    COMMAND "${CMAKE_COMMAND}" -E remove_directory "${PROJECT_BINARY_DIR}/java_wrapper/build/"
-    COMMAND "${CMAKE_COMMAND}" -E make_directory "${PROJECT_BINARY_DIR}/java_wrapper/build/"
-    COMMAND "${Java_JAVAC_EXECUTABLE}" -target 1.6 -source 1.6 -d "${PROJECT_BINARY_DIR}/java_wrapper/build/" "@${PROJECT_BINARY_DIR}/java_wrapper/merged_sources/filelist"
-    COMMAND "${Java_JAR_EXECUTABLE}"  -cvf "${OPENSTUDIO_JAVA_JAR}" -C "${PROJECT_BINARY_DIR}/java_wrapper/build/" gov
-    APPEND
-  )
-
-  # convenience target to just build the SDK
-  add_custom_target(java_sdk ALL
-    DEPENDS "${OPENSTUDIO_JAVA_JAR}"
-    COMMENT "Compiling Java JAR"
-  )
-
-  if(MSVC)
-    install(FILES "${JAVA_LIBRARY_OUTPUT_DIRECTORY}/Debug/OpenStudio.jar" DESTINATION Java/openstudio/ CONFIGURATIONS DEBUG)
-    install(FILES "${JAVA_LIBRARY_OUTPUT_DIRECTORY}/Release/OpenStudio.jar" DESTINATION Java/openstudio/)
-  elseif(APPLE)
-    install(FILES "${JAVA_LIBRARY_OUTPUT_DIRECTORY}/OpenStudio.jar" DESTINATION Java/openstudio/)
-  else()
-    install(FILES "${JAVA_LIBRARY_OUTPUT_DIRECTORY}/OpenStudio.jar" DESTINATION lib/openstudio-${OpenStudio_VERSION}/java)
-  endif()
-
-  # Hand run commands we are replicating here
-
-  #  jason@ubuntu12:~/OpenStudio-main/openstudiocore/java$ /usr/lib/jvm/java-1.7.0-openjdk-amd64/bin/javac TestOpenStudio.java -classpath ~/openstudio-main-build/OSCore-prefix/src/OSCore-build/Products/java/OpenStudio.jar
-  #  jason@ubuntu12:~/OpenStudio-main/openstudiocore/java$ LD_LIBRARY_PATH=~/openstudio-main-build/OSCore-prefix/src/OSCore-build/Products/java /usr/lib/jvm/java-1.7.0-openjdk-amd64/bin/java -classpath ~/openstudio-main-build/OSCore-prefix/src/OSCore-build/Products/java/OpenStudio.jar:.  TestOpenStudio
-
-  add_custom_command(
-    OUTPUT "${PROJECT_BINARY_DIR}/TestOpenStudio.class"
-    COMMAND "${Java_JAVAC_EXECUTABLE}" -d "${PROJECT_BINARY_DIR}" "${PROJECT_SOURCE_DIR}/java/TestOpenStudio.java" -classpath "${OPENSTUDIO_JAVA_JAR}"
-    DEPENDS "${OPENSTUDIO_JAVA_JAR}"
-  )
-
-  add_custom_target(java_tests ALL
-    DEPENDS "${PROJECT_BINARY_DIR}/TestOpenStudio.class"
-  )
-
-  if (MSVC)
-    add_test(NAME "JavaSanityCheck"
-      COMMAND "${Java_JAVA_EXECUTABLE}"  -classpath "${PROJECT_BINARY_DIR}/Products/java/$<CONFIGURATION>/OpenStudio.jar;${PROJECT_BINARY_DIR}" TestOpenStudio
-      WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/Products/java/$<CONFIGURATION>"
-    )
-  else()
-    add_test(NAME "JavaSanityCheck"
-      COMMAND "${Java_JAVA_EXECUTABLE}"  "-Djava.library.path=${OPENSTUDIO_JAVA_BIN_DIR}" -classpath "${OPENSTUDIO_JAVA_JAR}:${PROJECT_BINARY_DIR}" TestOpenStudio
-    )
-  endif()
diff --git a/java/README.md b/java/README.md
deleted file mode 100644
index a6055ccfc5f..00000000000
--- a/java/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# Java Support for OpenStudio
-
-To compile with Java support, set the `BUILD_JAVA_BINDINGS` flag using ccmake
-
-* Note: You may need to set `JAVA_HOME=<pathtojavainstall>` in the environment before calling cmake *
-
-When building the java files, the OpenStudio.jar file must be accessible. When executing java class files with OpenStudio, the jar file, swig bindings libraries and openstudio libraries must all be accessible. This will take some combination of the java classpath and `LD_LIBRARY_PATH` or `PATH` environment variables.
-
-The real world example of building the example `.java` file and executing it on my system while using the build folder:
-
-```sh
-jason@ubuntu12:~/OpenStudio-main/openstudiocore/java$ /usr/lib/jvm/java-1.7.0-openjdk-amd64/bin/javac TestOpenStudio.java -classpath ~/openstudio-main-build/OSCore-prefix/src/OSCore-build/Products/java/OpenStudio.jar
-jason@ubuntu12:~/OpenStudio-main/openstudiocore/java$ LD_LIBRARY_PATH=~/openstudio-main-build/OSCore-prefix/src/OSCore-build/Products/java /usr/lib/jvm/java-1.7.0-openjdk-amd64/bin/java -classpath ~/openstudio-main-build/OSCore-prefix/src/OSCore-build/Products/java/OpenStudio.jar:.  TestOpenStudio
-```
-
-Notes and caveats:
-
- * The Java SWIG module is probably the least refined I have used yet. The namespacing is not handled well. It has all of the caveats of the C# bindings, and then some.
-
diff --git a/java/TestOpenStudio.java b/java/TestOpenStudio.java
deleted file mode 100644
index 5a4decf5fe2..00000000000
--- a/java/TestOpenStudio.java
+++ /dev/null
@@ -1,79 +0,0 @@
-
-public class TestOpenStudio
-{
-  public static void main(String [] args)
-  {
-    System.loadLibrary("OpenStudioAnalysisDriver_java");
-    System.loadLibrary("OpenStudioAnalysis_java");
-    System.loadLibrary("OpenStudioContam_java");
-    System.loadLibrary("OpenStudioEnergyPlus_java");
-    System.loadLibrary("OpenStudioGBXML_java");
-    System.loadLibrary("OpenStudioISOModel_java");
-    System.loadLibrary("OpenStudioLib_java");
-    System.loadLibrary("OpenStudioModelCore_java");
-    System.loadLibrary("OpenStudioModelEditor_java");
-    System.loadLibrary("OpenStudioModelGeometry_java");
-    System.loadLibrary("OpenStudioModelHVAC_java");
-    System.loadLibrary("OpenStudioModel_java");
-    System.loadLibrary("OpenStudioModelRefrigeration_java");
-    System.loadLibrary("OpenStudioModelResources_java");
-    System.loadLibrary("OpenStudioModelSimulation_java");
-    System.loadLibrary("OpenStudioOSVersion_java");
-    System.loadLibrary("OpenStudioProject_java");
-    System.loadLibrary("OpenStudioRadiance_java");
-    System.loadLibrary("OpenStudioMeasure_java");
-    System.loadLibrary("OpenStudioRunManager_java");
-    System.loadLibrary("OpenStudioSDD_java");
-    System.loadLibrary("OpenStudioUtilitiesBCL_java");
-    System.loadLibrary("OpenStudioUtilitiesCloud_java");
-    System.loadLibrary("OpenStudioUtilitiesCore_java");
-    System.loadLibrary("OpenStudioUtilitiesData_java");
-    System.loadLibrary("OpenStudioUtilitiesEconomics_java");
-    System.loadLibrary("OpenStudioUtilitiesFileTypes_java");
-    System.loadLibrary("OpenStudioUtilitiesGeometry_java");
-    System.loadLibrary("OpenStudioUtilitiesIdd_java");
-    System.loadLibrary("OpenStudioUtilitiesIdf_java");
-    System.loadLibrary("OpenStudioUtilities_java");
-    System.loadLibrary("OpenStudioUtilitiesPlot_java");
-    System.loadLibrary("OpenStudioUtilitiesSql_java");
-    System.loadLibrary("OpenStudioUtilitiesTime_java");
-    System.loadLibrary("OpenStudioUtilitiesUnits_java");
-
-    System.out.println(gov.nrel.openstudio.utilitiescore_global.toString(gov.nrel.openstudio.utilitiescore_global.getApplicationBuildDirectory()));
-
-    gov.nrel.openstudio.modelcore_global.exampleModel().save(gov.nrel.openstudio.utilitiescore_global.toPath("example.osm"), true);
-
-
-
-    gov.nrel.openstudio.Model model = gov.nrel.openstudio.modelcore_global.exampleModel();
-
-
-    gov.nrel.openstudio.SimulationControl simulationControl = gov.nrel.openstudio.modelsimulation_global.getSimulationControl(model);
-
-    assert false == simulationControl.isDoZoneSizingCalculationDefaulted(); // from self
-    assert 8 == simulationControl.children().size(); // from modelcore ParentObject
-    assert 24 == simulationControl.attributes().size(); // from modelcore ModelObject
-    assert false == simulationControl.isTarget(); // from openstudiocore WorkspaceObject
-    assert true == simulationControl.model().Equals(model);
-
-    /*
-    // this checks the ability to cast up the inheritance hierarchy when calling functions
-    var opaqueMaterials = new openstudio.model.OpaqueMaterialVector();
-
-    // Exterior Wall
-    var m01_100mm_brick = new openstudio.model.StandardOpaqueMaterial(model);
-    m01_100mm_brick.setName("M01 100mm brick");
-    m01_100mm_brick.setRoughness("MediumRough");
-    m01_100mm_brick.setThickness(0.1016);
-    m01_100mm_brick.setThermalConductivity(0.89);
-    m01_100mm_brick.setDensity(1920.0);
-    m01_100mm_brick.setSpecificHeat(790.0);
-
-    // if this function call succeeds, we can pass them up
-    opaqueMaterials.add(m01_100mm_brick);
-    */
-
-
-
-  }
-};
diff --git a/osruby_config.h b/osruby_config.h
deleted file mode 100644
index 246323b61bc..00000000000
--- a/osruby_config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef INCLUDE_OSRUBY_H
-#define INCLUDE_OSRUBY_H 1
-
-// Force RUBY_EXTERN to be defined as "undecorated" extern for static ruby
-// We want to get rid of the declspec appended by the ruby build system, because
-// it causes a compiler warning that manifests as error
-#ifdef RUBY_EXTERN
-#undef RUBY_EXTERN
-#endif
-
-#define RUBY_EXTERN extern
-
-// Unclear why Ruby defines inline as __inline in config.h, 
-// but we want to undo that or embedded ruby and bindings wont compile
-#ifdef inline
-#undef inline
-#endif
-
-#endif
diff --git a/v8-node/CMakeLists.txt b/v8-node/CMakeLists.txt
deleted file mode 100644
index cc406587048..00000000000
--- a/v8-node/CMakeLists.txt
+++ /dev/null
@@ -1,52 +0,0 @@
-# currently we are using only the ResultsViewer resources for Ruby tests
-
-
-# find all tests
-
-IF(BUILD_TESTING)
-  file(GLOB V8_NODE_TESTS "test/*_test.js")
-  foreach(f ${V8_NODE_TESTS})
-    get_filename_component(FileName "${f}" NAME_WE)
-
-    add_test(NAME "V8NodeTest_${FileName}"
-      COMMAND "${CMAKE_COMMAND}" -E chdir "${CMAKE_CURRENT_BINARY_DIR}"
-      "${NODE_BIN_DIR}/node" "${f}"
-    )
-
-    set_property(TEST V8NodeTest_${FileName}
-      PROPERTY ENVIRONMENT
-      "NODE_PATH=${PROJECT_BINARY_DIR}/Products/v8"
-    )
-  endforeach()
-
-
-  file(GLOB JASMINE_TESTS "jasmine/*")
-  foreach(f ${JASMINE_TESTS})
-    get_filename_component(FileName "${f}" NAME_WE)
-
-    add_test(NAME "V8JasmineTest_${FileName}"
-      COMMAND "${CMAKE_COMMAND}" -E chdir "${CMAKE_CURRENT_BINARY_DIR}"
-      "${NODE_BIN_DIR}/jasmine-node" "${f}"
-    )
-
-    set_property(TEST V8JasmineTest_${FileName}
-      PROPERTY ENVIRONMENT
-      "NODE_PATH=${PROJECT_BINARY_DIR}/Products/v8"
-      "PATH=${NODE_BIN_DIR}:$ENV{PATH}"
-    )
-  endforeach()
-endif()
-
-if(APPLE OR WIN32)
-  if(BUILD_NODE_MODULES)
-    install(FILES "OpenStudio.js" DESTINATION "node/openstudio/")
-  else()
-    install(FILES "OpenStudio.js" DESTINATION "v8/openstudio/")
-  endif()
-else()
-  if(BUILD_NODE_MODULES)
-    install(FILES "OpenStudio.js" DESTINATION "lib/openstudio-${OpenStudio_VERSION}/node")
-  else()
-    install(FILES "OpenStudio.js" DESTINATION "lib/openstudio-${OpenStudio_VERSION}/v8")
-  endif()
-endif()
diff --git a/v8-node/OpenStudio.js b/v8-node/OpenStudio.js
deleted file mode 100644
index 3aba2276a22..00000000000
--- a/v8-node/OpenStudio.js
+++ /dev/null
@@ -1,127 +0,0 @@
-
-function merge_objects(obj1,obj2){
-  var obj3 = {};
-  for (var attrname in obj1) { obj3[attrname] = obj1[attrname]; }
-  for (var attrname in obj2) { obj3[attrname] = obj2[attrname]; }
-  return obj3;
-}
-
-var OpenStudioUtilitiesCore = require('OpenStudioUtilitiesCore');
-if (typeof OpenStudioUtilitiesCore.OpenStudioUtilitiesCore != 'undefined') OpenStudioUtilitiesCore = OpenStudioUtilitiesCore.OpenStudioUtilitiesCore;
-var OpenStudioUtilitiesTime = require('OpenStudioUtilitiesTime');
-if (typeof OpenStudioUtilitiesTime.OpenStudioUtilitiesTime != 'undefined') OpenStudioUtilitiesTime = OpenStudioUtilitiesTime.OpenStudioUtilitiesTime;
-var OpenStudioUtilitiesEconomics = require('OpenStudioUtilitiesEconomics');
-if (typeof OpenStudioUtilitiesEconomics.OpenStudioUtilitiesEconomics != 'undefined') OpenStudioUtilitiesEconomics = OpenStudioUtilitiesEconomics.OpenStudioUtilitiesEconomics;
-var OpenStudioUtilitiesTime = require('OpenStudioUtilitiesTime');
-if (typeof OpenStudioUtilitiesTime.OpenStudioUtilitiesTime != 'undefined') OpenStudioUtilitiesTime = OpenStudioUtilitiesTime.OpenStudioUtilitiesTime;
-var OpenStudioUtilitiesData = require('OpenStudioUtilitiesData');
-if (typeof OpenStudioUtilitiesData.OpenStudioUtilitiesData != 'undefined') OpenStudioUtilitiesData = OpenStudioUtilitiesData.OpenStudioUtilitiesData;
-var OpenStudioUtilitiesPlot = require('OpenStudioUtilitiesPlot');
-if (typeof OpenStudioUtilitiesPlot.OpenStudioUtilitiesPlot != 'undefined') OpenStudioUtilitiesPlot = OpenStudioUtilitiesPlot.OpenStudioUtilitiesPlot;
-var OpenStudioUtilitiesGeometry = require('OpenStudioUtilitiesGeometry');
-if (typeof OpenStudioUtilitiesGeometry.OpenStudioUtilitiesGeometry != 'undefined') OpenStudioUtilitiesGeometry = OpenStudioUtilitiesGeometry.OpenStudioUtilitiesGeometry;
-var OpenStudioUtilitiesSql = require('OpenStudioUtilitiesSql');
-if (typeof OpenStudioUtilitiesSql.OpenStudioUtilitiesSql != 'undefined') OpenStudioUtilitiesSql = OpenStudioUtilitiesSql.OpenStudioUtilitiesSql;
-var OpenStudioUtilitiesBCL = require('OpenStudioUtilitiesBCL');
-if (typeof OpenStudioUtilitiesBCL.OpenStudioUtilitiesBCL != 'undefined') OpenStudioUtilitiesBCL = OpenStudioUtilitiesBCL.OpenStudioUtilitiesBCL;
-var OpenStudioUtilitiesUnits = require('OpenStudioUtilitiesUnits');
-if (typeof OpenStudioUtilitiesUnits.OpenStudioUtilitiesUnits != 'undefined') OpenStudioUtilitiesUnits = OpenStudioUtilitiesUnits.OpenStudioUtilitiesUnits;
-var OpenStudioUtilitiesIdd = require('OpenStudioUtilitiesIdd');
-if (typeof OpenStudioUtilitiesIdd.OpenStudioUtilitiesIdd != 'undefined') OpenStudioUtilitiesIdd = OpenStudioUtilitiesIdd.OpenStudioUtilitiesIdd;
-var OpenStudioUtilitiesIdf = require('OpenStudioUtilitiesIdf');
-if (typeof OpenStudioUtilitiesIdf.OpenStudioUtilitiesIdf != 'undefined') OpenStudioUtilitiesIdf = OpenStudioUtilitiesIdf.OpenStudioUtilitiesIdf;
-var OpenStudioUtilitiesFileTypes = require('OpenStudioUtilitiesFileTypes');
-if (typeof OpenStudioUtilitiesFileTypes.OpenStudioUtilitiesFileTypes != 'undefined') OpenStudioUtilitiesFileTypes = OpenStudioUtilitiesFileTypes.OpenStudioUtilitiesFileTypes;
-var OpenStudioUtilities = require('OpenStudioUtilities');
-if (typeof OpenStudioUtilities.OpenStudioUtilities != 'undefined') OpenStudioUtilities = OpenStudioUtilities.OpenStudioUtilities;
-var OpenStudioEnergyPlus = require('OpenStudioEnergyPlus');
-if (typeof OpenStudioEnergyPlus.OpenStudioEnergyPlus != 'undefined') OpenStudioEnergyPlus = OpenStudioEnergyPlus.OpenStudioEnergyPlus;
-var OpenStudioRadiance = require('OpenStudioRadiance');
-if (typeof OpenStudioRadiance.OpenStudioRadiance != 'undefined') OpenStudioRadiance = OpenStudioRadiance.OpenStudioRadiance;
-var OpenStudioGBXML = require('OpenStudioGBXML');
-if (typeof OpenStudioGBXML.OpenStudioGBXML != 'undefined') OpenStudioGBXML = OpenStudioGBXML.OpenStudioGBXML;
-var OpenStudioModelCore = require('OpenStudioModelCore');
-if (typeof OpenStudioModelCore.OpenStudioModelCore != 'undefined') OpenStudioModelCore = OpenStudioModelCore.OpenStudioModelCore;
-var OpenStudioModelGeometry = require('OpenStudioModelGeometry');
-if (typeof OpenStudioModelGeometry.OpenStudioModelGeometry != 'undefined') OpenStudioModelGeometry = OpenStudioModelGeometry.OpenStudioModelGeometry;
-var OpenStudioModelSimulation = require('OpenStudioModelSimulation');
-if (typeof OpenStudioModelSimulation.OpenStudioModelSimulation != 'undefined') OpenStudioModelSimulation = OpenStudioModelSimulation.OpenStudioModelSimulation;
-var OpenStudioModelResources = require('OpenStudioModelResources');
-if (typeof OpenStudioModelResources.OpenStudioModelResources != 'undefined') OpenStudioModelResources = OpenStudioModelResources.OpenStudioModelResources;
-var OpenStudioModelHVAC = require('OpenStudioModelHVAC');
-if (typeof OpenStudioModelHVAC.OpenStudioModelHVAC != 'undefined') OpenStudioModelHVAC = OpenStudioModelHVAC.OpenStudioModelHVAC;
-var OpenStudioModel = require('OpenStudioModel');
-if (typeof OpenStudioModel.OpenStudioModel != 'undefined') OpenStudioModel = OpenStudioModel.OpenStudioModel;
-var OpenStudioOSVersion = require('OpenStudioOSVersion');
-if (typeof OpenStudioOSVersion.OpenStudioOSVersion != 'undefined') OpenStudioOSVersion = OpenStudioOSVersion.OpenStudioOSVersion;
-var OpenStudioMeasure = require('OpenStudioMeasure');
-if (typeof OpenStudioMeasure.OpenStudioMeasure != 'undefined') OpenStudioMeasure = OpenStudioMeasure.OpenStudioMeasure;
-var OpenStudioISOModel = require('OpenStudioISOModel');
-if (typeof OpenStudioISOModel.OpenStudioISOModel != 'undefined') OpenStudioISOModel = OpenStudioISOModel.OpenStudioISOModel;
-var OpenStudioRunManager = require('OpenStudioRunManager');
-if (typeof OpenStudioRunManager.OpenStudioRunManager != 'undefined') OpenStudioRunManager = OpenStudioRunManager.OpenStudioRunManager;
-var OpenStudioProject = require('OpenStudioProject');
-if (typeof OpenStudioProject.OpenStudioProject != 'undefined') OpenStudioProject = OpenStudioProject.OpenStudioProject;
-var OpenStudioAnalysisDriver = require('OpenStudioAnalysisDriver');
-if (typeof OpenStudioAnalysisDriver.OpenStudioAnalysisDriver != 'undefined') OpenStudioAnalysisDriver = OpenStudioAnalysisDriver.OpenStudioAnalysisDriver;
-//    var OpenStudioModelEditor = require('OpenStudioModelEditor');
-//if (typeof OpenStudioModelEditor.OpenStudioModelEditor != 'undefined') OpenStudioModelEditor = OpenStudioModelEditor.OpenStudioModelEditor;
-var OpenStudioAnalysis = require('OpenStudioAnalysis');
-if (typeof OpenStudioAnalysis.OpenStudioAnalysis != 'undefined') OpenStudioAnalysis = OpenStudioAnalysis.OpenStudioAnalysis;
-var OpenStudioLib = require('OpenStudioLib');
-if (typeof OpenStudioLib.OpenStudioLib != 'undefined') OpenStudioLib = OpenStudioLib.OpenStudioLib;
-//    var OpenStudioPlugin = require('OpenStudioPlugin');
-//if (typeof OpenStudioPlugin.OpenStudioPlugin != 'undefined') OpenStudioPlugin = OpenStudioPlugin.OpenStudioPlugin;
-
-
-openstudio = OpenStudioUtilitiesCore;
-openstudio = merge_objects(openstudio, OpenStudioUtilitiesEconomics);
-openstudio = merge_objects(openstudio, OpenStudioUtilitiesTime);
-openstudio = merge_objects(openstudio, OpenStudioUtilitiesData);
-openstudio = merge_objects(openstudio, OpenStudioUtilitiesPlot);
-openstudio = merge_objects(openstudio, OpenStudioUtilitiesGeometry);
-openstudio = merge_objects(openstudio, OpenStudioUtilitiesSql);
-openstudio = merge_objects(openstudio, OpenStudioUtilitiesBCL);
-openstudio = merge_objects(openstudio, OpenStudioUtilitiesUnits);
-openstudio = merge_objects(openstudio, OpenStudioUtilitiesIdd);
-openstudio = merge_objects(openstudio, OpenStudioUtilitiesIdf);
-openstudio = merge_objects(openstudio, OpenStudioUtilitiesFileTypes);
-openstudio = merge_objects(openstudio, OpenStudioUtilities);
-
-openstudio.energyplus = OpenStudioEnergyPlus;
-
-openstudio.radiance = OpenStudioRadiance;
-
-openstudio.gbxml = OpenStudioGBXML;
-
-openstudio.model = OpenStudioModelCore
-openstudio.model = merge_objects(openstudio.model, OpenStudioModelGeometry);
-openstudio.model = merge_objects(openstudio.model, OpenStudioModelSimulation);
-openstudio.model = merge_objects(openstudio.model, OpenStudioModelResources);
-openstudio.model = merge_objects(openstudio.model, OpenStudioModelHVAC);
-openstudio.model = merge_objects(openstudio.model, OpenStudioModel);
-
-openstudio.osversion = OpenStudioOSVersion;
-
-openstudio.measure = OpenStudioMeasure;
-
-openstudio.isomodel = OpenStudioISOModel;
-
-openstudio.runmanager = OpenStudioRunManager;
-
-openstudio.project = OpenStudioProject;
-
-openstudio.analsysdriver = OpenStudioAnalysisDriver;
-
-//openstudio.modeleditor = OpenStudioModelEditor;
-
-openstudio.analysis = OpenStudioAnalysis;
-
-openstudio.openstudiolib = OpenStudioLib;
-
-//openstudio.openstudioplugin = OpenStudioPlugin;
-
-
-exports.openstudio = openstudio;
-
-
diff --git a/v8-node/README.txt b/v8-node/README.txt
deleted file mode 100644
index f5b7ffca31c..00000000000
--- a/v8-node/README.txt
+++ /dev/null
@@ -1,123 +0,0 @@
--------- NOTES --------
-
-New CMAKE Build Options added
-  BUILD_V8_BINDINGS - Builds SWIG Bindings for V8
-  BUILD_NODE_MODULES
-    Builds the V8 bindings specifically as Node loadable add-ons and enabled v8 unit tests.
-    If disabled libraries are generated and built but are untested since V8 does
-      not provide any kind of module loader or cli.
-    Enables internal features of SWIG-V8 module to ensure backward compatibility
-      with older version of V8 that is shipped with Node.js
-  BUILD_NODE - Downloads and builds Node.js into Node-prefix folder. After
-    compilation uses npm to install jasmine-node
-  BUILD_V8 - Checks out and builds V8 as of 3/16/2013 into V8-prefix folder
-
-Generated libraries are in OSCore-prefix/src/OSCore-build/Products/v8
-
-Tests exist in two locations.
-  Simple assertions using the Node.js assert library are in openstudiocore/v8-node/test
-  node-jasmine based tests are in openstudiocore/v8-node/jasmine
-  The number of "gotchas" that needed to be address with unit tests where few
-    exceptions - this is just to ensure that exception handling is working. All
-      C++ exceptions are translated into simple v8 exceptions which can be caught in
-      the javascript
-    optionals - there was no problem with the implementation, but it's the least
-      expected part of the OpenStudio API, I wanted to make sure it was working
-    inheritance - Some issues were discovered relating to calling inherited
-      functions and passing derived objects to function
-
-Addressing Node's local-context when loading modules
-  The modules now use the global v8 context to find each other in a SWIG-friendly manner
-  A helper script, openstudiocore/v8-node/OpenStudio.js loads the libraries in
-    proper order and fixes them into something that user might expect
-
-Disabled libraries
-  OpenStudioLib
-  OpenStudioModelEditor
-  OpenStudioPlugin
-  Each has been disabled because they provide no real functionality to the
-    scripting user and disabling them decreases module load time
-
-Known issues
-  MacOS: Building on MacOS currently requires autoconf to be installed since we
-    are building SWIG from git. A source package can be made without much
-    difficulty.
-
--------- BUILDING ---------
-
-The recommended configuration for building and testing is, using CMake,
-enable:
-
-BUILD_V8_BINDINGS - Enables the V8 bindings
-BUILD_NODE_MODULES - Enables V8 bindings as Node addons
-BUILD_NODE - Downloads and compiles node to be used locally
-BUILD_SWIG - Clones the latest Git SWIG from https://github.com/lefticus/swig-v8 with V8 Support
-BUILD_TESTING - Enables testing
-
-
-make -j<number of cpus>
-
-There is a lot of code to compile and it can take some time. If you did not
-already have an appropriate version of Qt and Boost installed it will build
-and install them for local use as well.
-
--------- RUNNING TESTS ---------
-
-If OpenStudio was compiled with testing enabled, the tests can be run two
-different ways:
-
-cd <builddir>/OSCore-prefix/src/OSCore-build
-
-
-make test # Runs all tests
-
-- or -
-
-ctest # Runs all tests
-
-
-
-ctest can be further refined with regular expressions. Run run only the v8
-tests:
-
-ctest -R V8
-
-
-
--------- CHANGES REQUIRED TO GET V8 WORKING --------
-
-The changes required from the OpenStudio side were rather minimal
-
-CMakeLists.txt  - updated to include the switches mentioned in the first section of this document
-openstudiocore/CMakeLists.txt  - updated to include the switches mentioned in the first section of this document
-openstudiocore/v8-node  - This directory with associated tests and the OpenStudio.js file was added
-openstudiocore/ProjectMacros.cmake   - updated to create SWIG V8 bindings in addition to the existing .NET, Ruby and Python bindings macros
-openstudiocore/model/Model*.i : updated to reorganize some class definitions to make sure they are available at the correct time
-openstudiocore/utilities/core/Exception.i  - Exception handling for V8 SWIG was enabled
-openstudiocore/utilities/core/Path.i - Path construction helper code was added
-openstudiocore/utilities/core/UUID.i : destructor was made public
-openstudiocore/utilities/core/v8/LanguageSpecific.i  - added which fixes up some v8 specific things including adding operator overload
-                                                     aliases. The aliases are not pretty, but at least the are available since
-                                                     operator overloading does not exist in JavaScript.
-openstudiocore/utilities/idf/idf.i : set and map of UUID were updated from the typed alias of Handle.
-
-
-The majority of the work required was in the SWIG V8 code wrapper generator.
-
-
-Specifically:
-
-  - Fix handling of overloaded method names in different classes
-  - Make sure install grabs v8 swig files as well
-  - Fix incorrect include of stdexcept in std_pair.i for javascript v8
-  - Fix compiling of returning of const std::string &
-  - Add support for %begin section in javascript/v8 module
-  - More tightly integrate Node.i (For support of generating Node add-ons)
-  - Clean up init call name in Node implementation
-  - Better integrate Node.js and fix emitting of inheritance when base class
-      is not defined in current module
-  - Support intermodule dependencies for V8
-  - Support the latest revision of v8 while still working with Node
-  - Fix type checking. Inspiration was taken from the Ruby SWIG Module
-
-These changes are tracked and available at https://github.com/lefticus/swig-v8
diff --git a/v8-node/jasmine/runmanager/createmodel_spec.js b/v8-node/jasmine/runmanager/createmodel_spec.js
deleted file mode 100644
index 62a4eef7c89..00000000000
--- a/v8-node/jasmine/runmanager/createmodel_spec.js
+++ /dev/null
@@ -1,1231 +0,0 @@
-var openstudio = require('../../OpenStudio.js').openstudio;
-
-
-function addExampleSchedules(model) {
-
-  // nice to pre-define Temperature limits because default limits do not provide bounds
-  var temperatureLimits = new openstudio.model.ScheduleTypeLimits(model);
-  temperatureLimits.setName("Temperature");
-  temperatureLimits.setLowerLimitValue(-60.0);
-  temperatureLimits.setUpperLimitValue(200.0);
-  temperatureLimits.setNumericType("CONTINUOUS");
-  temperatureLimits.setUnitType("Temperature");
-
-  var defaultScheduleSet = new openstudio.model.DefaultScheduleSet(model);
-  defaultScheduleSet.setName("Default Schedules");
-
-  var numberOfPeopleSchedule = new openstudio.model.ScheduleRuleset(model);
-  numberOfPeopleSchedule.setName("Medium Office Number of People Schedule");
-  numberOfPeopleSchedule.defaultDaySchedule().setName("Medium Office Number of People All Other Days Schedule");
-  var numberOfPeopleSummerDesignDay = new openstudio.model.ScheduleDay(model);
-  numberOfPeopleSummerDesignDay.setName("Medium Office Number of People Summer Design Day Schedule");
-  numberOfPeopleSummerDesignDay.clearValues();
-  numberOfPeopleSummerDesignDay.addValue(new openstudio.Time(0,6,0,0),0.0);
-  numberOfPeopleSummerDesignDay.addValue(new openstudio.Time(0,22,0,0),1.0);
-  numberOfPeopleSummerDesignDay.addValue(new openstudio.Time(0,24,0,0),0.05);
-  numberOfPeopleSchedule.setSummerDesignDaySchedule(numberOfPeopleSummerDesignDay);
-  var numberOfPeopleWeekdaysRule = new openstudio.model.ScheduleRule(numberOfPeopleSchedule);
-  numberOfPeopleWeekdaysRule.setName("Medium Office Number of People Schedule Weekdays Rule");
-  numberOfPeopleWeekdaysRule.setApplyMonday(true);
-  numberOfPeopleWeekdaysRule.setApplyTuesday(true);
-  numberOfPeopleWeekdaysRule.setApplyWednesday(true);
-  numberOfPeopleWeekdaysRule.setApplyThursday(true);
-  numberOfPeopleWeekdaysRule.setApplyFriday(true);
-  numberOfPeopleWeekdaysRule.daySchedule().setName("Medium Office Number of People Weekdays Schedule");
-  numberOfPeopleWeekdaysRule.daySchedule().clearValues();
-  numberOfPeopleWeekdaysRule.daySchedule().addValue(new openstudio.Time(0,6,0,0),0.0);
-  numberOfPeopleWeekdaysRule.daySchedule().addValue(new openstudio.Time(0,7,0,0),0.1);
-  numberOfPeopleWeekdaysRule.daySchedule().addValue(new openstudio.Time(0,8,0,0),0.2);
-  numberOfPeopleWeekdaysRule.daySchedule().addValue(new openstudio.Time(0,12,0,0),0.95);
-  numberOfPeopleWeekdaysRule.daySchedule().addValue(new openstudio.Time(0,13,0,0),0.5);
-  numberOfPeopleWeekdaysRule.daySchedule().addValue(new openstudio.Time(0,17,0,0),0.95);
-  numberOfPeopleWeekdaysRule.daySchedule().addValue(new openstudio.Time(0,18,0,0),0.7);
-  numberOfPeopleWeekdaysRule.daySchedule().addValue(new openstudio.Time(0,20,0,0),0.4);
-  numberOfPeopleWeekdaysRule.daySchedule().addValue(new openstudio.Time(0,22,0,0),0.1);
-  numberOfPeopleWeekdaysRule.daySchedule().addValue(new openstudio.Time(0,24,0,0),0.05);
-  var numberOfPeopleSaturdayRule = new openstudio.model.ScheduleRule(numberOfPeopleSchedule);
-  numberOfPeopleSaturdayRule.setName("Medium Office Number of People Schedule Saturday Rule");
-  numberOfPeopleSaturdayRule.setApplySaturday(true);
-  numberOfPeopleSaturdayRule.daySchedule().setName("Medium Office Number of People Saturday Schedule");
-  numberOfPeopleSaturdayRule.daySchedule().clearValues();
-  numberOfPeopleSaturdayRule.daySchedule().addValue(new openstudio.Time(0,6,0,0),0.0);
-  numberOfPeopleSaturdayRule.daySchedule().addValue(new openstudio.Time(0,8,0,0),0.1);
-  numberOfPeopleSaturdayRule.daySchedule().addValue(new openstudio.Time(0,14,0,0),0.5);
-  numberOfPeopleSaturdayRule.daySchedule().addValue(new openstudio.Time(0,17,0,0),0.1);
-  numberOfPeopleSaturdayRule.daySchedule().addValue(new openstudio.Time(0,24,0,0),0.0);
-
-  defaultScheduleSet.setNumberofPeopleSchedule(numberOfPeopleSchedule);
-  
-  var peopleActivityLevelSchedule = new openstudio.model.ScheduleRuleset(model);
-  peopleActivityLevelSchedule.setName("Medium Office People Activity Level Schedule");
-  peopleActivityLevelSchedule.defaultDaySchedule().setName("Medium Office People Activity Level All Days Schedule");
-  peopleActivityLevelSchedule.defaultDaySchedule().clearValues();
-  peopleActivityLevelSchedule.defaultDaySchedule().addValue(new openstudio.Time(0,24,0,0),120.0);
-
-  defaultScheduleSet.setPeopleActivityLevelSchedule(peopleActivityLevelSchedule);
-  
-  var lightingSchedule = new openstudio.model.ScheduleRuleset(model);
-  lightingSchedule.setName("Medium Office Lighting Schedule");
-  lightingSchedule.defaultDaySchedule().setName("Medium Office Lighting All Other Days Schedule");
-  lightingSchedule.defaultDaySchedule().clearValues();
-  lightingSchedule.defaultDaySchedule().addValue(new openstudio.Time(0,24,0,0),0.05);
-  var lightingSummerDesignDay = new openstudio.model.ScheduleDay(model);
-  lightingSummerDesignDay.setName("Medium Office Lighting Summer Design Day Schedule");
-  lightingSummerDesignDay.clearValues();
-  lightingSummerDesignDay.addValue(new openstudio.Time(0,6,0,0),1.0);
-  lightingSchedule.setSummerDesignDaySchedule(lightingSummerDesignDay);
-  var lightingWinterDesignDay = new openstudio.model.ScheduleDay(model);
-  lightingWinterDesignDay.setName("Medium Office Lighting Winter Design Day Schedule");
-  lightingSchedule.setWinterDesignDaySchedule(lightingWinterDesignDay);
-  var lightingWeekdaysRule = new openstudio.model.ScheduleRule(lightingSchedule);
-  lightingWeekdaysRule.setName("Medium Office Lighting Schedule Weekdays Rule");
-  lightingWeekdaysRule.setApplyMonday(true);
-  lightingWeekdaysRule.setApplyTuesday(true);
-  lightingWeekdaysRule.setApplyWednesday(true);
-  lightingWeekdaysRule.setApplyThursday(true);
-  lightingWeekdaysRule.setApplyFriday(true);
-  lightingWeekdaysRule.daySchedule().setName("Medium Office Lighting Weekdays Schedule");
-  lightingWeekdaysRule.daySchedule().clearValues();
-  lightingWeekdaysRule.daySchedule().addValue(new openstudio.Time(0,5,0,0),0.05);
-  lightingWeekdaysRule.daySchedule().addValue(new openstudio.Time(0,7,0,0),0.1);
-  lightingWeekdaysRule.daySchedule().addValue(new openstudio.Time(0,8,0,0),0.3);
-  lightingWeekdaysRule.daySchedule().addValue(new openstudio.Time(0,17,0,0),0.9);
-  lightingWeekdaysRule.daySchedule().addValue(new openstudio.Time(0,18,0,0),0.7);
-  lightingWeekdaysRule.daySchedule().addValue(new openstudio.Time(0,20,0,0),0.5);
-  lightingWeekdaysRule.daySchedule().addValue(new openstudio.Time(0,22,0,0),0.3);
-  lightingWeekdaysRule.daySchedule().addValue(new openstudio.Time(0,23,0,0),0.1);
-  lightingWeekdaysRule.daySchedule().addValue(new openstudio.Time(0,24,0,0),0.05);
-  var lightingSaturdayRule = new openstudio.model.ScheduleRule(lightingSchedule);
-  lightingSaturdayRule.setName("Medium Office Lighting Schedule Saturday Rule");
-  lightingSaturdayRule.setApplySaturday(true);
-  lightingSaturdayRule.daySchedule().setName("Medium Office Lighting Saturday Schedule");
-  lightingSaturdayRule.daySchedule().clearValues();
-  lightingSaturdayRule.daySchedule().addValue(new openstudio.Time(0,6,0,0),0.05);
-  lightingSaturdayRule.daySchedule().addValue(new openstudio.Time(0,8,0,0),0.1);
-  lightingSaturdayRule.daySchedule().addValue(new openstudio.Time(0,14,0,0),0.5);
-  lightingSaturdayRule.daySchedule().addValue(new openstudio.Time(0,17,0,0),0.15);
-  lightingSaturdayRule.daySchedule().addValue(new openstudio.Time(0,24,0,0),0.05);
-
-  defaultScheduleSet.setLightingSchedule(lightingSchedule);
-  
-  var electricEquipmentSchedule = new openstudio.model.ScheduleRuleset(model);
-  electricEquipmentSchedule.setName("Medium Office Electric Equipment Schedule");
-  electricEquipmentSchedule.defaultDaySchedule().setName("Medium Office Electric Equipment All Other Days Schedule");
-  electricEquipmentSchedule.defaultDaySchedule().clearValues();
-  electricEquipmentSchedule.defaultDaySchedule().addValue(new openstudio.Time(0,24,0,0),0.3);
-  var electricEquipmentSummerDesignDay = new openstudio.model.ScheduleDay(model);
-  electricEquipmentSummerDesignDay.setName("Medium Office Electric Equipment Summer Design Day Schedule");
-  electricEquipmentSummerDesignDay.clearValues();
-  electricEquipmentSummerDesignDay.addValue(new openstudio.Time(0,6,0,0),1.0);
-  electricEquipmentSchedule.setSummerDesignDaySchedule(electricEquipmentSummerDesignDay);
-  var electricEquipmentWinterDesignDay = new openstudio.model.ScheduleDay(model);
-  electricEquipmentWinterDesignDay.setName("Medium Office Electric Equipment Winter Design Day Schedule");
-  electricEquipmentSchedule.setWinterDesignDaySchedule(electricEquipmentWinterDesignDay);
-  var electricEquipmentWeekdaysRule = new openstudio.model.ScheduleRule(electricEquipmentSchedule);
-  electricEquipmentWeekdaysRule.setName("Medium Office Electric Equipment Schedule Weekdays Rule");
-  electricEquipmentWeekdaysRule.setApplyMonday(true);
-  electricEquipmentWeekdaysRule.setApplyTuesday(true);
-  electricEquipmentWeekdaysRule.setApplyWednesday(true);
-  electricEquipmentWeekdaysRule.setApplyThursday(true);
-  electricEquipmentWeekdaysRule.setApplyFriday(true);
-  electricEquipmentWeekdaysRule.daySchedule().setName("Medium Office Electric Equipment Weekdays Schedule");
-  electricEquipmentWeekdaysRule.daySchedule().clearValues();
-  electricEquipmentWeekdaysRule.daySchedule().addValue(new openstudio.Time(0,8,0,0),0.4);
-  electricEquipmentWeekdaysRule.daySchedule().addValue(new openstudio.Time(0,12,0,0),0.9);
-  electricEquipmentWeekdaysRule.daySchedule().addValue(new openstudio.Time(0,13,0,0),0.8);
-  electricEquipmentWeekdaysRule.daySchedule().addValue(new openstudio.Time(0,17,0,0),0.9);
-  electricEquipmentWeekdaysRule.daySchedule().addValue(new openstudio.Time(0,18,0,0),0.8);
-  electricEquipmentWeekdaysRule.daySchedule().addValue(new openstudio.Time(0,20,0,0),0.6);
-  electricEquipmentWeekdaysRule.daySchedule().addValue(new openstudio.Time(0,22,0,0),0.5);
-  electricEquipmentWeekdaysRule.daySchedule().addValue(new openstudio.Time(0,24,0,0),0.4);
-  var electricEquipmentSaturdayRule = new openstudio.model.ScheduleRule(electricEquipmentSchedule);
-  electricEquipmentSaturdayRule.setName("Medium Office Electric Equipment Schedule Saturday Rule");
-  electricEquipmentSaturdayRule.setApplySaturday(true);
-  electricEquipmentSaturdayRule.daySchedule().setName("Medium Office Electric Equipment Saturday Schedule");
-  electricEquipmentSaturdayRule.daySchedule().clearValues();
-  electricEquipmentSaturdayRule.daySchedule().addValue(new openstudio.Time(0,6,0,0),0.3);
-  electricEquipmentSaturdayRule.daySchedule().addValue(new openstudio.Time(0,8,0,0),0.4);
-  electricEquipmentSaturdayRule.daySchedule().addValue(new openstudio.Time(0,14,0,0),0.5);
-  electricEquipmentSaturdayRule.daySchedule().addValue(new openstudio.Time(0,17,0,0),0.35);
-  electricEquipmentSaturdayRule.daySchedule().addValue(new openstudio.Time(0,24,0,0),0.3);
-
-  defaultScheduleSet.setElectricEquipmentSchedule(electricEquipmentSchedule);
-  
-  var gasEquipmentSchedule = new openstudio.model.ScheduleRuleset(model);
-  gasEquipmentSchedule.setName("Medium Office Gas Equipment Schedule");
-  gasEquipmentSchedule.defaultDaySchedule().setName("Medium Office Gas Equipment All Other Days Schedule");
-  gasEquipmentSchedule.defaultDaySchedule().clearValues();
-  gasEquipmentSchedule.defaultDaySchedule().addValue(new openstudio.Time(0,24,0,0),0.3);
-  var gasEquipmentSummerDesignDay = new openstudio.model.ScheduleDay(model);
-  gasEquipmentSummerDesignDay.setName("Medium Office Gas Equipment Summer Design Day Schedule");
-  gasEquipmentSummerDesignDay.clearValues();
-  gasEquipmentSummerDesignDay.addValue(new openstudio.Time(0,6,0,0),1.0);
-  gasEquipmentSchedule.setSummerDesignDaySchedule(gasEquipmentSummerDesignDay);
-  var gasEquipmentWinterDesignDay = new openstudio.model.ScheduleDay(model);
-  gasEquipmentWinterDesignDay.setName("Medium Office Gas Equipment Winter Design Day Schedule");
-  gasEquipmentSchedule.setWinterDesignDaySchedule(gasEquipmentWinterDesignDay);
-  var gasEquipmentWeekdaysRule = new openstudio.model.ScheduleRule(gasEquipmentSchedule);
-  gasEquipmentWeekdaysRule.setName("Medium Office Gas Equipment Schedule Weekdays Rule");
-  gasEquipmentWeekdaysRule.setApplyMonday(true);
-  gasEquipmentWeekdaysRule.setApplyTuesday(true);
-  gasEquipmentWeekdaysRule.setApplyWednesday(true);
-  gasEquipmentWeekdaysRule.setApplyThursday(true);
-  gasEquipmentWeekdaysRule.setApplyFriday(true);
-  gasEquipmentWeekdaysRule.daySchedule().setName("Medium Office Gas Equipment Weekdays Schedule");
-  gasEquipmentWeekdaysRule.daySchedule().clearValues();
-  gasEquipmentWeekdaysRule.daySchedule().addValue(new openstudio.Time(0,8,0,0),0.4);
-  gasEquipmentWeekdaysRule.daySchedule().addValue(new openstudio.Time(0,12,0,0),0.9);
-  gasEquipmentWeekdaysRule.daySchedule().addValue(new openstudio.Time(0,13,0,0),0.8);
-  gasEquipmentWeekdaysRule.daySchedule().addValue(new openstudio.Time(0,17,0,0),0.9);
-  gasEquipmentWeekdaysRule.daySchedule().addValue(new openstudio.Time(0,18,0,0),0.8);
-  gasEquipmentWeekdaysRule.daySchedule().addValue(new openstudio.Time(0,20,0,0),0.6);
-  gasEquipmentWeekdaysRule.daySchedule().addValue(new openstudio.Time(0,22,0,0),0.5);
-  gasEquipmentWeekdaysRule.daySchedule().addValue(new openstudio.Time(0,24,0,0),0.4);
-  var gasEquipmentSaturdayRule = new openstudio.model.ScheduleRule(gasEquipmentSchedule);
-  gasEquipmentSaturdayRule.setName("Medium Office Gas Equipment Schedule Saturday Rule");
-  gasEquipmentSaturdayRule.setApplySaturday(true);
-  gasEquipmentSaturdayRule.daySchedule().setName("Medium Office Gas Equipment Saturday Schedule");
-  gasEquipmentSaturdayRule.daySchedule().clearValues();
-  gasEquipmentSaturdayRule.daySchedule().addValue(new openstudio.Time(0,6,0,0),0.3);
-  gasEquipmentSaturdayRule.daySchedule().addValue(new openstudio.Time(0,8,0,0),0.4);
-  gasEquipmentSaturdayRule.daySchedule().addValue(new openstudio.Time(0,14,0,0),0.5);
-  gasEquipmentSaturdayRule.daySchedule().addValue(new openstudio.Time(0,17,0,0),0.35);
-  gasEquipmentSaturdayRule.daySchedule().addValue(new openstudio.Time(0,24,0,0),0.3);  
-
-  defaultScheduleSet.setGasEquipmentSchedule(gasEquipmentSchedule);
-  
-  var hotWaterEquipmentSchedule = new openstudio.model.ScheduleRuleset(model);
-  hotWaterEquipmentSchedule.setName("Medium Office Hot Water Equipment Schedule");
-  hotWaterEquipmentSchedule.defaultDaySchedule().setName("Medium Office Hot Water Equipment Default Schedule");
-  hotWaterEquipmentSchedule.defaultDaySchedule().clearValues();
-  hotWaterEquipmentSchedule.defaultDaySchedule().addValue(new openstudio.Time(0,5,0,0),0.04);
-  hotWaterEquipmentSchedule.defaultDaySchedule().addValue(new openstudio.Time(0,6,0,0),0.07);
-  hotWaterEquipmentSchedule.defaultDaySchedule().addValue(new openstudio.Time(0,11,0,0),0.04);
-  hotWaterEquipmentSchedule.defaultDaySchedule().addValue(new openstudio.Time(0,13,0,0),0.06);
-  hotWaterEquipmentSchedule.defaultDaySchedule().addValue(new openstudio.Time(0,14,0,0),0.09);
-  hotWaterEquipmentSchedule.defaultDaySchedule().addValue(new openstudio.Time(0,15,0,0),0.06);
-  hotWaterEquipmentSchedule.defaultDaySchedule().addValue(new openstudio.Time(0,21,0,0),0.04);
-  hotWaterEquipmentSchedule.defaultDaySchedule().addValue(new openstudio.Time(0,22,0,0),0.07);
-  hotWaterEquipmentSchedule.defaultDaySchedule().addValue(new openstudio.Time(0,24,0,0),0.04);
-  var hotWaterEquipmentSummerDesignDay = new openstudio.model.ScheduleDay(model);
-  hotWaterEquipmentSummerDesignDay.setName("Medium Office Hot Water Equipment Summer Design Day Schedule");
-  hotWaterEquipmentSummerDesignDay.clearValues();
-  hotWaterEquipmentSummerDesignDay.addValue(new openstudio.Time(0,5,0,0),0.05);
-  hotWaterEquipmentSummerDesignDay.addValue(new openstudio.Time(0,6,0,0),0.08);
-  hotWaterEquipmentSummerDesignDay.addValue(new openstudio.Time(0,7,0,0),0.07);
-  hotWaterEquipmentSummerDesignDay.addValue(new openstudio.Time(0,8,0,0),0.19);
-  hotWaterEquipmentSummerDesignDay.addValue(new openstudio.Time(0,9,0,0),0.35);
-  hotWaterEquipmentSummerDesignDay.addValue(new openstudio.Time(0,10,0,0),0.38);
-  hotWaterEquipmentSummerDesignDay.addValue(new openstudio.Time(0,11,0,0),0.39);
-  hotWaterEquipmentSummerDesignDay.addValue(new openstudio.Time(0,12,0,0),0.47);
-  hotWaterEquipmentSummerDesignDay.addValue(new openstudio.Time(0,13,0,0),0.57);
-  hotWaterEquipmentSummerDesignDay.addValue(new openstudio.Time(0,14,0,0),0.54);
-  hotWaterEquipmentSummerDesignDay.addValue(new openstudio.Time(0,15,0,0),0.34);
-  hotWaterEquipmentSummerDesignDay.addValue(new openstudio.Time(0,16,0,0),0.33);
-  hotWaterEquipmentSummerDesignDay.addValue(new openstudio.Time(0,17,0,0),0.44);
-  hotWaterEquipmentSummerDesignDay.addValue(new openstudio.Time(0,18,0,0),0.26);
-  hotWaterEquipmentSummerDesignDay.addValue(new openstudio.Time(0,19,0,0),0.21);
-  hotWaterEquipmentSummerDesignDay.addValue(new openstudio.Time(0,20,0,0),0.15);
-  hotWaterEquipmentSummerDesignDay.addValue(new openstudio.Time(0,21,0,0),0.17);
-  hotWaterEquipmentSummerDesignDay.addValue(new openstudio.Time(0,22,0,0),0.08);
-  hotWaterEquipmentSummerDesignDay.addValue(new openstudio.Time(0,24,0,0),0.05);
-  hotWaterEquipmentSchedule.setSummerDesignDaySchedule(hotWaterEquipmentSummerDesignDay);
-  var hotWaterEquipmentWeekdaysRule = new openstudio.model.ScheduleRule(hotWaterEquipmentSchedule,hotWaterEquipmentSummerDesignDay);
-  hotWaterEquipmentWeekdaysRule.setName("Medium Office Hot Water Schedule Weekdays Rule");
-  hotWaterEquipmentWeekdaysRule.setApplyMonday(true);
-  hotWaterEquipmentWeekdaysRule.setApplyTuesday(true);
-  hotWaterEquipmentWeekdaysRule.setApplyWednesday(true);
-  hotWaterEquipmentWeekdaysRule.setApplyThursday(true);
-  hotWaterEquipmentWeekdaysRule.setApplyFriday(true);
-  hotWaterEquipmentWeekdaysRule.daySchedule().setName("Medium Office Hot Water Equipment Weekdays Schedule");
-  var hotWaterEquipmentWinterDesignDay = new openstudio.model.ScheduleDay(model);
-  hotWaterEquipmentWinterDesignDay.setName("Medium Office Hot Water Equipment Winter Design Day Schedule");
-  hotWaterEquipmentWinterDesignDay.clearValues();
-  hotWaterEquipmentWinterDesignDay.addValue(new openstudio.Time(0,5,0,0),0.05);
-  hotWaterEquipmentWinterDesignDay.addValue(new openstudio.Time(0,6,0,0),0.08);
-  hotWaterEquipmentWinterDesignDay.addValue(new openstudio.Time(0,7,0,0),0.07);
-  hotWaterEquipmentWinterDesignDay.addValue(new openstudio.Time(0,8,0,0),0.11);
-  hotWaterEquipmentWinterDesignDay.addValue(new openstudio.Time(0,9,0,0),0.15);
-  hotWaterEquipmentWinterDesignDay.addValue(new openstudio.Time(0,10,0,0),0.21);
-  hotWaterEquipmentWinterDesignDay.addValue(new openstudio.Time(0,11,0,0),0.19);
-  hotWaterEquipmentWinterDesignDay.addValue(new openstudio.Time(0,12,0,0),0.23);
-  hotWaterEquipmentWinterDesignDay.addValue(new openstudio.Time(0,13,0,0),0.20);
-  hotWaterEquipmentWinterDesignDay.addValue(new openstudio.Time(0,14,0,0),0.19);
-  hotWaterEquipmentWinterDesignDay.addValue(new openstudio.Time(0,15,0,0),0.15);
-  hotWaterEquipmentWinterDesignDay.addValue(new openstudio.Time(0,16,0,0),0.13);
-  hotWaterEquipmentWinterDesignDay.addValue(new openstudio.Time(0,17,0,0),0.14);
-  hotWaterEquipmentWinterDesignDay.addValue(new openstudio.Time(0,21,0,0),0.07);
-  hotWaterEquipmentWinterDesignDay.addValue(new openstudio.Time(0,22,0,0),0.09);
-  hotWaterEquipmentWinterDesignDay.addValue(new openstudio.Time(0,24,0,0),0.05);
-  hotWaterEquipmentSchedule.setWinterDesignDaySchedule(hotWaterEquipmentWinterDesignDay);
-  var hotWaterEquipmentSaturdayRule = new openstudio.model.ScheduleRule(hotWaterEquipmentSchedule,hotWaterEquipmentWinterDesignDay);
-  hotWaterEquipmentSaturdayRule.setName("Medium Office Hot Water Schedule Saturday Rule");
-  hotWaterEquipmentSaturdayRule.setApplySaturday(true);
-  hotWaterEquipmentSaturdayRule.daySchedule().setName("Medium Office Hot Water Equipment Saturday Schedule");  
-
-  defaultScheduleSet.setHotWaterEquipmentSchedule(hotWaterEquipmentSchedule);
-  
-  var infiltrationSchedule = new openstudio.model.ScheduleRuleset(model);
-  infiltrationSchedule.setName("Medium Office Infiltration Schedule");
-  infiltrationSchedule.defaultDaySchedule().setName("Medium Office Infiltration Default Schedule");
-  infiltrationSchedule.defaultDaySchedule().clearValues();
-  infiltrationSchedule.defaultDaySchedule().addValue(new openstudio.Time(0,24,0,0),1.0);
-  var infiltrationSummerDesignDay = new openstudio.model.ScheduleDay(model);
-  infiltrationSummerDesignDay.setName("Medium Office Infiltration Summer Design Day Schedule");
-  infiltrationSummerDesignDay.clearValues();
-  infiltrationSummerDesignDay.addValue(new openstudio.Time(0,6,0,0),1.0);
-  infiltrationSummerDesignDay.addValue(new openstudio.Time(0,22,0,0),0.25);
-  infiltrationSummerDesignDay.addValue(new openstudio.Time(0,24,0,0),1.0);
-  infiltrationSchedule.setSummerDesignDaySchedule(infiltrationSummerDesignDay);
-  var infiltrationWeekdaysRule = new openstudio.model.ScheduleRule(infiltrationSchedule,infiltrationSummerDesignDay);
-  infiltrationWeekdaysRule.setName("Medium Office Infiltration Schedule Weekdays Rule");
-  infiltrationWeekdaysRule.setApplyMonday(true);
-  infiltrationWeekdaysRule.setApplyTuesday(true);
-  infiltrationWeekdaysRule.setApplyWednesday(true);
-  infiltrationWeekdaysRule.setApplyThursday(true);
-  infiltrationWeekdaysRule.setApplyFriday(true);
-  infiltrationWeekdaysRule.daySchedule().setName("Medium Office Infiltration Weekdays Schedule");
-  var infiltrationWinterDesignDay = new openstudio.model.ScheduleDay(model);
-  infiltrationWinterDesignDay.setName("Medium Office Infiltration Winter Design Day Schedule");
-  infiltrationWinterDesignDay.clearValues();
-  infiltrationWinterDesignDay.addValue(new openstudio.Time(0,6,0,0),1.0);
-  infiltrationWinterDesignDay.addValue(new openstudio.Time(0,18,0,0),0.25);
-  infiltrationWinterDesignDay.addValue(new openstudio.Time(0,24,0,0),1.0);
-  infiltrationSchedule.setWinterDesignDaySchedule(infiltrationWinterDesignDay);
-  var infiltrationSaturdayRule = new openstudio.model.ScheduleRule(infiltrationSchedule,infiltrationWinterDesignDay);
-  infiltrationSaturdayRule.setName("Medium Office Infiltration Schedule Saturday Rule");
-  infiltrationSaturdayRule.setApplySaturday(true);
-  infiltrationSaturdayRule.daySchedule().setName("Medium Office Infiltration Saturday Schedule");  
-
-  defaultScheduleSet.setInfiltrationSchedule(infiltrationSchedule);
-  
-  var coolingSetpointSchedule = new openstudio.model.ScheduleRuleset(model);
-  coolingSetpointSchedule.setName("Medium Office Cooling Setpoint Schedule");
-  coolingSetpointSchedule.setScheduleTypeLimits(temperatureLimits);
-  coolingSetpointSchedule.defaultDaySchedule().setName("Medium Office Cooling Setpoint All Other Days Schedule");  
-  coolingSetpointSchedule.defaultDaySchedule().clearValues();
-  coolingSetpointSchedule.defaultDaySchedule().addValue(new openstudio.Time(0,24,0,0),26.7);
-  var coolingSetpointSummerDesignDay = new openstudio.model.ScheduleDay(model);
-  coolingSetpointSummerDesignDay.setName("Medium Office Cooling Setpoint Summer Design Day Schedule");
-  coolingSetpointSummerDesignDay.setScheduleTypeLimits(temperatureLimits);
-  coolingSetpointSummerDesignDay.clearValues();
-  coolingSetpointSummerDesignDay.addValue(new openstudio.Time(0,6,0,0),26.7);
-  coolingSetpointSummerDesignDay.addValue(new openstudio.Time(0,22,0,0),24.0);
-  coolingSetpointSummerDesignDay.addValue(new openstudio.Time(0,24,0,0),26.7);
-  coolingSetpointSchedule.setSummerDesignDaySchedule(coolingSetpointSummerDesignDay);
-  var coolingSetpointWeekdaysRule = new openstudio.model.ScheduleRule(coolingSetpointSchedule,coolingSetpointSummerDesignDay);
-  coolingSetpointWeekdaysRule.setName("Medium Office Cooling Setpoint Schedule Weekdays Rule");
-  coolingSetpointWeekdaysRule.setApplyMonday(true);
-  coolingSetpointWeekdaysRule.setApplyTuesday(true);
-  coolingSetpointWeekdaysRule.setApplyWednesday(true);
-  coolingSetpointWeekdaysRule.setApplyThursday(true);
-  coolingSetpointWeekdaysRule.setApplyFriday(true);
-  coolingSetpointWeekdaysRule.daySchedule().setName("Medium Office Cooling Setpoint Weekdays Schedule");
-  var coolingSetpointSaturdayRule = new openstudio.model.ScheduleRule(coolingSetpointSchedule);
-  coolingSetpointSaturdayRule.setName("Medium Office Cooling Setpoint Schedule Saturday Rule");
-  coolingSetpointSaturdayRule.setApplySaturday(true);
-  coolingSetpointSaturdayRule.daySchedule().setName("Medium Office Cooling Setpoint Saturday Schedule");
-  coolingSetpointSaturdayRule.daySchedule().clearValues();
-  coolingSetpointSaturdayRule.daySchedule().addValue(new openstudio.Time(0,6,0,0),26.7);
-  coolingSetpointSaturdayRule.daySchedule().addValue(new openstudio.Time(0,18,0,0),24.0);
-  coolingSetpointSaturdayRule.daySchedule().addValue(new openstudio.Time(0,24,0,0),26.7);
-    
-  var heatingSetpointSchedule = new openstudio.model.ScheduleRuleset(model);
-  heatingSetpointSchedule.setName("Medium Office Heating Setpoint Schedule");
-  heatingSetpointSchedule.setScheduleTypeLimits(temperatureLimits);
-  heatingSetpointSchedule.defaultDaySchedule().setName("Medium Office Heating Setpoint All Other Days Schedule");
-  heatingSetpointSchedule.defaultDaySchedule().clearValues();
-  heatingSetpointSchedule.defaultDaySchedule().addValue(new openstudio.Time(0,24,0,0),15.6);
-  var heatingSetpointWinterDesignDay = new openstudio.model.ScheduleDay(model);
-  heatingSetpointWinterDesignDay.setName("Medium Office Heating Setpoint Winter Design Day Schedule");
-  heatingSetpointWinterDesignDay.setScheduleTypeLimits(temperatureLimits);
-  heatingSetpointWinterDesignDay.clearValues();
-  heatingSetpointWinterDesignDay.addValue(new openstudio.Time(0,24,0,0),21.0);
-  heatingSetpointSchedule.setWinterDesignDaySchedule(heatingSetpointWinterDesignDay);
-  var heatingSetpointWeekdaysRule = new openstudio.model.ScheduleRule(heatingSetpointSchedule);
-  heatingSetpointWeekdaysRule.setName("Medium Office Heating Setpoint Schedule Weekdays Rule");
-  heatingSetpointWeekdaysRule.setApplyMonday(true);
-  heatingSetpointWeekdaysRule.setApplyTuesday(true);
-  heatingSetpointWeekdaysRule.setApplyWednesday(true);
-  heatingSetpointWeekdaysRule.setApplyThursday(true);
-  heatingSetpointWeekdaysRule.setApplyFriday(true);
-  heatingSetpointWeekdaysRule.daySchedule().setName("Medium Office Heating Setpoint Weekdays Schedule");
-  heatingSetpointWeekdaysRule.daySchedule().clearValues();
-  heatingSetpointWeekdaysRule.daySchedule().addValue(new openstudio.Time(0,6,0,0),15.6);
-  heatingSetpointWeekdaysRule.daySchedule().addValue(new openstudio.Time(0,22,0,0),21.0);
-  heatingSetpointWeekdaysRule.daySchedule().addValue(new openstudio.Time(0,24,0,0),15.6);
-  var heatingSetpointSaturdayRule = new openstudio.model.ScheduleRule(heatingSetpointSchedule);
-  heatingSetpointSaturdayRule.setName("Medium Office Heating Setpoint Schedule Saturday Rule");
-  heatingSetpointSaturdayRule.setApplySaturday(true);
-  heatingSetpointSaturdayRule.daySchedule().setName("Medium Office Heating Setpoint Saturday Schedule");
-  heatingSetpointSaturdayRule.daySchedule().clearValues();
-  heatingSetpointSaturdayRule.daySchedule().addValue(new openstudio.Time(0,6,0,0),15.6);
-  heatingSetpointSaturdayRule.daySchedule().addValue(new openstudio.Time(0,18,0,0),21.0);
-  heatingSetpointSaturdayRule.daySchedule().addValue(new openstudio.Time(0,24,0,0),15.6);
-}
-
-function addExampleConstructions(model) {
-
-  var defaultConstructions = new openstudio.model.DefaultConstructionSet(model);
-  defaultConstructions.setName("Default Constructions");
-  var exteriorSurfaceConstructions = new openstudio.model.DefaultSurfaceConstructions(model);
-  exteriorSurfaceConstructions.setName("Exterior Surface Constructions");
-  defaultConstructions.setDefaultExteriorSurfaceConstructions(exteriorSurfaceConstructions);
-  var interiorSurfaceConstructions = new openstudio.model.DefaultSurfaceConstructions(model);
-  interiorSurfaceConstructions.setName("Interior Surface Constructions");
-  defaultConstructions.setDefaultInteriorSurfaceConstructions(interiorSurfaceConstructions);
-  var groundContactSurfaceConstructions = new openstudio.model.DefaultSurfaceConstructions(model);
-  groundContactSurfaceConstructions.setName("Ground Contact Surface Constructions");
-  defaultConstructions.setDefaultGroundContactSurfaceConstructions(groundContactSurfaceConstructions);
-  var exteriorSubSurfaceConstructions = new openstudio.model.DefaultSubSurfaceConstructions(model);
-  exteriorSubSurfaceConstructions.setName("Exterior SubSurface Constructions");
-  defaultConstructions.setDefaultExteriorSubSurfaceConstructions(exteriorSubSurfaceConstructions);
-  var interiorSubSurfaceConstructions = new openstudio.model.DefaultSubSurfaceConstructions(model);
-  interiorSubSurfaceConstructions.setName("Interior SubSurface Constructions");
-  defaultConstructions.setDefaultInteriorSubSurfaceConstructions(interiorSubSurfaceConstructions);
-
-  var opaqueMaterials = new openstudio.model.OpaqueMaterialVector();
-
-  // Exterior Wall
-
-  var m01_100mm_brick = new openstudio.model.StandardOpaqueMaterial(model);
-  m01_100mm_brick.setName("M01 100mm brick");
-  m01_100mm_brick.setRoughness("MediumRough");
-  m01_100mm_brick.setThickness(0.1016);
-  m01_100mm_brick.setThermalConductivity(0.89);
-  m01_100mm_brick.setDensity(1920.0);
-  m01_100mm_brick.setSpecificHeat(790.0);
-
-  opaqueMaterials.add(m01_100mm_brick);
-
-  var m15_200mm_heavyweight_concrete = new openstudio.model.StandardOpaqueMaterial(model);
-  m15_200mm_heavyweight_concrete.setName("M15 200mm heavyweight concrete");
-  m15_200mm_heavyweight_concrete.setRoughness("MediumRough");
-  m15_200mm_heavyweight_concrete.setThickness(0.2032);
-  m15_200mm_heavyweight_concrete.setThermalConductivity(1.95);
-  m15_200mm_heavyweight_concrete.setDensity(2240.0);
-  m15_200mm_heavyweight_concrete.setSpecificHeat(900.0);
-
-  opaqueMaterials.add(m15_200mm_heavyweight_concrete);
-
-  var i02_50mm_insulation_board = new openstudio.model.StandardOpaqueMaterial(model);
-  i02_50mm_insulation_board.setName("I02 50mm insulation board");
-  i02_50mm_insulation_board.setRoughness("MediumRough");
-  i02_50mm_insulation_board.setThickness(0.0508);
-  i02_50mm_insulation_board.setThermalConductivity(0.03);
-  i02_50mm_insulation_board.setDensity(43.0);
-  i02_50mm_insulation_board.setSpecificHeat(1210.0);
-
-  opaqueMaterials.add(i02_50mm_insulation_board);
-
-  var f04_wall_air_space_resistance = new openstudio.model.AirGap(model);
-  f04_wall_air_space_resistance.setName("F04 Wall air space resistance");
-  f04_wall_air_space_resistance.setThermalResistance(0.15);
-
-  opaqueMaterials.add(f04_wall_air_space_resistance);
-
-  var g01a_19mm_gypsum_board = new openstudio.model.StandardOpaqueMaterial(model);
-  g01a_19mm_gypsum_board.setName("G01a 19mm gypsum board");
-  g01a_19mm_gypsum_board.setRoughness("MediumSmooth");
-  g01a_19mm_gypsum_board.setThickness(0.019);
-  g01a_19mm_gypsum_board.setThermalConductivity(0.16);
-  g01a_19mm_gypsum_board.setDensity(800.0);
-  g01a_19mm_gypsum_board.setSpecificHeat(1090.0);
-
-  opaqueMaterials.add(g01a_19mm_gypsum_board);
-
-  var exteriorWall = new openstudio.model.Construction(opaqueMaterials);
-  exteriorWall.setName("Exterior Wall");
-  exteriorWall.setInsulation(i02_50mm_insulation_board);
-  exteriorSurfaceConstructions.setWallConstruction(exteriorWall);
-  opaqueMaterials.clear();
-
-  // Exterior Roof
-
-  var m11_100mm_lightweight_concrete = new openstudio.model.StandardOpaqueMaterial(model);
-  m11_100mm_lightweight_concrete.setName("M11 100mm lightweight concrete");
-  m11_100mm_lightweight_concrete.setRoughness("MediumRough");
-  m11_100mm_lightweight_concrete.setThickness(0.1016);
-  m11_100mm_lightweight_concrete.setThermalConductivity(0.53);
-  m11_100mm_lightweight_concrete.setDensity(1280.0);
-  m11_100mm_lightweight_concrete.setSpecificHeat(840.0);
-
-  opaqueMaterials.add(m11_100mm_lightweight_concrete);
-
-  var f05_ceiling_air_space_resistance = new openstudio.model.AirGap(model);
-  f05_ceiling_air_space_resistance.setName("F05 Ceiling air space resistance");
-  f05_ceiling_air_space_resistance.setThermalResistance(0.18);
-
-  opaqueMaterials.add(f05_ceiling_air_space_resistance);
-
-  var f16_acoustic_tile = new openstudio.model.StandardOpaqueMaterial(model);
-  f16_acoustic_tile.setName("F16 Acoustic tile");
-  f16_acoustic_tile.setRoughness("MediumSmooth");
-  f16_acoustic_tile.setThickness(0.0191);
-  f16_acoustic_tile.setThermalConductivity(0.06);
-  f16_acoustic_tile.setDensity(368.0);
-  f16_acoustic_tile.setSpecificHeat(590.0);
-
-  opaqueMaterials.add(f16_acoustic_tile);
-
-  var exteriorRoof = new openstudio.model.Construction(opaqueMaterials);
-  exteriorRoof.setName("Exterior Roof");
-  exteriorSurfaceConstructions.setRoofCeilingConstruction(exteriorRoof);
-  opaqueMaterials.clear();
-
-  // Interior Floor
-
-  opaqueMaterials.add(f16_acoustic_tile);
-  opaqueMaterials.add(f05_ceiling_air_space_resistance);
-  opaqueMaterials.add(m11_100mm_lightweight_concrete);
-
-  var interiorFloor = new openstudio.model.Construction(opaqueMaterials);
-  interiorFloor.setName("Interior Floor");
-  interiorSurfaceConstructions.setFloorConstruction(interiorFloor);
-  opaqueMaterials.clear();
-
-  // Air Wall
-
-  var airWallMaterial = new openstudio.model.AirWallMaterial(model);
-  airWallMaterial.setName("Air Wall Material");
-
-  var airWall = new openstudio.model.Construction(openstudio.model.toModelPartitionMaterial(airWallMaterial).get());
-  airWall.setName("Air Wall");
-  interiorSurfaceConstructions.setWallConstruction(airWall);
-
-  // Interior Ceiling
-
-  opaqueMaterials.add(m11_100mm_lightweight_concrete);
-  opaqueMaterials.add(f05_ceiling_air_space_resistance);
-  opaqueMaterials.add(f16_acoustic_tile);
-
-  var interiorCeiling = new openstudio.model.Construction(opaqueMaterials);
-  interiorCeiling.setName("Interior Ceiling");
-  interiorSurfaceConstructions.setRoofCeilingConstruction(interiorCeiling);
-  opaqueMaterials.clear();
-
-  // Slab
-
-  var mat_cc05_8_hw_concrete = new openstudio.model.StandardOpaqueMaterial(model);
-  mat_cc05_8_hw_concrete.setName("MAT-CC05 8 HW CONCRETE");
-  mat_cc05_8_hw_concrete.setRoughness("Rough");
-  mat_cc05_8_hw_concrete.setThickness(0.2032);
-  mat_cc05_8_hw_concrete.setThermalConductivity(1.3110);
-  mat_cc05_8_hw_concrete.setDensity(2240.0);
-  mat_cc05_8_hw_concrete.setSpecificHeat(836.8);
-  mat_cc05_8_hw_concrete.setThermalAbsorptance(0.9);
-  mat_cc05_8_hw_concrete.setSolarAbsorptance(0.7);
-  mat_cc05_8_hw_concrete.setVisibleAbsorptance(0.7);
-
-  opaqueMaterials.add(mat_cc05_8_hw_concrete);
-
-  var cp02_carpet_pad = new openstudio.model.MasslessOpaqueMaterial(model);
-  cp02_carpet_pad.setName("CP02 CARPET PAD");
-  cp02_carpet_pad.setRoughness("VeryRough");
-  cp02_carpet_pad.setThermalResistance(0.2165);
-  cp02_carpet_pad.setThermalAbsorptance(0.9);
-  cp02_carpet_pad.setSolarAbsorptance(0.7);
-  cp02_carpet_pad.setVisibleAbsorptance(0.8);
-
-  opaqueMaterials.add(cp02_carpet_pad);
-
-  var slab = new openstudio.model.Construction(opaqueMaterials);
-  slab.setName("Slab");
-  groundContactSurfaceConstructions.setFloorConstruction(slab);
-  opaqueMaterials.clear();
-
-  var fenestrationMaterials = new openstudio.model.FenestrationMaterialVector();
-
-  // Exterior Window
-
-  var simple_glazing = new openstudio.model.SimpleGlazing(model);
-  simple_glazing.setName("Simple Glazing");
-  simple_glazing.setUFactor(3.23646);
-  simple_glazing.setSolarHeatGainCoefficient(0.39);
-  simple_glazing.setVisibleTransmittance(0.6);
-
-  var clear_3mm = new openstudio.model.StandardGlazing(model);
-  clear_3mm.setName("Clear 3mm");
-  clear_3mm.setOpticalDataType("SpectralAverage");
-  clear_3mm.setThickness(0.003);
-  clear_3mm.setSolarTransmittance(0.837);
-  clear_3mm.setFrontSideSolarReflectanceatNormalIncidence(0.075);
-  clear_3mm.setBackSideSolarReflectanceatNormalIncidence(0.075);
-  clear_3mm.setVisibleTransmittance(0.898);
-  clear_3mm.setFrontSideVisibleReflectanceatNormalIncidence(0.081);
-  clear_3mm.setBackSideVisibleReflectanceatNormalIncidence(0.081);
-  clear_3mm.setInfraredTransmittance(0.0);
-  clear_3mm.setFrontSideInfraredHemisphericalEmissivity(0.084);
-  clear_3mm.setBackSideInfraredHemisphericalEmissivity(0.084);
-  clear_3mm.setThermalConductivity(0.9);
-
-  var air_13mm = new openstudio.model.Gas(model);
-  air_13mm.setName("Air 13mm");
-  air_13mm.setGasType("Air");
-  air_13mm.setThickness(0.0127);
-
-  //fenestrationMaterials.add(clear_3mm);
-  //fenestrationMaterials.add(air_13mm);
-  //fenestrationMaterials.add(clear_3mm);
-
-  // DLM: use simple glazing so we can know window properties without requiring E+ run
-  fenestrationMaterials.add(openstudio.model.toFenestrationMaterial(simple_glazing).get());
-
-  var exteriorWindow = new openstudio.model.Construction(fenestrationMaterials);
-  exteriorWindow.setName("Exterior Window");
-  exteriorSubSurfaceConstructions.setFixedWindowConstruction(exteriorWindow);
-  exteriorSubSurfaceConstructions.setOperableWindowConstruction(exteriorWindow);
-  exteriorSubSurfaceConstructions.setGlassDoorConstruction(exteriorWindow);
-  exteriorSubSurfaceConstructions.setSkylightConstruction(exteriorWindow);
-  exteriorSubSurfaceConstructions.setTubularDaylightDomeConstruction(exteriorWindow);
-  exteriorSubSurfaceConstructions.setTubularDaylightDiffuserConstruction(exteriorWindow);
-  fenestrationMaterials.clear();
-
-  // Exterior Door
-
-  var f08_metal_surface = new openstudio.model.StandardOpaqueMaterial(model);
-  f08_metal_surface.setName("F08 Metal surface");
-  f08_metal_surface.setRoughness("Smooth");
-  f08_metal_surface.setThickness(0.0008);
-  f08_metal_surface.setThermalConductivity(45.28);
-  f08_metal_surface.setDensity(7824.0);
-  f08_metal_surface.setSpecificHeat(500.0);
-
-  opaqueMaterials.add(f08_metal_surface);
-
-  var i01_25mm_insulation_board = new openstudio.model.StandardOpaqueMaterial(model);
-  i01_25mm_insulation_board.setName("I02 25mm insulation board");
-  i01_25mm_insulation_board.setRoughness("MediumRough");
-  i01_25mm_insulation_board.setThickness(0.0254);
-  i01_25mm_insulation_board.setThermalConductivity(0.03);
-  i01_25mm_insulation_board.setDensity(43.0);
-  i01_25mm_insulation_board.setSpecificHeat(1210.0);
-
-  opaqueMaterials.add(i01_25mm_insulation_board);
-
-  var exteriorDoor = new openstudio.model.Construction(opaqueMaterials);
-  exteriorDoor.setName("Exterior Door");
-  // we shouldn't need to do this, something is not happening quite right with the layered construction inheritance hierarchy
-  openstudio.model.toLayeredConstruction(exteriorDoor).get().setInsulation(i02_50mm_insulation_board);
-  exteriorSubSurfaceConstructions.setDoorConstruction(exteriorDoor);
-  exteriorSubSurfaceConstructions.setOverheadDoorConstruction(exteriorDoor);
-  opaqueMaterials.clear();
-
-  // Interior Window
-
-  //fenestrationMaterials.add(clear_3mm);
-
-  // DLM: use simple glazing so we can know window properties without requiring E+ run
-  fenestrationMaterials.add(openstudio.model.toFenestrationMaterial(simple_glazing).get());
-
-  var interiorWindow = new openstudio.model.Construction(fenestrationMaterials);
-  interiorWindow.setName("Interior Window");
-  interiorSubSurfaceConstructions.setFixedWindowConstruction(interiorWindow);
-  interiorSubSurfaceConstructions.setOperableWindowConstruction(interiorWindow);
-  interiorSubSurfaceConstructions.setGlassDoorConstruction(interiorWindow);
-  interiorSubSurfaceConstructions.setSkylightConstruction(interiorWindow);
-  interiorSubSurfaceConstructions.setTubularDaylightDomeConstruction(interiorWindow);
-  interiorSubSurfaceConstructions.setTubularDaylightDiffuserConstruction(interiorWindow);
-  fenestrationMaterials.clear();
-
-  // Interior Door
-
-  var g05_25mm_wood = new openstudio.model.StandardOpaqueMaterial(model);
-  g05_25mm_wood.setName("G05 25mm wood");
-  g05_25mm_wood.setRoughness("MediumSmooth");
-  g05_25mm_wood.setThickness(0.0254);
-  g05_25mm_wood.setThermalConductivity(0.15);
-  g05_25mm_wood.setDensity(608.0);
-  g05_25mm_wood.setSpecificHeat(1630.0);
-
-  opaqueMaterials.add(g05_25mm_wood);
-
-  var interiorDoor = new openstudio.model.Construction(opaqueMaterials);
-  interiorDoor.setName("Interior Door");
-  interiorSubSurfaceConstructions.setDoorConstruction(interiorDoor);
-  interiorSubSurfaceConstructions.setOverheadDoorConstruction(interiorDoor);
-  opaqueMaterials.clear();
-
-  // Interior Partition
-
-  opaqueMaterials.add(g05_25mm_wood);
-
-  var interiorPartition = new openstudio.model.Construction(opaqueMaterials);
-  interiorPartition.setName("Interior Partition");
-  defaultConstructions.setInteriorPartitionConstruction(interiorPartition);
-  opaqueMaterials.clear();
-}
-
-
-
-function addExampleModelObjects(model) 
-{
-  var searchResults = new openstudio.model.SurfaceVector();
-
-  // add Version
-  var version = openstudio.model.getVersion(model);
-
-  // add SimulationControl
-  var simulationControl = openstudio.model.getSimulationControl(model);
-  simulationControl.setDoZoneSizingCalculation(true);
-  simulationControl.setDoSystemSizingCalculation(true);
-  simulationControl.setRunSimulationforSizingPeriods(false);
-  simulationControl.setRunSimulationforWeatherFileRunPeriods(true);
-
-  // add Timestep
-  var timestep = openstudio.model.getTimestep(model);
-
-  // add RunPeriod
-  var runPeriod = openstudio.model.getRunPeriod(model);
-  runPeriod.setBeginMonth(1);
-  runPeriod.setBeginDayOfMonth(1);
-  runPeriod.setEndMonth(12);
-  runPeriod.setEndDayOfMonth(31);
-  runPeriod.setUseWeatherFileHolidays(false);
-  runPeriod.setUseWeatherFileDaylightSavings(false);
-  runPeriod.setApplyWeekendHolidayRule(false);
-  runPeriod.setUseWeatherFileRainInd(true);
-  runPeriod.setUseWeatherFileSnowInd(true);
-  runPeriod.setNumTimePeriodRepeats(1);
-
-  // add SurfaceConvectionAlgorithmInside
-  var insideSurfaceConvectionAlgorithm = openstudio.model.getInsideSurfaceConvectionAlgorithm(model);
-
-  // add SurfaceConvectionAlgorithmOutside
-  var outsideSurfaceConvectionAlgorithm = openstudio.model.getOutsideSurfaceConvectionAlgorithm(model);
-
-  // add HeatBalanceAlgorithm
-  var heatBalanceAlgorithm = openstudio.model.getHeatBalanceAlgorithm(model);
-
-  // add ZoneAirHeatBalanceAlgorithm
-  var zoneAirHeatBalanceAlgorithm = openstudio.model.getZoneAirHeatBalanceAlgorithm(model);
-
-  // add ConvergenceLimits
-  var convergenceLimits = openstudio.model.getConvergenceLimits(model);
-
-  // add ShadowCalculation
-  var shadowCalculation = openstudio.model.getShadowCalculation(model);
-
-  // add Site
-  var site = openstudio.model.getSite(model);
-  site.setLatitude(41.77);
-  site.setLongitude(-87.75);
-  site.setTimeZone(-6.0);
-  site.setElevation(190.0);
-
-  // add SiteGroundTemperatureBuildingSurface
-  var groundTemp = openstudio.model.getSiteGroundTemperatureBuildingSurface(model);
-  groundTemp.setJanuaryGroundTemperature(19.527);
-  groundTemp.setFebruaryGroundTemperature(19.502);
-  groundTemp.setMarchGroundTemperature(19.536);
-  groundTemp.setAprilGroundTemperature(19.598);
-  groundTemp.setMayGroundTemperature(20.002);
-  groundTemp.setJuneGroundTemperature(21.640);
-  groundTemp.setJulyGroundTemperature(22.225);
-  groundTemp.setAugustGroundTemperature(22.375);
-  groundTemp.setSeptemberGroundTemperature(21.449);  
-  groundTemp.setOctoberGroundTemperature(20.121);
-  groundTemp.setNovemberGroundTemperature(19.802);
-  groundTemp.setDecemberGroundTemperature(19.633);
-
-  // add SiteWaterMainsTemperature
-  var waterTemp = openstudio.model.getSiteWaterMainsTemperature(model);
-  waterTemp.setAnnualAverageOutdoorAirTemperature(9.69);
-  waterTemp.setMaximumDifferenceInMonthlyAverageOutdoorAirTemperatures(28.10);
-
-  // add DesignDay
-  var designDay1 = new openstudio.model.DesignDay(model);
-  designDay1.setMaximumDryBulbTemperature(-20.6);
-  designDay1.setDailyDryBulbTemperatureRange(0.0);
-  designDay1.setHumidityIndicatingConditionsAtMaximumDryBulb(-20.6);
-  designDay1.setBarometricPressure(99063.0);
-  designDay1.setWindSpeed(4.9);
-  designDay1.setWindDirection(270);
-  designDay1.setSkyClearness(0.0);
-  designDay1.setRainIndicator(false);
-  designDay1.setSnowIndicator(false);
-  designDay1.setDayOfMonth(21);
-  designDay1.setMonth(1);
-  designDay1.setDayType("WinterDesignDay");
-  designDay1.setDaylightSavingTimeIndicator(false);
-  designDay1.setHumidityIndicatingType("WetBulb");
-
-  var designDay2 = new openstudio.model.DesignDay(model);
-  designDay2.setMaximumDryBulbTemperature(33.2);
-  designDay2.setDailyDryBulbTemperatureRange(10.7);
-  designDay2.setHumidityIndicatingConditionsAtMaximumDryBulb(23.8);
-  designDay2.setBarometricPressure(99063.0);
-  designDay2.setWindSpeed(5.3);
-  designDay2.setWindDirection(230);
-  designDay2.setSkyClearness(1.0);
-  designDay2.setRainIndicator(false);
-  designDay2.setSnowIndicator(false);
-  designDay2.setDayOfMonth(21);
-  designDay2.setMonth(7);
-  designDay2.setDayType("SummerDesignDay");
-  designDay2.setDaylightSavingTimeIndicator(false);
-  designDay2.setHumidityIndicatingType("WetBulb");
-
-  // add schedules
-  addExampleSchedules(model);
-  //BOOST_ASSERT(openstudio.model.getDefaultScheduleSets(model).size() >= 1);
-  var defaultScheduleSet = openstudio.model.getDefaultScheduleSets(model).get(0);
-
-  // add constructions
-  addExampleConstructions(model);
-  //BOOST_ASSERT(openstudio.model.getDefaultConstructionSets(model).size() >= 1);
-  var defaultConstructionSet = openstudio.model.getDefaultConstructionSets(model).get(0);
-
-  // add a space type
-  var spaceType = new openstudio.model.SpaceType(model);
-
-  // add some lights to the space type
-  var lightsDefinition = new openstudio.model.LightsDefinition(model);
-  lightsDefinition.setWattsperSpaceFloorArea(10.0);
-  var lights = new openstudio.model.Lights(lightsDefinition);
-  lights.setSpaceType(spaceType);
-
-  // add some electric equipment to the space type
-  var electricEquipmentDefinition = new openstudio.model.ElectricEquipmentDefinition(model);
-  electricEquipmentDefinition.setWattsperSpaceFloorArea(5.0);
-  var electricEquipment = new openstudio.model.ElectricEquipment(electricEquipmentDefinition);
-  electricEquipment.setSpaceType(spaceType);
-
-  // add some people to the space type
-  var peopleDefinition = new openstudio.model.PeopleDefinition(model);
-  peopleDefinition.setPeopleperSpaceFloorArea(0.05);
-  var people = new openstudio.model.People(peopleDefinition);
-  people.setSpaceType(spaceType);
-
-  // create the facility
-  var facility = openstudio.model.getFacility(model);
-
-  // create the building
-  var building = openstudio.model.getBuilding(model);
-  building.setSpaceType(spaceType);
-  building.setDefaultConstructionSet(defaultConstructionSet);
-  building.setDefaultScheduleSet(defaultScheduleSet);
-
-  // create a thermal zone
-  var thermalZone = new openstudio.model.ThermalZone(model);
-
-  var thermostat = new openstudio.model.ThermostatSetpointDualSetpoint(model);
-  thermalZone.setThermostatSetpointDualSetpoint(thermostat);
-
-  var heatingSchedule = openstudio.model.getScheduleByName(model, "Medium Office Heating Setpoint Schedule").get();
-  var coolingSchedule = openstudio.model.getScheduleByName(model, "Medium Office Cooling Setpoint Schedule").get();
-
-  thermostat.setHeatingSchedule(heatingSchedule);
-  thermostat.setCoolingSchedule(coolingSchedule);
-
-  // create a building story
-  var buildingStory = new openstudio.model.BuildingStory(model);
-  buildingStory.setNominalZCoordinate(0);
-  buildingStory.setNominalFloortoFloorHeight(3);
-
-  // create spaces from floor print
-  var floorPrint = new openstudio.Point3dVector();
-  floorPrint.add(new openstudio.Point3d(0,0,0));
-  floorPrint.add(new openstudio.Point3d(0,10,0));
-  floorPrint.add(new openstudio.Point3d(10,10,0));
-  floorPrint.add(new openstudio.Point3d(10,0,0));
-
-  // make spaces
-  var space1 = openstudio.model.Space.fromFloorPrint(floorPrint, 3, model);
-  //BOOST_ASSERT(space1);
-  space1.get().setThermalZone(thermalZone);
-  space1.get().setBuildingStory(buildingStory);
-
-  var clone = space1.get().clone(model);
-  // This 'toIdfObject' should not be necessary and needs to be investigated
-  var space2 = openstudio.model.toSpace(clone.toIdfObject()).get();
-  space2.setXOrigin(10);
-
-  clone = space1.get().clone(model);
-  var space3 = openstudio.model.toSpace(clone.toIdfObject()).get();
-  space3.setYOrigin(10);
-
-  clone = space1.get().clone(model);
-  var space4 = openstudio.model.toSpace(clone.toIdfObject()).get();
-  space4.setXOrigin(10);
-  space4.setYOrigin(10);
-
-  // add a door to south wall of space1
-  var doorPoints = new openstudio.Point3dVector();
-  doorPoints.add(new openstudio.Point3d(2,0,2));
-  doorPoints.add(new openstudio.Point3d(2,0,0));
-  doorPoints.add(new openstudio.Point3d(4,0,0));
-  doorPoints.add(new openstudio.Point3d(4,0,2));
-
-  // find south wall
-  searchResults = space1.get().findSurfaces(
-      new openstudio.OptionalDouble(180.0),
-      new openstudio.OptionalDouble(180.0),
-      new openstudio.OptionalDouble(90.0),
-      new openstudio.OptionalDouble(90.0));
-  //BOOST_ASSERT(searchResults.size() >= 1);
-
-  // add door
-  var door = new openstudio.model.SubSurface(doorPoints, model);
-  door.setSurface(searchResults.get(0));
-  
-  // add a window to east wall of space2
-  var windowPoints = new openstudio.Point3dVector();
-  windowPoints.add(new openstudio.Point3d(10,2,2));
-  windowPoints.add(new openstudio.Point3d(10,2,1));
-  windowPoints.add(new openstudio.Point3d(10,8,1));
-  windowPoints.add(new openstudio.Point3d(10,8,2));
-
-  // find east wall
-  searchResults = space2.findSurfaces(
-      new openstudio.OptionalDouble(90.0),
-      new openstudio.OptionalDouble(90.0),
-      new openstudio.OptionalDouble(90.0),
-      new openstudio.OptionalDouble(90.0));
-  //BOOST_ASSERT(searchResults.size() >= 1);
-
-  // add window
-  var window = new openstudio.model.SubSurface(windowPoints, model);
-  window.setSurface(searchResults.get(0));
-
-  // add overhang to the window
-  var test = window.addOverhangByProjectionFactor(0.5, 0.1);
-  //BOOST_ASSERT(test);
-
-  // add daylighting control point to center of space2 - used by radiance
-  var daylightingControl = new openstudio.model.DaylightingControl(model);
-  daylightingControl.setSpace(space2);
-  daylightingControl.setPosition(new openstudio.Point3d(5, 5, 1.1));
-
-  // hook daylighting control up to zone
-  test = thermalZone.setPrimaryDaylightingControl(daylightingControl);
-  //BOOST_ASSERT(test);
-  thermalZone.setFractionofZoneControlledbyPrimaryDaylightingControl(0.25);
-  
-  // add illuminance map to space2
-  var illuminanceMap = new openstudio.model.IlluminanceMap(model);
-  illuminanceMap.setSpace(space2);
-  illuminanceMap.setOriginXCoordinate(1);
-  illuminanceMap.setXLength(8);
-  illuminanceMap.setOriginYCoordinate(1);
-  illuminanceMap.setYLength(8);
-  illuminanceMap.setOriginZCoordinate(1.1);
-
-  // hook illuminanceMap up to zone - used by radiance
-  test = thermalZone.setIlluminanceMap(illuminanceMap);
-  //BOOST_ASSERT(test);
-
-
-  // add a glare sensor to center of space2 - used by radiance
-  var glareSensor = new openstudio.model.GlareSensor(model);
-  glareSensor.setSpace(space2);
-  glareSensor.setPosition(new openstudio.Point3d(5, 5, 1.1));
-  
-  // add a desk to space 2
-  var deskGroup = new openstudio.model.InteriorPartitionSurfaceGroup(model);
-  deskGroup.setSpace(space2);
-
-  var deskPoints = new openstudio.Point3dVector();
-  deskPoints.add(new openstudio.Point3d(5,8,1));
-  deskPoints.add(new openstudio.Point3d(5,6,1));
-  deskPoints.add(new openstudio.Point3d(8,6,1));
-  deskPoints.add(new openstudio.Point3d(8,8,1));
-  desk = new openstudio.model.InteriorPartitionSurface(deskPoints, model);
-  desk.setInteriorPartitionSurfaceGroup(deskGroup);
-
-  // add a printer to space4
-  var printerDefinition = new openstudio.model.ElectricEquipmentDefinition(model);
-  printerDefinition.setName("Printer Definition");
-  printerDefinition.setDesignLevel(200.0);
-  var printer = new openstudio.model.ElectricEquipment(printerDefinition);
-  printer.setName("Printer");
-  printer.setSpace(space4);
-  
-  // add a building shading device
-  var canopyGroup = new openstudio.model.ShadingSurfaceGroup(model);
-  canopyGroup.setShadingSurfaceType("Building");
-  
-  var canopyPoints = new openstudio.Point3dVector();
-  canopyPoints.add(new openstudio.Point3d(2,0,2));
-  canopyPoints.add(new openstudio.Point3d(2,-1,2));
-  canopyPoints.add(new openstudio.Point3d(4,-1,2));
-  canopyPoints.add(new openstudio.Point3d(4,0,2));
-  var canopy = new openstudio.model.ShadingSurface(canopyPoints, model);
-  canopy.setShadingSurfaceGroup(canopyGroup);
-  
-  // add a neighboring building
-  var neighboringBuildingGroup = new openstudio.model.ShadingSurfaceGroup(model);
-  neighboringBuildingGroup.setShadingSurfaceType("Site");
-
-  var neighboringBuildingPoints = new openstudio.Point3dVector();
-  neighboringBuildingPoints.add(new openstudio.Point3d(-30,0,20));
-  neighboringBuildingPoints.add(new openstudio.Point3d(-30,0,0));
-  neighboringBuildingPoints.add(new openstudio.Point3d(-30,20,0));
-  neighboringBuildingPoints.add(new openstudio.Point3d(-30,20,20));
-  neighboringBuilding = new openstudio.model.ShadingSurface(neighboringBuildingPoints, model);
-  neighboringBuilding.setShadingSurfaceGroup(neighboringBuildingGroup);
-
-  // match surfaces
-  var spaces = openstudio.model.getSpaces(model);
-  openstudio.model.matchSurfaces(spaces);
-
-  // Add an air loop
-  var alwaysOnSchedule = new openstudio.model.ScheduleCompact(model);
-  alwaysOnSchedule.setName("ALWAYS_ON");
-  alwaysOnSchedule.setString(3,"Through: 12/31");
-  alwaysOnSchedule.setString(4,"For: AllDays");
-  alwaysOnSchedule.setString(5,"Until: 24:00");
-  alwaysOnSchedule.setString(6,"1");
-
-  var fan = new openstudio.model.FanConstantVolume(model,alwaysOnSchedule);
-  fan.setName("Standard Fan");
-  var coilHeatingGas = new openstudio.model.CoilHeatingGas(model,alwaysOnSchedule);
-
-  var coolingCurveFofTemp = new openstudio.model.CurveBiquadratic(model);
-  coolingCurveFofTemp.setCoefficient1Constant(0.42415);
-  coolingCurveFofTemp.setCoefficient2x(0.04426);
-  coolingCurveFofTemp.setCoefficient3xPOW2(-0.00042);
-  coolingCurveFofTemp.setCoefficient4y(0.00333);
-  coolingCurveFofTemp.setCoefficient5yPOW2(-0.00008);
-  coolingCurveFofTemp.setCoefficient6xTIMESY(-0.00021);
-  coolingCurveFofTemp.setMinimumValueofx(17.0);
-  coolingCurveFofTemp.setMaximumValueofx(22.0);
-  coolingCurveFofTemp.setMinimumValueofy(13.0);
-  coolingCurveFofTemp.setMaximumValueofy(46.0);
-  coolingCurveFofTemp.setMinimumCurveOutput(-1000);
-  coolingCurveFofTemp.setMaximumCurveOutput(1000);
-
-  var coolingCurveFofFlow = new openstudio.model.CurveQuadratic(model);
-  coolingCurveFofFlow.setCoefficient1Constant(0.77136);
-  coolingCurveFofFlow.setCoefficient2x(0.34053);
-  coolingCurveFofFlow.setCoefficient3xPOW2(-0.11088);
-  coolingCurveFofFlow.setMinimumValueofx(0.75918);
-  coolingCurveFofFlow.setMaximumValueofx(1.13877);
-  coolingCurveFofFlow.setMinimumCurveOutput(-1000);
-  coolingCurveFofFlow.setMaximumCurveOutput(1000);
-
-  var energyInputRatioFofTemp = new openstudio.model.CurveBiquadratic(model);
-  energyInputRatioFofTemp.setCoefficient1Constant(1.23649);
-  energyInputRatioFofTemp.setCoefficient2x(-0.02431);
-  energyInputRatioFofTemp.setCoefficient3xPOW2(0.00057);
-  energyInputRatioFofTemp.setCoefficient4y(-0.01434);
-  energyInputRatioFofTemp.setCoefficient5yPOW2(0.00063);
-  energyInputRatioFofTemp.setCoefficient6xTIMESY(-0.00038);
-  energyInputRatioFofTemp.setMinimumValueofx(17.0);
-  energyInputRatioFofTemp.setMaximumValueofx(22.0);
-  energyInputRatioFofTemp.setMaximumValueofy(13.0);
-  energyInputRatioFofTemp.setMaximumValueofy(46.0);
-  energyInputRatioFofTemp.setMinimumCurveOutput(-1000);
-  energyInputRatioFofTemp.setMaximumCurveOutput(1000);
-
-  var energyInputRatioFofFlow = new openstudio.model.CurveQuadratic(model);
-  energyInputRatioFofFlow.setCoefficient1Constant(1.20550);
-  energyInputRatioFofFlow.setCoefficient2x(-0.32953);
-  energyInputRatioFofFlow.setCoefficient3xPOW2(0.12308);
-  energyInputRatioFofFlow.setMinimumValueofx(0.75918);
-  energyInputRatioFofFlow.setMaximumValueofx(1.13877);
-  energyInputRatioFofFlow.setMinimumCurveOutput(-1000);
-  energyInputRatioFofFlow.setMaximumCurveOutput(1000);
-
-  var partLoadFraction = new openstudio.model.CurveQuadratic(model);
-  partLoadFraction.setCoefficient1Constant(0.77100);
-  partLoadFraction.setCoefficient2x(0.22900);
-  partLoadFraction.setCoefficient3xPOW2(0.0);
-  partLoadFraction.setMinimumValueofx(0.0);
-  partLoadFraction.setMaximumValueofx(1.0);
-  partLoadFraction.setMinimumCurveOutput(0.71);
-  partLoadFraction.setMaximumCurveOutput(1.0);
-
-  coilCooling = new openstudio.model.CoilCoolingDXSingleSpeed( model,
-                                        alwaysOnSchedule,
-                                        coolingCurveFofTemp,
-                                        coolingCurveFofFlow,
-                                        energyInputRatioFofTemp,
-                                        energyInputRatioFofFlow,
-                                        partLoadFraction );
-  var evaporativeCoolerDirectResearchSpecial = new openstudio.model.EvaporativeCoolerDirectResearchSpecial(model,alwaysOnSchedule);
-
-  var airTerminalSingleDuctUncontrolled = new openstudio.model.AirTerminalSingleDuctUncontrolled(model,alwaysOnSchedule);
-
-  var controller = new openstudio.model.ControllerOutdoorAir(model);
-
-  var outdoorAirSystem = new openstudio.model.AirLoopHVACOutdoorAirSystem(model,controller);
-
-  var airLoopHVAC = new openstudio.model.AirLoopHVAC(model);
-  
-  airLoopHVAC.addBranchForZone(thermalZone,new openstudio.model.OptionalStraightComponent(airTerminalSingleDuctUncontrolled));
-
-  var supplyInletNode = airLoopHVAC.supplyInletNode();
-  var supplyOutletNode = airLoopHVAC.supplyOutletNode();
-
-  fan.addToNode(supplyInletNode);
-
-  coilHeatingGas.addToNode(supplyInletNode);
-
-  coilCooling.addToNode(supplyInletNode);
-
-  outdoorAirSystem.addToNode(supplyInletNode);
-
-  var mixedAirNode = openstudio.model.toNode(outdoorAirSystem.mixedAirModelObject().get()).get();
-  var coolCoilOutletNode = openstudio.model.toNode(coilCooling.outletModelObject().get()).get();
-  var heatingCoilOutletNode = openstudio.model.toNode(coilHeatingGas.outletModelObject().get()).get();
-  var oaNode = openstudio.model.toNode(outdoorAirSystem.outdoorAirModelObject().get()).get();
-
-  evaporativeCoolerDirectResearchSpecial.addToNode(oaNode);
-
-  var evapOutletNode = openstudio.model.toNode(evaporativeCoolerDirectResearchSpecial.outletModelObject().get().toIdfObject()).get();
-
-  var setpointMMA1 = new openstudio.model.SetpointManagerMixedAir(model);
-  var setpointMMA2 = new openstudio.model.SetpointManagerMixedAir(model);
-  var setpointMMA3 = new openstudio.model.SetpointManagerMixedAir(model);
-  var setpointMMA4 = new openstudio.model.SetpointManagerMixedAir(model);
-  var setpointMSZR = new openstudio.model.SetpointManagerSingleZoneReheat(model);
-
-  setpointMSZR.addToNode(supplyOutletNode);
-  setpointMMA1.addToNode(mixedAirNode);
-  setpointMMA2.addToNode(coolCoilOutletNode);
-  setpointMMA3.addToNode(heatingCoilOutletNode);
-  setpointMMA4.addToNode(evapOutletNode);
-
-  // add some example variables
-  //
-
-  var outputVariableNames = thermalZone.outputVariableNames();
-  for (var i = 0; i < 2 && i < outputVariableNames.size(); ++i)
-  {
-    new openstudio.model.OutputVariable(outputVariableNames.get(i), model);
-  }
-
-  var surfaces = openstudio.model.getSurfaces(model);
-  for (var i = 0; i < 2 && i < surfaces.size(); ++i)
-  {
-    var outputVariableNames = surfaces.get(i).outputVariableNames();
-
-    for (var j = 0; j < 2 && j < outputVariableNames.size(); ++j)
-    {
-      new openstudio.model.OutputVariable(outputVariableNames.get(j), model);
-    }
-  }
-  
-
-
-  // add some meters
-  var electricityMeter = new openstudio.model.Meter(model);
-  electricityMeter.setFuelType(new openstudio.FuelType("Electricity"));
-  electricityMeter.setReportingFrequency(new openstudio.ReportingFrequency("Hourly").valueName());
-  electricityMeter.setInstallLocationType(new openstudio.InstallLocationType("Facility"));
-
-  var gasMeter = new openstudio.model.Meter(model);
-  gasMeter.setFuelType(new openstudio.FuelType("Gas"));
-  gasMeter.setReportingFrequency(new openstudio.ReportingFrequency("Hourly").valueName());
-  gasMeter.setInstallLocationType(new openstudio.InstallLocationType("Facility"));
-
-  var propaneMeter = new openstudio.model.Meter(model);
-  propaneMeter.setFuelType(new openstudio.FuelType("Propane"));
-  propaneMeter.setReportingFrequency(new openstudio.ReportingFrequency("Hourly").valueName());
-  propaneMeter.setInstallLocationType(new openstudio.InstallLocationType("Facility"));
-}
-
-function exampleModel()
-{
-  model = new openstudio.model.Model();
-  addExampleModelObjects(model);
-  return model;
-}
-
-
-
-
-
-
-describe("Model", function() {
-  // Test that we can run a simulation with runmanager
-  it("should be able to create a model which can be simulated", function() {
-
-    model = exampleModel();
-
-    var epw_path = openstudio.getSharedResourcesPath().append(new openstudio.path("runmanager")).append(new openstudio.path("USA_CO_Golden-NREL.724666_TMY3.epw"));
-
-    log("Loading EPW from " + openstudio.toString(epw_path));
-
-    epw_file = new openstudio.EpwFile(epw_path);
-    openstudio.model.WeatherFile.setWeatherFile(model, epw_file);
-
-    // We're constructing the runmanager here so that it can initialize
-    // the Qt UI for us. This is only necessary because we show some
-    // UI code for the sake of the demo.
-    var runmanager = new openstudio.runmanager.RunManager();
-    var co = new openstudio.runmanager.ConfigOptions();
-    co.findTools(true, true, true, true);
-
-    runmanager.setConfigOptions(co);
-
-    var workflow = new openstudio.runmanager.Workflow();
-
-    var radiancetools = co.getTools().getAllByName("rad").tools();
-
-
-/*
-    workflow.addStandardWorkflow(
-        new openstudio.path(), // we aren't using scripts
-        co.getTools().getAllByName("ruby").tools().size() > 0, // was ruby found?
-        openstudio.getOpenStudioRubyIncludePath(), // where are the standard ruby scripts located?
-        true, // use radiance for daylight calculations - set this to false for faster simulations
-        radiancetools.get(radiancetools.size()-1).localBinPath.parent_path()); // this should throw if radiance was not found
-*/
-
-    workflow.addStandardWorkflow(
-        new openstudio.path(), // we aren't using scripts
-        co.getTools().getAllByName("ruby").tools().size() > 0, // was ruby found?
-        openstudio.getOpenStudioRubyIncludePath(), // where are the standard ruby scripts located?
-        false,
-        new openstudio.path()); 
-
-    workflow.add(co.getTools());
-
-    var outdir = openstudio.tempDir().append(new openstudio.path("TestJavaScriptRunJasmineCreatedModel"));
-    log("Running simulation in " + openstudio.toString(outdir));
-    openstudio.create_directory(outdir);
-
-    var osmpath = outdir.append(new openstudio.path("test.osm"));
-    log("Saving OSM to " + openstudio.toString(osmpath));
-
-    expect(model.save(osmpath, true)).toBeTruthy();
-
-    var job = workflow.create(outdir, osmpath);
-
-    runmanager.enqueue(job, true);
-
-    runmanager.waitForFinished();
-
-    expect(runmanager.workPending()).toBeFalsy();
-
-    outfiles = job.treeOutputFiles();
-
-    expect(outfiles.files().size() > 0);
-    console.log(outfiles.files());
-    files = outfiles.files();
-
-    for (var i = 0; i < files.size(); ++i)
-    {
-      console.log(openstudio.toString(files.get(i).fullPath));
-    }
-    
-    var sqlpath = outfiles.getLastByExtension("sql").fullPath;
-    log(openstudio.toString(sqlpath));
-    
-    var sqlpath = outfiles.getLastByExtension("sql").fullPath;
-    log(openstudio.toString(sqlpath));
-
-
-    /// load the results from energyplus
-
-    var sqlfile = new openstudio.SqlFile(sqlpath);
-
-    var siteenergy = sqlfile.totalSiteEnergy();
-    expect(siteenergy.isNull()).toBeFalsy();
-    expect(siteenergy.get()).toBeGreaterThan(0);
-
-    log("Site used " + siteenergy.get());
-  });
-});
diff --git a/v8-node/jasmine/runmanager/simulation_spec.js b/v8-node/jasmine/runmanager/simulation_spec.js
deleted file mode 100644
index d2276a47c12..00000000000
--- a/v8-node/jasmine/runmanager/simulation_spec.js
+++ /dev/null
@@ -1,73 +0,0 @@
-var openstudio = require('../../OpenStudio.js').openstudio;
-
-describe("RunManager", function() {
-  // Test that we can run a simulation with runmanager
-  it("should be able to run a simulation", function() {
-
-    model = openstudio.model.exampleModel();
-
-    var epw_path = openstudio.getSharedResourcesPath().append(new openstudio.path("runmanager")).append(new openstudio.path("USA_CO_Golden-NREL.724666_TMY3.epw"));
-
-    console.log("Loading EPW from " + openstudio.toString(epw_path));
-
-    epw_file = new openstudio.EpwFile(epw_path);
-    openstudio.model.WeatherFile.setWeatherFile(model, epw_file);
-
-    // We're constructing the runmanager here so that it can initialize
-    // the Qt UI for us. This is only necessary because we show some
-    // UI code for the sake of the demo.
-    var runmanager = new openstudio.runmanager.RunManager();
-    var co = new openstudio.runmanager.ConfigOptions();
-    co.findTools(true, true, true, true);
-
-    runmanager.setConfigOptions(co);
-
-    var workflow = new openstudio.runmanager.Workflow();
-
-    workflow.addJob(new openstudio.runmanager.JobType("ModelToIdf"));
-    workflow.addJob(new openstudio.runmanager.JobType("ExpandObjects"));
-    //workflow.addJob(new openstudio.runmanager.JobType("EnergyPlusPreProcess"));
-    workflow.addJob(new openstudio.runmanager.JobType("EnergyPlus"));
-    workflow.add(co.getTools());
-
-    var outdir = openstudio.tempDir().append(new openstudio.path("TestJavaScriptRun"));
-    console.log("Running simulation in " + openstudio.toString(outdir));
-    openstudio.create_directory(outdir);
-
-    var osmpath = outdir.append(new openstudio.path("test.osm"));
-    console.log("Saving OSM to " + openstudio.toString(osmpath));
-
-    expect(model.save(osmpath, true)).toBeTruthy();
-
-    // Uncomment this line to parallelize the energyplus run
-    //workflow.parallelizeEnergyPlus(co.getMaxLocalJobs(), 1);
-    var job = workflow.create(outdir, osmpath);
-
-    runmanager.setPaused(true);
-    runmanager.enqueue(job, true);
-    runmanager.setPaused(false);
-
-    job.waitForFinished();
-    runmanager.waitForFinished();
-
-    expect(runmanager.workPending()).toBeFalsy();
-
-    outfiles = job.treeOutputFiles();
-
-    expect(outfiles.files().size() > 0);
-
-    var sqlpath = outfiles.getLastByExtension("sql").fullPath;
-    log(openstudio.toString(sqlpath));
-
-
-    /// load the results from energyplus
-
-    var sqlfile = new openstudio.SqlFile(sqlpath);
-
-    var siteenergy = sqlfile.netSiteEnergy();
-    expect(siteenergy.isNull()).toBeFalsy();
-    expect(siteenergy.get()).toBeGreaterThan(0);
-
-    log("Site used " + siteenergy.get());
-  });
-});
diff --git a/v8-node/run_simulation.js b/v8-node/run_simulation.js
deleted file mode 100644
index 7b41ab9da87..00000000000
--- a/v8-node/run_simulation.js
+++ /dev/null
@@ -1,88 +0,0 @@
-console.log("starting up");
-var assert = require('assert');
-console.log("loading libraries");
-var openstudio = require('./OpenStudio.js').openstudio;
-console.log("libraries loaded");
-openstudio.Logger.instance().standardOutLogger().setLogLevel(-3);
-
-// model = openstudio.model.exampleModel();
-
-
-var epw_path = openstudio.getSharedResourcesPath().append(new openstudio.path("runmanager")).append(new openstudio.path("USA_CO_Golden-NREL.724666_TMY3.epw"));
-
-console.log("Loading EPW from " + openstudio.toString(epw_path));
-
-// epw_file = new openstudio.EpwFile(epw_path);
-// openstudio.model.WeatherFile.setWeatherFile(model, epw_file);
-
-// We're constructing the runmanager here so that it can initialize
-// the Qt UI for us. This is only necessary because we show some
-// UI code for the sake of the demo.
-var runmanager = new openstudio.runmanager.RunManager();
-var co = new openstudio.runmanager.ConfigOptions();
-co.findTools(true, true, true, true);
-
-runmanager.setConfigOptions(co);
-
-var workflow = new openstudio.runmanager.Workflow();
-
-workflow.addJob(new openstudio.runmanager.JobType("ModelToIdf"));
-workflow.addJob(new openstudio.runmanager.JobType("ExpandObjects"));
-//workflow.addJob(new openstudio.runmanager.JobType("EnergyPlusPreProcess"));
-workflow.addJob(new openstudio.runmanager.JobType("EnergyPlus"));
-workflow.add(co.getTools());
-
-var outdir = openstudio.tempDir().append(new openstudio.path("TestJavaScriptRun"));
-console.log("Running simulation in " + openstudio.toString(outdir));
-openstudio.create_directory(outdir);
-
-var osmpath = new openstudio.path(process.argv[2])
-//var osmpath = outdir.append(new openstudio.path("test.osm"));
-//console.log("Saving OSM to " + openstudio.toString(osmpath));
-
-if (process.argv[3] == "true")
-{
-  console.log("Optimizing OSM for performance over accuracy");
-  console.log("Loading OSM");
-  var model = openstudio.model.Model.load(osmpath);
-
-  if (model.is_initialized())
-  {
-    console.log("Optimizing OSM");
-    openstudio.runmanager.RunManager.simplifyModelForPerformance(model.get());
-    console.log("Saving OSM");
-    
-    var newosmpath = outdir.append(new openstudio.path("optimized.osm"));
-    model.get().save(newosmpath, true);
-    console.log("OSM Saved");
-    osmpath = newosmpath;
-  } else {
-    console.log("Failure to load OSM");
-  }
-}
-
-if (process.argv[4] == "true")
-{
-  workflow.parallelizeEnergyPlus(co.getMaxLocalJobs(), 7);
-}
-
-
-var job = workflow.create(outdir, osmpath, epw_path);
-
-runmanager.enqueue(job, true);
-
-runmanager.waitForFinished();
-
-outfiles = job.treeOutputFiles();
-
-var sqlpath = outfiles.getLastByExtension("sql").fullPath;
-console.log(openstudio.toString(sqlpath));
-
-
-/// load the results from energyplus
-
-var sqlfile = new openstudio.SqlFile(sqlpath);
-
-var siteenergy = sqlfile.netSiteEnergy();
-
-console.log("Site used " + siteenergy.get());


Test patch:
diff --git a/v8-node/engine_test.js b/v8-node/engine_test.js
deleted file mode 100644
index 25f311d5c56..00000000000
--- a/v8-node/engine_test.js
+++ /dev/null
@@ -1,51 +0,0 @@
-console.log("starting up");
-var assert = require('assert');
-console.log("loading libraries");
-var openstudio = require('./OpenStudio.js').openstudio;
-console.log("libraries loaded");
-openstudio.Logger.instance().standardOutLogger().setLogLevel(-3);
-
-
-var engine = new openstudio.runmanager.SimulationEngine(new openstudio.path("/tmp/testsimulationengine"), 1);
-
-var model = openstudio.model.exampleModel();
-var b = model.building().get();
-
-var angles = new openstudio.DoubleVector();
-angles.add(0.0);
-angles.add(180.0);
-angles.add(90.0);
-angles.add(45.0);
-angles.add(22.5);
-angles.add(11.25);
-angles.add(5.625);
-
-var variables = new openstudio.DoubleVector();
-var discreteVariables = new openstudio.IntVector();
-
-variables.add(0.0);
-discreteVariables.add(1);
-
-for (var i = 0; i < angles.size(); ++i)
-{
-  b.setNorthAxis(angles.get(i));
-  variables.set(0, angles.get(i));
-  var uses = engine.fuelUses(model, variables, discreteVariables, "" + i, new openstudio.path("/usr/local/EnergyPlus-8-0-0/WeatherData/USA_CO_Golden-NREL.724666_TMY3.epw"));
-  console.log("confidence: " + uses.confidence() + " for: " + variables.get(0) + " Electricity: " + uses.fuelUse(new openstudio.FuelType("Electricity")) + " Gas: " + uses.fuelUse(new openstudio.FuelType("Gas")));
-}
-
-
-
-
-while(true)
-{
-  openstudio.System.msleep(30000);
-
-  for (var i = 0; i < angles.size(); ++i)
-  {
-    variables.set(0, angles.get(i));
-    uses = engine.fuelUses("" + i);
-    console.log("confidence: " + uses.confidence() + " for: " + variables.get(0) + " Electricity: " + uses.fuelUse(new openstudio.FuelType("Electricity")) + " Gas: " + uses.fuelUse(new openstudio.FuelType("Gas")));  
-  }
-}
-
diff --git a/v8-node/test/exception_test.js b/v8-node/test/exception_test.js
deleted file mode 100644
index e45f6b4b1c9..00000000000
--- a/v8-node/test/exception_test.js
+++ /dev/null
@@ -1,9 +0,0 @@
-openstudio = require('../OpenStudio.js').openstudio;
-
-try {
-  var o2 = new openstudio.OptionalInt();
-  console.log(o2.get());
-} catch (err) {
-  console.log(err);
-}
-
diff --git a/v8-node/test/inheritance2_test.js b/v8-node/test/inheritance2_test.js
deleted file mode 100644
index d66458f97d7..00000000000
--- a/v8-node/test/inheritance2_test.js
+++ /dev/null
@@ -1,21 +0,0 @@
-var assert = require('assert')
-openstudio = require('../OpenStudio.js').openstudio;
-
-model = new openstudio.model.Model();
-
-// this checks the ability to cast up the inheritance hierarchy when calling functions
-var opaqueMaterials = new openstudio.model.OpaqueMaterialVector();
-
-// Exterior Wall
-var m01_100mm_brick = new openstudio.model.StandardOpaqueMaterial(model);
-m01_100mm_brick.setName("M01 100mm brick");
-m01_100mm_brick.setRoughness("MediumRough");
-m01_100mm_brick.setThickness(0.1016);
-m01_100mm_brick.setThermalConductivity(0.89);
-m01_100mm_brick.setDensity(1920.0);
-m01_100mm_brick.setSpecificHeat(790.0);
-
-// if this function call succeeds, we can pass them up
-opaqueMaterials.add(m01_100mm_brick);
-
-
diff --git a/v8-node/test/inheritance3_test.js b/v8-node/test/inheritance3_test.js
deleted file mode 100644
index 3d47a451ffd..00000000000
--- a/v8-node/test/inheritance3_test.js
+++ /dev/null
@@ -1,37 +0,0 @@
-var assert = require('assert')
-openstudio = require('../OpenStudio.js').openstudio;
-
-model = new openstudio.model.Model();
-
-// Add an air loop
-var alwaysOnSchedule = new openstudio.model.ScheduleCompact(model);
-alwaysOnSchedule.setName("ALWAYS_ON");
-alwaysOnSchedule.setString(3,"Through: 12/31");
-alwaysOnSchedule.setString(4,"For: AllDays");
-alwaysOnSchedule.setString(5,"Until: 24:00");
-alwaysOnSchedule.setString(6,"1");
-
-
-var coolingCurveFofTemp = new openstudio.model.CurveBiquadratic(model);
-coolingCurveFofTemp.setCoefficient1Constant(0.42415);
-coolingCurveFofTemp.setCoefficient2x(0.04426);
-coolingCurveFofTemp.setCoefficient3xPOW2(-0.00042);
-coolingCurveFofTemp.setCoefficient4y(0.00333);
-coolingCurveFofTemp.setCoefficient5yPOW2(-0.00008);
-coolingCurveFofTemp.setCoefficient6xTIMESY(-0.00021);
-coolingCurveFofTemp.setMinimumValueofx(17.0);
-coolingCurveFofTemp.setMaximumValueofx(22.0);
-coolingCurveFofTemp.setMinimumValueofy(13.0);
-coolingCurveFofTemp.setMaximumValueofy(46.0);
-coolingCurveFofTemp.setMinimumCurveOutput(-1000);
-coolingCurveFofTemp.setMaximumCurveOutput(1000);
-
-
-var coilCooling = new openstudio.model.CoilCoolingDXSingleSpeed( model,
-    alwaysOnSchedule,
-    coolingCurveFofTemp,
-    coolingCurveFofTemp,
-    coolingCurveFofTemp,
-    coolingCurveFofTemp,
-    coolingCurveFofTemp);
-
diff --git a/v8-node/test/inheritance_test.js b/v8-node/test/inheritance_test.js
deleted file mode 100644
index aa80633ddf7..00000000000
--- a/v8-node/test/inheritance_test.js
+++ /dev/null
@@ -1,30 +0,0 @@
-var assert = require('assert')
-openstudio = require('../OpenStudio.js').openstudio;
-
-model = openstudio.model.exampleModel();
-
-
-simulationControl = openstudio.model.getSimulationControl(model);
-assert.equal(false, simulationControl.isDoZoneSizingCalculationDefaulted()); // from self
-assert.equal(8, simulationControl.children().size()); // from modelcore ParentObject
-assert.equal(24, simulationControl.attributes().size()); // from modelcore ModelObject
-assert.equal(false, simulationControl.isTarget()); // from openstudiocore WorkspaceObject
-assert.equal(true, simulationControl.model().Equals(model));
-
-
-// this checks the ability to cast up the inheritance hierarchy when calling functions
-var opaqueMaterials = new openstudio.model.OpaqueMaterialVector();
-
-// Exterior Wall
-var m01_100mm_brick = new openstudio.model.StandardOpaqueMaterial(model);
-m01_100mm_brick.setName("M01 100mm brick");
-m01_100mm_brick.setRoughness("MediumRough");
-m01_100mm_brick.setThickness(0.1016);
-m01_100mm_brick.setThermalConductivity(0.89);
-m01_100mm_brick.setDensity(1920.0);
-m01_100mm_brick.setSpecificHeat(790.0);
-
-// if this function call succeeds, we can pass them up
-opaqueMaterials.add(m01_100mm_brick);
-
-
diff --git a/v8-node/test/optional_test.js b/v8-node/test/optional_test.js
deleted file mode 100644
index dfbfc590758..00000000000
--- a/v8-node/test/optional_test.js
+++ /dev/null
@@ -1,9 +0,0 @@
-openstudio = require('../OpenStudio.js').openstudio;
-
-var i = 10;
-
-
-var o = new openstudio.OptionalInt(i);
-console.log(o.get());
-
-
diff --git a/v8-node/test/returntypesfromothermodules_test.js b/v8-node/test/returntypesfromothermodules_test.js
deleted file mode 100644
index 89779825f83..00000000000
--- a/v8-node/test/returntypesfromothermodules_test.js
+++ /dev/null
@@ -1,21 +0,0 @@
-var assert = require('assert')
-openstudio = require('../OpenStudio.js').openstudio;
-
-openstudio.Logger.instance().standardOutLogger().setLogLevel(-2)
-
-var outdir = openstudio.tempDir().append(new openstudio.path("TestJavaScriptReturnTypes"));
-openstudio.create_directory(outdir);
-
-var osmpath = outdir.append(new openstudio.path("test.osm"));
-console.log("Saving OSM to " + openstudio.toString(osmpath));
-
-model = openstudio.model.exampleModel();
-model.save(osmpath, true);
-
-vt = new openstudio.osversion.VersionTranslator();
-model2 = vt.loadModel(osmpath);
-
-// not being able to manipulate an OptionalModel returned from the VersionTranslator was the
-// first sign of a problem here
-assert.equal(true, model2.is_initialized())
-assert.equal(model.modelObjects().size(), model2.get().modelObjects().size());
diff --git a/v8-node/test/simple_test.js b/v8-node/test/simple_test.js
deleted file mode 100644
index aa2edf9a17f..00000000000
--- a/v8-node/test/simple_test.js
+++ /dev/null
@@ -1,18 +0,0 @@
-var assert = require('assert')
-var openstudio = require('../OpenStudio.js').openstudio;
-
-assert.notEqual(openstudio.toString(openstudio.tempDir()), '')
-
-model = openstudio.model.exampleModel();
-
-var optionalbuilding = new openstudio.model.OptionalBuilding();
-console.log(optionalbuilding.is_initialized());
-var bldg = model.building();
-console.log(bldg.is_initialized());
-
-var runmanager = new openstudio.runmanager.RunManager();
-console.log(runmanager.paused());
-console.log(openstudio.toString(runmanager.dbPath()));
-
-console.log(model.version());
-
diff --git a/v8-node/test/simulation_test.js b/v8-node/test/simulation_test.js
deleted file mode 100644
index 4e2ed504387..00000000000
--- a/v8-node/test/simulation_test.js
+++ /dev/null
@@ -1,59 +0,0 @@
-var assert = require('assert');
-var openstudio = require('../OpenStudio.js').openstudio;
-
-model = openstudio.model.exampleModel();
-
-openstudio.model.getBuilding(model).setName("My Building Name");
-
-var epw_path = openstudio.getSharedResourcesPath().append(new openstudio.path("runmanager")).append(new openstudio.path("USA_CO_Golden-NREL.724666_TMY3.epw"));
-
-console.log("Loading EPW from " + openstudio.toString(epw_path));
-
-epw_file = new openstudio.EpwFile(epw_path);
-openstudio.model.WeatherFile.setWeatherFile(model, epw_file);
-
-// We're constructing the runmanager here so that it can initialize
-// the Qt UI for us. This is only necessary because we show some
-// UI code for the sake of the demo.
-var runmanager = new openstudio.runmanager.RunManager();
-var co = new openstudio.runmanager.ConfigOptions();
-co.findTools(true, true, true, true);
-
-runmanager.setConfigOptions(co);
-
-var workflow = new openstudio.runmanager.Workflow();
-
-workflow.addJob(new openstudio.runmanager.JobType("ModelToIdf"));
-workflow.addJob(new openstudio.runmanager.JobType("ExpandObjects"));
-//workflow.addJob(new openstudio.runmanager.JobType("EnergyPlusPreProcess"));
-workflow.addJob(new openstudio.runmanager.JobType("EnergyPlus"));
-workflow.add(co.getTools());
-
-var outdir = openstudio.tempDir().append(new openstudio.path("TestJavaScriptRun"));
-console.log("Running simulation in " + openstudio.toString(outdir));
-openstudio.create_directory(outdir);
-
-var osmpath = outdir.append(new openstudio.path("test.osm"));
-console.log("Saving OSM to " + openstudio.toString(osmpath));
-
-model.save(osmpath, true);
-
-var job = workflow.create(outdir, osmpath);
-
-runmanager.enqueue(job, true);
-
-runmanager.waitForFinished();
-
-outfiles = job.treeOutputFiles();
-
-var sqlpath = outfiles.getLastByExtension("sql").fullPath;
-console.log(openstudio.toString(sqlpath));
-
-
-/// load the results from energyplus
-
-var sqlfile = new openstudio.SqlFile(sqlpath);
-
-var siteenergy = sqlfile.totalSiteEnergy();
-
-console.log("Site used " + siteenergy.get());