earth 0.11.4 → 0.11.5

Sign up to get free protection for your applications and to get access to all the features.
data/earth.gemspec CHANGED
@@ -5,7 +5,7 @@ require "earth/version"
5
5
  Gem::Specification.new do |s|
6
6
  s.name = "earth"
7
7
  s.version = Earth::VERSION
8
- s.date = "2011-12-16"
8
+ s.date = "2011-12-17"
9
9
  s.platform = Gem::Platform::RUBY
10
10
  s.authors = ["Seamus Abshere", "Derek Kastner", "Andy Rossmeissl"]
11
11
  s.email = %q{andy@rossmeissl.net}
@@ -48,9 +48,9 @@ CommercialBuildingEnergyConsumptionSurveyResponse.class_eval do
48
48
  :skip => 1,
49
49
  :headers => ["PUBID8", "REGION8", "CENDIV8", "SQFT8", "SQFTC8", "YRCONC8", "PBA8", "ELUSED8", "NGUSED8", "FKUSED8", "PRUSED8", "STUSED8", "HWUSED8", "ADJWT8", "STRATUM8", "PAIR8", "NGCNS8", "NGBTU8", "NGEXP8", "ZNGCNS8", "ZNGEXP8", "FKCNS8", "FKBTU8", "FKEXP8", "ZFKCNS8", "ZFKEXP8", "DHUSED8", "DHHT18", "DHHT28", "DHCOOL8", "DHWATR8", "DHCOOK8", "DHMANU8", "DHOTH8", "DHCNS8", "DHBTU8", "DHEXP8", "ZDHCNS8", "ZDHEXP8"] do
50
50
  key 'id', :field_name => 'PUBID8'
51
- store 'natural_gas_use', :synthesize => lambda { |row| row['NGBTU8'].to_i == 0 ? nil : row['NGBTU8'] }, :units => :kbtus
52
- store 'fuel_oil_use', :synthesize => lambda { |row| row['FKBTU8'].to_i == 0 ? nil : row['FKBTU8'] }, :units => :kbtus
53
- store 'district_heat_use', :field_name => 'DHBTU8', :units => :kbtus
51
+ store 'natural_gas_use', :synthesize => lambda { |row| row['NGCNS8'].to_i == 0 ? nil : (row['NGCNS8'].to_f * 100.0).cubic_feet.to(:cubic_metres) }, :units => :cubic_metres
52
+ store 'fuel_oil_use', :synthesize => lambda { |row| row['FKCNS8'].to_i == 0 ? nil : row['FKCNS8'].to_f.gallons.to(:litres) }, :units => :litres
53
+ store 'district_heat_use', :synthesize => lambda { |row| row['DHBTU8'].to_i == 0 ? nil : row['DHBTU8'].to_f.kbtus.to(:megajoules) }, :units => :megajoules
54
54
  end
55
55
  end
56
56
  end
@@ -14,7 +14,7 @@ class Country < ActiveRecord::Base
14
14
  :automobile_highway_speed_units => lambda { united_states.automobile_highway_speed_units }, # for now assume US represents world
15
15
  :automobile_trip_distance => lambda { united_states.automobile_trip_distance }, # for now assume US represents world
16
16
  :automobile_trip_distance_units => lambda { united_states.automobile_trip_distance_units }, # for now assume US represents world
17
- :electricity_emission_factor => lambda { maximum(:electricity_emission_factor) }, # default to the largest electricity emission factor
17
+ :electricity_emission_factor => 0.69252, # from ecometrica paper - FIXME TODO calculate this
18
18
  :electricity_emission_factor_units => 'kilograms_co2e_per_kilowatt_hour', # FIXME TODO derive this
19
19
  :flight_route_inefficiency_factor => lambda { maximum(:flight_route_inefficiency_factor) }, # default to the largest inefficiency factor
20
20
  :lodging_natural_gas_intensity => lambda { united_states.lodging_natural_gas_intensity }, # for now assume US represents world
@@ -61,15 +61,19 @@ Country.class_eval do
61
61
  end
62
62
 
