earth 0.4.0 → 0.4.1

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 (38) hide show
  1. data/earth.gemspec +2 -2
  2. data/features/automobile_fuel.feature +100 -0
  3. data/features/bus_class.feature +12 -42
  4. data/features/bus_fuel.feature +114 -0
  5. data/features/egrid_subregion.feature +113 -15
  6. data/features/support/imports/automobile_fuel_bad.csv +3 -3
  7. data/features/support/imports/automobile_fuel_good.csv +3 -3
  8. data/features/support/imports/bus_class_bad.csv +2 -3
  9. data/features/support/imports/bus_class_good.csv +2 -3
  10. data/features/support/imports/bus_fuel_bad.csv +3 -0
  11. data/features/support/imports/bus_fuel_good.csv +3 -0
  12. data/features/support/imports/egrid_subregion_bad.csv +2 -3
  13. data/features/support/imports/egrid_subregion_good.csv +2 -3
  14. data/lib/earth/automobile/automobile_fuel.rb +63 -58
  15. data/lib/earth/automobile/automobile_fuel/data_miner.rb +110 -0
  16. data/lib/earth/bus.rb +3 -0
  17. data/lib/earth/bus/bus_class.rb +21 -2
  18. data/lib/earth/bus/bus_class/data_miner.rb +79 -43
  19. data/lib/earth/bus/bus_fuel.rb +18 -0
  20. data/lib/earth/bus/bus_fuel/data_miner.rb +204 -0
  21. data/lib/earth/bus/bus_fuel_control.rb +7 -0
  22. data/lib/earth/bus/bus_fuel_control/data_miner.rb +41 -0
  23. data/lib/earth/bus/bus_fuel_year_control.rb +13 -0
  24. data/lib/earth/bus/bus_fuel_year_control/data_miner.rb +35 -0
  25. data/lib/earth/bus/data_miner.rb +3 -0
  26. data/lib/earth/fuel/fuel.rb +16 -0
  27. data/lib/earth/fuel/fuel/data_miner.rb +6 -1
  28. data/lib/earth/locality/egrid_region.rb +3 -2
  29. data/lib/earth/locality/egrid_region/data_miner.rb +8 -31
  30. data/lib/earth/locality/egrid_subregion.rb +18 -2
  31. data/lib/earth/locality/egrid_subregion/data_miner.rb +109 -56
  32. data/spec/earth/automobile/automobile_fuel_spec.rb +9 -12
  33. data/spec/earth/bus/bus_class_spec.rb +12 -0
  34. data/spec/earth/bus/bus_fuel_control_spec.rb +12 -0
  35. data/spec/earth/bus/bus_fuel_year_control_spec.rb +16 -0
  36. data/spec/earth/pet/species_spec.rb +0 -1
  37. data/spec/earth_spec.rb +2 -2
  38. metadata +46 -16
@@ -3,89 +3,142 @@ EgridSubregion.class_eval do
3
3
  schema Earth.database_options do
4
4
  string 'abbreviation'
5
5
  string 'name'
6
- float 'electricity_emission_factor'
7
- string 'electricity_emission_factor_units'
8
6
  string 'nerc_abbreviation'
9
7
  string 'egrid_region_name'
8
+ float 'net_generation'
9
+ string 'net_generation_units'
10
+ float 'electricity_co2_emission_factor'
11
+ string 'electricity_co2_emission_factor_units'
12
+ float 'electricity_co2_biogenic_emission_factor'
13
+ string 'electricity_co2_biogenic_emission_factor_units'
14
+ float 'electricity_ch4_emission_factor'
15
+ string 'electricity_ch4_emission_factor_units'
16
+ float 'electricity_n2o_emission_factor'
17
+ string 'electricity_n2o_emission_factor_units'
18
+ float 'electricity_emission_factor'
19
+ string 'electricity_emission_factor_units'
10
20
  end
11
21
 
