lodging 0.0.12 → 0.0.13

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.
Files changed (39) hide show
  1. data/.document +5 -0
  2. data/.gitignore +26 -0
  3. data/Gemfile +9 -0
  4. data/LICENSE-PREAMBLE +52 -0
  5. data/Rakefile +8 -0
  6. data/VERSION +1 -0
  7. data/certification_changelog.markdown +11 -0
  8. data/dot.rvmrc +9 -0
  9. data/features/lodging_committees.feature +356 -171
  10. data/features/lodging_impacts.feature +74 -0
  11. data/features/support/db/fixtures/census_divisions.csv +2 -0
  12. data/features/support/db/fixtures/climate_divisions.csv +2 -0
  13. data/features/support/db/fixtures/commercial_building_energy_consumption_survey_responses.csv +11 -0
  14. data/features/support/db/fixtures/countries.csv +4 -0
  15. data/features/support/db/fixtures/egrid_countries.csv +2 -0
  16. data/features/support/db/fixtures/egrid_regions.csv +2 -0
  17. data/features/support/db/fixtures/egrid_subregions.csv +3 -0
  18. data/features/support/db/fixtures/fuel_years.csv +2 -0
  19. data/features/support/db/fixtures/fuels.csv +4 -0
  20. data/features/support/db/fixtures/lodging_classes.csv +4 -0
  21. data/features/support/db/fixtures/lodging_properties.csv +5 -0
  22. data/features/support/db/fixtures/states.csv +2 -0
  23. data/features/support/db/fixtures/zip_codes.csv +4 -0
  24. data/features/support/env.rb +18 -1
  25. data/features/support/lodging_property.rb +26 -0
  26. data/{lib/test_support → features/support}/lodging_record.rb +1 -4
  27. data/lib/lodging.rb +1 -0
  28. data/lib/lodging/cbecs.rb +31 -0
  29. data/lib/lodging/characterization.rb +19 -3
  30. data/lib/lodging/data.rb +22 -8
  31. data/lib/lodging/impact_model.rb +544 -0
  32. data/lib/lodging/relationships.rb +3 -1
  33. data/lib/lodging/version.rb +5 -0
  34. data/lodging.gemspec +31 -0
  35. data/todo.txt +5 -0
  36. metadata +76 -119
  37. data/features/lodging_emissions.feature +0 -53
  38. data/lib/lodging/carbon_model.rb +0 -265
  39. data/lib/lodging/fallback.rb +0 -10