63
63
  # ELECTRICITY
64
+ process "Ensure GreehouseGas is populated" do
65
+ GreenhouseGas.run_data_miner!
66
+ end
67
+
64
68
  import "calculate national electricity emission factors from Brander et al. (2011)",
65
69
  :url => 'https://docs.google.com/spreadsheet/pub?key=0AoQJbWqPrREqdDZmWHFjLVdBZGRBdGxVdDdqd1YtYWc&output=csv' do
66
70
  key 'iso_3166_code', :field_name => 'country_iso_3166_code'
67
71
  store 'electricity_emission_factor', :synthesize => lambda { |row|
68
72
  (
69
73
  row['electricity_co2_emission_factor'].to_f +
70
- row['electricity_ch4_emission_factor'].to_f +
71
- row['electricity_n2o_emission_factor'].to_f
72
- ) / (1 - row['loss_factor'].to_f) }, :units_field_name => 'electricity_ch4_emission_factor_units'
74
+ (row['electricity_ch4_emission_factor'].to_f * GreenhouseGas[:ch4].global_warming_potential) +
75
+ (row['electricity_n2o_emission_factor'].to_f * GreenhouseGas[:n2o].global_warming_potential)
76
+ ) / (1 - row['loss_factor'].to_f) }, :units_field_name => 'kilograms_co2e_per_kilowatt_hour'
73
77
  end
74
78
 
75
79
  process "Ensure EgridSubregion is populated" do
data/lib/earth/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Earth
2
- VERSION = "0.11.4"
2
+ VERSION = "0.11.5"
3
3
  end
data/spec/earth_spec.rb CHANGED
@@ -23,7 +23,7 @@ describe Earth do
23
23
  describe '.resource_map' do
24
24
  it 'should get a list of resource_map' do
25
25
  resource_map = Earth.resource_map
26
- resource_map.keys.count.should == 91
26
+ resource_map.keys.count.should == 95
27
27
  resource_map['FuelType'].should == 'fuel'
28
28
  end
29
29
  it 'should exclude data_miner files' do
@@ -33,7 +33,7 @@ describe Earth do
33
33
 
34
34
  describe '.search' do
35
35
  it 'should get a list of all resource names' do
36
- Earth.search.length.should == 91
36
+ Earth.search.length.should == 95
37
37
  Earth.search.should include('Aircraft')
38
38
  Earth.search.should include('Industry')
39
39
  end
@@ -44,8 +44,8 @@ describe Earth do
44
44
  Earth.search('computation').length.should == 3
45
45
  Earth.search('diet').length.should == 2
46
46
  Earth.search('fuel').length.should == 5
47
- Earth.search('hospitality').length.should == 3
48
- Earth.search('industry').length.should == 10
47
+ Earth.search('hospitality').length.should == 4
48
+ Earth.search('industry').length.should == 13
49
49
  Earth.search('locality').length.should == 10
50
50
  Earth.search('pet').length.should == 4
51
51
  Earth.search('rail').length.should == 12
metadata CHANGED
@@ -1,270 +1,273 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: earth
3
- version: !ruby/object:Gem::Version
4
- version: 0.11.4
3
+ version: !ruby/object:Gem::Version
5
4
  prerelease:
5
+ version: 0.11.5
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Seamus Abshere
9
9
  - Derek Kastner
10
10
  - Andy Rossmeissl
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2011-12-16 00:00:00.000000000Z
15
- dependencies:
16
- - !ruby/object:Gem::Dependency
14
+
15
+ date: 2011-12-17 00:00:00 -05:00
16
+ default_executable:
17
+ dependencies:
18
+ - !ruby/object:Gem::Dependency
17
19
  name: data_miner
18
- requirement: &2154155380 !ruby/object:Gem::Requirement
20
+ requirement: &id001 !ruby/object:Gem::Requirement
19
21
  none: false
20
- requirements:
21
- - - ! '>='
22
- - !ruby/object:Gem::Version
23
- version: '1.3'
22
+ requirements:
23
+ - - ">="
24
+ - !ruby/object:Gem::Version
25
+ version: "1.3"
24
26
  type: :runtime
