Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Facade upgrades #617

Draft
wants to merge 92 commits into
base: develop
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 81 commits
Commits
Show all changes
92 commits
Select commit Hold shift + click to select a range
f4f6045
Started work on YAMLs
ekpresent Jun 4, 2021
3b54b74
Minor yaml edits
ekpresent Jun 4, 2021
e4802a6
Started adding the options to the primary project file
ekpresent Jun 7, 2021
4b0ae33
working option reference test project file
ekpresent Jun 8, 2021
9a660f7
Added ACH50 reductions to options_lookup
ekpresent Jun 8, 2021
0a36c04
Started adding the ACH50 reductions to the project file
ekpresent Jun 8, 2021
557f127
More YAML work
ekpresent Jun 9, 2021
10db831
YAML changes, possibly junk
ekpresent Jun 9, 2021
590030c
Merge branch 'facade-upgrades' of github.com:NREL/resstock into facad…
ekpresent Jun 9, 2021
46db0cb
A few changes to apply_logic
ekpresent Jun 11, 2021
2a980b7
Copying tsv updates from resstock-estimation
afontani Jun 15, 2021
2809c58
Merge branch 'windows_tsv' into facade-upgrades
afontani Jun 15, 2021
ae09528
Merging in tsv updates from both the windows_tsv and the wall_type_ts…
afontani Jun 17, 2021
182c927
Update sample_probabilities
afontani Jun 17, 2021
002d843
Merge branch 'feature/new_wall_type_tsv_from_lightbox' into facade-up…
afontani Jun 17, 2021
629952c
Merge remote-tracking branch 'origin/develop' into facade-upgrades
afontani Jun 18, 2021
eefd212
Merge remote-tracking branch 'origin/windows_tsv' into facade-upgrades
afontani Jun 21, 2021
923f01e
Merge remote-tracking branch 'origin/develop' into facade-upgrades
afontani Jun 21, 2021
72756a4
Latest results.
Jun 21, 2021
f016c8d
Merge remote-tracking branch 'origin/windows_tsv' into facade-upgrades
afontani Jun 21, 2021
d081f4c
Latest results.
Jun 21, 2021
95c2d40
Update Windows option names in testing and doc files
afontani Jun 21, 2021
2344400
Latest results.
Jun 21, 2021
da418d9
Add facade exterior insulation options to options_lookup
ekpresent Jun 24, 2021
3236edf
Full set of insulation upgrade definitions into project file
ekpresent Jun 24, 2021
3b153bf
Facades project file: exterior finish options filled in
ekpresent Jun 24, 2021
46ceee4
Finished window (except low SHGC) and infiltration options
ekpresent Jun 24, 2021
be9d9fa
grouped options into upgrades in project file for test runs
ekpresent Jun 24, 2021
279459d
Project file syntax fixes
ekpresent Jun 24, 2021
e9cf07c
Remove "%" from keys in YAML file
ekpresent Jun 25, 2021
b15f54e
Updated buildstock_directory location in project file
ekpresent Jun 25, 2021
f2ac5b7
Fixing YAML-options_lookup inconsistencies
ekpresent Jun 25, 2021
45bc98b
Add solar screen windows options to options_lookup.tsv
ekpresent Jun 25, 2021
be9ef2d
Saved the run file for the first mini run
ekpresent Jun 25, 2021
a1c659f
Added the window shading options to the project file
ekpresent Jun 26, 2021
6c6d6fd
Arranged upgrades into agreed-upon packages in project file
ekpresent Jun 26, 2021
47ebf45
Switched to TMY3 weather
ekpresent Jun 26, 2021
add53dd
Fixed project file upgradable windows reference to first occurance
ekpresent Jun 26, 2021
12307d9
Fixing small project file errors caught by YAML debugger
ekpresent Jun 26, 2021
aa50c3f
More small errors in project file fixed
ekpresent Jun 26, 2021
65fd678
More small bug fixes in project file
ekpresent Jun 28, 2021
4c761d4
Save successful test10No2 separately
ekpresent Jun 28, 2021
9f68333
prepared project file for n=10k run
ekpresent Jun 28, 2021
e434aa7
Changed NumApplyUpgradeOptions from 25 to 120 because there are at le…
ekpresent Jun 28, 2021
57b9550
Prepared project file for n=10 test with 120 options allowed per upgrade
ekpresent Jun 28, 2021
b306b3e
Saved out test file that was successful in both baseline and upgrades…
ekpresent Jun 28, 2021
8c92a7a
Added electric-only economic calculation files and one example results
ekpresent Jun 28, 2021
b8de291
Adding some in-progress economic analysis work and correcting some er…
ekpresent Jun 30, 2021
492b936
Saved out test 10kNo2, and edited two incorrect options in the projec…
ekpresent Jun 30, 2021
d90cf41
Adjusted econ analysis to use all fuels, ran on run10No3 (which has s…
ekpresent Jul 1, 2021
90a4f77
Prepped YAML for microrun with Infiltration fixes
ekpresent Jul 1, 2021
0453c46
Ran econ for run10No4, set up project file for run10kNo3 (infiltratio…
ekpresent Jul 1, 2021
9d2dda8
Standardized naming conventions in econ python file
ekpresent Jul 2, 2021
2026eb6
Committing in-progress econ work
ekpresent Jul 2, 2021
9d459bf
Updated econ work for review
ekpresent Jul 6, 2021
d60bedb
Create facades-infiltration-test.yml
ekpresent Jul 9, 2021
25d12db
Fixing some typos in the infiltration test project file
ekpresent Jul 9, 2021
04cc135
logic fixes in reference options in project file
ekpresent Jul 9, 2021
ebd0b92
Redid the downselect and the vintage logic approach in project file
ekpresent Jul 9, 2021
5237837
Update infiltration test yaml with corrected apply logic
ekpresent Jul 9, 2021
5f82f59
downselect logic fix
ekpresent Jul 9, 2021
e64bb8b
Update downselect logic
afontani Jul 9, 2021
0e6de2e
Prep to run infiltration_test a third time
ekpresent Jul 9, 2021
3a9f261
Fixed sampler in primary project file
ekpresent Jul 9, 2021
8a2f016
Edits to Facades Economic Analysis.py based on aspeake's review
ekpresent Jul 12, 2021
db9aff8
Merge remote-tracking branch 'origin/windows_tsv' into facade-upgrades
afontani Jul 13, 2021
9a60a55
Latest results.
Jul 14, 2021
ad43a91
Facades Economic Analysis edits based on aspeake's review and pyarrow…
ekpresent Jul 14, 2021
f703db6
Merge branch 'facade-upgrades' of https://github.com/NREL/resstock in…
ekpresent Jul 14, 2021
4697e8e
Removed clear storm options from infiltration apply_logic
ekpresent Jul 14, 2021
894bfe8
Prepped project file for midsize run
ekpresent Jul 15, 2021
3fba8b0
Added polyiso sheathing options back into options_lookup
ekpresent Jul 15, 2021
22cc0c7
Edits to econ vizualizations, and econ postprocessing done for run10kNo4
ekpresent Jul 16, 2021
5fae3bb
Merge branch 'develop' into facade-upgrades
ekpresent Oct 1, 2021
43ec31b
Latest results.
Oct 1, 2021
3e3c4b2
YAML changes for prices, and siding nomenclature
ekpresent Oct 12, 2021
84d4943
Added necessary Infiltration options to options_lookup for the 15% re…
ekpresent Oct 12, 2021
7f1076b
Updated project file for first 4 of 7 upgrades
ekpresent Oct 18, 2021
a146948
Project file updates for 7 upgrades - first pass completed
ekpresent Oct 19, 2021
9884373
changes to project file and options lookup for running on eagle
ekpresent Oct 22, 2021
bf80b6c
Merge branch 'develop' into facade-upgrades
ekpresent Nov 1, 2021
47f4cb5
Re-add "convert_to_json.py" to gitignore
ekpresent Nov 1, 2021
126dbab
Latest results.
Nov 1, 2021
6f4b6ac
remove siding update from standalone window measures in project file
ekpresent Nov 4, 2021
8cb0c04
project file updated to latest ACH50 agreement
ekpresent Nov 5, 2021
5404dd0
cleaned up no-cost text
ekpresent Nov 5, 2021
c0e197c
changed upgrade names
ekpresent Nov 5, 2021
dfc9350
Fix errors Prateek found
ekpresent Nov 8, 2021
15f071d
minor modifications to project file for first full run
ekpresent Nov 11, 2021
484d8af
project file adjustments to successfully complete full run
ekpresent Nov 13, 2021
602348f
edited project file
ekpresent Mar 15, 2022
34759b9
Merge branch 'facade-upgrades-yaml' into facade-upgrades
ekpresent Mar 15, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -52,3 +52,4 @@ node_modules/
/test/test_samples_osw/project_national_measures_upgrade_osw
/test/test_samples_osw/results
/test/test_samples_osw/run*
convert_to_json.py
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ Features
- Add ReEDS balancing areas as a spatial field ([#591](https://github.com/NREL/resstock/pull/591))
- Update number of bathrooms assumption to match the Building America House Simulation Protocols ([#601](https://github.com/NREL/resstock/pull/601))
- Speed up sampling algorithm by multiple orders of magnitude for large numbers of samples ([#606](https://github.com/NREL/resstock/pull/606))
- Use ANSI/RESNET/ICC 301 equations to calculate annual interior, exterior, and garage lighting energy ([#619](https://github.com/NREL/resstock/pull/619))

Fixes
- Fixes significant runtime bottleneck in TSV fetching in BuildExistingModel & ApplyUpgrade measures ([#543](https://github.com/NREL/resstock/pull/543))
Expand All @@ -30,6 +31,7 @@ Fixes
- Housing characteristics fixes based on more samples in testing ([#592](https://github.com/NREL/resstock/pull/592))
- Fixes number of bathrooms for single-family attached and multi-family buildings ([#601](https://github.com/NREL/resstock/pull/601))
- Sync the sample probabilities after a bug fix in tsv_dist ([#609](https://github.com/NREL/resstock/pull/609))
- Fix name of ReEDS balancing areas ([#613](https://github.com/NREL/resstock/pull/613))

## ResStock v2.4.0

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ Apply Upgrade

Each "Apply Upgrade" measure defines an upgrade scenario. An upgrade scenario is a collection of options exercised with some logic and costs applied. In the simplest case, we apply the new option to all houses. The available upgrade options are in ``resources/options_lookup.tsv`` in your git repository.

For this example, we will upgrade all windows by applying the ``Windows|Low-E, Triple, Non-metal, Air, L-Gain`` option to all houses across the country. We do this by entering that in the **Option 1** box on the Apply Upgrade measure. Also, we'll give the upgrade scenario a name: "Triple-Pane Windows" and a cost of $40/ft\ :superscript:`2` of window area by entering the number in **Option 1 Cost Value** and selecting "Window Area (ft^2)" for **Option 1 Cost Multiplier**.
For this example, we will upgrade all windows by applying the ``Windows|Triple, Low-E, Non-metal, Air, L-Gain`` option to all houses across the country. We do this by entering that in the **Option 1** box on the Apply Upgrade measure. Also, we'll give the upgrade scenario a name: "Triple-Pane Windows" and a cost of $40/ft\ :superscript:`2` of window area by entering the number in **Option 1 Cost Value** and selecting "Window Area (ft^2)" for **Option 1 Cost Multiplier**.

Like the **downselect logic**, excluded datapoints (i.e., datapoints for which the upgrade does not apply) will result in "completed invalid workflow". For a full explanation of how to set up the options and logic surrounding them, see :doc:`../upgrade_scenario_config`.

Expand Down
11 changes: 11 additions & 0 deletions economic_analysis/Archive/run10No3/results_with_economics.csv

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Binary file not shown.

Large diffs are not rendered by default.

Binary file added economic_analysis/Econ Results Prep.tfl
Binary file not shown.
5,479 changes: 5,479 additions & 0 deletions economic_analysis/Econ Results Viz.twb

Large diffs are not rendered by default.

155 changes: 155 additions & 0 deletions economic_analysis/Facades Economic Analysis.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@
#import packages
import pandas as pd
import numpy as np
import os

#set working directory
default_dir = "C:/Users/EPRESENT/Documents/Mini Projects/Facades/ResStock Results/test10kNo3"

#load utility bill costs
df_elec_costs = pd.read_csv("C:/Users/EPRESENT/Documents/Mini Projects/Facades/Economic Analysis/Variable Elec Cost by State from EIA State Data.csv")
df_ng_costs = pd.read_csv('C:/Users/EPRESENT/Documents/Load Shapes Project/Modeling and Calibration/Calculating Utility Bills/NG costs by state.csv')
df_fo_costs = pd.read_csv('C:/Users/EPRESENT/Documents/Load Shapes Project/Modeling and Calibration/Calculating Utility Bills/Fuel Oil Prices Averaged by State.csv')
df_lp_costs = pd.read_csv('C:/Users/EPRESENT/Documents/Load Shapes Project/Modeling and Calibration/Calculating Utility Bills/Propane costs by state.csv')
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ekpresent update locations to relative paths on branch


#define constants
btu_propane_in_one_gallon = 91452 #source: https://www.eia.gov/energyexplained/units-and-calculators/
gallons_to_barrels = 42 #source: https://www.eia.gov/energyexplained/units-and-calculators/
btu_fueloil_in_one_barrel = 6287000 #source: https://www.eia.gov/energyexplained/units-and-calculators/


##define functions

#choose results columns to work with
selected_cols = [
'building_id',
'simulation_output_report.total_site_electricity_kwh',
'simulation_output_report.total_site_natural_gas_therm',
'simulation_output_report.total_site_fuel_oil_mbtu',
'simulation_output_report.total_site_propane_mbtu',
'simulation_output_report.total_site_energy_mbtu',
'simulation_output_report.upgrade_cost_usd']
def downselect_cols(df):
df = df[selected_cols]
return df

#calculate total energy difference for each upgrade, for each home, add to the mini dataframes
def calc_delta_elec(df_upgrade, df_baseline):
return (df_upgrade['simulation_output_report.total_site_electricity_kwh']-df_baseline['simulation_output_report.total_site_electricity_kwh'])
def calc_delta_ng(df_upgrade, df_baseline):
return (df_upgrade['simulation_output_report.total_site_natural_gas_therm']-df_baseline['simulation_output_report.total_site_natural_gas_therm'])
def calc_delta_fo(df_upgrade, df_baseline):
return (df_upgrade['simulation_output_report.total_site_fuel_oil_mbtu']-df_baseline['simulation_output_report.total_site_fuel_oil_mbtu'])
def calc_delta_lp(df_upgrade, df_baseline):
return (df_upgrade['simulation_output_report.total_site_propane_mbtu']-df_baseline['simulation_output_report.total_site_propane_mbtu'])
def calc_delta_energy(df_upgrade, df_baseline):
return(df_upgrade['simulation_output_report.total_site_energy_mbtu']-df_baseline['simulation_output_report.total_site_energy_mbtu'])

#calculate year1 utility bill savings
def calc_year1_bill_savings(var_util_costs, delta_energy):
return (var_util_costs*delta_energy)
def calc_year1_fo_bill_savings(var_util_costs, delta_energy):
return (delta_energy *
var_util_costs*
gallons_to_barrels*
(1/btu_fueloil_in_one_barrel)*
1000000)
def calc_year1_lp_bill_savings(var_util_costs, delta_energy):
return(delta_energy *
var_util_costs*
(1/btu_propane_in_one_gallon)*
1000000)

#calculate simple payback period
def calc_spp(upfront_cost, year1_savings):
return(upfront_cost/year1_savings)

#calculate npv
analysis_period = 30
discount_rate = 0.034
def calc_npv(upfront_cost, year1_savings): #note: assuming 30 year lifetime for everything, which is not a general solution to this situation
npv_list = []
for cost, savings in zip(upfront_cost, year1_savings): #this loops through all the rows in the results_csv (ie each dwelling unit)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ekpresent I think there is probably a way to avoid looping through each row if compute time gets to be a concern

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It isn't yet. :)

cost_array = [0]*(analysis_period+1)
cost_array[0] = cost
savings_array = [savings] * (analysis_period+1)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ekpresent Since you are starting the equation at year 0, shouldn't the savings array start with 0? eg: [0, savings_yr1, savings_yr2, ..., savings_yr_n] so that you would not have any savings at time 0.

You can update with savings_array[0] = 0

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I mimicked how @joseph-robertson was doing it. If the upgrade happens on 1/1/00, then Year 0 has both the upgrade cost and a year of savings. If it happens on 12/31/00, then Year 0 has the upgrade cost and no savings. Not sure which is better. @ejhw do you have a preference?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ekpresent I think upgrade cost should happen at year 0 (no discounting) and the first year of savings should happen at year 1 (discounted by 1 year).

cash_flows = list(np.array(savings_array)-np.array(cost_array))
npv = 0
for year in range(0,analysis_period + 1):
npv += (1/((1 + discount_rate) ** year)) * cash_flows[year]
npv_list.append(npv)
return npv_list

##Set up and run things!
#number of upgrade packages
num_ups = 4

#load baseline results
results_b = pd.read_parquet(os.path.join(default_dir, "results_up00.parquet"), engine = "auto")

#add utility bill cost unformation to the baseline results
results_b = pd.merge(results_b, df_elec_costs[['State', 'Variable Elec Cost $/kWh']], left_on = "build_existing_model.state", right_on = 'State', how = 'left')
results_b = results_b.drop(['State'], 1)
results_b = pd.merge(results_b, df_ng_costs[['State', 'NG Cost without Meter Charge [$/therm]']], left_on = "build_existing_model.state", right_on = 'State', how = 'left')
results_b = results_b.drop(['State'], 1)
results_b = pd.merge(results_b, df_fo_costs[['State', 'Average FO Price [$/gal]']], left_on = "build_existing_model.state", right_on = 'State', how = 'left')
results_b = results_b.drop(['State'], 1)
results_b = pd.merge(results_b, df_lp_costs[['State', 'Average Weekly Cost [$/gal]']], left_on = "build_existing_model.state", right_on = 'State', how = 'left')
results_b = results_b.drop(['State'], 1)
results_b.rename(columns={
'Variable Elec Cost $/kWh': 'Elec Variable Cost [$/kWh]',
'NG Cost without Meter Charge [$/therm]': 'NG Variable Cost [$/therm]',
'Average FO Price [$/gal]': 'FO Average Cost [$/gal]',
'Average Weekly Cost [$/gal]': 'LP Average Price [$/gal]'},
inplace=True)


#define string parts for upgrades
file_start = "results_up"
file_end = ".parquet"
up_start = "up"

#do economic calculations for each upgrade package
for i in range(1, num_ups+1):
if i<10:
upnum = "0" + str(i)
else:
upnum = str(i)
filename = file_start + upnum + file_end
upgrade = up_start + upnum
results_up = pd.read_parquet(os.path.join(default_dir, filename), engine = "auto")
df = downselect_cols(results_up)
#calculate changes in energy use for each fuel
delta_elec = calc_delta_elec(results_b, df)
results_b[upgrade + "_delta_elec_kWh"] = delta_elec
delta_ng = calc_delta_ng(results_b, df)
results_b[upgrade + "_delta_ng_therms"] = delta_ng
delta_fo = calc_delta_fo(results_b, df)
results_b[upgrade + "_delta_fo_mmbtu"] = delta_fo
delta_lp = calc_delta_lp(results_b, df)
results_b[upgrade + "_delta_lp_mmbtu"] = delta_lp
delta_energy = calc_delta_elec(results_b, df)
Comment on lines +126 to +134
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ekpresent Looks like you are passing (baseline, upgrades) but your methods are expecting (df_upgrade, df_baseline)

results_b[upgrade + "_delta_allfuels_mmbtu"] = delta_energy
#calculate year1 savings for each fuel, and total
year1_savings_elec = calc_year1_bill_savings(results_b['Elec Variable Cost [$/kWh]'], delta_elec)
results_b[upgrade + "_annualbillsavings_elec_$"] = year1_savings_elec
year1_savings_ng = calc_year1_bill_savings(results_b['NG Variable Cost [$/therm]'], delta_ng)
results_b[upgrade + "_annualbillsavings_ng_$"] = year1_savings_ng
year1_savings_fo = calc_year1_fo_bill_savings(results_b['FO Average Cost [$/gal]'], delta_fo)
results_b[upgrade + "_annualbillsavings_fo_$"] = year1_savings_fo
year1_savings_lp = calc_year1_fo_bill_savings(results_b['LP Average Price [$/gal]'], delta_lp)
results_b[upgrade + "_annualbillsavings_lp_$"] = year1_savings_lp
year1_savings_allfuels = year1_savings_elec + year1_savings_ng + year1_savings_fo + year1_savings_lp
results_b[upgrade + "_annualbillsavings_allfuels_$"] = year1_savings_allfuels
#calculate simple payback period considering all fuels
simple_payback_period = calc_spp(df['simulation_output_report.upgrade_cost_usd'], year1_savings_allfuels)
results_b[upgrade + "_spp_allfuels_yrs"] = simple_payback_period
#calculate npv considering all fuels
npv = calc_npv(df['simulation_output_report.upgrade_cost_usd'], year1_savings_allfuels)
results_b[upgrade + "_npv_allfuels_$"] = npv

#save results
results_b.to_csv('results_with_economics_allfuels.csv')


#visualizations
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
State,Average FO Price [$/gal],Source
AK,3.236461538,US
AL,3.236461538,US
AR,3.236461538,US
AZ,3.236461538,US
CA,3.236461538,US
CO,3.236461538,US
CT,3.314115385,https://www.eia.gov/dnav/pet/pet_pri_wfr_a_EPD2F_PRS_dpgal_w.htm
DC,4.042192308,https://www.eia.gov/dnav/pet/pet_pri_wfr_a_EPD2F_PRS_dpgal_w.htm
DE,3.127192308,https://www.eia.gov/dnav/pet/pet_pri_wfr_a_EPD2F_PRS_dpgal_w.htm
FL,2.882423077,Lower Atlantic PADD
GA,2.882423077,Lower Atlantic PADD
HI,3.236461538,US
IA,2.452692308,https://www.eia.gov/dnav/pet/pet_pri_wfr_a_EPD2F_PRS_dpgal_w.htm
ID,3.236461538,US
IL,2.660384615,Midwest PADD
IN,2.753846154,https://www.eia.gov/dnav/pet/pet_pri_wfr_a_EPD2F_PRS_dpgal_w.htm
KS,2.660384615,Midwest PADD
KY,2.665423077,https://www.eia.gov/dnav/pet/pet_pri_wfr_a_EPD2F_PRS_dpgal_w.htm
LA,3.236461538,US
MA,3.269,https://www.eia.gov/dnav/pet/pet_pri_wfr_a_EPD2F_PRS_dpgal_w.htm
MD,3.233076923,https://www.eia.gov/dnav/pet/pet_pri_wfr_a_EPD2F_PRS_dpgal_w.htm
ME,3.013192308,https://www.eia.gov/dnav/pet/pet_pri_wfr_a_EPD2F_PRS_dpgal_w.htm
MI,2.683692308,https://www.eia.gov/dnav/pet/pet_pri_wfr_a_EPD2F_PRS_dpgal_w.htm
MN,2.662307692,https://www.eia.gov/dnav/pet/pet_pri_wfr_a_EPD2F_PRS_dpgal_w.htm
MO,2.660384615,Midwest PADD
MS,3.236461538,US
MT,3.236461538,US
NC,2.887115385,https://www.eia.gov/dnav/pet/pet_pri_wfr_a_EPD2F_PRS_dpgal_w.htm
ND,2.660384615,Midwest PADD
NE,2.528192308,https://www.eia.gov/dnav/pet/pet_pri_wfr_a_EPD2F_PRS_dpgal_w.htm
NH,3.114807692,https://www.eia.gov/dnav/pet/pet_pri_wfr_a_EPD2F_PRS_dpgal_w.htm
NJ,3.300769231,https://www.eia.gov/dnav/pet/pet_pri_wfr_a_EPD2F_PRS_dpgal_w.htm
NM,3.236461538,US
NV,3.236461538,US
NY,3.538846154,https://www.eia.gov/dnav/pet/pet_pri_wfr_a_EPD2F_PRS_dpgal_w.htm
OH,2.689230769,https://www.eia.gov/dnav/pet/pet_pri_wfr_a_EPD2F_PRS_dpgal_w.htm
OK,3.236461538,US
OR,3.236461538,US
PA,2.872269231,https://www.eia.gov/dnav/pet/pet_pri_wfr_a_EPD2F_PRS_dpgal_w.htm
RI,3.356269231,https://www.eia.gov/dnav/pet/pet_pri_wfr_a_EPD2F_PRS_dpgal_w.htm
SC,2.882423077,Lower Atlantic PADD
SD,2.660384615,Midwest PADD
TN,3.236461538,US
TX,3.236461538,US
UT,3.236461538,US
VA,2.879961538,https://www.eia.gov/dnav/pet/pet_pri_wfr_a_EPD2F_PRS_dpgal_w.htm
VT,2.858269231,https://www.eia.gov/dnav/pet/pet_pri_wfr_a_EPD2F_PRS_dpgal_w.htm
WA,3.236461538,US
WI,2.692230769,https://www.eia.gov/dnav/pet/pet_pri_wfr_a_EPD2F_PRS_dpgal_w.htm
WV,3.285538462,Central Atlantic PADD
WY,3.236461538,US
53 changes: 53 additions & 0 deletions economic_analysis/Fuel Price Input Files/NG costs by state.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
State,NG Cost without Meter Charge [$/therm]
US,0.830879584
AL,1.173929594
AK,0.973198308
AZ,0.905718119
AR,0.850417794
CA,0.937476469
CO,0.583869659
CT,1.267521203
DE,0.964717461
DC,1.068721099
FL,1.479354089
GA,1.239373765
HI,3.603197324
ID,0.451371175
IL,0.658241947
IN,0.675756069
IA,0.619201987
KS,0.724306222
KY,0.846856452
LA,0.780898464
ME,1.395879731
MD,1.024927384
MA,1.270318428
MI,0.649000707
MN,0.636784599
MS,0.764356372
MO,0.836540341
MT,0.530786118
NE,0.588836098
NV,0.675023867
NH,1.341689274
NJ,0.783392189
NM,0.434452883
NY,1.091072481
NC,0.992095947
ND,0.528200964
OH,0.773916553
OK,0.723729264
OR,0.753906279
PA,0.973046117
RI,1.320026286
SC,0.959215397
SD,0.532388629
TN,0.689276808
TX,0.750002248
UT,0.586772001
VT,1.118904706
VA,1.018218906
WA,0.770398568
WV,0.772416077
WI,0.586606117
WY,0.62202886
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
State,Average Weekly Cost [$/gal],Source
AK,2.421076923,US
AL,2.568769231,http://www.eia.gov/dnav/pet/pet_pri_dist_a_epd2_prt_dpgal_a.htm
AR,2.185076923,http://www.eia.gov/dnav/pet/pet_pri_dist_a_epd2_prt_dpgal_a.htm
AZ,2.421076923,US
CA,2.421076923,US
CO,2.116884615,http://www.eia.gov/dnav/pet/pet_pri_dist_a_epd2_prt_dpgal_a.htm
CT,2.979115385,http://www.eia.gov/dnav/pet/pet_pri_dist_a_epd2_prt_dpgal_a.htm
DC,3.218692308,Central Atlantic PADD
DE,3.149307692,http://www.eia.gov/dnav/pet/pet_pri_dist_a_epd2_prt_dpgal_a.htm
FL,4.783769231,http://www.eia.gov/dnav/pet/pet_pri_dist_a_epd2_prt_dpgal_a.htm
GA,2.322538462,http://www.eia.gov/dnav/pet/pet_pri_dist_a_epd2_prt_dpgal_a.htm
HI,2.421076923,US
IA,1.329269231,http://www.eia.gov/dnav/pet/pet_pri_dist_a_epd2_prt_dpgal_a.htm
ID,2.461,http://www.eia.gov/dnav/pet/pet_pri_dist_a_epd2_prt_dpgal_a.htm
IL,1.635269231,http://www.eia.gov/dnav/pet/pet_pri_dist_a_epd2_prt_dpgal_a.htm
IN,2.047576923,http://www.eia.gov/dnav/pet/pet_pri_dist_a_epd2_prt_dpgal_a.htm
KS,1.543038462,http://www.eia.gov/dnav/pet/pet_pri_dist_a_epd2_prt_dpgal_a.htm
KY,2.225461538,http://www.eia.gov/dnav/pet/pet_pri_dist_a_epd2_prt_dpgal_a.htm
LA,2.448923077,Gulf Coast PADD
MA,3.135076923,http://www.eia.gov/dnav/pet/pet_pri_dist_a_epd2_prt_dpgal_a.htm
MD,3.275269231,http://www.eia.gov/dnav/pet/pet_pri_dist_a_epd2_prt_dpgal_a.htm
ME,2.998384615,http://www.eia.gov/dnav/pet/pet_pri_dist_a_epd2_prt_dpgal_a.htm
MI,2.017461538,http://www.eia.gov/dnav/pet/pet_pri_dist_a_epd2_prt_dpgal_a.htm
MN,1.621192308,http://www.eia.gov/dnav/pet/pet_pri_dist_a_epd2_prt_dpgal_a.htm
MO,1.770269231,http://www.eia.gov/dnav/pet/pet_pri_dist_a_epd2_prt_dpgal_a.htm
MS,2.529192308,http://www.eia.gov/dnav/pet/pet_pri_dist_a_epd2_prt_dpgal_a.htm
MT,1.894192308,http://www.eia.gov/dnav/pet/pet_pri_dist_a_epd2_prt_dpgal_a.htm
NC,2.824769231,http://www.eia.gov/dnav/pet/pet_pri_dist_a_epd2_prt_dpgal_a.htm
ND,1.423769231,http://www.eia.gov/dnav/pet/pet_pri_dist_a_epd2_prt_dpgal_a.htm
NE,1.342846154,http://www.eia.gov/dnav/pet/pet_pri_dist_a_epd2_prt_dpgal_a.htm
NH,3.283423077,http://www.eia.gov/dnav/pet/pet_pri_dist_a_epd2_prt_dpgal_a.htm
NJ,3.847692308,http://www.eia.gov/dnav/pet/pet_pri_dist_a_epd2_prt_dpgal_a.htm
NM,2.421076923,US
NV,2.421076923,US
NY,3.271846154,http://www.eia.gov/dnav/pet/pet_pri_dist_a_epd2_prt_dpgal_a.htm
OH,2.671846154,http://www.eia.gov/dnav/pet/pet_pri_dist_a_epd2_prt_dpgal_a.htm
OK,1.914346154,http://www.eia.gov/dnav/pet/pet_pri_dist_a_epd2_prt_dpgal_a.htm
OR,2.421076923,US
PA,3.036384615,http://www.eia.gov/dnav/pet/pet_pri_dist_a_epd2_prt_dpgal_a.htm
RI,3.542884615,http://www.eia.gov/dnav/pet/pet_pri_dist_a_epd2_prt_dpgal_a.htm
SC,3.228615385,Lower Atlantic PADD
SD,1.484076923,http://www.eia.gov/dnav/pet/pet_pri_dist_a_epd2_prt_dpgal_a.htm
TN,3.017923077,http://www.eia.gov/dnav/pet/pet_pri_dist_a_epd2_prt_dpgal_a.htm
TX,2.437384615,http://www.eia.gov/dnav/pet/pet_pri_dist_a_epd2_prt_dpgal_a.htm
UT,2.546384615,http://www.eia.gov/dnav/pet/pet_pri_dist_a_epd2_prt_dpgal_a.htm
VA,3.100115385,http://www.eia.gov/dnav/pet/pet_pri_dist_a_epd2_prt_dpgal_a.htm
VT,3.463730769,http://www.eia.gov/dnav/pet/pet_pri_dist_a_epd2_prt_dpgal_a.htm
WA,2.421076923,US
WI,1.573,http://www.eia.gov/dnav/pet/pet_pri_dist_a_epd2_prt_dpgal_a.htm
WV,3.218692308,Central Atlantic PADD
WY,2.169807692,Rocky Mountain PADD
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
State,Variable Elec Cost $/kWh
AK,0.211166119
AL,0.116957441
AR,0.089003122
AZ,0.11447786
CA,0.172740358
CO,0.10709471
CT,0.204215862
DC,0.116538313
DE,0.114961811
FL,0.10799404
GA,0.108707305
HI,0.30156265
IA,0.113057037
ID,0.088352415
IL,0.116169513
IN,0.115385373
KS,0.11589661
KY,0.09897968
LA,0.08983531
MA,0.201757218
MD,0.120907239
ME,0.161096264
MI,0.141719649
MN,0.117241289
MO,0.101934242
MS,0.104370421
MT,0.099662113
NC,0.104915977
ND,0.093995108
NE,0.097690144
NH,0.183788419
NJ,0.143410923
NM,0.109473478
NV,0.108811236
NY,0.162086726
OH,0.112333519
OK,0.093106229
OR,0.09915016
PA,0.126081544
RI,0.199458158
SC,0.120936837
SD,0.105955422
TN,0.10051095
TX,0.108842605
UT,0.090257338
VA,0.111779166
VT,0.158910521
WA,0.086808067
WI,0.126915429
WV,0.103256296
WY,0.100175294
Binary file not shown.
Loading