@@ -0,0 +1,5 @@
1
+ README.rdoc
2
+ lib/**/*.rb
3
+ bin/*
4
+ features/**/*.feature
5
+ LICENSE
@@ -0,0 +1,26 @@
1
+ ## MAC OS
2
+ .DS_Store
3
+
4
+ ## TEXTMATE
5
+ *.tmproj
6
+ tmtags
7
+
8
+ ## EMACS
9
+ *~
10
+ \#*
11
+ .\#*
12
+
13
+ ## VIM
14
+ *.swp
15
+
16
+ ## DOCUMENTATION
17
+ docs
18
+
19
+ ## PROJECT::GENERAL
20
+ coverage
21
+ rdoc
22
+ pkg
23
+ log
24
+
25
+ ## PROJECT::SPECIFIC
26
+ Gemfile.lock
data/Gemfile ADDED
@@ -0,0 +1,9 @@
1
+ ENV.each do |name, value|
2
+ if /^LOCAL_(.+)/.match(name)
3
+ gem $1.downcase, :path => value
4
+ end
5
+ end
6
+
7
+ source :rubygems
8
+
9
+ gemspec :path => '.'
@@ -0,0 +1,52 @@
1
+ BRIGHTER PLANET ADDITIONAL PREAMBLE TO THE GNU AFFERO GENERAL PUBLIC LICENSE
2
+ January 7, 2011
3
+
4
+ This preamble is meant to help the licensee understand exactly what
5
+ software is being received under the license and set expectations as to
6
+ what is not covered.
7
+
8
+ IDENTITY OF THE SOFTWARE MODULE COVERED BY LICENSE:
9
+
10
+ This license covers the Brighter Planet carbon model referred to as
11
+ 'Lodging,' officially distributed from
12
+ https://github.com/brighterplanet/lodging.
13
+
14
+ SCOPE OF THE SOFTWARE MODULE COVERED BY LICENSE:
15
+
16
+ The scope of the license includes only those files included in the
17
+ official Brighter Planet distribution package for the particular carbon
18
+ model identified above, including only the carbon model execution files,
19
+ reference data classes, input characterization, fallbacks, summarization
20
+ helpers, tests, and test fixtures.
21
+
22
+ WHAT IS NOT COVERED BY LICENSE:
23
+
24
+ This license does not extend to the following:
25
+
26
+ * Any element of any Brighter Planet website, including but not
27
+ limited the copyrights, trademarks, graphic design, text,
28
+ documentation, method of interaction with clients, runtime
29
+ environment, technical infrastructure, and software code associated
30
+ therewith;
31
+
32
+ * Any element of any Brighter Planet website user interface, including
33
+ but not limited to the copyrights, trademarks, graphic design, text,
34
+ documentation, method of interaction with clients, runtime
35
+ environment, technical infrastructure, and software code associated
36
+ therewith;
37
+
38
+ * Any element of other software modules licensed under any form of
39
+ license including but not limited to other forms of open source
40
+ license, commercial license, and the like;
41
+
42
+ * Any element of any Brighter Planet Carbon Middleware web service,
43
+ including but not limited to the copyrights, trademarks, graphic
44
+ design, text, documentation, method of interaction with clients,
45
+ runtime environment, technical infrastructure, and software code, is
46
+ not covered by the license; and
47
+
48
+ * Any aspect or use of http://carbon.brighterplanet.com.
49
+
50
+ If you have any questions, please contact licensing@brighterplanet.com
51
+
52
+ Copyright 2010, 2011 Brighter Planet, Inc.
@@ -0,0 +1,8 @@
1
+ require 'bundler'
2
+ Bundler.setup
3
+
4
+ require 'sniff'
5
+ require 'sniff/rake_tasks'
6
+ Sniff::RakeTasks.define_tasks do |t|
7
+ t.earth_domains = [:hospitality, :fuel, :locality]
8
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.0.12
@@ -0,0 +1,11 @@
1
+ # Material changes
2
+
3
+ # Immaterial changes
4
+ Duration changed from nights to seconds (2874bea2f413418385409e9fec754b55cdc52e11)
5
+
6
+ # Latest 3rd-party review
7
+ f2055675984f46286d85619cab496d8266203503
8
+
9
+ - - -
10
+
11
+ **Certification only applies if using a certified version of Earth**
@@ -0,0 +1,9 @@
1
+ rvm 1.8.7
2
+ project=`basename \`pwd\``
3
+ if rvm gemset list | grep $project
4
+ then
5
+ rvm 1.8.7@$project
6
+ else
7
+ rvm gemset create $project
8
+ rvm gemset use $project
9
+ fi
@@ -1,200 +1,385 @@
1
1
  Feature: Lodging Committee Calculations
2
2
  The lodging model should generate correct committee calculations
3
3
 
4
+ Background:
5
+ Given a Lodging
6
+
7
+ Scenario: Date committee from timeframe
8
+ Given a characteristic "timeframe" of "2009-06-06/2010-01-01"
9
+ When the "date" committee reports
10
+ Then the committee should have used quorum "from timeframe"
11
+ And the conclusion of the committee should be "2009-06-06"
12
+ And the conclusion should comply with standards "ghg_protocol_scope_3, iso"
13
+
4
14
  Scenario: Rooms committee from default
5
- Given a lodging emitter
6
- When the "rooms" committee is calculated
15
+ When the "rooms" committee reports
7
16
  Then the committee should have used quorum "default"
8
- And the conclusion of the committee should be "1"
17
+ And the conclusion of the committee should be "1.0"
9
18
 
10
19
  Scenario: Duration committee from default
11
- Given a lodging emitter
12
- When the "duration" committee is calculated
20
+ When the "duration" committee reports
13
21
  Then the committee should have used quorum "default"
22
+ And the conclusion of the committee should be "86400"
23
+
24
+ Scenario: Room nights committee from default
25
+ Given a characteristic "timeframe" of "2009-06-06/2010-01-01"
26
+ When the "date" committee reports
27
+ And the "rooms" committee reports
28
+ And the "duration" committee reports
29
+ And the "room_nights" committee reports
30
+ Then the committee should have used quorum "from rooms, duration, date, and timeframe"
14
31
  And the conclusion of the committee should be "1"
15
32
 