12
- # process "define some unit conversions" do
13
- # Conversions.register :pounds_per_megawatt_hour, :kilograms_per_kilowatt_hour, 0.00045359237
14
- # Conversions.register :pounds_per_gigawatt_hour, :kilograms_per_kilowatt_hour, 0.00000045359237
15
- # end
16
- #
17
- # NOTE: the following import uses an 18 Mb zip - don't know if two imports will cause it to be downloaded twice...
18
- #
22
+ # FIXME TODO for some reason this doesn't work...
19
23
  # import "eGRID regions and electricity emission factors derived from eGRID 2007 data",
20
24
  # :url => 'http://www.epa.gov/cleanenergy/documents/egridzips/eGRID2007_Version1-1.zip',
21
- # :filename => 'eGRID2007V1_1_year05_aggregation.xls',
25
+ # :filename => 'eGRID2007_Version1-1/eGRID2007V1_1_year05_aggregation.xls',
22
26
  # :sheet => 'SRL05',
23
27
  # :skip => 3,
24
28
  # :select => lambda { |row| row['eGRID2007 2005 file eGRID subregion location (operator)-based sequence number'].to_i.between?(1, 26) } do
25
29
  # key 'abbreviation', :field_name => 'eGRID subregion acronym'
26
30
  # store 'name', :field_name => 'eGRID subregion name associated with eGRID subregion acronym'
27
31
  # store 'nerc_abbreviation', :field_name => 'NERC region acronym associated with the eGRID subregion acronym'
28
- # store 'electricity_ef_co2', :field_name => 'eGRID subregion annual CO2 output emission rate (lb/MWh)', :from_units => :pounds_per_megawatt_hour, :to_units => :kilograms_per_kilowatt_hour
29
- # store 'electricity_ef_ch4', :field_name => 'eGRID subregion annual CH4 output emission rate (lb/GWh)', :from_units => :pounds_per_gigawatt_hour, :to_units => :kilograms_per_kilowatt_hour
30
- # store 'electricity_ef_n2o', :field_name => 'eGRID subregion annual N2O output emission rate (lb/GWh)', :from_units => :pounds_per_gigawatt_hour, :to_units => :kilograms_per_kilowatt_hour
31
- # end
32
- #
33
- # import "US average electricity emission factors derived from eGRID 2007 data",
34
- # :url => 'http://www.epa.gov/cleanenergy/documents/egridzips/eGRID2007_Version1-1.zip',
35
- # :filename => 'eGRID2007V1_1_year05_aggregation.xls',
36
- # :sheet => 'US05',
37
- # :skip => 3,
38
- # :select => lambda { |row| row['eGRID2007 2005 file US sequence number'].to_i.is?(1) } do
39
- # key # the single row should be keyed 'US'
40
- # store 'name' # the single row should be named 'United States Average'
41
- # store 'electricity_ef_co2', :field_name => 'US annual CO2 output emission rate (lb/MWh)', :from_units => :pounds_per_megawatt_hour, :to_units => :kilograms_per_kilowatt_hour
42
- # store 'electricity_ef_ch4', :field_name => 'US annual CH4 output emission rate (lb/GWh)', :from_units => :pounds_per_gigawatt_hour, :to_units => :kilograms_per_kilowatt_hour
43
- # store 'electricity_ef_n2o', :field_name => 'US annual N2O output emission rate (lb/GWh)', :from_units => :pounds_per_gigawatt_hour, :to_units => :kilograms_per_kilowatt_hour
44
- # end
45
- #
46
- # import "the eGRID regions associated with each subregion" do
47
- # :url => 'https://spreadsheets.google.com/pub?key=0AoQJbWqPrREqdGRORTJNSWRMQ1puRVprYlAtZHhDaFE&hl=en&single=true&gid=0&output=csv' do
48
- # key 'abbreviation'
49
- # store 'egrid_region_name'
50
- # end
51
- #
52
- # process "Calculate CO2e emission factor"
53
- # # multiply each gas ef by the gas GWP and sum
32
+ # store 'net_generation', :field_name => 'eGRID subregion annual net generation (MWh)', :units => 'megawatt_hours'
33
+ # store 'electricity_co2_emission_factor', :field_name => 'eGRID subregion annual CO2 output emission rate (lb/MWh)', :units => 'pounds_per_megawatt_hour'
34
+ # store 'electricity_co2_biogenic_emission_factor', :static => '0.0', :units => 'kilograms_per_kilowatt_hour'
35
+ # store 'electricity_ch4_emission_factor', :field_name => 'eGRID subregion annual CH4 output emission rate (lb/GWh)', :units => 'pounds_per_gigawatt_hour'
36
+ # store 'electricity_n2o_emission_factor', :field_name => 'eGRID subregion annual N2O output emission rate (lb/GWh)', :units => 'pounds_per_gigawatt_hour'
54
37
  # end
