Skip to content

Commit

Permalink
Merge pull request #984 from NREL/simple-bill-calcs
Browse files Browse the repository at this point in the history
Optionally calculate simple utility bills
  • Loading branch information
joseph-robertson committed Sep 9, 2022
2 parents 3b05e71 + 9b6f93a commit e2d16cd
Show file tree
Hide file tree
Showing 17 changed files with 1,318 additions and 888 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ Features
- Add Income and Tenure tsv, update PUMS tsvs from 2017 5-yrs to 2019 5-yrs, update dependencies and fix encoding error in Occupants.tsv ([#900](https://github.com/NREL/resstock/pull/900))
- Add Income and Tenure into Geometry Floor Area ([#949](https://github.com/NREL/resstock/pull/949))
- Add distributions for partial space cooling ([#964](https://github.com/NREL/resstock/pull/964))
- Add ability to calculate emissions for various scenarios ([#791](https://github.com/NREL/resstock/pull/791))
- Add ability to calculate simple utility bills for various scenarios ([#984](https://github.com/NREL/resstock/pull/984))

Fixes
- Clean up option names for natural ventilation and hot water distribution ([#828](https://github.com/NREL/resstock/pull/828))
Expand Down
17 changes: 17 additions & 0 deletions docs/read_the_docs/source/tutorial/setup_analysis_project.rst
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,23 @@ This measure creates the baseline scenario. Set the following inputs:
#. ``Emissions: Propane Values``: Propane emissions factors values, specified as an annual factor. If multiple scenarios, use a comma-separated list. Units are lb/MBtu (million Btu).
#. ``Emissions: Fuel Oil Values``: Fuel oil emissions factors values, specified as an annual factor. If multiple scenarios, use a comma-separated list. Units are lb/MBtu (million Btu).
#. ``Emissions: Wood Values``: Wood emissions factors values, specified as an annual factor. If multiple scenarios, use a comma-separated list. Units are lb/MBtu (million Btu).
#. ``Utility Bills: Scenario Names``: Names of utility bill scenarios. If multiple scenarios, use a comma-separated list.
#. ``Utility Bills: Electricity Fixed Charges``: Electricity monthly fixed charges. If multiple scenarios, use a comma-separated list.
#. ``Utility Bills: Electricity Marginal Rates``: Electricity marginal rates. If multiple scenarios, use a comma-separated list. Units are $/kWh.
#. ``Utility Bills: Natural Gas Fixed Charges``: Natural gas monthly fixed charges. If multiple scenarios, use a comma-separated list.
#. ``Utility Bills: Natural Gas Marginal Rates``: Natural gas marginal rates. If multiple scenarios, use a comma-separated list. Units are $/therm.
#. ``Utility Bills: Propane Fixed Charges``: Propane monthly fixed charges. If multiple scenarios, use a comma-separated list.
#. ``Utility Bills: Propane Marginal Rates``: Propane marginal rates. If multiple scenarios, use a comma-separated list. Units are $/gallon.
#. ``Utility Bills: Fuel Oil Fixed Charges``: Fuel oil monthly fixed charges. If multiple scenarios, use a comma-separated list.
#. ``Utility Bills: Fuel Oil Marginal Rates``: Fuel oil marginal rates. If multiple scenarios, use a comma-separated list. Units are $/gallon.
#. ``Utility Bills: Wood Fixed Charges``: Wood monthly fixed charges. If multiple scenarios, use a comma-separated list.
#. ``Utility Bills: Wood Marginal Rates``: Wood marginal rates. If multiple scenarios, use a comma-separated list. Units are $/kBtu.
#. ``Utility Bills: PV Compensation Types``: Photovoltaic compensation types. Can be NetMetering or FeedInTariff. If multiple scenarios, use a comma-separated list.
#. ``Utility Bills: PV Net Metering Annual Excess Sellback Rate Types``: Photovoltaic net metering annual excess sellback rate types. Can be User-Specified or Retail Electricity Cost. Applies if compensation type is NetMetering. If multiple scenarios, use a comma-separated list.
#. ``Utility Bills: PV Net Metering Annual Excess Sellback Rates``: Photovoltaic net metering annual excess sellback rates. Applies if compensation type is NetMetering. If multiple scenarios, use a comma-separated list. Units are $/kWh.
#. ``Utility Bills: PV Feed-In Tariff Rates``: Photovoltaic annual full/gross feed-in tariff rates. Applies if compensation type is FeedInTariff. If multiple scenarios, use a comma-separated list. Units are $/kWh.
#. ``Utility Bills: PV Monthly Grid Connection Fee Units``: Photovoltaic monthly grid connection fee units. Can be $ or $/kW. If multiple scenarios, use a comma-separated list.
#. ``Utility Bills: PV Monthly Grid Connection Fees``: Photovoltaic monthly grid connection fees. If multiple scenarios, use a comma-separated list.
As a meta measure, the ``BuildExistingModel`` measure incrementally applies the following OpenStudio measures to create residential building models:

Expand Down
19 changes: 19 additions & 0 deletions measures/ApplyUpgrade/measure.rb
Original file line number Diff line number Diff line change
Expand Up @@ -397,6 +397,25 @@ def run(model, runner, user_arguments)
measures['BuildResidentialHPXML'][0]['emissions_fuel_oil_values'] = values['emissions_fuel_oil_values']
measures['BuildResidentialHPXML'][0]['emissions_wood_values'] = values['emissions_wood_values']

# Utility Bills
measures['BuildResidentialHPXML'][0]['utility_bill_scenario_names'] = values['utility_bill_scenario_names']
measures['BuildResidentialHPXML'][0]['utility_bill_electricity_fixed_charges'] = values['utility_bill_electricity_fixed_charges']
measures['BuildResidentialHPXML'][0]['utility_bill_electricity_marginal_rates'] = values['utility_bill_electricity_marginal_rates']
measures['BuildResidentialHPXML'][0]['utility_bill_natural_gas_fixed_charges'] = values['utility_bill_natural_gas_fixed_charges']
measures['BuildResidentialHPXML'][0]['utility_bill_natural_gas_marginal_rates'] = values['utility_bill_natural_gas_marginal_rates']
measures['BuildResidentialHPXML'][0]['utility_bill_propane_fixed_charges'] = values['utility_bill_propane_fixed_charges']
measures['BuildResidentialHPXML'][0]['utility_bill_propane_marginal_rates'] = values['utility_bill_propane_marginal_rates']
measures['BuildResidentialHPXML'][0]['utility_bill_fuel_oil_fixed_charges'] = values['utility_bill_fuel_oil_fixed_charges']
measures['BuildResidentialHPXML'][0]['utility_bill_fuel_oil_marginal_rates'] = values['utility_bill_fuel_oil_marginal_rates']
measures['BuildResidentialHPXML'][0]['utility_bill_wood_fixed_charges'] = values['utility_bill_wood_fixed_charges']
measures['BuildResidentialHPXML'][0]['utility_bill_wood_marginal_rates'] = values['utility_bill_wood_marginal_rates']
measures['BuildResidentialHPXML'][0]['utility_bill_pv_compensation_types'] = values['utility_bill_pv_compensation_types']
measures['BuildResidentialHPXML'][0]['utility_bill_pv_net_metering_annual_excess_sellback_rate_types'] = values['utility_bill_pv_net_metering_annual_excess_sellback_rate_types']
measures['BuildResidentialHPXML'][0]['utility_bill_pv_net_metering_annual_excess_sellback_rates'] = values['utility_bill_pv_net_metering_annual_excess_sellback_rates']
measures['BuildResidentialHPXML'][0]['utility_bill_pv_feed_in_tariff_rates'] = values['utility_bill_pv_feed_in_tariff_rates']
measures['BuildResidentialHPXML'][0]['utility_bill_pv_monthly_grid_connection_fee_units'] = values['utility_bill_pv_monthly_grid_connection_fee_units']
measures['BuildResidentialHPXML'][0]['utility_bill_pv_monthly_grid_connection_fees'] = values['utility_bill_pv_monthly_grid_connection_fees']

# Get registered values and pass them to BuildResidentialScheduleFile
measures['BuildResidentialScheduleFile'][0]['schedules_random_seed'] = values['building_id']
measures['BuildResidentialScheduleFile'][0]['output_csv_path'] = File.expand_path('../schedules.csv')
Expand Down
18 changes: 9 additions & 9 deletions measures/ApplyUpgrade/measure.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
<schema_version>3.0</schema_version>
<name>apply_upgrade</name>
<uid>33f1654c-f734-43d1-b35d-9d2856e41b5a</uid>
<version_id>1b1e80d0-9b88-4758-aaeb-d603f9c35857</version_id>
<version_modified>20220610T190228Z</version_modified>
<version_id>b3527288-4721-4237-a024-9bbe70744caf</version_id>
<version_modified>20220908T020038Z</version_modified>
<xml_checksum>9339BE01</xml_checksum>
<class_name>ApplyUpgrade</class_name>
<display_name>Apply Upgrade</display_name>
Expand Down Expand Up @@ -6327,6 +6327,12 @@
<usage_type>resource</usage_type>
<checksum>F595D17B</checksum>
</file>
<file>
<filename>apply_upgrade_test.rb</filename>
<filetype>rb</filetype>
<usage_type>test</usage_type>
<checksum>4D55D0B8</checksum>
</file>
<file>
<version>
<software_program>OpenStudio</software_program>
Expand All @@ -6336,13 +6342,7 @@
<filename>measure.rb</filename>
<filetype>rb</filetype>
<usage_type>script</usage_type>
<checksum>0DFCB95E</checksum>
</file>
<file>
<filename>apply_upgrade_test.rb</filename>
<filetype>rb</filetype>
<usage_type>test</usage_type>
<checksum>4D55D0B8</checksum>
<checksum>7C582801</checksum>
</file>
</files>
</measure>

0 comments on commit e2d16cd

Please sign in to comment.