33
+ Scenario Outline: Room nights committee from rooms, duration, date, and timeframe
34
+ Given characteristic "date" of "<date>"
35
+ And a characteristic "timeframe" of "<timeframe>"
36
+ And a characteristic "rooms" of "<rooms>"
37
+ And a characteristic "duration" of "<duration>"
38
+ When the "room_nights" committee reports
39
+ Then the committee should have used quorum "from rooms, duration, date, and timeframe"
40
+ And the conclusion of the committee should be "<room_nights>"
41
+ Examples:
42
+ | date | timeframe | rooms | duration | room_nights |
43
+ | 2009-01-15 | 2009-01-01/2009-02-01 | 2 | 172800 | 4 |
44
+ | 2009-02-15 | 2009-01-01/2009-02-01 | 2 | 172800 | 0 |
45
+
46
+ # Scenario: Zip code committee from postcode that is zip code
47
+ # Given a characteristic "postcode" of "94122"
48
+ # When the "zip_code" committee reports
49
+ # Then the committee should have used quorum "from postcode"
50
+ # And the conclusion of the committee should have "name" of "94122"
51
+ #
52
+ # Scenario: Zip code committee from postcode that is zip+4
53
+ # Given a characteristic "postcode" of "94122-1234"
54
+ # When the "zip_code" committee reports
55
+ # Then the committee should have used quorum "from postcode"
56
+ # And the conclusion of the committee should have "name" of "94122"
57
+ #
58
+ # Scenario: Zip code committee from postcode that is not zip code
59
+ # Given a characteristic "postcode" of "38000"
60
+ # When the "zip_code" committee reports
61
+ # Then the conclusion of the committee should be nil
62
+
63
+ Scenario: Climate division from zip code
64
+ Given a characteristic "zip_code.name" of "94122"
65
+ When the "climate_division" committee reports
66
+ Then the committee should have used quorum "from zip code"
67
+ And the conclusion of the committee should have "name" of "CA4"
68
+
69
+ Scenario: Climate division from zip code missing climate division
70
+ Given a characteristic "zip_code.name" of "94133"
71
+ When the "climate_division" committee reports
72
+ Then the conclusion of the committee should be nil
73
+
74
+ Scenario: City committee from zip code
75
+ Given a characteristic "zip_code.name" of "94122"
76
+ When the "city" committee reports
77
+ Then the committee should have used quorum "from zip code"
78
+ And the conclusion of the committee should be "San Francisco"
79
+
16
80
  Scenario: State committee from zip code
17
- Given a lodging emitter
18
- And a characteristic "zip_code.name" of "94122"
19
- When the "state" committee is calculated
81
+ Given a characteristic "zip_code.name" of "94122"
82
+ When the "state" committee reports
20
83
  Then the committee should have used quorum "from zip code"
21
84
  And the conclusion of the committee should have "postal_abbreviation" of "CA"
22
85
 
23
- Scenario: Census division committee from state
24
- Given a lodging emitter
25
- And a characteristic "state.postal_abbreviation" of "CA"
26
- When the "census_division" committee is calculated
86
+ Scenario: Country committee from state
87
+ Given a characteristic "state.postal_abbreviation" of "CA"
88
+ When the "country" committee reports
27
89
  Then the committee should have used quorum "from state"
28
- And the conclusion of the committee should have "number" of "9"
29
-
30
- Scenario: eGRID subregion from nothing
31
- Given a lodging emitter
32
- When the "egrid_subregion" committee is calculated
33
- Then the committee should have used quorum "default"
34
- And the conclusion of the committee should have "abbreviation" of "US"
90
+ And the conclusion of the committee should have "iso_3166_code" of "US"
35
91
 
36
92
  Scenario: eGRID subregion from zip code
37
- Given a lodging emitter
38
- And a characteristic "zip_code.name" of "94122"
39
- When the "egrid_subregion" committee is calculated
93
+ Given a characteristic "zip_code.name" of "94122"
94
+ When the "egrid_subregion" committee reports
40
95
  Then the committee should have used quorum "from zip code"
41
96
  And the conclusion of the committee should have "abbreviation" of "CAMX"
42
97
 
43
- Scenario: eGRID region from nothing
44
- Given a lodging emitter
45
- When the "egrid_subregion" committee is calculated
46
- And the "egrid_region" committee is calculated
47
- Then the committee should have used quorum "from eGRID subregion"
48
- And the conclusion of the committee should have "name" of "US"
98
+ Scenario: Cooling degree days committee from country
99
+ Given a characteristic "country.iso_3166_code" of "US"
100
+ When the "cooling_degree_days" committee reports
101
+ Then the committee should have used quorum "from country"
102
+ And the conclusion of the committee should be "880"
49
103
 
50
- Scenario: eGRID region from zip code
51
- Given a lodging emitter
52
- And a characteristic "zip_code.name" of "94122"
53
- When the "egrid_subregion" committee is calculated
54
- And the "egrid_region" committee is calculated
55
- Then the committee should have used quorum "from eGRID subregion"
56
- And the conclusion of the committee should have "name" of "W"
104
+ Scenario: Cooling degree days committee from climate division
105
+ Given a characteristic "climate_division.name" of "CA4"
106
+ When the "cooling_degree_days" committee reports
107
+ Then the committee should have used quorum "from climate division"
108
+ And the conclusion of the committee should be "150"
57
109
 