55
38
 
56
- import "a list of eGRID subregions and emissions factors derived from eGRID 2007 data",
57
- :url => 'https://spreadsheets.google.com/pub?key=0AoQJbWqPrREqdGRORTJNSWRMQ1puRVprYlAtZHhDaFE&hl=en&single=true&gid=0&output=csv' do
58
- key 'abbreviation'
39
+ import "eGRID subregion data",
40
+ :url => 'https://spreadsheets.google.com/pub?key=0AoQJbWqPrREqdGRORTJNSWRMQ1puRVprYlAtZHhDaFE&hl=en&single=true&gid=0&output=csv',
41
+ :select => lambda { |row| row['abbreviation'].length == 4 } do
42
+ key 'abbreviation'
59
43
  store 'name'
60
44
  store 'nerc_abbreviation'
61
45
  store 'egrid_region_name'
62
- store 'electricity_emission_factor', :units_field_name => 'electricity_emission_factor_units'
46
+ store 'net_generation', :units => 'megawatt_hours'
47
+ store 'electricity_co2_emission_factor', :field_name => 'electricty_ef_co2', :units => 'pounds_per_megawatt_hour'
48
+ store 'electricity_co2_biogenic_emission_factor', :static => '0.0', :units => 'kilograms_per_kilowatt_hour'
49
+ store 'electricity_ch4_emission_factor', :field_name => 'electricity_ef_ch4', :units => 'pounds_per_gigawatt_hour'
50
+ store 'electricity_n2o_emission_factor', :field_name => 'electricity_ef_n2o', :units => 'pounds_per_gigawatt_hour'
63
51
  end
64
52
 
65
- # FIXME TODO make this work
66
- # verify "eGRID region name should appear in egrid_regions" do
67
- # regions = EgridRegion.all.map { |region| region.name }
68
- # EgridSubregion.all.each do |subregion|
69
- # unless regions.includes? subregion.egrid_region_name
70
- # raise "Invalid eGRID region name for EgridSubregion #{subregion.name}: #{subregion.egrid_region_name} (not found in egrid_regions)"
71
- # end
72
- # end
73
- # end
53
+ process "Convert co2 emission factor to metric units" do
54
+ conversion_factor = 1.pounds.to(:kilograms) * 1.0 / 1_000.0 # kg / lbs * MWh / kWh
55
+ update_all %{ electricity_co2_emission_factor = electricity_co2_emission_factor * #{conversion_factor},
56
+ electricity_co2_emission_factor_units = 'kilograms_per_kilowatt_hour'
57
+ WHERE electricity_co2_emission_factor_units = 'pounds_per_megawatt_hour' }
58
+ end
74
59
 
