earth 0.5.0 → 0.5.2
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.
- data/Gemfile +4 -5
- data/README.markdown +0 -8
- data/Rakefile +14 -10
- data/bin/earth_tester.rb +12 -12
- data/earth.gemspec +2 -1
- data/features/automobile_make_fleet_year.feature +9 -19
- data/features/automobile_make_model_year.feature +4 -4
- data/features/support/env.rb +11 -7
- data/features/support/imports/automobile_make_fleet_year_bad.csv +1 -1
- data/features/support/imports/automobile_make_fleet_year_good.csv +1 -1
- data/features/support/imports/automobile_make_model_year_bad.csv +1 -1
- data/features/support/imports/automobile_make_model_year_good.csv +1 -1
- data/lib/earth/air/aircraft/data_miner.rb +63 -15
- data/lib/earth/air/aircraft.rb +0 -11
- data/lib/earth/air/aircraft_class/data_miner.rb +0 -13
- data/lib/earth/air/aircraft_class.rb +12 -3
- data/lib/earth/air/aircraft_fuel_use_equation/data_miner.rb +0 -13
- data/lib/earth/air/aircraft_fuel_use_equation.rb +12 -3
- data/lib/earth/air/airline/data_miner.rb +0 -7
- data/lib/earth/air/airline.rb +6 -3
- data/lib/earth/air/airport/data_miner.rb +5 -14
- data/lib/earth/air/airport.rb +9 -7
- data/lib/earth/air/bts_aircraft/data_miner.rb +0 -5
- data/lib/earth/air/bts_aircraft.rb +3 -3
- data/lib/earth/air/data_miner.rb +2 -3
- data/lib/earth/air/flight_distance_class/data_miner.rb +0 -6
- data/lib/earth/air/flight_distance_class.rb +4 -3
- data/lib/earth/air/flight_seat_class/data_miner.rb +0 -7
- data/lib/earth/air/flight_seat_class.rb +6 -3
- data/lib/earth/air/flight_segment/data_miner.rb +30 -112
- data/lib/earth/air/flight_segment.rb +47 -13
- data/lib/earth/air.rb +2 -1
- data/lib/earth/automobile/automobile_fuel/data_miner.rb +1 -25
- data/lib/earth/automobile/automobile_fuel.rb +24 -8
- data/lib/earth/automobile/automobile_make/data_miner.rb +3 -16
- data/lib/earth/automobile/automobile_make.rb +5 -3
- data/lib/earth/automobile/automobile_make_fleet_year/data_miner.rb +16 -30
- data/lib/earth/automobile/automobile_make_fleet_year.rb +10 -7
- data/lib/earth/automobile/automobile_make_model/data_miner.rb +1 -11
- data/lib/earth/automobile/automobile_make_model.rb +9 -7
- data/lib/earth/automobile/automobile_make_model_year/data_miner.rb +4 -17
- data/lib/earth/automobile/automobile_make_model_year.rb +11 -6
- data/lib/earth/automobile/automobile_make_model_year_variant/data_miner.rb +37 -65
- data/lib/earth/automobile/automobile_make_model_year_variant.rb +36 -6
- data/lib/earth/automobile/automobile_make_year/data_miner.rb +3 -15
- data/lib/earth/automobile/automobile_make_year.rb +8 -7
- data/lib/earth/automobile/automobile_size_class/data_miner.rb +0 -15
- data/lib/earth/automobile/automobile_size_class.rb +13 -2
- data/lib/earth/automobile/automobile_size_class_year/data_miner.rb +0 -11
- data/lib/earth/automobile/automobile_size_class_year.rb +10 -3
- data/lib/earth/automobile/automobile_type_fuel_age/data_miner.rb +0 -12
- data/lib/earth/automobile/automobile_type_fuel_age.rb +10 -2
- data/lib/earth/automobile/automobile_type_fuel_control/data_miner.rb +0 -11
- data/lib/earth/automobile/automobile_type_fuel_control.rb +9 -3
- data/lib/earth/automobile/automobile_type_fuel_year/data_miner.rb +1 -17
- data/lib/earth/automobile/automobile_type_fuel_year.rb +14 -6
- data/lib/earth/automobile/automobile_type_fuel_year_age/data_miner.rb +0 -13
- data/lib/earth/automobile/automobile_type_fuel_year_age.rb +12 -7
- data/lib/earth/automobile/automobile_type_fuel_year_control/data_miner.rb +0 -11
- data/lib/earth/automobile/automobile_type_fuel_year_control.rb +9 -6
- data/lib/earth/automobile/automobile_type_year/data_miner.rb +0 -10
- data/lib/earth/automobile/automobile_type_year.rb +9 -3
- data/lib/earth/bus/bus_class/data_miner.rb +0 -29
- data/lib/earth/bus/bus_class.rb +27 -2
- data/lib/earth/bus/bus_fuel/data_miner.rb +1 -16
- data/lib/earth/bus/bus_fuel.rb +15 -8
- data/lib/earth/bus/bus_fuel_control/data_miner.rb +0 -10
- data/lib/earth/bus/bus_fuel_control.rb +8 -3
- data/lib/earth/bus/bus_fuel_year_control/data_miner.rb +1 -10
- data/lib/earth/bus/bus_fuel_year_control.rb +8 -7
- data/lib/earth/bus/data_miner.rb +2 -0
- data/lib/earth/bus.rb +2 -0
- data/lib/earth/computation/computation_carrier/data_miner.rb +0 -5
- data/lib/earth/computation/computation_carrier.rb +3 -2
- data/lib/earth/computation/computation_carrier_instance_class/data_miner.rb +0 -8
- data/lib/earth/computation/computation_carrier_instance_class.rb +6 -6
- data/lib/earth/computation/computation_carrier_region/data_miner.rb +0 -7
- data/lib/earth/computation/computation_carrier_region.rb +6 -7
- data/lib/earth/computation/data_miner.rb +2 -0
- data/lib/earth/computation.rb +2 -0
- data/lib/earth/diet/diet_class/data_miner.rb +0 -16
- data/lib/earth/diet/diet_class.rb +16 -4
- data/lib/earth/diet/food_group/data_miner.rb +0 -9
- data/lib/earth/diet/food_group.rb +7 -2
- data/lib/earth/fuel/fuel/data_miner.rb +0 -16
- data/lib/earth/fuel/fuel.rb +14 -2
- data/lib/earth/fuel/fuel_price/data_miner.rb +0 -6
- data/lib/earth/fuel/fuel_price.rb +4 -6
- data/lib/earth/fuel/fuel_type/data_miner.rb +0 -14
- data/lib/earth/fuel/fuel_type.rb +14 -4
- data/lib/earth/fuel/fuel_year/data_miner.rb +0 -16
- data/lib/earth/fuel/fuel_year.rb +14 -2
- data/lib/earth/fuel/greenhouse_gas/data_miner.rb +0 -9
- data/lib/earth/fuel/greenhouse_gas.rb +10 -5
- data/lib/earth/hospitality/lodging_class/data_miner.rb +0 -12
- data/lib/earth/hospitality/lodging_class.rb +10 -2
- data/lib/earth/industry/data_miner.rb +0 -0
- data/lib/earth/industry/industry.rb +3 -10
- data/lib/earth/industry/industry_product.rb +6 -13
- data/lib/earth/industry/industry_product_line.rb +5 -12
- data/lib/earth/industry/industry_sector.rb +5 -12
- data/lib/earth/industry/merchant.rb +4 -11
- data/lib/earth/industry/merchant_category.rb +3 -10
- data/lib/earth/industry/merchant_category_industry.rb +5 -12
- data/lib/earth/industry/product_line.rb +5 -12
- data/lib/earth/industry/product_line_industry_product.rb +5 -12
- data/lib/earth/industry/sector.rb +5 -12
- data/lib/earth/locality/census_division/data_miner.rb +0 -23
- data/lib/earth/locality/census_division.rb +21 -6
- data/lib/earth/locality/census_region/data_miner.rb +0 -5
- data/lib/earth/locality/census_region.rb +3 -2
- data/lib/earth/locality/climate_division/data_miner.rb +0 -7
- data/lib/earth/locality/climate_division.rb +5 -7
- data/lib/earth/locality/country/data_miner.rb +16 -29
- data/lib/earth/locality/country.rb +15 -4
- data/lib/earth/locality/data_miner.rb +3 -0
- data/lib/earth/locality/egrid_region/data_miner.rb +0 -5
- data/lib/earth/locality/egrid_region.rb +5 -8
- data/lib/earth/locality/egrid_subregion/data_miner.rb +1 -20
- data/lib/earth/locality/egrid_subregion.rb +17 -6
- data/lib/earth/locality/petroleum_administration_for_defense_district/data_miner.rb +4 -13
- data/lib/earth/locality/petroleum_administration_for_defense_district.rb +8 -4
- data/lib/earth/locality/state/data_miner.rb +0 -8
- data/lib/earth/locality/state.rb +6 -7
- data/lib/earth/locality/urbanity/data_miner.rb +0 -4
- data/lib/earth/locality/urbanity.rb +2 -2
- data/lib/earth/locality/zip_code/data_miner.rb +0 -10
- data/lib/earth/locality/zip_code.rb +8 -6
- data/lib/earth/locality.rb +3 -0
- data/lib/earth/pet/breed/data_miner.rb +0 -7
- data/lib/earth/pet/breed.rb +5 -6
- data/lib/earth/pet/breed_gender/data_miner.rb +0 -8
- data/lib/earth/pet/breed_gender.rb +6 -6
- data/lib/earth/pet/gender/data_miner.rb +0 -3
- data/lib/earth/pet/gender.rb +2 -2
- data/lib/earth/pet/species/data_miner.rb +0 -17
- data/lib/earth/pet/species.rb +17 -4
- data/lib/earth/rail/rail_class/data_miner.rb +0 -14
- data/lib/earth/rail/rail_class.rb +12 -3
- data/lib/earth/residence/air_conditioner_use/data_miner.rb +0 -6
- data/lib/earth/residence/air_conditioner_use.rb +5 -3
- data/lib/earth/residence/clothes_machine_use/data_miner.rb +0 -6
- data/lib/earth/residence/clothes_machine_use.rb +4 -2
- data/lib/earth/residence/data_miner.rb +2 -0
- data/lib/earth/residence/dishwasher_use/data_miner.rb +0 -6
- data/lib/earth/residence/dishwasher_use.rb +5 -3
- data/lib/earth/residence/residence_appliance/data_miner.rb +0 -6
- data/lib/earth/residence/residence_appliance.rb +4 -2
- data/lib/earth/residence/residence_class/data_miner.rb +0 -4
- data/lib/earth/residence/residence_class.rb +2 -2
- data/lib/earth/residence/residence_fuel_price/data_miner.rb +0 -14
- data/lib/earth/residence/residence_fuel_price.rb +12 -7
- data/lib/earth/residence/residence_fuel_type/data_miner.rb +0 -8
- data/lib/earth/residence/residence_fuel_type.rb +6 -2
- data/lib/earth/residence/residential_energy_consumption_survey_response/data_miner.rb +0 -94
- data/lib/earth/residence/residential_energy_consumption_survey_response.rb +92 -6
- data/lib/earth/residence.rb +2 -0
- data/lib/earth/shipping/carrier/data_miner.rb +0 -10
- data/lib/earth/shipping/carrier.rb +8 -2
- data/lib/earth/shipping/carrier_mode/data_miner.rb +0 -10
- data/lib/earth/shipping/carrier_mode.rb +9 -3
- data/lib/earth/shipping/shipment_mode/data_miner.rb +0 -7
- data/lib/earth/shipping/shipment_mode.rb +5 -2
- data/lib/earth/version.rb +1 -1
- data/lib/earth.rb +92 -84
- data/spec/earth/air/aircraft_spec.rb +1 -1
- data/spec/earth_spec.rb +15 -15
- data/spec/spec_helper.rb +12 -9
- metadata +175 -171
- data/lib/earth/active_record_ext.rb +0 -9
- data/lib/earth/air/aircraft_manufacturer/data_miner.rb +0 -21
- data/lib/earth/air/aircraft_manufacturer.rb +0 -7
- data/lib/earth/base.rb +0 -7
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
class LodgingClass < ActiveRecord::Base
|
|
2
2
|
set_primary_key :name
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
create_table do
|
|
5
|
+
string 'name'
|
|
6
|
+
float 'electricity_intensity'
|
|
7
|
+
string 'electricity_intensity_units'
|
|
8
|
+
float 'natural_gas_intensity'
|
|
9
|
+
string 'natural_gas_intensity_units'
|
|
10
|
+
float 'fuel_oil_intensity'
|
|
11
|
+
string 'fuel_oil_intensity_units'
|
|
12
|
+
float 'district_heat_intensity'
|
|
13
|
+
string 'district_heat_intensity_units'
|
|
6
14
|
end
|
|
7
15
|
end
|
|
File without changes
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
class Industry < ActiveRecord::Base
|
|
2
|
-
extend Earth::Base
|
|
3
2
|
set_primary_key :naics_code
|
|
4
3
|
|
|
5
4
|
has_many :merchant_category_industries, :foreign_key => 'naics_code'
|
|
@@ -10,15 +9,9 @@ class Industry < ActiveRecord::Base
|
|
|
10
9
|
has_many :industry_sectors, :foreign_key => 'naics_code'
|
|
11
10
|
has_many :sectors, :through => :industry_sectors
|
|
12
11
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
string 'description'
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
data_miner do
|
|
21
|
-
Industry.define_schema(self)
|
|
12
|
+
create_table do
|
|
13
|
+
string 'naics_code'
|
|
14
|
+
string 'description'
|
|
22
15
|
end
|
|
23
16
|
|
|
24
17
|
def trade_industry?
|
|
@@ -1,22 +1,15 @@
|
|
|
1
1
|
class IndustryProduct < ActiveRecord::Base
|
|
2
|
-
extend Earth::Base
|
|
3
2
|
set_primary_key :naics_product_code
|
|
4
3
|
|
|
5
4
|
has_many :product_line_industry_products, :foreign_key => 'naics_product_code'
|
|
6
5
|
|
|
7
6
|
belongs_to :industry, :foreign_key => 'naics_code'
|
|
8
7
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
string 'naics_code'
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
data_miner do
|
|
20
|
-
IndustryProduct.define_schema(self)
|
|
8
|
+
create_table do
|
|
9
|
+
string 'naics_product_code'
|
|
10
|
+
string 'description'
|
|
11
|
+
float 'value'
|
|
12
|
+
string 'value_units'
|
|
13
|
+
string 'naics_code'
|
|
21
14
|
end
|
|
22
15
|
end
|
|
@@ -1,20 +1,13 @@
|
|
|
1
1
|
class IndustryProductLine < ActiveRecord::Base
|
|
2
|
-
extend Earth::Base
|
|
3
2
|
set_primary_key :row_hash
|
|
4
3
|
|
|
5
4
|
belongs_to :industry, :foreign_key => 'naics_code'
|
|
6
5
|
belongs_to :product_line, :foreign_key => 'ps_code'
|
|
7
6
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
string 'ps_code'
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
data_miner do
|
|
18
|
-
IndustryProductLine.define_schema(self)
|
|
7
|
+
create_table do
|
|
8
|
+
string 'row_hash'
|
|
9
|
+
string 'naics_code'
|
|
10
|
+
float 'ratio'
|
|
11
|
+
string 'ps_code'
|
|
19
12
|
end
|
|
20
13
|
end
|
|
@@ -1,20 +1,13 @@
|
|
|
1
1
|
class IndustrySector < ActiveRecord::Base
|
|
2
|
-
extend Earth::Base
|
|
3
2
|
set_primary_key :row_hash
|
|
4
3
|
|
|
5
4
|
belongs_to :industry, :foreign_key => 'naics_code'
|
|
6
5
|
belongs_to :sector, :foreign_key => 'io_code'
|
|
7
6
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
string 'io_code'
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
data_miner do
|
|
18
|
-
IndustrySector.define_schema(self)
|
|
7
|
+
create_table do
|
|
8
|
+
string 'row_hash'
|
|
9
|
+
string 'naics_code'
|
|
10
|
+
float 'ratio'
|
|
11
|
+
string 'io_code'
|
|
19
12
|
end
|
|
20
13
|
end
|
|
@@ -1,18 +1,11 @@
|
|
|
1
1
|
class Merchant < ActiveRecord::Base
|
|
2
|
-
extend Earth::Base
|
|
3
2
|
set_primary_key :id
|
|
4
3
|
|
|
5
4
|
belongs_to :merchant_category, :foreign_key => 'mcc'
|
|
6
5
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
string 'mcc'
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
data_miner do
|
|
16
|
-
Merchant.define_schema(self)
|
|
6
|
+
create_table do
|
|
7
|
+
string 'id'
|
|
8
|
+
string 'name'
|
|
9
|
+
string 'mcc'
|
|
17
10
|
end
|
|
18
11
|
end
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
class MerchantCategory < ActiveRecord::Base
|
|
2
|
-
extend Earth::Base
|
|
3
2
|
set_primary_key :mcc
|
|
4
3
|
|
|
5
4
|
has_many :merchant_category_industries, :foreign_key => 'mcc'
|
|
@@ -9,14 +8,8 @@ class MerchantCategory < ActiveRecord::Base
|
|
|
9
8
|
description
|
|
10
9
|
end
|
|
11
10
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
string 'description'
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
data_miner do
|
|
20
|
-
MerchantCategory.define_schema(self)
|
|
11
|
+
create_table do
|
|
12
|
+
string 'mcc'
|
|
13
|
+
string 'description'
|
|
21
14
|
end
|
|
22
15
|
end
|
|
@@ -1,20 +1,13 @@
|
|
|
1
1
|
class MerchantCategoryIndustry < ActiveRecord::Base
|
|
2
|
-
extend Earth::Base
|
|
3
2
|
set_primary_key :row_hash
|
|
4
3
|
|
|
5
4
|
belongs_to :merchant_category, :foreign_key => 'mcc'
|
|
6
5
|
belongs_to :industry, :foreign_key => 'naics_code'
|
|
7
6
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
string 'naics_code'
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
data_miner do
|
|
18
|
-
MerchantCategoryIndustry.define_schema(self)
|
|
7
|
+
create_table do
|
|
8
|
+
string 'row_hash'
|
|
9
|
+
string 'mcc'
|
|
10
|
+
float 'ratio'
|
|
11
|
+
string 'naics_code'
|
|
19
12
|
end
|
|
20
13
|
end
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
class ProductLine < ActiveRecord::Base
|
|
2
|
-
extend Earth::Base
|
|
3
2
|
set_primary_key :ps_code
|
|
4
3
|
|
|
5
4
|
has_many :industry_product_lines, :foreign_key => 'ps_code'
|
|
@@ -7,16 +6,10 @@ class ProductLine < ActiveRecord::Base
|
|
|
7
6
|
has_many :product_line_industry_products, :foreign_key => 'ps_code'
|
|
8
7
|
has_many :industry_products, :through => :product_line_industry_products
|
|
9
8
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
string 'parent' # FIXME TODO do we need this?
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
data_miner do
|
|
20
|
-
ProductLine.define_schema(self)
|
|
9
|
+
create_table do
|
|
10
|
+
string 'ps_code'
|
|
11
|
+
string 'description'
|
|
12
|
+
string 'broadline' # FIXME TODO do we need this?
|
|
13
|
+
string 'parent' # FIXME TODO do we need this?
|
|
21
14
|
end
|
|
22
15
|
end
|
|
@@ -1,20 +1,13 @@
|
|
|
1
1
|
class ProductLineIndustryProduct < ActiveRecord::Base
|
|
2
|
-
extend Earth::Base
|
|
3
2
|
set_primary_key :row_hash
|
|
4
3
|
|
|
5
4
|
belongs_to :product_line, :foreign_key => 'ps_code'
|
|
6
5
|
belongs_to :industry_product, :foreign_key => 'naics_product_code'
|
|
7
6
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
string 'naics_product_code'
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
data_miner do
|
|
18
|
-
ProductLineIndustryProduct.define_schema(self)
|
|
7
|
+
create_table do
|
|
8
|
+
string 'row_hash'
|
|
9
|
+
string 'ps_code'
|
|
10
|
+
float 'ratio'
|
|
11
|
+
string 'naics_product_code'
|
|
19
12
|
end
|
|
20
13
|
end
|
|
@@ -1,19 +1,12 @@
|
|
|
1
1
|
class Sector < ActiveRecord::Base
|
|
2
|
-
extend Earth::Base
|
|
3
2
|
set_primary_key :io_code
|
|
4
3
|
|
|
5
4
|
has_many :industry_sectors, :foreign_key => 'io_code'
|
|
6
5
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
string 'value_units'
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
data_miner do
|
|
17
|
-
Sector.define_schema(self)
|
|
6
|
+
create_table do
|
|
7
|
+
string 'io_code'
|
|
8
|
+
string 'description'
|
|
9
|
+
float 'value'
|
|
10
|
+
string 'value_units'
|
|
18
11
|
end
|
|
19
12
|
end
|
|
@@ -1,28 +1,5 @@
|
|
|
1
1
|
CensusDivision.class_eval do
|
|
2
2
|
data_miner do
|
|
3
|
-
schema Earth.database_options do
|
|
4
|
-
integer 'number'
|
|
5
|
-
string 'name'
|
|
6
|
-
string 'census_region_name'
|
|
7
|
-
integer 'census_region_number'
|
|
8
|
-
float 'meeting_building_natural_gas_intensity'
|
|
9
|
-
string 'meeting_building_natural_gas_intensity_units'
|
|
10
|
-
float 'meeting_building_fuel_oil_intensity'
|
|
11
|
-
string 'meeting_building_fuel_oil_intensity_units'
|
|
12
|
-
float 'meeting_building_electricity_intensity'
|
|
13
|
-
string 'meeting_building_electricity_intensity_units'
|
|
14
|
-
float 'meeting_building_district_heat_intensity'
|
|
15
|
-
string 'meeting_building_district_heat_intensity_units'
|
|
16
|
-
float 'lodging_building_natural_gas_intensity'
|
|
17
|
-
string 'lodging_building_natural_gas_intensity_units'
|
|
18
|
-
float 'lodging_building_fuel_oil_intensity'
|
|
19
|
-
string 'lodging_building_fuel_oil_intensity_units'
|
|
20
|
-
float 'lodging_building_electricity_intensity'
|
|
21
|
-
string 'lodging_building_electricity_intensity_units'
|
|
22
|
-
float 'lodging_building_district_heat_intensity'
|
|
23
|
-
string 'lodging_building_district_heat_intensity_units'
|
|
24
|
-
end
|
|
25
|
-
|
|
26
3
|
process 'Define some unit conversions' do
|
|
27
4
|
Conversions.register :hundred_cubic_feet_per_square_foot_hour, :cubic_metres_per_square_metre_hour, 30.48
|
|
28
5
|
Conversions.register :gallons_per_square_foot_hour, :litres_per_square_metre_hour, 40.7458333
|
|
@@ -13,11 +13,26 @@ class CensusDivision < ActiveRecord::Base
|
|
|
13
13
|
:meeting_building_electricity_intensity => 0.0084323684 / 1.square_feet.to(:square_metres),
|
|
14
14
|
:meeting_building_district_heat_intensity => 0.0004776370.kbtus.to(:megajoules) / 1.square_feet.to(:square_metres)
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
16
|
+
create_table do
|
|
17
|
+
integer 'number'
|
|
18
|
+
string 'name'
|
|
19
|
+
string 'census_region_name'
|
|
20
|
+
integer 'census_region_number'
|
|
21
|
+
float 'meeting_building_natural_gas_intensity'
|
|
22
|
+
string 'meeting_building_natural_gas_intensity_units'
|
|
23
|
+
float 'meeting_building_fuel_oil_intensity'
|
|
24
|
+
string 'meeting_building_fuel_oil_intensity_units'
|
|
25
|
+
float 'meeting_building_electricity_intensity'
|
|
26
|
+
string 'meeting_building_electricity_intensity_units'
|
|
27
|
+
float 'meeting_building_district_heat_intensity'
|
|
28
|
+
string 'meeting_building_district_heat_intensity_units'
|
|
29
|
+
float 'lodging_building_natural_gas_intensity'
|
|
30
|
+
string 'lodging_building_natural_gas_intensity_units'
|
|
31
|
+
float 'lodging_building_fuel_oil_intensity'
|
|
32
|
+
string 'lodging_building_fuel_oil_intensity_units'
|
|
33
|
+
float 'lodging_building_electricity_intensity'
|
|
34
|
+
string 'lodging_building_electricity_intensity_units'
|
|
35
|
+
float 'lodging_building_district_heat_intensity'
|
|
36
|
+
string 'lodging_building_district_heat_intensity_units'
|
|
22
37
|
end
|
|
23
38
|
end
|
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
CensusRegion.class_eval do
|
|
2
2
|
data_miner do
|
|
3
|
-
schema Earth.database_options do
|
|
4
|
-
integer 'number'
|
|
5
|
-
string 'name'
|
|
6
|
-
end
|
|
7
|
-
|
|
8
3
|
import 'the U.S. Census Geographic Terms and Definitions',
|
|
9
4
|
:url => 'http://www.census.gov/popest/geographic/codes02.csv',
|
|
10
5
|
:skip => 9,
|
|
@@ -7,7 +7,8 @@ class CensusRegion < ActiveRecord::Base
|
|
|
7
7
|
# has_many :zip_codes, :through => :census_divisions
|
|
8
8
|
has_many :residential_energy_consumption_survey_responses, :foreign_key => 'census_region_number'
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
create_table do
|
|
11
|
+
integer 'number'
|
|
12
|
+
string 'name'
|
|
12
13
|
end
|
|
13
14
|
end
|
|
@@ -1,12 +1,5 @@
|
|
|
1
1
|
ClimateDivision.class_eval do
|
|
2
2
|
data_miner do
|
|
3
|
-
schema Earth.database_options do
|
|
4
|
-
string 'name'
|
|
5
|
-
float 'heating_degree_days'
|
|
6
|
-
float 'cooling_degree_days'
|
|
7
|
-
string 'state_postal_abbreviation'
|
|
8
|
-
end
|
|
9
|
-
|
|
10
3
|
import "a list of climate divisions and their average heating and cooling degree days",
|
|
11
4
|
:url => 'http://static.brighterplanet.com/science/data/climate/climate_divisions/climate_divisions.csv' do
|
|
12
5
|
key 'name'
|
|
@@ -6,12 +6,10 @@ class ClimateDivision < ActiveRecord::Base
|
|
|
6
6
|
|
|
7
7
|
RADIUS = 750
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
end
|
|
9
|
+
create_table do
|
|
10
|
+
string 'name'
|
|
11
|
+
float 'heating_degree_days'
|
|
12
|
+
float 'cooling_degree_days'
|
|
13
|
+
string 'state_postal_abbreviation'
|
|
15
14
|
end
|
|
16
|
-
|
|
17
15
|
end
|
|
@@ -1,20 +1,5 @@
|
|
|
1
1
|
Country.class_eval do
|
|
2
2
|
data_miner do
|
|
3
|
-
schema Earth.database_options do
|
|
4
|
-
string 'iso_3166_code'
|
|
5
|
-
string 'name'
|
|
6
|
-
float 'automobile_urbanity'
|
|
7
|
-
float 'automobile_fuel_efficiency'
|
|
8
|
-
string 'automobile_fuel_efficiency_units'
|
|
9
|
-
float 'automobile_city_speed'
|
|
10
|
-
string 'automobile_city_speed_units'
|
|
11
|
-
float 'automobile_highway_speed'
|
|
12
|
-
string 'automobile_highway_speed_units'
|
|
13
|
-
float 'automobile_trip_distance'
|
|
14
|
-
string 'automobile_trip_distance_units'
|
|
15
|
-
float 'flight_route_inefficiency_factor'
|
|
16
|
-
end
|
|
17
|
-
|
|
18
3
|
import 'the official ISO country list',
|
|
19
4
|
:url => 'http://www.iso.org/iso/list-en1-semic-3.txt',
|
|
20
5
|
:skip => 2,
|
|
@@ -40,21 +25,23 @@ Country.class_eval do
|
|
|
40
25
|
store 'automobile_trip_distance', :units_field_name => 'automobile_trip_distance_units'
|
|
41
26
|
end
|
|
42
27
|
|
|
28
|
+
process "Ensure AutomobileTypeFuelYear is populated" do
|
|
29
|
+
AutomobileTypeFuelYear.run_data_miner!
|
|
30
|
+
end
|
|
31
|
+
|
|
43
32
|
# FIXME TODO eventually need to do this for all countries
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
# }
|
|
57
|
-
# end
|
|
33
|
+
process "Derive US average automobile fuel efficiency from AutomobileTypeFuelYear" do
|
|
34
|
+
scope = AutomobileTypeFuelYear.where(:year => AutomobileTypeFuelYear.maximum(:year))
|
|
35
|
+
fe = scope.sum(:total_travel) / scope.sum(:fuel_consumption)
|
|
36
|
+
units = scope.first.total_travel_units + '_per_' + scope.first.fuel_consumption_units.singularize
|
|
37
|
+
|
|
38
|
+
connection.execute %{
|
|
39
|
+
UPDATE countries
|
|
40
|
+
SET automobile_fuel_efficiency = #{fe},
|
|
41
|
+
automobile_fuel_efficiency_units = '#{units}'
|
|
42
|
+
WHERE iso_3166_code = 'US'
|
|
43
|
+
}
|
|
44
|
+
end
|
|
58
45
|
|
|
59
46
|
process "Convert automobile city speed from miles per hour to kilometres per hour" do
|
|
60
47
|
conversion_factor = 1.miles.to(:kilometres)
|
|
@@ -13,13 +13,24 @@ class Country < ActiveRecord::Base
|
|
|
13
13
|
:automobile_trip_distance_units => lambda { Country.united_states.automobile_trip_distance_units }, # for now assume US represents world
|
|
14
14
|
:flight_route_inefficiency_factor => lambda { Country.maximum(:flight_route_inefficiency_factor) } # default to the largest inefficiency factor
|
|
15
15
|
|
|
16
|
-
data_miner do
|
|
17
|
-
tap "Brighter Planet's sanitized countries list", Earth.taps_server
|
|
18
|
-
end
|
|
19
|
-
|
|
20
16
|
class << self
|
|
21
17
|
def united_states
|
|
22
18
|
find_by_iso_3166_code('US')
|
|
23
19
|
end
|
|
24
20
|
end
|
|
21
|
+
|
|
22
|
+
create_table do
|
|
23
|
+
string 'iso_3166_code'
|
|
24
|
+
string 'name'
|
|
25
|
+
float 'automobile_urbanity'
|
|
26
|
+
float 'automobile_fuel_efficiency'
|
|
27
|
+
string 'automobile_fuel_efficiency_units'
|
|
28
|
+
float 'automobile_city_speed'
|
|
29
|
+
string 'automobile_city_speed_units'
|
|
30
|
+
float 'automobile_highway_speed'
|
|
31
|
+
string 'automobile_highway_speed_units'
|
|
32
|
+
float 'automobile_trip_distance'
|
|
33
|
+
string 'automobile_trip_distance_units'
|
|
34
|
+
float 'flight_route_inefficiency_factor'
|
|
35
|
+
end
|
|
25
36
|
end
|
|
@@ -8,3 +8,6 @@ require 'earth/locality/petroleum_administration_for_defense_district/data_miner
|
|
|
8
8
|
require 'earth/locality/state/data_miner'
|
|
9
9
|
require 'earth/locality/urbanity/data_miner'
|
|
10
10
|
require 'earth/locality/zip_code/data_miner'
|
|
11
|
+
|
|
12
|
+
require 'earth/automobile/data_miner'
|
|
13
|
+
require 'earth/residence/data_miner'
|
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
EgridRegion.class_eval do
|
|
2
2
|
data_miner do
|
|
3
|
-
schema Earth.database_options do
|
|
4
|
-
string 'name'
|
|
5
|
-
float 'loss_factor'
|
|
6
|
-
end
|
|
7
|
-
|
|
8
3
|
import "eGRID regions and loss factors derived from eGRID 2007 data",
|
|
9
4
|
:url => 'http://www.epa.gov/cleanenergy/documents/egridzips/eGRID2007_Version1-1.zip',
|
|
10
5
|
:filename => 'eGRID2007_Version1-1/eGRID2007V1_1_year0504_STIE_USGC.xls',
|
|
@@ -3,15 +3,12 @@ class EgridRegion < ActiveRecord::Base
|
|
|
3
3
|
|
|
4
4
|
has_many :egrid_subregions, :foreign_key => 'egrid_region_name'
|
|
5
5
|
|
|
6
|
-
data_miner do
|
|
7
|
-
tap "Brighter Planet's egrid region data", Earth.taps_server
|
|
8
|
-
|
|
9
|
-
process "pull dependencies" do
|
|
10
|
-
run_data_miner_on_belongs_to_associations
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
|
|
14
6
|
# FIXME TODO someday should calculate this from eGRID data: (USTNGN05 + USTNFI05 - USTCON05) / USTNGN05
|
|
15
7
|
falls_back_on :name => 'fallback',
|
|
16
8
|
:loss_factor => 0.061879 # calculated using above formula 2/21/2011
|
|
9
|
+
|
|
10
|
+
create_table do
|
|
11
|
+
string 'name'
|
|
12
|
+
float 'loss_factor'
|
|
13
|
+
end
|
|
17
14
|
end
|
|
@@ -1,24 +1,5 @@
|
|
|
1
1
|
EgridSubregion.class_eval do
|
|
2
2
|
data_miner do
|
|
3
|
-
schema Earth.database_options do
|
|
4
|
-
string 'abbreviation'
|
|
5
|
-
string 'name'
|
|
6
|
-
string 'nerc_abbreviation'
|
|
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'
|
|
20
|
-
end
|
|
21
|
-
|
|
22
3
|
# FIXME TODO for some reason this doesn't work...
|
|
23
4
|
# import "eGRID regions and electricity emission factors derived from eGRID 2007 data",
|
|
24
5
|
# :url => 'http://www.epa.gov/cleanenergy/documents/egridzips/eGRID2007_Version1-1.zip',
|
|
@@ -56,7 +37,7 @@ EgridSubregion.class_eval do
|
|
|
56
37
|
WHERE electricity_co2_emission_factor_units = 'pounds_per_megawatt_hour' }
|
|
57
38
|
end
|
|
58
39
|
|
|
59
|
-
process "Insure
|
|
40
|
+
process "Insure GreenhouseGas is populated" do
|
|
60
41
|
GreenhouseGas.run_data_miner!
|
|
61
42
|
end
|
|
62
43
|
|
|
@@ -23,11 +23,22 @@ class EgridSubregion < ActiveRecord::Base
|
|
|
23
23
|
:electricity_emission_factor => lambda { weighted_average(:electricity_emission_factor, :weighted_by => :net_generation) }, # DEPRECATED
|
|
24
24
|
:electricity_emission_factor_units => 'kilograms_co2e_per_kilowatt_hour' # DEPRECATED
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
26
|
+
create_table do
|
|
27
|
+
string 'abbreviation'
|
|
28
|
+
string 'name'
|
|
29
|
+
string 'nerc_abbreviation'
|
|
30
|
+
string 'egrid_region_name'
|
|
31
|
+
float 'net_generation'
|
|
32
|
+
string 'net_generation_units'
|
|
33
|
+
float 'electricity_co2_emission_factor'
|
|
34
|
+
string 'electricity_co2_emission_factor_units'
|
|
35
|
+
float 'electricity_co2_biogenic_emission_factor'
|
|
36
|
+
string 'electricity_co2_biogenic_emission_factor_units'
|
|
37
|
+
float 'electricity_ch4_emission_factor'
|
|
38
|
+
string 'electricity_ch4_emission_factor_units'
|
|
39
|
+
float 'electricity_n2o_emission_factor'
|
|
40
|
+
string 'electricity_n2o_emission_factor_units'
|
|
41
|
+
float 'electricity_emission_factor'
|
|
42
|
+
string 'electricity_emission_factor_units'
|
|
32
43
|
end
|
|
33
44
|
end
|
|
@@ -1,21 +1,12 @@
|
|
|
1
1
|
PetroleumAdministrationForDefenseDistrict.class_eval do
|
|
2
2
|
data_miner do
|
|
3
|
-
schema Earth.database_options do
|
|
4
|
-
string 'code'
|
|
5
|
-
string 'district_code'
|
|
6
|
-
string 'district_name'
|
|
7
|
-
string 'subdistrict_code'
|
|
8
|
-
string 'subdistrict_name'
|
|
9
|
-
end
|
|
10
|
-
|
|
11
3
|
import "a list of PADD districts and states derived from the EIA PADD definitions",
|
|
12
4
|
:url => 'http://spreadsheets.google.com/pub?key=t5HM1KbaRngmTUbntg8JwPA&gid=0&output=csv' do
|
|
13
5
|
key 'code', :field_name => 'Code'
|
|
14
|
-
store 'district_code', :field_name => 'PAD district code'
|
|
15
|
-
store 'subdistrict_code', :field_name => 'PAD subdistrict code'
|
|
16
|
-
store 'district_name', :field_name => 'PAD district name'
|
|
17
|
-
store 'subdistrict_name', :field_name => 'PAD subdistrict name'
|
|
6
|
+
store 'district_code', :field_name => 'PAD district code', :nullify => true
|
|
7
|
+
store 'subdistrict_code', :field_name => 'PAD subdistrict code', :nullify => true
|
|
8
|
+
store 'district_name', :field_name => 'PAD district name', :nullify => true
|
|
9
|
+
store 'subdistrict_name', :field_name => 'PAD subdistrict name', :nullify => true
|
|
18
10
|
end
|
|
19
11
|
end
|
|
20
12
|
end
|
|
21
|
-
|
|
@@ -2,13 +2,17 @@ class PetroleumAdministrationForDefenseDistrict < ActiveRecord::Base
|
|
|
2
2
|
set_primary_key :code
|
|
3
3
|
set_table_name :petroleum_districts
|
|
4
4
|
|
|
5
|
-
data_miner do
|
|
6
|
-
tap "Brighter Planet's PADD info", Earth.taps_server
|
|
7
|
-
end
|
|
8
|
-
|
|
9
5
|
def name
|
|
10
6
|
str = "PAD District #{district_code} (#{district_name})"
|
|
11
7
|
str << " Subdistrict #{district_code}#{subdistrict_code} (#{subdistrict_name})" if subdistrict_code
|
|
12
8
|
str
|
|
13
9
|
end
|
|
10
|
+
|
|
11
|
+
create_table do
|
|
12
|
+
string 'code'
|
|
13
|
+
string 'district_code'
|
|
14
|
+
string 'district_name'
|
|
15
|
+
string 'subdistrict_code'
|
|
16
|
+
string 'subdistrict_name'
|
|
17
|
+
end
|
|
14
18
|
end
|