58
- Scenario: Lodging class committee from nothing
59
- Given a lodging emitter
60
- When the "lodging_class" committee is calculated
61
- Then the committee should have used quorum "default"
62
- And the conclusion of the committee should have "name" of "Average"
63
-
64
- Scenario: District heat intensity committee from nothing
65
- Given a lodging emitter
66
- When the "lodging_class" committee is calculated
67
- And the "district_heat_intensity" committee is calculated
68
- Then the committee should have used quorum "from lodging class"
69
- And the conclusion of the committee should be "10000000"
70
-
71
- Scenario: District heat intensity committee from lodging class
72
- Given a lodging emitter
73
- And a characteristic "lodging_class.name" of "Luxury Hotel"
74
- When the "district_heat_intensity" committee is calculated
75
- Then the committee should have used quorum "from lodging class"
76
- And the conclusion of the committee should be "20000000"
77
-
78
- Scenario: District heat intensity committee from census division
79
- Given a lodging emitter
80
- And a characteristic "census_division.number" of "9"
81
- When the "district_heat_intensity" committee is calculated
82
- Then the committee should have used quorum "from census division"
83
- And the conclusion of the committee should be "1000"
84
-
85
- Scenario: Electricity intensity committee from nothing
86
- Given a lodging emitter
87
- When the "lodging_class" committee is calculated
88
- And the "electricity_intensity" committee is calculated
89
- Then the committee should have used quorum "from lodging class"
90
- And the conclusion of the committee should be "5"
91
-
92
- Scenario: Electricity intensity committee from lodging class
93
- Given a lodging emitter
94
- And a characteristic "lodging_class.name" of "Luxury Hotel"
95
- When the "electricity_intensity" committee is calculated
96
- Then the committee should have used quorum "from lodging class"
97
- And the conclusion of the committee should be "10"
98
-
99
- Scenario: Electricity intensity committee from census division
100
- Given a lodging emitter
101
- And a characteristic "census_division.number" of "9"
102
- When the "electricity_intensity" committee is calculated
103
- Then the committee should have used quorum "from census division"
110
+ Scenario: Heating degree days committee from country
111
+ Given a characteristic "country.iso_3166_code" of "US"
112
+ When the "heating_degree_days" committee reports
113
+ Then the committee should have used quorum "from country"
114
+ And the conclusion of the committee should be "2200"
115
+
116
+ Scenario: Heating degree days committee from climate division
117
+ Given a characteristic "climate_division.name" of "CA4"
118
+ When the "heating_degree_days" committee reports
119
+ Then the committee should have used quorum "from climate division"
120
+ And the conclusion of the committee should be "1350"
121
+
122
+ Scenario: Floors
123
+ Given a characteristic "property.northstar_id" of "1"
124
+ When the "floors" committee reports
125
+ Then the committee should have used quorum "from property"
104
126
  And the conclusion of the committee should be "3"
105
127
 
106
- Scenario: Fuel oil intensity committee from nothing
107
- Given a lodging emitter
108
- When the "lodging_class" committee is calculated
109
- And the "fuel_oil_intensity" committee is calculated
110
- Then the committee should have used quorum "from lodging class"
128
+ Scenario: Construction year
129
+ Given a characteristic "property.northstar_id" of "1"
130
+ When the "construction_year" committee reports
131
+ Then the committee should have used quorum "from property"
132
+ And the conclusion of the committee should be "1993"
133
+
134
+ Scenario: AC coverage
135
+ Given a characteristic "property.northstar_id" of "1"
136
+ When the "ac_coverage" committee reports
137
+ Then the committee should have used quorum "from property"
111
138
  And the conclusion of the committee should be "0.5"
112
139
 
113
- Scenario: Fuel oil intensity committee from lodging class
114
- Given a lodging emitter
115
- And a characteristic "lodging_class.name" of "Luxury Hotel"
116
- When the "fuel_oil_intensity" committee is calculated
117
- Then the committee should have used quorum "from lodging class"
118
- And the conclusion of the committee should be "1"
140
+ Scenario Outline: Refrigerator coverage
141
+ Given a characteristic "property.northstar_id" of "<id>"
142
+ When the "refrigerator_coverage" committee reports
143
+ Then the committee should have used quorum "from property"
144
+ And the conclusion of the committee should be "<coverage>"
145
+ Examples:
146
+ | id | coverage |
147
+ | 1 | 0.6 |
148
+ | 2 | 0.5 |
149
+ | 3 | 0.5 |
150
+ | 4 | 0.6 |
119
151
 