75
- verify "Electricity emission factor should be greater than zero" do
76
- EgridSubregion.all.each do |subregion|
77
- unless subregion.electricity_emission_factor > 0
78
- raise "Invalid electricity emission factor for EgridSubregion #{subregion.name}: #{subregion.electricity_emission_factor} (should be > 0)"
60
+ process "Insure necessary datasets are imported" do
61
+ GreenhouseGas.run_data_miner!
62
+ end
63
+
64
+ process "Convert ch4 emission factor to metric units and co2e" do
65
+ conversion_factor = 1.pounds.to(:kilograms) * 1.0 / 1_000_000.0 # kg / lbs * GWh / kWh
66
+ gwp = GreenhouseGas[:ch4].global_warming_potential
67
+ update_all %{ electricity_ch4_emission_factor = electricity_ch4_emission_factor * #{conversion_factor} * #{gwp},
68
+ electricity_ch4_emission_factor_units = 'kilograms_co2e_per_kilowatt_hour'
69
+ WHERE electricity_ch4_emission_factor_units = 'pounds_per_gigawatt_hour' }
70
+ end
71
+
72
+ process "Convert n2o emission factor to metric units and co2e" do
73
+ conversion_factor = 1.pounds.to(:kilograms) * 1.0 / 1_000_000.0 # kg / lbs * GWh / kWh
74
+ gwp = GreenhouseGas[:n2o].global_warming_potential
75
+ update_all %{ electricity_n2o_emission_factor = electricity_n2o_emission_factor * #{conversion_factor} * #{gwp},
76
+ electricity_n2o_emission_factor_units = 'kilograms_co2e_per_kilowatt_hour'
77
+ WHERE electricity_n2o_emission_factor_units = 'pounds_per_gigawatt_hour' }
78
+ end
79
+
80
+ process "Calculate combined emission factor" do
81
+ update_all %{ electricity_emission_factor = electricity_co2_emission_factor + electricity_ch4_emission_factor + electricity_n2o_emission_factor,
82
+ electricity_emission_factor_units = 'kilograms_co2e_per_kilowatt_hour' }
83
+ end
84
+
85
+ # FIXME TODO verify egrid_region_name is found in EgridRegions
86
+ %w{ egrid_region_name }.each do |attribute|
87
+ verify "#{attribute.humanize} should never be missing" do
88
+ EgridSubregion.all.each do |subregion|
89
+ unless subregion.send("#{attribute}").present?
90
+ puts "Missing #{attribute.humanize.downcase} for EgridSubregion #{subregion.name}"
91
+ fail
92
+ end
79
93
  end
80
94
  end
81
95
  end
82
96
 
83
- verify "Electricity emission factor units should be kilograms co2e per kilowatt hour" do
97
+ ["net_generation",
98
+ "electricity_co2_emission_factor",
99
+ "electricity_ch4_emission_factor",
100
+ "electricity_n2o_emission_factor",
101
+ "electricity_emission_factor" ].each do |attribute|
102
+ verify "#{attribute.humanize} should be > 0" do
103
+ EgridSubregion.all.each do |subregion|
104
+ value = subregion.send(:"#{attribute}")
105
+ unless value > 0
106
+ puts "Invalid #{attribute.humanize.downcase} for EgridSubregion #{subregion.name}: #{value} (should be > 0)"
107
+ fail
108
+ end
109
+ end
110
+ end
111
+ end
112
+
113
+ verify "Electricity co2 biogenic emission factor should be 0" do
84
114
  EgridSubregion.all.each do |subregion|
85
- unless subregion.electricity_emission_factor_units == "kilograms_co2e_per_kilowatt_hour"
86
- raise "Invalid electricity emission factor units for EgridSubregion #{subregion.name}: #{subregion.electricity_emission_factor_units} (should be kilograms_co2e_per_kilowatt_hour)"
115
+ value = subregion.electricity_co2_biogenic_emission_factor
116
+ unless value == 0
117
+ puts "Invalid electricity co2 biogenic emission factor for EgridSubregion #{subregion.name}: #{value} (should be 0)"
118
+ fail
87
119
  end
88
120
  end
89
121
  end