25
27
  prerelease: false
26
- version_requirements: *2154155380
27
- - !ruby/object:Gem::Dependency
28
+ version_requirements: *id001
29
+ - !ruby/object:Gem::Dependency
28
30
  name: to_regexp
29
- requirement: &2154154940 !ruby/object:Gem::Requirement
31
+ requirement: &id002 !ruby/object:Gem::Requirement
30
32
  none: false
31
- requirements:
32
- - - ! '>='
33
- - !ruby/object:Gem::Version
34
- version: '0'
33
+ requirements:
34
+ - - ">="
35
+ - !ruby/object:Gem::Version
36
+ version: "0"
35
37
  type: :runtime
36
38
  prerelease: false
37
- version_requirements: *2154154940
38
- - !ruby/object:Gem::Dependency
39
+ version_requirements: *id002
40
+ - !ruby/object:Gem::Dependency
39
41
  name: cohort_scope
40
- requirement: &2154150020 !ruby/object:Gem::Requirement
42
+ requirement: &id003 !ruby/object:Gem::Requirement
41
43
  none: false
42
- requirements:
43
- - - ! '>='
44
- - !ruby/object:Gem::Version
45
- version: '0'
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: "0"
46
48
  type: :runtime
47
49
  prerelease: false
48
- version_requirements: *2154150020
49
- - !ruby/object:Gem::Dependency
50
+ version_requirements: *id003
51
+ - !ruby/object:Gem::Dependency
50
52
  name: table_warnings
51
- requirement: &2154149280 !ruby/object:Gem::Requirement
53
+ requirement: &id004 !ruby/object:Gem::Requirement
52
54
  none: false
53
- requirements:
54
- - - ! '>='
55
- - !ruby/object:Gem::Version
55
+ requirements:
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
56
58
  version: 0.0.6
57
59
  type: :runtime
58
60
  prerelease: false
59
- version_requirements: *2154149280
60
- - !ruby/object:Gem::Dependency
61
+ version_requirements: *id004
62
+ - !ruby/object:Gem::Dependency
61
63
  name: remote_table
62
- requirement: &2154148580 !ruby/object:Gem::Requirement
64
+ requirement: &id005 !ruby/object:Gem::Requirement
63
65
  none: false
64
- requirements:
65
- - - ! '>='
66
- - !ruby/object:Gem::Version
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
67
69
  version: 1.2.3
68
70
  type: :runtime
69
71
  prerelease: false
70
- version_requirements: *2154148580
71
- - !ruby/object:Gem::Dependency
72
+ version_requirements: *id005
73
+ - !ruby/object:Gem::Dependency
72
74
  name: falls_back_on
73
- requirement: &2154148160 !ruby/object:Gem::Requirement
75
+ requirement: &id006 !ruby/object:Gem::Requirement
74
76
  none: false
75
- requirements:
76
- - - ! '>='
77
- - !ruby/object:Gem::Version
78
- version: '0'
77
+ requirements:
78
+ - - ">="
79
+ - !ruby/object:Gem::Version
80
+ version: "0"
79
81
  type: :runtime
80
82
  prerelease: false
81
- version_requirements: *2154148160
82
- - !ruby/object:Gem::Dependency
83
+ version_requirements: *id006
84
+ - !ruby/object:Gem::Dependency
83
85
  name: fixed_width-multibyte
84
- requirement: &2154147560 !ruby/object:Gem::Requirement
86
+ requirement: &id007 !ruby/object:Gem::Requirement
85
87
  none: false
86
- requirements:
87
- - - ! '>='
88
- - !ruby/object:Gem::Version
89
- version: '0'
88
+ requirements:
89
+ - - ">="
90
+ - !ruby/object:Gem::Version
91
+ version: "0"
90
92
  type: :runtime
91
93
  prerelease: false
92
- version_requirements: *2154147560
93
- - !ruby/object:Gem::Dependency
94
+ version_requirements: *id007
95
+ - !ruby/object:Gem::Dependency
94
96
  name: geokit-rails