120
- Scenario: Fuel oil intensity committee from census division
121
- Given a lodging emitter
122
- And a characteristic "census_division.number" of "9"
123
- When the "fuel_oil_intensity" committee is calculated
124
- Then the committee should have used quorum "from census division"
125
- And the conclusion of the committee should be "2"
126
-
127
- Scenario: Natural gas intensity committee from nothing
128
- Given a lodging emitter
129
- When the "lodging_class" committee is calculated
130
- And the "natural_gas_intensity" committee is calculated
131
- Then the committee should have used quorum "from lodging class"
132
- And the conclusion of the committee should be "1"
152
+ Scenario Outline: Hot tubs
153
+ Given a characteristic "property.hot_tubs" of "<tubs>"
154
+ When the "hot_tubs" committee reports
155
+ Then the committee should have used quorum "from property"
156
+ And the conclusion of the committee should be "<count>"
157
+ Examples:
158
+ | tubs | count |
159
+ | 0 | 0 |
160
+ | 1 | 1 |
161
+ | 6 | 6 |
133
162
 
134
- Scenario: Natural gas intensity committee from lodging class
135
- Given a lodging emitter
136
- And a characteristic "lodging_class.name" of "Luxury Hotel"
137
- When the "natural_gas_intensity" committee is calculated
138
- Then the committee should have used quorum "from lodging class"
139
- And the conclusion of the committee should be "2"
140
-
141
- Scenario: Natural gas intensity committee from census division
142
- Given a lodging emitter
143
- And a characteristic "census_division.number" of "9"
144
- When the "natural_gas_intensity" committee is calculated
145
- Then the committee should have used quorum "from census division"
146
- And the conclusion of the committee should be "1"
163
+ Scenario Outline: Indoor pools
164
+ Given a characteristic "property.pools_indoor" of "<pools>"
165
+ When the "indoor_pools" committee reports
166
+ Then the committee should have used quorum "from property"
167
+ And the conclusion of the committee should be "<count>"
168
+ Examples:
169
+ | pools | count |
170
+ | 0 | 0 |
171
+ | 1 | 1 |
172
+ | 5 | 5 |
173
+ | 6 | 5 |
174
+
175
+ Scenario Outline: Outdoor pools
176
+ Given a characteristic "property.pools_outdoor" of "<pools>"
177
+ When the "outdoor_pools" committee reports
178
+ Then the committee should have used quorum "from property"
179
+ And the conclusion of the committee should be "<count>"
180
+ Examples:
181
+ | pools | count |
182
+ | 0 | 0 |
183
+ | 1 | 1 |
184
+ | 5 | 5 |
185
+ | 6 | 5 |
186
+
187
+ Scenario Outline: Occupancy rate
188
+ Given a characteristic "country.iso_3166_code" of "<country>"
189
+ When the "occupancy_rate" committee reports
190
+ Then the committee should have used quorum "<quorum>"
191
+ And the conclusion of the committee should be "<rate>"
192
+ Examples:
193
+ | country | quorum | rate |
194
+ | US | from country | 0.6 |
195
+ | GB | from country | 0.5 |
196
+ | | default | 0.6 |
197
+
198
+ Scenario: Fuel intensities committee from default
199
+ When the "fuel_intensities" committee reports
200
+ Then the committee should have used quorum "default"
201
+ And the conclusion of the committee should include a key of "natural_gas" and value "2.0"
202
+ And the conclusion of the committee should include a key of "fuel_oil" and value "0.4"
203
+ And the conclusion of the committee should include a key of "electricity" and value "33.9"
204
+ And the conclusion of the committee should include a key of "district_heat" and value "1.8"
205
+
206
+ Scenario Outline: Fuel intensities committee should not run unless both hdd and cdd are present
207
+ Given a characteristic "<dd_characteristic>" of "500"
208
+ And a characteristic "occupancy_rate" of "0.6"
209
+ When the "fuel_intensities" committee reports
210
+ Then the committee should have used quorum "default"
211
+ Examples:
212
+ | dd_characteristic |
213
+ | heating_degree_days |
214
+ | cooling_degree_days |
215
+
216
+ Scenario Outline: Fuel intensities committee from fuzzy weighting
217
+ Given a characteristic "heating_degree_days" of "<hdd>"
218
+ And a characteristic "cooling_degree_days" of "<cdd>"
219
+ And a characteristic "property_rooms" of "<rooms>"
220
+ And a characteristic "floors" of "<floors>"
221
+ And a characteristic "construction_year" of "<year>"
222
+ And a characteristic "ac_coverage" of "<ac>"
223
+ When the "occupancy_rate" committee reports
224
+ And the "fuel_intensities" committee reports
225
+ Then the committee should have used quorum "from degree days, occupancy rate, and user inputs"
226
+ And the conclusion of the committee should include a key of "natural_gas" and value "<gas>"
227
+ And the conclusion of the committee should include a key of "fuel_oil" and value "<oil>"
228
+ And the conclusion of the committee should include a key of "electricity" and value "<elec>"
229
+ And the conclusion of the committee should include a key of "district_heat" and value "<steam>"
230
+ Examples:
231
+ | hdd | cdd | rooms | floors | year | ac | gas | oil | elec | steam | notes |
232
+ | 1350 | 150 | | | | | 1.10187 | 2.90728 | 31.32292 | 14.80000 | CA hdd/cdd |
233
+ | 1350 | 150 | 100 | | | | 0.85612 | 2.96930 | 28.21736 | 13.57824 | CA hdd/cdd |
234
+ | 1350 | 150 | | 3 | | | 0.83468 | 3.04853 | 27.88175 | 13.76680 | CA hdd/cdd |
235
+ | 1350 | 150 | | | 1993 | | 1.23045 | 0.77795 | 40.53607 | 4.15725 | CA hdd/cdd |
236
+ | 1350 | 150 | | | | 0.5 | 0.42758 | 1.12817 | 26.43368 | 5.74312 | CA hdd/cdd |
237
+ | 1350 | 150 | 100 | 3 | 1993 | 0.5 | 0.08723 | 0.13344 | 25.02442 | 0.76500 | CA hdd/cdd |
238
+ | 10000 | 0 | | | | | 0.23482 | 3.52029 | 22.33470 | 1.98967 | extreme hdd |
239
+ | 2200 | 880 | | | | | 0.96884 | 0.82078 | 44.47599 | 7.70066 | us hdd/cdd |
240
+ | 2200 | 880 | 25 | | | | 0.01922 | 0.91159 | 34.86144 | 0.37174 | |
241
+ | 0 | 4000 | | | | | 4.33735 | 0.65661 | 60.84568 | 63.33742 | extreme cdd |
242
+ | 1350 | 150 | 1 | | | | 0.77635 | 3.02573 | 27.72495 | 13.32596 | extreme rooms |
243
+ | 1350 | 150 | 5000 | | | | 1.82944 | 2.74889 | 38.73677 | 15.59486 | extreme rooms |
244
+ | 1350 | 150 | | 1 | | | 0.82413 | 3.14038 | 28.48186 | 13.77581 | extreme floors |
245
+ | 1350 | 150 | | 100 | | | 1.97743 | 2.57705 | 40.83635 | 19.22833 | extreme floors |
246
+ | 1350 | 150 | | | 1200 | | 0.86163 | 3.04800 | 27.19855 | 13.25471 | extreme year |
247
+ | 1350 | 150 | | | 2012 | | 1.25202 | 0.65488 | 41.13082 | 4.08640 | extreme year |
248
+ | 1350 | 150 | | | | 0.0 | 0.06504 | 4.59438 | 17.82449 | 0.87348 | extreme ac |
249
+ | 1350 | 150 | | | | 1.0 | 2.32907 | 1.29925 | 46.77370 | 31.28316 | extreme ac |
250
+
251
+ Scenario Outline: Refrigerator adjustment
252
+ Given a characteristic "refrigerator_coverage" of "<coverage>"
253
+ And a characteristic "occupancy_rate" of "0.6"
254
+ And the "refrigerator_adjustment" committee reports
255
+ Then the committee should have used quorum "from refrigerator coverage and occupancy rate"
256
+ And the conclusion of the committee should include a key of "electricity" and value "<adjustment>"
257
+ Examples:
258
+ | coverage | adjustment |
259
+ | 0 | -1.18 |
260
+ | 1 | 0.78667 |
261
+
262
+ Scenario Outline: Hot tub adjustment
263
+ Given a characteristic "hot_tubs" of "<hot_tubs>"
264
+ And a characteristic "property_rooms" of "10"
265
+ And a characteristic "occupancy_rate" of "0.6"
266
+ When the "hot_tub_adjustment" committee reports
267
+ Then the committee should have used quorum "from hot tubs, property rooms, and occupancy rate"
268
+ And the conclusion of the committee should include a key of "electricity" and value "<adjustment>"
269
+ Examples:
270
+ | hot_tubs | adjustment |
271
+ | 0 | -0.315 |
272
+ | 1 | 0.735 |
147
273
 