122
+
123
+ [["net_generation_units","megawatt_hours"],
124
+ ["electricity_co2_emission_factor_units","kilograms_per_kilowatt_hour"],
125
+ ["electricity_co2_biogenic_emission_factor_units","kilograms_per_kilowatt_hour"],
126
+ ["electricity_ch4_emission_factor_units","kilograms_co2e_per_kilowatt_hour"],
127
+ ["electricity_n2o_emission_factor_units","kilograms_co2e_per_kilowatt_hour"],
128
+ ["electricity_emission_factor_units","kilograms_co2e_per_kilowatt_hour"]].each do |pair|
129
+ attribute = pair[0]
130
+ proper_units = pair[1]
131
+ verify "#{attribute.humanize} should be #{proper_units.humanize.downcase}" do
132
+ EgridSubregion.all.each do |subregion|
133
+ units = subregion.send(:"#{attribute}")
134
+ unless units == proper_units
135
+ puts "Invalid #{attribute.humanize.downcase} for EgridSubregion #{subregion.name}: #{units} (should be #{proper_units})"
136
+ fail
137
+ end
138
+ end
139
+ end
140
+ end
141
+
142
+ # FIXME TODO verify fallbacks
90
143
  end
91
144
  end
@@ -3,17 +3,14 @@ require 'earth/automobile'
3
3
  require 'earth/automobile/data_miner'
4
4
 
5
5
  describe AutomobileFuel do
6
- before :all do
7
- AutomobileFuel.run_data_miner!
6
+ describe 'import', :slow => true do
7
+ it 'should import data without problems' do
8
+ AutomobileFuel.run_data_miner!
9
+ AutomobileFuel.all.count.should > 0
10
+ end
11
+
12
+ it 'correctly assigns hfc_emission_factor' do
13
+ AutomobileFuel.first.hfc_emission_factor.should == 0.0
14
+ end
8
15
  end
9
-
10
- it 'imports data without problems' do
11
- AutomobileFuel.all.count.should > 0
12
- end
13
- # it 'correctly assigns hfc_emission_factor' do
14
- # AutomobileTypeFuelAge.run_data_miner!
15
- # AutomobileTypeFuelYear.run_data_miner!
16
- # AutomobileTypeYear.run_data_miner!
17
- # AutomobileFuel.first.hfc_emission_factor.should == 0.0
18
- # end
19
16
  end
@@ -0,0 +1,12 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'BusFuel' do
4
+ before :all do
5
+ Earth.init :bus, :fuel, :apply_schemas => true
6
+ end
7
+
8
+ it 'is related to fuels' do
9
+ BusFuel.run_data_miner!
10
+ BusFuel.last.fuel.should_not be_nil
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'BusFuelControl' do
4
+ before :all do
5
+ Earth.init :bus, :fuel, :apply_schemas => true
6
+ end
7
+
8
+ it 'imports successfully' do
9
+ BusFuelControl.run_data_miner!
10
+ BusFuelControl.all.count.should > 0
11
+ end
12
+ end
@@ -0,0 +1,16 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'BusFuelYearControl' do
4
+ before :all do
5
+ Earth.init :bus, :fuel, :apply_schemas => true
6
+ end
7
+
8
+ it 'imports successfully' do
9
+ BusFuelYearControl.run_data_miner!
10
+ BusFuelYearControl.all.count.should > 0
11
+ end
12
+
13
+ it 'is related to BusFuelControl' do
14
+ BusFuelYearControl.first.control.should_not be_nil
15
+ end
16
+ end
@@ -11,4 +11,3 @@ describe 'Species' do
11
11
  end
12
12
  end
13
13
  end
14
-
data/spec/earth_spec.rb CHANGED
@@ -27,7 +27,7 @@ describe Earth do
27
27
  describe '.resources' do
28
28
  it 'should get a list of resources' do
29
29
  resources = Earth.resources