95
- requirement: &2154146940 !ruby/object:Gem::Requirement
97
+ requirement: &id008 !ruby/object:Gem::Requirement
96
98
  none: false
97
- requirements:
98
- - - ! '>='
99
- - !ruby/object:Gem::Version
100
- version: '0'
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: "0"
101
103
  type: :runtime
102
104
  prerelease: false
103
- version_requirements: *2154146940
104
- - !ruby/object:Gem::Dependency
105
+ version_requirements: *id008
106
+ - !ruby/object:Gem::Dependency
105
107
  name: loose_tight_dictionary
106
- requirement: &2154146240 !ruby/object:Gem::Requirement
108
+ requirement: &id009 !ruby/object:Gem::Requirement
107
109
  none: false
108
- requirements:
109
- - - ! '>='
110
- - !ruby/object:Gem::Version
110
+ requirements:
111
+ - - ">="
112
+ - !ruby/object:Gem::Version
111
113
  version: 0.2.3
112
114
  type: :runtime
113
115
  prerelease: false
114
- version_requirements: *2154146240
115
- - !ruby/object:Gem::Dependency
116
+ version_requirements: *id009
117
+ - !ruby/object:Gem::Dependency
116
118
  name: weighted_average
117
- requirement: &2154144800 !ruby/object:Gem::Requirement
119
+ requirement: &id010 !ruby/object:Gem::Requirement
118
120
  none: false
119
- requirements:
120
- - - ! '>='
121
- - !ruby/object:Gem::Version
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
122
124
  version: 1.0.2
123
125
  type: :runtime
124
126
  prerelease: false
125
- version_requirements: *2154144800
126
- - !ruby/object:Gem::Dependency
127
+ version_requirements: *id010
128
+ - !ruby/object:Gem::Dependency
127
129
  name: mini_record-compat
128
- requirement: &2154144160 !ruby/object:Gem::Requirement
130
+ requirement: &id011 !ruby/object:Gem::Requirement
129
131
  none: false
130
- requirements:
131
- - - ! '>='
132
- - !ruby/object:Gem::Version
133
- version: '0'
132
+ requirements:
133
+ - - ">="
134
+ - !ruby/object:Gem::Version
135
+ version: "0"
134
136
  type: :runtime
135
137
  prerelease: false
136
- version_requirements: *2154144160
137
- - !ruby/object:Gem::Dependency
138
+ version_requirements: *id011
139
+ - !ruby/object:Gem::Dependency
138
140
  name: activesupport
139
- requirement: &2154143000 !ruby/object:Gem::Requirement
141
+ requirement: &id012 !ruby/object:Gem::Requirement
140
142
  none: false
141
- requirements:
142
- - - ! '>='
143
- - !ruby/object:Gem::Version
144
- version: '0'
143
+ requirements:
144
+ - - ">="
145
+ - !ruby/object:Gem::Version
146
+ version: "0"
145
147
  type: :runtime
146
148
  prerelease: false
147
- version_requirements: *2154143000
148
- - !ruby/object:Gem::Dependency
149
+ version_requirements: *id012
150
+ - !ruby/object:Gem::Dependency
149
151
  name: activerecord
150
- requirement: &2154137480 !ruby/object:Gem::Requirement
152
+ requirement: &id013 !ruby/object:Gem::Requirement
151
153
  none: false
152
- requirements:
153
- - - ! '>='
154
- - !ruby/object:Gem::Version
155
- version: '0'
154
+ requirements:
155
+ - - ">="
156
+ - !ruby/object:Gem::Version
157
+ version: "0"
156
158
  type: :runtime
157
159
  prerelease: false
158
- version_requirements: *2154137480
159
- - !ruby/object:Gem::Dependency
160
+ version_requirements: *id013
161
+ - !ruby/object:Gem::Dependency
160
162
  name: bundler
161
- requirement: &2154136560 !ruby/object:Gem::Requirement
163
+ requirement: &id014 !ruby/object:Gem::Requirement
162
164
  none: false