148
- Scenario: Emission factor committee from nothing
149
- Given a lodging emitter
150
- When the "egrid_subregion" committee is calculated
151
- And the "egrid_region" committee is calculated
152
- And the "lodging_class" committee is calculated
153
- And the "district_heat_intensity" committee is calculated
154
- And the "electricity_intensity" committee is calculated
155
- And the "fuel_oil_intensity" committee is calculated
156
- And the "natural_gas_intensity" committee is calculated
157
- And the "emission_factor" committee is calculated
158
- Then the committee should have used quorum "from fuel intensities and eGRID"
159
- And the conclusion of the committee should be "13.74496"
160
-
161
- Scenario: Emission factor committee from lodging class
162
- Given a lodging emitter
163
- And a characteristic "lodging_class.name" of "Luxury Hotel"
164
- When the "egrid_subregion" committee is calculated
165
- And the "egrid_region" committee is calculated
166
- And the "district_heat_intensity" committee is calculated
167
- And the "electricity_intensity" committee is calculated
168
- And the "fuel_oil_intensity" committee is calculated
169
- And the "natural_gas_intensity" committee is calculated
170
- And the "emission_factor" committee is calculated
171
- Then the committee should have used quorum "from fuel intensities and eGRID"
172
- And the conclusion of the committee should be "27.48991"
173
-
174
- Scenario: Emission factor committee from census division
175
- Given a lodging emitter
176
- And a characteristic "census_division.number" of "9"
177
- When the "egrid_subregion" committee is calculated
178
- And the "egrid_region" committee is calculated
179
- And the "district_heat_intensity" committee is calculated
180
- And the "electricity_intensity" committee is calculated
181
- And the "fuel_oil_intensity" committee is calculated
182
- And the "natural_gas_intensity" committee is calculated
183
- And the "emission_factor" committee is calculated
184
- Then the committee should have used quorum "from fuel intensities and eGRID"
185
- And the conclusion of the committee should be "10.00002"
186
-
187
- Scenario: Emission factor committee from zip code
188
- Given a lodging emitter
189
- And a characteristic "zip_code.name" of "94122"
190
- When the "state" committee is calculated
191
- And the "census_division" committee is calculated
192
- And the "egrid_subregion" committee is calculated
193
- And the "egrid_region" committee is calculated
194
- And the "district_heat_intensity" committee is calculated
195
- And the "electricity_intensity" committee is calculated
196
- And the "fuel_oil_intensity" committee is calculated
197
- And the "natural_gas_intensity" committee is calculated
198
- And the "emission_factor" committee is calculated
199
- Then the committee should have used quorum "from fuel intensities and eGRID"
200
- And the conclusion of the committee should be "5.83336"
274
+ Scenario Outline: Indoor pool adjustment
275
+ Given a characteristic "indoor_pools" of "<pools>"
276
+ And a characteristic "property_rooms" of "10"
277
+ And a characteristic "occupancy_rate" of "0.6"
278
+ When the "indoor_pool_adjustment" committee reports
279
+ Then the committee should have used quorum "from indoor pools, property rooms, and occupancy rate"
280
+ And the conclusion of the committee should include a key of "pool_energy" and value "<adjustment>"
281
+ Examples:
282
+ | pools | adjustment |
283
+ | 0 | -146.17493 |
284
+ | 1 | 341.07483 |
285
+ | 5 | 2290.07388 |
286
+
287
+ Scenario Outline: Outdoor pool adjustment
288
+ Given a characteristic "outdoor_pools" of "<pools>"
289
+ And a characteristic "property_rooms" of "10"
290
+ And a characteristic "occupancy_rate" of "0.6"
291
+ When the "outdoor_pool_adjustment" committee reports
292
+ Then the committee should have used quorum "from outdoor pools, property rooms, and occupancy rate"
293
+ And the conclusion of the committee should include a key of "pool_energy" and value "<adjustment>"
294
+ Examples:
295
+ | pools | adjustment |
296
+ | 0 | -34.80809 |
297
+ | 1 | 23.20539 |
298
+ | 5 | 255.25930 |
299
+
300
+ Scenario Outline: Adjusted fuel intensities committee from fuel intensities, pool adjustment, and refrigerator adjustment
301
+ Given a characteristic "heating_degree_days" of "2200"
302
+ And a characteristic "cooling_degree_days" of "880"
303
+ And a characteristic "property_rooms" of "25"
304
+ And a characteristic "occupancy_rate" of "0.6"
305
+ And a characteristic "refrigerator_coverage" of "<refrigerators>"
306
+ And a characteristic "hot_tubs" of "<tubs>"
307
+ And a characteristic "indoor_pools" of "<indoor_pools>"
308
+ And a characteristic "outdoor_pools" of "<outdoor_pools>"
309
+ When the "fuel_intensities" committee reports
310
+ And the "refrigerator_adjustment" committee reports
311
+ And the "hot_tub_adjustment" committee reports
312
+ And the "indoor_pool_adjustment" committee reports
313
+ And the "outdoor_pool_adjustment" committee reports
314
+ And the "adjusted_fuel_intensities" committee reports
315
+ Then the committee should have used quorum "from fuel intensities and amenity adjustments"
316
+ And the conclusion of the committee should include a key of "natural_gas" and value "<gas>"
317
+ And the conclusion of the committee should include a key of "fuel_oil" and value "<oil>"
318
+ And the conclusion of the committee should include a key of "electricity" and value "<elec>"
319
+ And the conclusion of the committee should include a key of "district_heat" and value "<steam>"
320
+ Examples:
321
+ | refrigerators | tubs | indoor_pools | outdoor_pools | gas | oil | elec | steam |
322
+ | | | | | 0.01922 | 0.91159 | 34.86144 | 0.37174 |
323
+ | 0 | | | | 0.01922 | 0.91159 | 33.68144 | 0.37174 |
324
+ | 1 | | | | 0.01922 | 0.91159 | 35.64811 | 0.37174 |
325
+ | | 0 | | | 0.01922 | 0.91159 | 34.73544 | 0.37174 |
326
+ | | 1 | | | 0.01922 | 0.91159 | 35.15544 | 0.37174 |
327
+ | | | 0 | | 0.0 | 0.0 | 34.86144 | 0.37174 |
328
+ | | | 1 | | 3.60948 | 0.91159 | 34.86144 | 0.37174 |
329
+ | | | | 0 | 0.0 | 0.59747 | 34.86144 | 0.37174 |
330
+ | | | | 1 | 0.26349 | 0.91159 | 34.86144 | 0.37174 |
331
+
332
+ Scenario: District heat use committee
333
+ Given a characteristic "room_nights" of "4"
334
+ When the "fuel_intensities" committee reports
335
+ And the "adjusted_fuel_intensities" committee reports
336
+ And the "district_heat_use" committee reports
337
+ Then the committee should have used quorum "from adjusted fuel intensities and room nights"
338
+ And the conclusion of the committee should be "7.2"
339
+
340
+ Scenario: Electricity use committee
341
+ Given a characteristic "room_nights" of "4"
342
+ When the "fuel_intensities" committee reports
343
+ And the "adjusted_fuel_intensities" committee reports
344
+ And the "electricity_use" committee reports
345
+ Then the committee should have used quorum "from adjusted fuel intensities and room nights"
346
+ And the conclusion of the committee should be "135.6"
347
+
348
+ Scenario: Fuel oil use committee
349
+ Given a characteristic "room_nights" of "4"
350
+ When the "fuel_intensities" committee reports
351
+ And the "adjusted_fuel_intensities" committee reports
352
+ And the "fuel_oil_use" committee reports
353
+ Then the committee should have used quorum "from adjusted fuel intensities and room nights"
354
+ And the conclusion of the committee should be "1.6"
355
+
356
+ Scenario: Natural gas use committee
357
+ Given a characteristic "room_nights" of "4"
358
+ When the "fuel_intensities" committee reports
359
+ And the "adjusted_fuel_intensities" committee reports
360
+ And the "natural_gas_use" committee reports
361
+ Then the committee should have used quorum "from adjusted fuel intensities and room nights"
362
+ And the conclusion of the committee should be "8.0"
363
+
364
+ Scenario: Electricity emission factor committee from default
365
+ When the "electricity_emission_factor" committee reports
366
+ Then the committee should have used quorum "default"
367
+ And the conclusion of the committee should be "0.69258"
368
+
369
+ Scenario: Electricity emission factor committee from country missing emission factor
370
+ Given a characteristic "country.iso_3166_code" of "VI"
371
+ When the "electricity_emission_factor" committee reports
372
+ Then the committee should have used quorum "default"
373
+ And the conclusion of the committee should be "0.69258"
374
+
375
+ Scenario: Electricity emission factor committee from country with emission factor
376
+ Given a characteristic "country.iso_3166_code" of "US"
377
+ When the "electricity_emission_factor" committee reports
378
+ Then the committee should have used quorum "from country"
379
+ And the conclusion of the committee should be "0.62783"
380
+
381
+ Scenario: Electricity emission factor committee from eGRID subregion
382
+ Given a characteristic "egrid_subregion.abbreviation" of "CAMX"
383
+ When the "electricity_emission_factor" committee reports
384
+ Then the committee should have used quorum "from eGRID subregion"
385
+ And the conclusion of the committee should be "0.32632"