30
- resources.keys.count.should == 74
30
+ resources.keys.count.should == 77
31
31
  resources['FuelType'][:domain].should == 'fuel'
32
32
  end
33
33
  it 'should exclude data_miner files' do
@@ -37,7 +37,7 @@ describe Earth do
37
37
 
38
38
  describe '.resource_names' do
39
39
  it 'should get a list of all resource names' do
40
- Earth.resource_names.count.should == 74
40
+ Earth.resource_names.count.should == 77
41
41
  Earth.resource_names.should include('Aircraft')
42
42
  Earth.resource_names.should include('Industry')
43
43
  end
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: earth
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 13
4
5
  prerelease: false
5
6
  segments:
6
7
  - 0
7
8
  - 4
8
- - 0
9
- version: 0.4.0
9
+ - 1
10
+ version: 0.4.1
10
11
  platform: ruby
11
12
  authors:
12
13
  - Seamus Abshere
@@ -16,167 +17,178 @@ autorequire:
16
17
  bindir: bin
17
18
  cert_chain: []
18
19
 
19
- date: 2011-02-17 00:00:00 -05:00
20
+ date: 2011-02-21 00:00:00 -08:00
20
21
  default_executable:
21
22
  dependencies:
22
23
  - !ruby/object:Gem::Dependency
23
24
  name: activerecord
25
+ prerelease: false
24
26
  requirement: &id001 !ruby/object:Gem::Requirement
25
27
  none: false
26
28
  requirements:
27
29
  - - ~>
28
30
  - !ruby/object:Gem::Version
31
+ hash: 5
29
32
  segments:
30
33
  - 3
31
34
  version: "3"
32
35
  type: :runtime
33
- prerelease: false
34
36
  version_requirements: *id001
35
37
  - !ruby/object:Gem::Dependency
36
38
  name: data_miner
39
+ prerelease: false
37
40
  requirement: &id002 !ruby/object:Gem::Requirement
38
41
  none: false
39
42
  requirements:
40
43
  - - ~>
41
44
  - !ruby/object:Gem::Version
45
+ hash: 17
42
46
  segments:
43
47
  - 1
44
48
  - 1
45
49
  - 1
46
50
  version: 1.1.1
47
51
  type: :runtime
48
- prerelease: false
49
52
  version_requirements: *id002
50
53
  - !ruby/object:Gem::Dependency
51
54
  name: errata
55
+ prerelease: false
52
56
  requirement: &id003 !ruby/object:Gem::Requirement
53
57
  none: false
54
58
  requirements:
55
59
  - - ">="
56
60
  - !ruby/object:Gem::Version
61
+ hash: 3
57
62
  segments:
58
63
  - 0
59
64
  version: "0"
60
65
  type: :runtime
61
- prerelease: false
62
66
  version_requirements: *id003
63
67
  - !ruby/object:Gem::Dependency
64
68
  name: falls_back_on
69
+ prerelease: false
65
70
  requirement: &id004 !ruby/object:Gem::Requirement
66
71
  none: false
67
72
  requirements:
68
73
  - - ">="
69
74
  - !ruby/object:Gem::Version
75
+ hash: 25
70
76
  segments:
71
77
  - 0
72
78
  - 0
73
79
  - 3
74
80
  version: 0.0.3
75
81
  type: :runtime
76
- prerelease: false
77
82
  version_requirements: *id004
78
83
  - !ruby/object:Gem::Dependency
79
84
  name: geokit
85
+ prerelease: false
80
86
  requirement: &id005 !ruby/object:Gem::Requirement
81
87
  none: false
82
88
  requirements:
83
89
  - - ">="
84
90
  - !ruby/object:Gem::Version
91
+ hash: 3
85
92
  segments:
86
93
  - 1
87
94
  - 5
88
95
  - 0
89
96
  version: 1.5.0
90
97
  type: :runtime
91
- prerelease: false
92
98
  version_requirements: *id005
