optimise_upgrade.Rdoptimise_upgrade finds the financially optimum household energy efficiency upgrade (fabric and replacement heating technology).
The potential new heating technologies (tech_new) considered are current tech and a heat pump. Choices such as gas to oil are not considered. This tends to lead to
a lot of swithcing from electricity to heat_pump.
If fuel_allowance is TRUE and the household qualifies for WarmerHomes. It is assumed that the property is upgraded to B2 (120 kWh/m2/y) standard.
Therefore WarmerHomes does not requires BER optimisation. A cap of params$warmer_homes_cost_cap of 35k is currentlu implented.
Returns a 2 row dataframe with tech_new the existing tech or a heat pump. If the existing tech is a heat pump, reversion to gas is also evaluated.
optimise_upgrade(
hli_old,
tech_old,
installation_time,
house_type,
storeys,
construction_year,
region,
floor_area,
eta,
params,
upgrade_heat = TRUE,
is_fuel_allowance = FALSE,
include_grants = TRUE,
include_rebound = FALSE
)heat loss indicator before upgrade W/Km2
current heating technology
year of installation of old (current) tech
seai house type (detached, semi_detached, terraced, apartment)
number of storeys 1, 2, 3
year of construction integer
region (Dublin, Munster, Rest of Leinster, Ulster/Connacht)
treated floor area (m2)
heterogeneous disruption parameter
current parameter values from scenario_params(sD, yeartime)
if TRUE then upgrade the current heating system
TRUE/FALSE
defaults to TRUE
defaults to FALSE
a two row dataframe. The new EAC "new_cost"
params <- scenario_params(sD,2026)
optimise_upgrade(1.8,"gas",2005,"semi_detached",2,2003,"Dublin",100,0.12,params,TRUE,FALSE,TRUE)
#> # A tibble: 2 × 14
#> tech_old tech_new hli_old hli_new ber_old ber_new new_cost old_cost savings
#> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 gas gas 1.8 1.78 212. 153. 2114 2239 -0.0555
#> 2 gas heat_pump 1.8 1.72 212. 89.8 2441 2239 0.0903
#> # ℹ 5 more variables: upgrade_cost <dbl>, heating_sys_cost <dbl>,
#> # grant_type <chr>, upgrade_grant <dbl>, heat_pump_grant <dbl>
optimise_upgrade(2.6,"gas",2010,"semi_detached",2,2003,"Dublin",100,0.12,params,TRUE,FALSE,TRUE)
#> # A tibble: 2 × 14
#> tech_old tech_new hli_old hli_new ber_old ber_new new_cost old_cost savings
#> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 gas gas 2.6 2.57 221. 203. 2770 2379 0.164
#> 2 gas heat_pump 2.6 2.26 221. 106. 3757 2379 0.579
#> # ℹ 5 more variables: upgrade_cost <dbl>, heating_sys_cost <dbl>,
#> # grant_type <chr>, upgrade_grant <dbl>, heat_pump_grant <dbl>
optimise_upgrade(5,"gas",2010,"detached",2,2010,"Dublin",100,0.12,params,TRUE,FALSE,TRUE)
#> # A tibble: 2 × 14
#> tech_old tech_new hli_old hli_new ber_old ber_new new_cost old_cost savings
#> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 gas gas 5 3.98 389. 295. 4660 4428 0.0524
#> 2 gas heat_pump 5 3.71 389. 150. 6713 4428 0.516
#> # ℹ 5 more variables: upgrade_cost <dbl>, heating_sys_cost <dbl>,
#> # grant_type <chr>, upgrade_grant <dbl>, heat_pump_grant <dbl>
optimise_upgrade(1.66,"gas",2010,"detached",2,2010,"Dublin",100,0.12,params,TRUE,FALSE,TRUE)
#> # A tibble: 2 × 14
#> tech_old tech_new hli_old hli_new ber_old ber_new new_cost old_cost savings
#> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 gas gas 1.66 1.66 155. 145. 1914 1577 0.214
#> 2 gas heat_pump 1.66 1.66 155. 88.0 2202 1577 0.396
#> # ℹ 5 more variables: upgrade_cost <dbl>, heating_sys_cost <dbl>,
#> # grant_type <chr>, upgrade_grant <dbl>, heat_pump_grant <dbl>
optimise_upgrade(2.4,"gas",2010,"detached",2,2010,"Dublin",175,0.12,params,TRUE,FALSE,TRUE)
#> # A tibble: 2 × 14
#> tech_old tech_new hli_old hli_new ber_old ber_new new_cost old_cost savings
#> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 gas gas 2.4 2.40 207. 193. 4051 3745 0.0818
#> 2 gas heat_pump 2.4 2.26 207. 106. 5497 3745 0.468
#> # ℹ 5 more variables: upgrade_cost <dbl>, heating_sys_cost <dbl>,
#> # grant_type <chr>, upgrade_grant <dbl>, heat_pump_grant <dbl>
optimise_upgrade(2.9,"gas", 2015, "detached",2, 2003, "Munster", 100,0.12,params,upgrade_heat=TRUE,is_fuel_allowance=FALSE,include_rebound=FALSE)
#> # A tibble: 2 × 14
#> tech_old tech_new hli_old hli_new ber_old ber_new new_cost old_cost savings
#> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 gas gas 2.9 2.85 226. 222. 3010 2516 0.196
#> 2 gas heat_pump 2.9 2.26 226. 106. 4481 2516 0.781
#> # ℹ 5 more variables: upgrade_cost <dbl>, heating_sys_cost <dbl>,
#> # grant_type <chr>, upgrade_grant <dbl>, heat_pump_grant <dbl>
optimise_upgrade(2.9,"gas", 2015, "detached",2, 2003, "Munster", 200,0.12,params,upgrade_heat=TRUE,is_fuel_allowance=FALSE,include_rebound=FALSE)
#> # A tibble: 2 × 14
#> tech_old tech_new hli_old hli_new ber_old ber_new new_cost old_cost savings
#> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 gas gas 2.9 2.86 226. 222. 5446 4823 0.129
#> 2 gas heat_pump 2.9 2.28 226. 107. 8552 4823 0.773
#> # ℹ 5 more variables: upgrade_cost <dbl>, heating_sys_cost <dbl>,
#> # grant_type <chr>, upgrade_grant <dbl>, heat_pump_grant <dbl>
optimise_upgrade(1.39,"gas",2020,"detached",2,1990,"Munster",100,0.12,params,upgrade_heat=TRUE,is_fuel_allowance=FALSE,include_grants=TRUE,include_rebound=FALSE)
#> # A tibble: 2 × 14
#> tech_old tech_new hli_old hli_new ber_old ber_new new_cost old_cost savings
#> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 gas gas 1.39 1.39 128. 128. 1687 1374 0.228
#> 2 gas heat_pump 1.39 1.39 128. 79.9 1894 1374 0.379
#> # ℹ 5 more variables: upgrade_cost <dbl>, heating_sys_cost <dbl>,
#> # grant_type <chr>, upgrade_grant <dbl>, heat_pump_grant <dbl>
#WarmerHomes
optimise_upgrade(3.8,"heat_pump", 2003, "detached",2, 2003, "Munster", 300,0.16,params,upgrade_heat=TRUE,is_fuel_allowance=TRUE,include_rebound=FALSE)
#> # A tibble: 2 × 14
#> tech_old tech_new hli_old hli_new ber_old ber_new new_cost old_cost savings
#> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 heat_pump heat_pump 3.8 3.26 185. 136. 11963 8856 0.351
#> 2 heat_pump gas 3.8 3.39 185. 256. 10369 8856 0.171
#> # ℹ 5 more variables: upgrade_cost <dbl>, heating_sys_cost <dbl>,
#> # grant_type <chr>, upgrade_grant <dbl>, heat_pump_grant <dbl>
optimise_upgrade(3.8,"heat_pump", 2003, "detached",2, 2003, "Munster", 300,0,params,upgrade_heat=TRUE,is_fuel_allowance=TRUE,include_rebound=FALSE)
#> # A tibble: 2 × 14
#> tech_old tech_new hli_old hli_new ber_old ber_new new_cost old_cost savings
#> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 heat_pump heat_pump 3.8 2.51 185. 114. 10566 8856 0.193
#> 2 heat_pump gas 3.8 2.91 185. 225. 8638 8856 -0.0246
#> # ℹ 5 more variables: upgrade_cost <dbl>, heating_sys_cost <dbl>,
#> # grant_type <chr>, upgrade_grant <dbl>, heat_pump_grant <dbl>
optimise_upgrade(3.8,"gas", 2003, "detached",2, 2003, "Dublin", 240,0.12,params,upgrade_heat=TRUE,is_fuel_allowance=TRUE,include_rebound=FALSE)
#> # A tibble: 2 × 14
#> tech_old tech_new hli_old hli_new ber_old ber_new new_cost old_cost savings
#> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 gas gas 3.8 2.54 405. 202. 9038 10779 -0.161
#> 2 gas heat_pump 3.8 3.65 405. 148. 11632 10779 0.0792
#> # ℹ 5 more variables: upgrade_cost <dbl>, heating_sys_cost <dbl>,
#> # grant_type <chr>, upgrade_grant <dbl>, heat_pump_grant <dbl>