163
- requirements:
164
- - - ! '>='
165
- - !ruby/object:Gem::Version
166
- version: '0'
165
+ requirements:
166
+ - - ">="
167
+ - !ruby/object:Gem::Version
168
+ version: "0"
167
169
  type: :development
168
170
  prerelease: false
169
- version_requirements: *2154136560
170
- - !ruby/object:Gem::Dependency
171
+ version_requirements: *id014
172
+ - !ruby/object:Gem::Dependency
171
173
  name: bueller
172
- requirement: &2154135700 !ruby/object:Gem::Requirement
174
+ requirement: &id015 !ruby/object:Gem::Requirement
173
175
  none: false
174
- requirements:
175
- - - ! '>='
176
- - !ruby/object:Gem::Version
177
- version: '0'
176
+ requirements:
177
+ - - ">="
178
+ - !ruby/object:Gem::Version
179
+ version: "0"
178
180
  type: :development
179
181
  prerelease: false
180
- version_requirements: *2154135700
181
- - !ruby/object:Gem::Dependency
182
+ version_requirements: *id015
183
+ - !ruby/object:Gem::Dependency
182
184
  name: cucumber
183
- requirement: &2154134140 !ruby/object:Gem::Requirement
185
+ requirement: &id016 !ruby/object:Gem::Requirement
184
186
  none: false
185
- requirements:
186
- - - ! '>='
187
- - !ruby/object:Gem::Version
188
- version: '0'
187
+ requirements:
188
+ - - ">="
189
+ - !ruby/object:Gem::Version
190
+ version: "0"
189
191
  type: :development
190
192
  prerelease: false
191
- version_requirements: *2154134140
192
- - !ruby/object:Gem::Dependency
193
+ version_requirements: *id016
194
+ - !ruby/object:Gem::Dependency
193
195
  name: rake
194
- requirement: &2154133360 !ruby/object:Gem::Requirement
196
+ requirement: &id017 !ruby/object:Gem::Requirement
195
197
  none: false
196
- requirements:
197
- - - ! '>='
198
- - !ruby/object:Gem::Version
199
- version: '0'
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: "0"
200
202
  type: :development
201
203
  prerelease: false
202
- version_requirements: *2154133360
203
- - !ruby/object:Gem::Dependency
204
+ version_requirements: *id017
205
+ - !ruby/object:Gem::Dependency
204
206
  name: rdoc
205
- requirement: &2154132360 !ruby/object:Gem::Requirement
207
+ requirement: &id018 !ruby/object:Gem::Requirement
206
208
  none: false
207
- requirements:
208
- - - ! '>='
209
- - !ruby/object:Gem::Version
210
- version: '0'
209
+ requirements:
210
+ - - ">="
211
+ - !ruby/object:Gem::Version
212
+ version: "0"
211
213
  type: :development
212
214
  prerelease: false
213
- version_requirements: *2154132360
214
- - !ruby/object:Gem::Dependency
215
+ version_requirements: *id018
216
+ - !ruby/object:Gem::Dependency
215
217
  name: rspec
216
- requirement: &2154117760 !ruby/object:Gem::Requirement
218
+ requirement: &id019 !ruby/object:Gem::Requirement
217
219
  none: false
218
- requirements:
219
- - - ! '>='
220
- - !ruby/object:Gem::Version
221
- version: '0'
220
+ requirements:
221
+ - - ">="
222
+ - !ruby/object:Gem::Version
223
+ version: "0"
222
224
  type: :development
223
225
  prerelease: false
224
- version_requirements: *2154117760
225
- - !ruby/object:Gem::Dependency
226
+ version_requirements: *id019
227
+ - !ruby/object:Gem::Dependency
226
228
  name: sqlite3-ruby
227
- requirement: &2154116800 !ruby/object:Gem::Requirement
229
+ requirement: &id020 !ruby/object:Gem::Requirement
228
230
  none: false
229
- requirements:
230
- - - ! '>='
231
- - !ruby/object:Gem::Version
232
- version: '0'
231
+ requirements:
232
+ - - ">="
233
+ - !ruby/object:Gem::Version
234
+ version: "0"
233
235
  type: :development