93
99
  - !ruby/object:Gem::Dependency
94
100
  name: geokit-rails
101
+ prerelease: false
95
102
  requirement: &id006 !ruby/object:Gem::Requirement
96
103
  none: false
97
104
  requirements:
98
105
  - - ">="
99
106
  - !ruby/object:Gem::Version
107
+ hash: 3
100
108
  segments:
101
109
  - 0
102
110
  version: "0"
103
111
  type: :runtime
104
- prerelease: false
105
112
  version_requirements: *id006
106
113
  - !ruby/object:Gem::Dependency
107
114
  name: cohort_scope
115
+ prerelease: false
108
116
  requirement: &id007 !ruby/object:Gem::Requirement
109
117
  none: false
110
118
  requirements:
111
119
  - - ">="
112
120
  - !ruby/object:Gem::Version
121
+ hash: 17
113
122
  segments:
114
123
  - 0
115
124
  - 0
116
125
  - 7
117
126
  version: 0.0.7
118
127
  type: :runtime
119
- prerelease: false
120
128
  version_requirements: *id007
121
129
  - !ruby/object:Gem::Dependency
122
130
  name: conversions
131
+ prerelease: false
123
132
  requirement: &id008 !ruby/object:Gem::Requirement
124
133
  none: false
125
134
  requirements:
126
135
  - - ">="
127
136
  - !ruby/object:Gem::Version
137
+ hash: 13
128
138
  segments:
129
139
  - 1
130
140
  - 4
131
141
  - 5
132
142
  version: 1.4.5
133
143
  type: :runtime
134
- prerelease: false
135
144
  version_requirements: *id008
136
145
  - !ruby/object:Gem::Dependency
137
146
  name: weighted_average
147
+ prerelease: false
138
148
  requirement: &id009 !ruby/object:Gem::Requirement
139
149
  none: false
140
150
  requirements:
141
151
  - - ">="
142
152
  - !ruby/object:Gem::Version
153
+ hash: 23
143
154
  segments:
144
155
  - 0
145
156
  - 0
146
157
  - 4
147
158
  version: 0.0.4
148
159
  type: :runtime
149
- prerelease: false
150
160
  version_requirements: *id009
151
161
  - !ruby/object:Gem::Dependency
152
162
  name: loose_tight_dictionary
163
+ prerelease: false
153
164
  requirement: &id010 !ruby/object:Gem::Requirement
154
165
  none: false
155
166
  requirements:
156
167
  - - ">="
157
168
  - !ruby/object:Gem::Version
169
+ hash: 15
158
170
  segments:
159
171
  - 0
160
172
  - 0
161
173
  - 8
162
174
  version: 0.0.8
163
175
  type: :runtime
164
- prerelease: false
165
176
  version_requirements: *id010
166
177
  - !ruby/object:Gem::Dependency
167
178
  name: sniff
179
+ prerelease: false
168
180
  requirement: &id011 !ruby/object:Gem::Requirement
169
181
  none: false
170
182
  requirements:
171
183
  - - ~>
172
184
  - !ruby/object:Gem::Version
185
+ hash: 5
173
186
  segments:
174
187
  - 0
175
188
  - 6
176
189
  - 1
177
190
  version: 0.6.1
178
191
  type: :development
179
- prerelease: false
180
192
  version_requirements: *id011
181
193
  description: An earth-simulation environment with ActiveRecord models and data
182
194
  email: andy@rossmeissl.net
@@ -214,6 +226,7 @@ files:
214
226
  - features/automobile_type_fuel_year_control.feature
215
227
  - features/automobile_type_year.feature
216
228
  - features/bus_class.feature
229
+ - features/bus_fuel.feature
217
230
  - features/carrier.feature
218
231
  - features/carrier_mode.feature
219
232
  - features/computation_platform.feature
@@ -262,6 +275,8 @@ files:
262
275
  - features/support/imports/automobile_type_year_good.csv
