openstudio-ee 0.12.4 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/test-with-openstudio.yml +77 -109
- data/.rubocop.yml +2 -15
- data/CHANGELOG.md +7 -0
- data/README.md +3 -2
- data/lib/measures/nze_hvac/measure.rb +1 -1
- data/lib/measures/nze_hvac/measure.xml +4 -4
- data/lib/measures/window_enhancement/measure.py +3 -3
- data/lib/measures/window_enhancement/measure.xml +157 -14
- data/lib/openstudio/ee_measures/version.rb +1 -1
- data/openstudio-ee.gemspec +5 -2
- metadata +16 -16
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d956e2182ed1efed95cf8c325a10d3e6c9ad9a770f9d6e1f7193f283a19ea7f7
|
|
4
|
+
data.tar.gz: f0b1a8a155d152dbb5aed1f4764c749475758e809b7226c2aaf8ca09a2ea2280
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e3e3b0cde5c02ec2b96bcd9bd0704f1a9f9d632d3b6553871354d327408fbd48a6ec2adfff9448a12c8b6c5572b1f317443dc9e20dca6043437e9f9728c10057
|
|
7
|
+
data.tar.gz: 7d70f591a9403143f11df127876b180de508130dea1b880241001d24c287decbaa4bf80b5b1e7990e96f2d610645ee0b119893cb31044224de49f352e19a8e60
|
|
@@ -11,133 +11,101 @@ jobs:
|
|
|
11
11
|
DEPLOY_PATH: ${{ github.repository }}/${{ github.ref_name }}/${{ github.run_number }} # Path for S3 deployment
|
|
12
12
|
S3_BUCKET: ext-gem-dashboard
|
|
13
13
|
|
|
14
|
-
steps
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
uses: docker/login-action@v3
|
|
18
|
-
with:
|
|
19
|
-
username: ${{ secrets.DOCKERHUB_USERNAME }} # Ensure this secret exists in your repository or organization settings
|
|
20
|
-
password: ${{ secrets.DOCKERHUB_TOKEN }} # Ensure this secret exists in your repository or organization settings
|
|
14
|
+
container: # Define the Docker container for the job. All subsequent steps run inside it.
|
|
15
|
+
image: nrel/openstudio:dev-3.11.0-rc3
|
|
16
|
+
options: -u root -e "LANG=en_US.UTF-8" # These options are passed to the 'docker run' command internally
|
|
21
17
|
|
|
18
|
+
steps:
|
|
22
19
|
- name: Checkout Repository
|
|
23
|
-
#
|
|
24
|
-
uses: actions/checkout@v4
|
|
20
|
+
# The repository will be checked out inside the 'nrel/openstudio:3.11.0' container
|
|
21
|
+
uses: actions/checkout@v4 # Use v4 for better security and features
|
|
25
22
|
with:
|
|
26
|
-
submodules: true
|
|
23
|
+
submodules: true # Set to true if your repository uses Git submodules
|
|
27
24
|
|
|
28
|
-
- name:
|
|
29
|
-
#
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
25
|
+
- name: Install Node.js and AWS CLI
|
|
26
|
+
# Install required dependencies for AWS actions to work in the OpenStudio container
|
|
27
|
+
shell: bash
|
|
28
|
+
run: |
|
|
29
|
+
echo "Installing Node.js and AWS CLI..."
|
|
30
|
+
|
|
31
|
+
# Update package list
|
|
32
|
+
apt-get update
|
|
33
|
+
|
|
34
|
+
# Install curl and other dependencies
|
|
35
|
+
apt-get install -y curl unzip
|
|
36
36
|
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
# Install Node.js (using NodeSource repository for latest LTS)
|
|
38
|
+
curl -fsSL https://deb.nodesource.com/setup_lts.x | bash -
|
|
39
|
+
apt-get install -y nodejs
|
|
40
|
+
|
|
41
|
+
# Install AWS CLI v2
|
|
42
|
+
curl --retry 5 --retry-connrefused "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
|
|
43
|
+
unzip awscliv2.zip
|
|
44
|
+
./aws/install
|
|
45
|
+
|
|
46
|
+
# Verify installations
|
|
47
|
+
echo "Node.js version: $(node --version)"
|
|
48
|
+
echo "npm version: $(npm --version)"
|
|
49
|
+
echo "AWS CLI version: $(aws --version)"
|
|
50
|
+
|
|
51
|
+
# Clean up
|
|
52
|
+
rm -rf awscliv2.zip aws/
|
|
53
|
+
|
|
54
|
+
- name: Verify Environment and Run Measures
|
|
55
|
+
# All 'run' commands in this job now execute inside the specified Docker container.
|
|
56
|
+
shell: bash # Specify the shell if needed, though bash is default for Ubuntu runners
|
|
39
57
|
run: |
|
|
40
|
-
#
|
|
41
|
-
|
|
58
|
+
# Fix git ownership issue in container
|
|
59
|
+
git config --global --add safe.directory /__w/openstudio-ee-gem/openstudio-ee-gem
|
|
42
60
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
apt-get install -y -qq curl unzip ca-certificates
|
|
63
|
-
|
|
64
|
-
# Install Node.js and AWS CLI (required for some tests)
|
|
65
|
-
curl -fsSL https://deb.nodesource.com/setup_20.x | DEBIAN_FRONTEND=noninteractive bash -
|
|
66
|
-
DEBIAN_FRONTEND=noninteractive apt-get install -y -qq nodejs
|
|
67
|
-
|
|
68
|
-
curl -fsSL "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o /tmp/awscliv2.zip
|
|
69
|
-
unzip -q /tmp/awscliv2.zip -d /tmp/
|
|
70
|
-
/tmp/aws/install
|
|
71
|
-
rm -rf /tmp/aws /tmp/awscliv2.zip
|
|
72
|
-
|
|
73
|
-
# Install gem dependencies
|
|
74
|
-
echo "Installing gem dependencies..."
|
|
75
|
-
|
|
76
|
-
# Clean up bundler environment
|
|
77
|
-
unset BUNDLE_GEMFILE BUNDLE_PATH BUNDLE_BIN_PATH
|
|
78
|
-
|
|
79
|
-
# Install bundler and configure
|
|
80
|
-
gem install bundler -v 2.4.10 --no-document
|
|
81
|
-
bundle config set --local path vendor/bundle
|
|
82
|
-
bundle config set --local force_ruby_platform true
|
|
83
|
-
|
|
84
|
-
# Install gems
|
|
85
|
-
bundle install --retry 3 --jobs 4
|
|
86
|
-
|
|
87
|
-
# Run test suite
|
|
88
|
-
echo "Running tests..."
|
|
89
|
-
bundle exec rake
|
|
90
|
-
bundle exec rake openstudio:list_measures
|
|
91
|
-
bundle exec rake openstudio:update_measures
|
|
92
|
-
bundle exec rake openstudio:test_with_openstudio
|
|
93
|
-
|
|
94
|
-
# Archive test results
|
|
95
|
-
if [ -d "test" ]; then
|
|
96
|
-
mv test test_with_cli_bundler
|
|
97
|
-
fi
|
|
98
|
-
|
|
99
|
-
dir_name=$(find . -type d -name "test_results" | head -1)
|
|
100
|
-
if [ -n "$dir_name" ]; then
|
|
101
|
-
mv "$dir_name" test_results_dashboard_cli_bundler
|
|
102
|
-
fi
|
|
103
|
-
|
|
104
|
-
echo "Tests completed successfully!"
|
|
105
|
-
'
|
|
61
|
+
echo "OpenStudio Version: $(openstudio --version)"
|
|
62
|
+
echo "Ruby Version: $(ruby -v)"
|
|
63
|
+
echo "Listing OpenStudio Gems: $(openstudio gem_list)"
|
|
64
|
+
|
|
65
|
+
# Install dependencies before running tests
|
|
66
|
+
echo "Installing gem dependencies..."
|
|
67
|
+
bundle install
|
|
68
|
+
|
|
69
|
+
echo "Running spec tests..."
|
|
70
|
+
rake spec
|
|
71
|
+
echo "Running measures with verbose output:"
|
|
72
|
+
# This command will execute within the container.
|
|
73
|
+
# Ensure that './lib/measures' is the correct path relative to the checkout.
|
|
74
|
+
openstudio --verbose measure -r ./lib/measures
|
|
75
|
+
|
|
76
|
+
# The output for 'test' should now be generated directly into the workspace
|
|
77
|
+
# within the container, which is mounted from the host.
|
|
78
|
+
# No 'docker cp' is needed as the workspace is shared.
|
|
79
|
+
ls -al ./test # Verify the output directory exists and contains files
|
|
106
80
|
|
|
107
81
|
- name: Configure AWS Credentials
|
|
108
|
-
|
|
109
|
-
|
|
82
|
+
if: success() || failure()
|
|
83
|
+
# This step is crucial for authenticating with AWS S3
|
|
84
|
+
uses: aws-actions/configure-aws-credentials@v4 # Use v4 for updated features
|
|
110
85
|
with:
|
|
111
86
|
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
|
112
|
-
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
|
113
|
-
aws-region: ${{ secrets.AWS_DEFAULT_REGION }}
|
|
87
|
+
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} # Assuming this is your secret name
|
|
88
|
+
aws-region: ${{ secrets.AWS_DEFAULT_REGION }} # Replace with your AWS region, e.g., us-east-1
|
|
114
89
|
|
|
115
90
|
- name: Sync files to S3 with branch and build in path
|
|
91
|
+
if: success() || failure()
|
|
116
92
|
shell: bash
|
|
117
93
|
run: |
|
|
118
94
|
echo "Deploying to s3://${{ env.S3_BUCKET }}/${{ env.DEPLOY_PATH }}/"
|
|
119
|
-
#
|
|
120
|
-
dir_name
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
fi
|
|
130
|
-
echo "✅ S3 sync complete."
|
|
131
|
-
echo "🌐 Dashboard URL: https://${{ env.S3_BUCKET }}.s3.amazonaws.com/${{ env.DEPLOY_PATH }}/dashboard/index.html"
|
|
132
|
-
else
|
|
133
|
-
echo "::error::Test results directory $dir_name not found"
|
|
134
|
-
echo "::error::Available directories:"
|
|
135
|
-
ls -la
|
|
136
|
-
exit 1
|
|
137
|
-
fi
|
|
95
|
+
# Ensure './test_results' is the correct source directory for the files to upload to S3.
|
|
96
|
+
dir_name=$(find -type d -name "test_results")
|
|
97
|
+
# It must match the output directory from the 'Run Measures' step.
|
|
98
|
+
aws s3 sync $dir_name s3://${{ env.S3_BUCKET }}/${{ env.DEPLOY_PATH }}/ \
|
|
99
|
+
--delete \
|
|
100
|
+
--acl public-read \
|
|
101
|
+
--cache-control "max-age=0, no-cache, no-store, must-revalidate"
|
|
102
|
+
echo "S3 sync complete."
|
|
103
|
+
echo "https://${{ env.S3_BUCKET }}.s3.amazonaws.com/${{ env.DEPLOY_PATH }}/dashboard/index.html"
|
|
104
|
+
echo dir_name=$dir_name >> $GITHUB_ENV # Save the directory name to an environment variable for later use
|
|
138
105
|
|
|
139
106
|
- name: Archive static site as artifact
|
|
107
|
+
if: always()
|
|
140
108
|
uses: actions/upload-artifact@v4
|
|
141
109
|
with:
|
|
142
110
|
name: static-html-artifact
|
|
143
|
-
path:
|
|
111
|
+
path: ${{ env.dir_name }} # Path should be relative to the GitHub workspace, which is shared with the container
|
data/.rubocop.yml
CHANGED
|
@@ -1,20 +1,7 @@
|
|
|
1
|
-
inherit_mode:
|
|
2
|
-
merge:
|
|
3
|
-
- Exclude
|
|
4
|
-
|
|
5
1
|
AllCops:
|
|
6
|
-
NewCops: enable
|
|
7
2
|
Exclude:
|
|
8
3
|
- 'spec/test_measures/**/*'
|
|
9
|
-
- 'vendor/**/*' # Standard exclusion for all vendor code
|
|
10
|
-
- '.bundle/**/*' # Bundler cache directory
|
|
11
|
-
- 'tmp/**/*' # Temporary files
|
|
12
|
-
- 'node_modules/**/*' # Node.js dependencies (if applicable)
|
|
13
|
-
# Standard RuboCop behavior - these settings are actually defaults
|
|
14
|
-
DisabledByDefault: false
|
|
15
4
|
|
|
16
|
-
require:
|
|
17
|
-
- rubocop-performance
|
|
18
|
-
- rubocop-rake
|
|
5
|
+
require: rubocop-performance
|
|
19
6
|
inherit_from:
|
|
20
|
-
- http://s3.amazonaws.com/openstudio-resources/styles/
|
|
7
|
+
- http://s3.amazonaws.com/openstudio-resources/styles/rubocop_v4.yml
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# OpenStudio(R) EE Gem
|
|
2
2
|
|
|
3
|
+
## Version 0.13.0
|
|
4
|
+
- Updated dependency (openstudio-extension gem 0.9.3 to 0.9.7)
|
|
5
|
+
- Updated dependency (openstudio-standards gem 0.8.2 to 0.8.5)
|
|
6
|
+
|
|
7
|
+
## Version 0.12.5
|
|
8
|
+
* Removing error from measure.xml of window enhancement measure
|
|
9
|
+
|
|
3
10
|
## Version 0.12.4
|
|
4
11
|
* Adding first version of window enhancement measure. This is python measure that has extra dependencies, and also requires an EC3 API key. It looks up content on EC3, stores embodied carbon data in the OpenStudio model and updates the window performance. You can not use it to only update window performance without using the EC3 database.
|
|
5
12
|
|
data/README.md
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
# OpenStudio(R) EE Measures
|
|
1
|
+
# OpenStudio(R) EE Measures
|
|
2
2
|
|
|
3
3
|
EE measures used by OpenStudio(R). This contains general use energy efficiency measures. Some measures here may also be suitable for calibration or model articulation. Similarly, some measures in other measure gem repos may also be suitable for energy efficiency usage.
|
|
4
4
|
|
|
5
|
-
|
|
6
5
|
## Installation
|
|
7
6
|
|
|
8
7
|
Add this line to your application's Gemfile:
|
|
@@ -23,6 +22,8 @@ Or install it yourself as:
|
|
|
23
22
|
|
|
24
23
|
|OpenStudio EE Gem|OpenStudio|Ruby|
|
|
25
24
|
|:--------------:|:----------:|:--------:|
|
|
25
|
+
| 0.13.0 | 3.11 | 3.2.2 |
|
|
26
|
+
| 0.12.5 | 3.10 | 3.2.2 |
|
|
26
27
|
| 0.12.4 | 3.10 | 3.2.2 |
|
|
27
28
|
| 0.12.3 | 3.10 | 3.2.2 |
|
|
28
29
|
| 0.12.2 | 3.10 | 3.2.2 |
|
|
@@ -341,7 +341,7 @@ class NzeHvac < OpenStudio::Measure::ModelMeasure
|
|
|
341
341
|
# remove existing hvac system from model
|
|
342
342
|
if remove_existing_hvac
|
|
343
343
|
runner.registerInfo('Removing existing HVAC systems from the model')
|
|
344
|
-
|
|
344
|
+
OpenstudioStandards::HVAC.remove_hvac(model)
|
|
345
345
|
end
|
|
346
346
|
|
|
347
347
|
# exclude plenum zones, zones without thermostats, and zones with no floor area
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
<schema_version>3.1</schema_version>
|
|
4
4
|
<name>nze_hvac</name>
|
|
5
5
|
<uid>f060dff2-b28d-4194-a6af-e66d88ddb33c</uid>
|
|
6
|
-
<version_id>
|
|
7
|
-
<version_modified>
|
|
6
|
+
<version_id>dc683602-6101-43a8-86b7-3da2063658a8</version_id>
|
|
7
|
+
<version_modified>2026-06-08T03:32:17Z</version_modified>
|
|
8
8
|
<xml_checksum>0E5E4776</xml_checksum>
|
|
9
9
|
<class_name>NzeHvac</class_name>
|
|
10
10
|
<display_name>NZEHVAC</display_name>
|
|
@@ -253,12 +253,12 @@
|
|
|
253
253
|
<version>
|
|
254
254
|
<software_program>OpenStudio</software_program>
|
|
255
255
|
<identifier>3.8.0</identifier>
|
|
256
|
-
<min_compatible>3.
|
|
256
|
+
<min_compatible>3.11.0</min_compatible>
|
|
257
257
|
</version>
|
|
258
258
|
<filename>measure.rb</filename>
|
|
259
259
|
<filetype>rb</filetype>
|
|
260
260
|
<usage_type>script</usage_type>
|
|
261
|
-
<checksum>
|
|
261
|
+
<checksum>3A279C6D</checksum>
|
|
262
262
|
</file>
|
|
263
263
|
<file>
|
|
264
264
|
<filename>NZEHVAC_Test.rb</filename>
|
|
@@ -62,7 +62,7 @@ class WindowEnhancement(openstudio.measure.ModelMeasure):
|
|
|
62
62
|
for option in self.igu_options():
|
|
63
63
|
igu_options_chs.append(option)
|
|
64
64
|
igu_option = openstudio.measure.OSArgument.makeChoiceArgument("igu_option", igu_options_chs, True)
|
|
65
|
-
igu_option.setDisplayName("IGU option")
|
|
65
|
+
igu_option.setDisplayName("IGU option")
|
|
66
66
|
igu_option.setDescription("Type of insulating glazing unit")
|
|
67
67
|
args.append(igu_option)
|
|
68
68
|
|
|
@@ -80,12 +80,12 @@ class WindowEnhancement(openstudio.measure.ModelMeasure):
|
|
|
80
80
|
wf_lifetime.setDefaultValue(15)
|
|
81
81
|
args.append(wf_lifetime)
|
|
82
82
|
|
|
83
|
-
#make an argument for window frame options for filtering EPDs
|
|
83
|
+
#make an argument for window frame options for filtering EPDs
|
|
84
84
|
wf_options_chs = openstudio.StringVector()
|
|
85
85
|
for option in self.wf_options():
|
|
86
86
|
wf_options_chs.append(option)
|
|
87
87
|
wf_option = openstudio.measure.OSArgument.makeChoiceArgument("wf_option",wf_options_chs, True)
|
|
88
|
-
wf_option.setDisplayName("Window frame option")
|
|
88
|
+
wf_option.setDisplayName("Window frame option")
|
|
89
89
|
wf_option.setDescription("Type of aluminum extrusion")
|
|
90
90
|
args.append(wf_option)
|
|
91
91
|
|
|
@@ -1,21 +1,170 @@
|
|
|
1
1
|
<?xml version="1.0"?>
|
|
2
2
|
<measure>
|
|
3
3
|
<schema_version>3.1</schema_version>
|
|
4
|
-
<
|
|
5
|
-
<name>window_enhancment</name>
|
|
4
|
+
<name>window_enhancement</name>
|
|
6
5
|
<uid>0ad8e761-8624-4d9d-a7d6-ebf30cce243b</uid>
|
|
7
6
|
<version_id>6e806249-5eab-444e-b724-f00dd42c13fb</version_id>
|
|
8
7
|
<version_modified>2025-09-25T04:50:20Z</version_modified>
|
|
9
8
|
<xml_checksum>7DADF7C5</xml_checksum>
|
|
10
|
-
<class_name>
|
|
11
|
-
<display_name>Window
|
|
9
|
+
<class_name>WindowEnhancement</class_name>
|
|
10
|
+
<display_name>Window Enhancement</display_name>
|
|
12
11
|
<description>Make existing window better by adding film, storm window, or something else.</description>
|
|
13
|
-
<modeler_description>
|
|
12
|
+
<modeler_description>Using layered construction and not simple glazing to do this. We have to think about how to address simple glazing with this.</modeler_description>
|
|
14
13
|
<arguments>
|
|
15
14
|
<argument>
|
|
16
|
-
<name>
|
|
17
|
-
<display_name>
|
|
18
|
-
<description>
|
|
15
|
+
<name>analysis_period</name>
|
|
16
|
+
<display_name>Analysis Period</display_name>
|
|
17
|
+
<description>Analysis period of embodied carbon of building/building assembly</description>
|
|
18
|
+
<type>Integer</type>
|
|
19
|
+
<required>true</required>
|
|
20
|
+
<model_dependent>false</model_dependent>
|
|
21
|
+
<default_value>30</default_value>
|
|
22
|
+
</argument>
|
|
23
|
+
<argument>
|
|
24
|
+
<name>igu_option</name>
|
|
25
|
+
<display_name>IGU Option</display_name>
|
|
26
|
+
<description>Type of insulating glazing unit</description>
|
|
27
|
+
<type>Choice</type>
|
|
28
|
+
<required>true</required>
|
|
29
|
+
<model_dependent>false</model_dependent>
|
|
30
|
+
<choices>
|
|
31
|
+
<choice>
|
|
32
|
+
<value>electrochromic</value>
|
|
33
|
+
<display_name>electrochromic</display_name>
|
|
34
|
+
</choice>
|
|
35
|
+
<choice>
|
|
36
|
+
<value>fire_resistant</value>
|
|
37
|
+
<display_name>fire_resistant</display_name>
|
|
38
|
+
</choice>
|
|
39
|
+
<choice>
|
|
40
|
+
<value>laminated</value>
|
|
41
|
+
<display_name>laminated</display_name>
|
|
42
|
+
</choice>
|
|
43
|
+
<choice>
|
|
44
|
+
<value>low_emissivity</value>
|
|
45
|
+
<display_name>low_emissivity</display_name>
|
|
46
|
+
</choice>
|
|
47
|
+
<choice>
|
|
48
|
+
<value>tempered</value>
|
|
49
|
+
<display_name>tempered</display_name>
|
|
50
|
+
</choice>
|
|
51
|
+
</choices>
|
|
52
|
+
</argument>
|
|
53
|
+
<argument>
|
|
54
|
+
<name>igu_lifetime</name>
|
|
55
|
+
<display_name>IGU Lifetime</display_name>
|
|
56
|
+
<description>Lifetime of the insulating glazing unit</description>
|
|
57
|
+
<type>Integer</type>
|
|
58
|
+
<required>true</required>
|
|
59
|
+
<model_dependent>false</model_dependent>
|
|
60
|
+
<default_value>15</default_value>
|
|
61
|
+
</argument>
|
|
62
|
+
<argument>
|
|
63
|
+
<name>wf_lifetime</name>
|
|
64
|
+
<display_name>Product Lifetime of Window Frame</display_name>
|
|
65
|
+
<description>Life expectancy of window frame</description>
|
|
66
|
+
<type>Integer</type>
|
|
67
|
+
<required>true</required>
|
|
68
|
+
<model_dependent>false</model_dependent>
|
|
69
|
+
<default_value>15</default_value>
|
|
70
|
+
</argument>
|
|
71
|
+
<argument>
|
|
72
|
+
<name>wf_option</name>
|
|
73
|
+
<display_name>Window frame option</display_name>
|
|
74
|
+
<description>Type of aluminum extrusion</description>
|
|
75
|
+
<type>Choice</type>
|
|
76
|
+
<required>true</required>
|
|
77
|
+
<model_dependent>false</model_dependent>
|
|
78
|
+
<choices>
|
|
79
|
+
<choice>
|
|
80
|
+
<value>anodized</value>
|
|
81
|
+
<display_name>anodized</display_name>
|
|
82
|
+
</choice>
|
|
83
|
+
<choice>
|
|
84
|
+
<value>painted</value>
|
|
85
|
+
<display_name>painted</display_name>
|
|
86
|
+
</choice>
|
|
87
|
+
<choice>
|
|
88
|
+
<value>thermally_improved</value>
|
|
89
|
+
<display_name>thermally_improved</display_name>
|
|
90
|
+
</choice>
|
|
91
|
+
</choices>
|
|
92
|
+
</argument>
|
|
93
|
+
<argument>
|
|
94
|
+
<name>frame_cross_section_area</name>
|
|
95
|
+
<display_name>Frame Cross Section Area (m²)</display_name>
|
|
96
|
+
<description>Cross-sectional area of the IGU frame in square meters.</description>
|
|
97
|
+
<type>Double</type>
|
|
98
|
+
<required>true</required>
|
|
99
|
+
<model_dependent>false</model_dependent>
|
|
100
|
+
<default_value>0.0025</default_value>
|
|
101
|
+
</argument>
|
|
102
|
+
<argument>
|
|
103
|
+
<name>epd_type</name>
|
|
104
|
+
<display_name>EPD Type</display_name>
|
|
105
|
+
<description>Type of EPD for searching GWP values, Product EPDs refer to specific products from a manufacturer, while industrial EPDs represent average data across an entire industry sector.</description>
|
|
106
|
+
<type>Choice</type>
|
|
107
|
+
<required>true</required>
|
|
108
|
+
<model_dependent>false</model_dependent>
|
|
109
|
+
<choices>
|
|
110
|
+
<choice>
|
|
111
|
+
<value>Product</value>
|
|
112
|
+
<display_name>Product</display_name>
|
|
113
|
+
</choice>
|
|
114
|
+
<choice>
|
|
115
|
+
<value>Industry</value>
|
|
116
|
+
<display_name>Industry</display_name>
|
|
117
|
+
</choice>
|
|
118
|
+
</choices>
|
|
119
|
+
</argument>
|
|
120
|
+
<argument>
|
|
121
|
+
<name>gwp_statistic</name>
|
|
122
|
+
<display_name>GWP Statistic</display_name>
|
|
123
|
+
<description>Type of GWP statistic for searching GWP values, Product GWP statistics refer to specific products from a manufacturer, while industrial GWP statistics represent average data across an entire industry sector.</description>
|
|
124
|
+
<type>Choice</type>
|
|
125
|
+
<required>true</required>
|
|
126
|
+
<model_dependent>false</model_dependent>
|
|
127
|
+
<choices>
|
|
128
|
+
<choice>
|
|
129
|
+
<value>minimum</value>
|
|
130
|
+
<display_name>minimum</display_name>
|
|
131
|
+
</choice>
|
|
132
|
+
<choice>
|
|
133
|
+
<value>maximum</value>
|
|
134
|
+
<display_name>maximum</display_name>
|
|
135
|
+
</choice>
|
|
136
|
+
<choice>
|
|
137
|
+
<value>mean</value>
|
|
138
|
+
<display_name>mean</display_name>
|
|
139
|
+
</choice>
|
|
140
|
+
<choice>
|
|
141
|
+
<value>median</value>
|
|
142
|
+
<display_name>median</display_name>
|
|
143
|
+
</choice>
|
|
144
|
+
</choices>
|
|
145
|
+
</argument>
|
|
146
|
+
<argument>
|
|
147
|
+
<name>total_embodied_carbon</name>
|
|
148
|
+
<display_name>Total Embodied Carbon (kgCO2e)</display_name>
|
|
149
|
+
<description>Total embodied carbon of the window frame in kilograms of CO2 equivalent.</description>
|
|
150
|
+
<type>Double</type>
|
|
151
|
+
<required>true</required>
|
|
152
|
+
<model_dependent>false</model_dependent>
|
|
153
|
+
<default_value>0.0</default_value>
|
|
154
|
+
</argument>
|
|
155
|
+
<argument>
|
|
156
|
+
<name>total_embodied_carbon</name>
|
|
157
|
+
<display_name>Total Embodied Carbon (kgCO2e)</display_name>
|
|
158
|
+
<description>Total embodied carbon of the window frame in kilograms of CO2 equivalent.</description>
|
|
159
|
+
<type>Double</type>
|
|
160
|
+
<required>true</required>
|
|
161
|
+
<model_dependent>false</model_dependent>
|
|
162
|
+
<default_value>0.0</default_value>
|
|
163
|
+
</argument>
|
|
164
|
+
<argument>
|
|
165
|
+
<name>api_key</name>
|
|
166
|
+
<display_name>API Key</display_name>
|
|
167
|
+
<description>API key for accessing external services.</description>
|
|
19
168
|
<type>String</type>
|
|
20
169
|
<required>true</required>
|
|
21
170
|
<model_dependent>false</model_dependent>
|
|
@@ -71,12 +220,6 @@
|
|
|
71
220
|
<usage_type>readme</usage_type>
|
|
72
221
|
<checksum>DE9B0464</checksum>
|
|
73
222
|
</file>
|
|
74
|
-
<file>
|
|
75
|
-
<filename>.gitkeep</filename>
|
|
76
|
-
<filetype>gitkeep</filetype>
|
|
77
|
-
<usage_type>doc</usage_type>
|
|
78
|
-
<checksum>00000000</checksum>
|
|
79
|
-
</file>
|
|
80
223
|
<file>
|
|
81
224
|
<version>
|
|
82
225
|
<software_program>OpenStudio</software_program>
|
data/openstudio-ee.gemspec
CHANGED
|
@@ -29,9 +29,12 @@ Gem::Specification.new do |spec|
|
|
|
29
29
|
spec.required_ruby_version = '~> 3.2.2'
|
|
30
30
|
|
|
31
31
|
spec.add_dependency 'bundler', '~> 2.4.10'
|
|
32
|
+
spec.add_dependency 'openstudio-extension', '~> 0.9.7'
|
|
33
|
+
spec.add_dependency 'openstudio-standards', '0.8.5'
|
|
34
|
+
|
|
35
|
+
# if we need the following dependencies pinned,
|
|
36
|
+
# let's set them in extension-gem for next release
|
|
32
37
|
spec.add_dependency 'multipart-post', '2.4.0'
|
|
33
|
-
spec.add_dependency 'openstudio-extension', '~> 0.9.3'
|
|
34
|
-
spec.add_dependency 'openstudio-standards', '0.8.2'
|
|
35
38
|
|
|
36
39
|
spec.add_development_dependency 'octokit', '4.18.0' # for change logs
|
|
37
40
|
spec.add_development_dependency 'rake', '~> 13.0'
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: openstudio-ee
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.13.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- David Goldwasser
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: exe
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date:
|
|
12
|
+
date: 2026-07-13 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: bundler
|
|
@@ -26,47 +26,47 @@ dependencies:
|
|
|
26
26
|
- !ruby/object:Gem::Version
|
|
27
27
|
version: 2.4.10
|
|
28
28
|
- !ruby/object:Gem::Dependency
|
|
29
|
-
name:
|
|
29
|
+
name: openstudio-extension
|
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
|
31
31
|
requirements:
|
|
32
|
-
- -
|
|
32
|
+
- - "~>"
|
|
33
33
|
- !ruby/object:Gem::Version
|
|
34
|
-
version:
|
|
34
|
+
version: 0.9.7
|
|
35
35
|
type: :runtime
|
|
36
36
|
prerelease: false
|
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
|
38
38
|
requirements:
|
|
39
|
-
- -
|
|
39
|
+
- - "~>"
|
|
40
40
|
- !ruby/object:Gem::Version
|
|
41
|
-
version:
|
|
41
|
+
version: 0.9.7
|
|
42
42
|
- !ruby/object:Gem::Dependency
|
|
43
|
-
name: openstudio-
|
|
43
|
+
name: openstudio-standards
|
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
|
45
45
|
requirements:
|
|
46
|
-
- -
|
|
46
|
+
- - '='
|
|
47
47
|
- !ruby/object:Gem::Version
|
|
48
|
-
version: 0.
|
|
48
|
+
version: 0.8.5
|
|
49
49
|
type: :runtime
|
|
50
50
|
prerelease: false
|
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
|
52
52
|
requirements:
|
|
53
|
-
- -
|
|
53
|
+
- - '='
|
|
54
54
|
- !ruby/object:Gem::Version
|
|
55
|
-
version: 0.
|
|
55
|
+
version: 0.8.5
|
|
56
56
|
- !ruby/object:Gem::Dependency
|
|
57
|
-
name:
|
|
57
|
+
name: multipart-post
|
|
58
58
|
requirement: !ruby/object:Gem::Requirement
|
|
59
59
|
requirements:
|
|
60
60
|
- - '='
|
|
61
61
|
- !ruby/object:Gem::Version
|
|
62
|
-
version:
|
|
62
|
+
version: 2.4.0
|
|
63
63
|
type: :runtime
|
|
64
64
|
prerelease: false
|
|
65
65
|
version_requirements: !ruby/object:Gem::Requirement
|
|
66
66
|
requirements:
|
|
67
67
|
- - '='
|
|
68
68
|
- !ruby/object:Gem::Version
|
|
69
|
-
version:
|
|
69
|
+
version: 2.4.0
|
|
70
70
|
- !ruby/object:Gem::Dependency
|
|
71
71
|
name: octokit
|
|
72
72
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -362,7 +362,7 @@ licenses: []
|
|
|
362
362
|
metadata:
|
|
363
363
|
bug_tracker_uri: https://github.com/NREL/openstudio-ee-gem/issues
|
|
364
364
|
changelog_uri: https://github.com/NREL/openstudio-ee-gem/blob/develop/CHANGELOG.md
|
|
365
|
-
source_code_uri: https://github.com/NREL/openstudio-ee-gem/tree/v0.
|
|
365
|
+
source_code_uri: https://github.com/NREL/openstudio-ee-gem/tree/v0.13.0
|
|
366
366
|
rubygems_mfa_required: 'true'
|
|
367
367
|
post_install_message:
|
|
368
368
|
rdoc_options: []
|