234
236
  prerelease: false
235
- version_requirements: *2154116800
236
- - !ruby/object:Gem::Dependency
237
+ version_requirements: *id020
238
+ - !ruby/object:Gem::Dependency
237
239
  name: mysql
238
- requirement: &2154116180 !ruby/object:Gem::Requirement
240
+ requirement: &id021 !ruby/object:Gem::Requirement
239
241
  none: false
240
- requirements:
241
- - - ! '>='
242
- - !ruby/object:Gem::Version
243
- version: '0'
242
+ requirements:
243
+ - - ">="
244
+ - !ruby/object:Gem::Version
245
+ version: "0"
244
246
  type: :development
245
247
  prerelease: false
246
- version_requirements: *2154116180
247
- - !ruby/object:Gem::Dependency
248
+ version_requirements: *id021
249
+ - !ruby/object:Gem::Dependency
248
250
  name: pg
249
- requirement: &2154115520 !ruby/object:Gem::Requirement
251
+ requirement: &id022 !ruby/object:Gem::Requirement
250
252
  none: false
251
- requirements:
252
- - - ! '>='
253
- - !ruby/object:Gem::Version
254
- version: '0'
253
+ requirements:
254
+ - - ">="
255
+ - !ruby/object:Gem::Version
256
+ version: "0"
255
257
  type: :development
256
258
  prerelease: false
257
- version_requirements: *2154115520
259
+ version_requirements: *id022
258
260
  description: An earth-simulation environment with ActiveRecord models and data
259
261
  email: andy@rossmeissl.net
260
- executables:
262
+ executables:
261
263
  - earth_tester.rb
262
264
  extensions: []
263
- extra_rdoc_files:
265
+
266
+ extra_rdoc_files:
264
267
  - LICENSE
265
268
  - LICENSE-PREAMBLE
266
269
  - README.markdown
267
- files:
270
+ files:
268
271
  - .document
269
272
  - .gitignore
270
273
  - Gemfile
@@ -627,32 +630,41 @@ files:
627
630
  - vendor/geokit-rails/test/schema.rb
628
631
  - vendor/geokit-rails/test/tasks.rake
629
632
  - vendor/geokit-rails/test/test_helper.rb
633
+ has_rdoc: true
630
634
  homepage: https://github.com/brighterplanet/earth
631
635
  licenses: []
636
+
632
637
  post_install_message:
633
- rdoc_options:
638
+ rdoc_options:
634
639
  - --charset=UTF-8
635
- require_paths:
640
+ require_paths:
636
641
  - lib
637
- required_ruby_version: !ruby/object:Gem::Requirement
642
+ required_ruby_version: !ruby/object:Gem::Requirement
638
643
  none: false
639
- requirements:
640
- - - ! '>='
641
- - !ruby/object:Gem::Version
642
- version: '0'
643
- required_rubygems_version: !ruby/object:Gem::Requirement
644
+ requirements:
645
+ - - ">="
646
+ - !ruby/object:Gem::Version
647
+ hash: 3108148755589690229
648
+ segments:
649
+ - 0
650
+ version: "0"
651
+ required_rubygems_version: !ruby/object:Gem::Requirement
644
652
  none: false
645
- requirements:
646
- - - ! '>='
647
- - !ruby/object:Gem::Version
648
- version: '0'
653
+ requirements:
654
+ - - ">="
655
+ - !ruby/object:Gem::Version
656
+ hash: 3108148755589690229
657
+ segments:
658
+ - 0
659
+ version: "0"
649
660
  requirements: []
661
+
650
662
  rubyforge_project:
651
- rubygems_version: 1.8.11
663
+ rubygems_version: 1.6.2
652
664
  signing_key:
653
665
  specification_version: 3
654
666
  summary: Land, sky, and sea
655
- test_files:
667
+ test_files:
656
668
  - features/automobile_fuel.feature
657
669
  - features/automobile_make.feature
658
670
  - features/automobile_make_fleet_year.feature