263
276
  - features/support/imports/bus_class_bad.csv
264
277
  - features/support/imports/bus_class_good.csv
278
+ - features/support/imports/bus_fuel_bad.csv
279
+ - features/support/imports/bus_fuel_good.csv
265
280
  - features/support/imports/carrier_bad.csv
266
281
  - features/support/imports/carrier_good.csv
267
282
  - features/support/imports/carrier_mode_bad.csv
@@ -349,6 +364,12 @@ files:
349
364
  - lib/earth/bus.rb
350
365
  - lib/earth/bus/bus_class.rb
351
366
  - lib/earth/bus/bus_class/data_miner.rb
367
+ - lib/earth/bus/bus_fuel.rb
368
+ - lib/earth/bus/bus_fuel/data_miner.rb
369
+ - lib/earth/bus/bus_fuel_control.rb
370
+ - lib/earth/bus/bus_fuel_control/data_miner.rb
371
+ - lib/earth/bus/bus_fuel_year_control.rb
372
+ - lib/earth/bus/bus_fuel_year_control/data_miner.rb
352
373
  - lib/earth/bus/data_miner.rb
353
374
  - lib/earth/computation.rb
354
375
  - lib/earth/computation/computation_platform.rb
@@ -461,6 +482,9 @@ files:
461
482
  - lib/earth/version.rb
462
483
  - spec/earth/air/aircraft_spec.rb
463
484
  - spec/earth/automobile/automobile_fuel_spec.rb
485
+ - spec/earth/bus/bus_class_spec.rb
486
+ - spec/earth/bus/bus_fuel_control_spec.rb
487
+ - spec/earth/bus/bus_fuel_year_control_spec.rb
464
488
  - spec/earth/pet/species_spec.rb
465
489
  - spec/earth_spec.rb
466
490
  - spec/spec_helper.rb
@@ -520,7 +544,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
520
544
  requirements:
521
545
  - - ">="
522
546
  - !ruby/object:Gem::Version
523
- hash: -3794272341704170348
547
+ hash: 3
524
548
  segments:
525
549
  - 0
526
550
  version: "0"
@@ -529,7 +553,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
529
553
  requirements:
530
554
  - - ">="
531
555
  - !ruby/object:Gem::Version
532
- hash: -3794272341704170348
556
+ hash: 3
533
557
  segments:
534
558
  - 0
535
559
  version: "0"
@@ -558,6 +582,7 @@ test_files:
558
582
  - features/automobile_type_fuel_year_control.feature
559
583
  - features/automobile_type_year.feature
560
584
  - features/bus_class.feature
585
+ - features/bus_fuel.feature
561
586
  - features/carrier.feature
562
587
  - features/carrier_mode.feature
563
588
  - features/computation_platform.feature
@@ -606,6 +631,8 @@ test_files:
606
631
  - features/support/imports/automobile_type_year_good.csv
607
632
  - features/support/imports/bus_class_bad.csv
608
633
  - features/support/imports/bus_class_good.csv
634
+ - features/support/imports/bus_fuel_bad.csv
635
+ - features/support/imports/bus_fuel_good.csv
609
636
  - features/support/imports/carrier_bad.csv
610
637
  - features/support/imports/carrier_good.csv
611
638
  - features/support/imports/carrier_mode_bad.csv
@@ -634,6 +661,9 @@ test_files:
634
661
  - features/support/imports/shipment_mode_good.csv
635
662
  - spec/earth/air/aircraft_spec.rb
636
663
  - spec/earth/automobile/automobile_fuel_spec.rb
664
+ - spec/earth/bus/bus_class_spec.rb
665
+ - spec/earth/bus/bus_fuel_control_spec.rb
666
+ - spec/earth/bus/bus_fuel_year_control_spec.rb
637
667
  - spec/earth/pet/species_spec.rb
638
668
  - spec/earth_spec.rb
639
669
  - spec/spec_helper.rb