Sha256: 2512a482d1815aed782eafb8e2b434e0b78aa28811a93a0b7338bfedecdccb03

Contents?: true

Size: 1.97 KB

Versions: 8

Compression:

Stored size: 1.97 KB

Contents

LodgingClass.class_eval do
  data_miner do
    LodgingClass.define_schema(self)
    
    import "a list of lodging classes and pre-calculated emission factors",
           :url => 'https://spreadsheets.google.com/pub?key=0AoQJbWqPrREqdGZZWmZtWEJlYzhRNXlPdWpBTldlcUE&hl=en&gid=0&output=csv' do
      key   'name'
      store 'natural_gas_intensity', :units_field_name => 'natural_gas_intensity_units'
      store 'fuel_oil_intensity', :units_field_name => 'fuel_oil_intensity_units'
      store 'electricity_intensity', :units_field_name => 'electricity_intensity_units'
      store 'district_heat_intensity', :units_field_name => 'district_heat_intensity_units'
    end
    
    process "Convert natural gas intensities to metric units" do
      conversion_factor = 2.83168466 # Google: 2.83168466 cubic m / 100 cubic ft
      update_all "natural_gas_intensity = natural_gas_intensity * #{conversion_factor} WHERE natural_gas_intensity_units = 'hundred_cubic_feet_per_room_night'"
      update_all "natural_gas_intensity_units = 'cubic_metres_per_room_night' WHERE natural_gas_intensity_units = 'hundred_cubic_feet_per_room_night'"
    end
    
    process "Convert fuel oil intensities to metric units" do
      conversion_factor = 3.78541178 # Google: 3.78541178 l / gal
      update_all "fuel_oil_intensity = fuel_oil_intensity * #{conversion_factor} WHERE fuel_oil_intensity_units = 'gallons_per_room_night'"
      update_all "fuel_oil_intensity_units = 'litres_per_room_night' WHERE fuel_oil_intensity_units = 'gallons_per_room_night'"
    end
    
    process "Convert district heat intensities to metric units" do
      conversion_factor = 1.05505585 # Google: 1.05505585 MJ / 1000 Btu
      update_all "district_heat_intensity = district_heat_intensity * #{conversion_factor} WHERE district_heat_intensity_units = 'thousand_btu_per_room_night'"
      update_all "district_heat_intensity_units = 'megajoules_per_room_night' WHERE district_heat_intensity_units = 'thousand_btu_per_room_night'"
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
earth-0.4.12 lib/earth/hospitality/lodging_class/data_miner.rb
earth-0.4.11 lib/earth/hospitality/lodging_class/data_miner.rb
earth-0.4.10 lib/earth/hospitality/lodging_class/data_miner.rb
earth-0.4.9 lib/earth/hospitality/lodging_class/data_miner.rb
earth-0.4.8 lib/earth/hospitality/lodging_class/data_miner.rb
earth-0.4.7 lib/earth/hospitality/lodging_class/data_miner.rb
earth-0.4.6 lib/earth/hospitality/lodging_class/data_miner.rb
earth-0.4.5 lib/earth/hospitality/lodging_class/data_miner.rb