Ero sivun ”Ydinvoimalan kustannus-hyötyanalyysi” versioiden välillä
Siirry navigaatioon
Siirry hakuun
(→Laskenta: päivitetty malli; ei käytä t2b-dataa vielä) |
(vastauskoodi erotettu laskennasta) |
||
(2 välissä olevaa versiota samalta käyttäjältä ei näytetä) | |||
Rivi 9: | Rivi 9: | ||
== Vastaus == | == Vastaus == | ||
<rcode label="Show results" embed=1 graphics=1 variables=" | |||
name:discount_rate|description:Diskonttokorko?|default:0.04 | |||
"> | |||
library(OpasnetUtils) | |||
library(ggplot2) | |||
objects.latest("Op_fi4686", code_name = "calculate") # [[Ydinvoimalan kustannus-hyötyanalyysi]] # nominal_net_revenues, cumfun | |||
year <- seq(2015, 2050, 5) | |||
tim <- Ovariable("time", data = data.frame( | |||
Year = year, | |||
Result = year | |||
)) | |||
tim0 <- 2015 | |||
discount_factor <- 1 / (1 + discount_rate) ^ (tim - tim0) | |||
present_net_revenues <- nominal_net_revenues * discount_factor | |||
present_cumulative_net_revenues <- cumfun(present_net_revenues, cols = "Year") ###integrated over time. | |||
ggplot(present_cumulative_net_revenues@output, aes(x = Year, weight = Result, fill = Oil_price)) + | |||
geom_bar(position = "dodge") + facet_grid(New_capacity ~ Demand_change) | |||
</rcode> | |||
== Perustelut == | == Perustelut == | ||
Rivi 150: | Rivi 176: | ||
Original calculator in Excel [http://www.hs.fi/talous/Fennovoiman+ydinvoimala+onriskisijoitus++kokeile+ydinvoimahankkeen+kannattavuutta+HSn+laskurilla/a1411448809888]. | Original calculator in Excel [http://www.hs.fi/talous/Fennovoiman+ydinvoimala+onriskisijoitus++kokeile+ydinvoimahankkeen+kannattavuutta+HSn+laskurilla/a1411448809888]. | ||
<rcode embed | <rcode name="calculate" label="Calculate results" embed=1> | ||
library(OpasnetUtils) | library(OpasnetUtils) | ||
Rivi 228: | Rivi 254: | ||
##### USER INPUTS | ##### USER INPUTS | ||
yearly <- opbase.data("Op_fi4686.yearly_data") | |||
monthly <- opbase.data("Op_fi4686.monthly_variables") | |||
parameters <- opbase.data("Op_fi4686.other_parameters") | |||
price.oil <- Ovariable("price.oil", data | oil <- yearly[yearly$Variable == "Oil_price" , ! colnames(yearly) %in% c("Variable", "Year", "Obs")] | ||
colnames(oil)[colnames(oil) == "Uncertainty"] <- "Oil_price" | |||
price.oil <- Ovariable("price.oil", data = oil) | |||
capacity <- c(" | capacity <- yearly[yearly$Variable == "New_capacity" , ! colnames(yearly) %in% c("Variable", "Obs") ] | ||
colnames(capacity)[colnames(capacity) == "Uncertainty"] <- "New_capacity" | |||
new_capacity_other <- Ovariable("new_capacity_other", data = capacity) | |||
demand <- yearly[yearly$Variable == "Demand_change" , ! colnames(yearly) %in% c("Variable", "Obs") ] | |||
colnames(demand)[colnames(demand) == "Uncertainty"] <- "Demand_change" | |||
change_in_demand <- Ovariable("change_in_demand", data = demand) | |||
costs <- yearly[yearly$Variable == "Fixed_costs_of_new_capacity" , ! colnames(yearly) %in% c("Variable", "Uncertainty", "Obs") ] | |||
fixed_costs_of_new_capacity <- Ovariable("fixed_costs_of_new_capacity", data = costs) | |||
interest <- yearly[yearly$Variable == "New_capacity_of_interest" , ! colnames(yearly) %in% c("Variable", "Uncertainty", "Obs") ] | |||
new_capacity_of_interest <- Ovariable("new_capacity_of_interest", data = interest) | |||
##### CONSTANTS | ##### CONSTANTS | ||
discount_rate <- | discount_rate <- parameters$Result[parameters$Parameter == "discount_rate"] | ||
new_capacity_marginal_cost <- parameters$Result[parameters$Parameter == "new_capacity_marginal_cost"] #(e€/MWh) constant | |||
beta.0 <- parameters$Result[parameters$Parameter == "beta.0"] | |||
beta.oil <- parameters$Result[parameters$Parameter == "beta.oil"] | |||
beta. | beta.eua <- parameters$Result[parameters$Parameter == "beta.eua"] | ||
beta. | beta.p <- parameters$Result[parameters$Parameter == "beta.p"] | ||
price.eua <- parameters$Result[parameters$Parameter == "price.eua"] # Price - EU emission permits | |||
price.feed <- parameters$Result[parameters$Parameter == "price.feed"] # Feed in tariff price floor | |||
price.ceiling <- parameters$Result[parameters$Parameter == "price.ceiling"] | |||
price. | |||
noise_step <- parameters$Result[parameters$Parameter == "noise_step"] | |||
grid_points <- parameters$Result[parameters$Parameter == "grid_points"] | |||
dummies <- Ovariable("dummies", data = | |||
monthly[monthly$Variable == "dummies" , ! colnames(monthly) %in% c("Variable", "Obs") ] | |||
) | |||
Dthermal <- Ovariable("Dthermal", data = | Dthermal <- Ovariable("Dthermal", data = | ||
monthly[monthly$Variable == "Dthermal" , ! colnames(monthly) %in% c("Variable", "Obs") ] | |||
) | |||
Dthermal_sd <- Ovariable("Dthermal_sd", data = | Dthermal_sd <- Ovariable("Dthermal_sd", data = | ||
monthly[monthly$Variable == "Dthermal_sd" , ! colnames(monthly) %in% c("Variable", "Obs") ] | |||
) | |||
###### | ###### ACTUAL MODEL | ||
discount_factor <- 1 / (1 + discount_rate) ^ (tim - tim0) | discount_factor <- 1 / (1 + discount_rate) ^ (tim - tim0) | ||
Rivi 345: | Rivi 343: | ||
revenue_for_the_new_capacity <- oapply(unkeep(revenue_for_the_new_capacity, prevresults = TRUE, sources = TRUE), cols = "Month", FUN = sum) | revenue_for_the_new_capacity <- oapply(unkeep(revenue_for_the_new_capacity, prevresults = TRUE, sources = TRUE), cols = "Month", FUN = sum) | ||
###nominal analysis (euros millions) | |||
###nominal analysis (euros millions) | |||
nominal_costs <- -1 * fixed_costs_of_new_capacity - marginal_costs_for_the_new_capacity * 5 # (M€ per 5 a) | nominal_costs <- -1 * fixed_costs_of_new_capacity - marginal_costs_for_the_new_capacity * 5 # (M€ per 5 a) | ||
nominal_revenues <- revenue_for_the_new_capacity * 5 # (M€ per 5 a) | nominal_revenues <- revenue_for_the_new_capacity * 5 # (M€ per 5 a) | ||
Rivi 353: | Rivi 349: | ||
cumulative_net_revenues <- cumfun(nominal_net_revenues, cols = "Year") ###integrated over time | cumulative_net_revenues <- cumfun(nominal_net_revenues, cols = "Year") ###integrated over time | ||
###present value analysis (euros millions) | ###present value analysis (euros millions) | ||
present_costs <- nominal_costs * discount_factor | present_costs <- nominal_costs * discount_factor | ||
present_revenues <- nominal_revenues * discount_factor | present_revenues <- nominal_revenues * discount_factor | ||
Rivi 359: | Rivi 355: | ||
present_cumulative_net_revenues <- cumfun(present_net_revenues, cols = "Year") ###integrated over time. | present_cumulative_net_revenues <- cumfun(present_net_revenues, cols = "Year") ###integrated over time. | ||
ggplot(present_cumulative_net_revenues@output, aes(x = Year, weight = Result, fill = Oil_price)) + geom_bar(position = "dodge") + facet_grid(New_capacity ~ Demand_change) | objects.store(nominal_net_revenues, cumfun) | ||
cat("Objects nominal_net_revenues, cumfun stored.\n") | |||
#ggplot(present_cumulative_net_revenues@output, aes(x = Year, weight = Result, fill = Oil_price)) + | |||
# geom_bar(position = "dodge") + facet_grid(New_capacity ~ Demand_change) | |||
</rcode> | </rcode> | ||
Rivi 374: | Rivi 375: | ||
==Aiheeseen liittyviä tiedostoja== | ==Aiheeseen liittyviä tiedostoja== | ||
{{ | {{#l:23524902NukeCalculator23Sep.xlsx}} |
Nykyinen versio 3. lokakuuta 2014 kello 07.25
Moderaattori:Jouni (katso kaikki)
Sivun edistymistä ei ole arvioitu. Arvostuksen määrää ei ole arvioitu (ks. peer review). |
Lisää dataa
|
Kysymys
Miten lasketaan suunniteltavan ydinvoimalan kannattavuus käyttöiän aikana?
Vastaus
Perustelut
Riippuvuudet
Data
All data comes from the original Excel file.
Obs | Variable | Uncertainty | Year | Result | Description |
---|---|---|---|---|---|
1 | Oil_price | Oil price 20 % higher | 96 | ||
2 | Oil_price | Oil price same | 80 | ||
3 | Oil_price | Oil price 20 % lower | 64 | ||
4 | New_capacity | 2 %/a growth | 2015 | 1860.730594 | |
5 | New_capacity | 2 %/a growth | 2020 | 5481.175799 | |
6 | New_capacity | 2 %/a growth | 2025 | 9222.751142 | |
7 | New_capacity | 2 %/a growth | 2030 | 10084.121 | |
8 | New_capacity | 2 %/a growth | 2035 | 8859.360731 | |
9 | New_capacity | 2 %/a growth | 2040 | 8859.360731 | |
10 | New_capacity | 2 %/a growth | 2045 | 8859.360731 | |
11 | New_capacity | 2 %/a growth | 2050 | 8859.360731 | |
12 | New_capacity | TEM scenario (1.7%/a growth) | 2015 | 1860.730594 | |
13 | New_capacity | TEM scenario (1.7%/a growth) | 2020 | 4931.506849 | |
14 | New_capacity | TEM scenario (1.7%/a growth) | 2025 | 8105.022831 | |
15 | New_capacity | TEM scenario (1.7%/a growth) | 2030 | 8835.616438 | |
16 | New_capacity | TEM scenario (1.7%/a growth) | 2035 | 7796.803653 | |
17 | New_capacity | TEM scenario (1.7%/a growth) | 2040 | 7796.803653 | |
18 | New_capacity | TEM scenario (1.7%/a growth) | 2045 | 7796.803653 | |
19 | New_capacity | TEM scenario (1.7%/a growth) | 2050 | 7796.803653 | |
20 | New_capacity | 1 %/a growth | 2015 | 1860.730594 | |
21 | New_capacity | 1 %/a growth | 2020 | 3549.657534 | |
22 | New_capacity | 1 %/a growth | 2025 | 5295.091324 | |
23 | New_capacity | 1 %/a growth | 2030 | 5696.917808 | |
24 | New_capacity | 1 %/a growth | 2035 | 5125.570776 | |
25 | New_capacity | 1 %/a growth | 2040 | 5125.570776 | |
26 | New_capacity | 1 %/a growth | 2045 | 5125.570776 | |
27 | New_capacity | 1 %/a growth | 2050 | 5125.570776 | |
28 | Demand_change | Demand 1 %/a growth | 2015 | 0 | |
29 | Demand_change | Demand 1 %/a growth | 2020 | 4200.913242 | |
30 | Demand_change | Demand 1 %/a growth | 2025 | 6563.926941 | |
31 | Demand_change | Demand 1 %/a growth | 2030 | 8716.894977 | |
32 | Demand_change | Demand 1 %/a growth | 2035 | 9950.913242 | |
33 | Demand_change | Demand 1 %/a growth | 2040 | 9950.913242 | |
34 | Demand_change | Demand 1 %/a growth | 2045 | 9950.913242 | |
35 | Demand_change | Demand 1 %/a growth | 2050 | 9950.913242 | |
36 | Demand_change | Demand 0.5 %/a growth TEM scenario | 2015 | 0 | |
37 | Demand_change | Demand 0.5 %/a growth TEM scenario | 2020 | 1826.484018 | |
38 | Demand_change | Demand 0.5 %/a growth TEM scenario | 2025 | 2853.881279 | |
39 | Demand_change | Demand 0.5 %/a growth TEM scenario | 2030 | 3789.954338 | |
40 | Demand_change | Demand 0.5 %/a growth TEM scenario | 2035 | 4326.484018 | |
41 | Demand_change | Demand 0.5 %/a growth TEM scenario | 2040 | 4326.484018 | |
42 | Demand_change | Demand 0.5 %/a growth TEM scenario | 2045 | 4326.484018 | |
43 | Demand_change | Demand 0.5 %/a growth TEM scenario | 2050 | 4326.484018 | |
44 | Demand_change | Demand 0 %/a growth | 2015 | 0 | |
45 | Demand_change | Demand 0 %/a growth | 2020 | 0 | |
46 | Demand_change | Demand 0 %/a growth | 2025 | 0 | |
47 | Demand_change | Demand 0 %/a growth | 2030 | 0 | |
48 | Demand_change | Demand 0 %/a growth | 2035 | 0 | |
49 | Demand_change | Demand 0 %/a growth | 2040 | 0 | |
50 | Demand_change | Demand 0 %/a growth | 2045 | 0 | |
51 | Demand_change | Demand 0 %/a growth | 2050 | 0 | |
52 | Fixed_costs_of_new_capacity | 2015 | 6144 | ||
53 | Fixed_costs_of_new_capacity | 2020 | 0 | ||
54 | Fixed_costs_of_new_capacity | 2025 | 0 | ||
55 | Fixed_costs_of_new_capacity | 2030 | 0 | ||
56 | Fixed_costs_of_new_capacity | 2035 | 0 | ||
57 | Fixed_costs_of_new_capacity | 2040 | 0 | ||
58 | Fixed_costs_of_new_capacity | 2045 | 0 | ||
59 | Fixed_costs_of_new_capacity | 2050 | 0 | ||
60 | New_capacity_of_interest | 2015 | 0 | ||
61 | New_capacity_of_interest | 2020 | 440 | ||
62 | New_capacity_of_interest | 2025 | 1100 | ||
63 | New_capacity_of_interest | 2030 | 1100 | ||
64 | New_capacity_of_interest | 2035 | 1100 | ||
65 | New_capacity_of_interest | 2040 | 1100 | ||
66 | New_capacity_of_interest | 2045 | 1100 | ||
67 | New_capacity_of_interest | 2050 | 1100 |
Obs | Variable | Month | Result | Description |
---|---|---|---|---|
1 | Dthermal | Weeks 1 to 4 | 4328000 | |
2 | Dthermal | Weeks 5 to 8 | 4304750 | |
3 | Dthermal | Weeks 9 to 12 | 4246750 | |
4 | Dthermal | Weeks 13 to 16 | 3881000 | |
5 | Dthermal | Weeks 17 to 20 | 3226250 | |
6 | Dthermal | Weeks 21 to 24 | 2822750 | |
7 | Dthermal | Weeks 25 to 28 | 2661500 | |
8 | Dthermal | Weeks 29 to 32 | 2585250 | |
9 | Dthermal | Weeks 33 to 36 | 2904500 | |
10 | Dthermal | Weeks 37 to 40 | 3255750 | |
11 | Dthermal | Weeks 41 to 44 | 3757250 | |
12 | Dthermal | Weeks 45 to 48 | 4120000 | |
13 | Dthermal | Weeks 49 to 52 | 4220750 | |
14 | Dthermal_sd | Weeks 1 to 4 | 448471.90225 | |
15 | Dthermal_sd | Weeks 5 to 8 | 372222.83725 | |
16 | Dthermal_sd | Weeks 9 to 12 | 431200.65775 | |
17 | Dthermal_sd | Weeks 13 to 16 | 530007.6645 | |
18 | Dthermal_sd | Weeks 17 to 20 | 539874.6175 | |
19 | Dthermal_sd | Weeks 21 to 24 | 514974.322 | |
20 | Dthermal_sd | Weeks 25 to 28 | 515219.12525 | |
21 | Dthermal_sd | Weeks 29 to 32 | 543795.49475 | |
22 | Dthermal_sd | Weeks 33 to 36 | 446860.6225 | |
23 | Dthermal_sd | Weeks 37 to 40 | 316494.73225 | |
24 | Dthermal_sd | Weeks 41 to 44 | 420111.4905 | |
25 | Dthermal_sd | Weeks 45 to 48 | 487450.071 | |
26 | Dthermal_sd | Weeks 49 to 52 | 490019.918 | |
27 | dummies | Weeks 1 to 4 | 490300 | |
28 | dummies | Weeks 5 to 8 | 589230 | |
29 | dummies | Weeks 9 to 12 | 571340 | |
30 | dummies | Weeks 13 to 16 | 198190 | |
31 | dummies | Weeks 17 to 20 | -317120 | |
32 | dummies | Weeks 21 to 24 | -684420 | |
33 | dummies | Weeks 25 to 28 | -849080 | |
34 | dummies | Weeks 29 to 32 | -851290 | |
35 | dummies | Weeks 33 to 36 | -664640 | |
36 | dummies | Weeks 37 to 40 | -371490 | |
37 | dummies | Weeks 41 to 44 | 0 | |
38 | dummies | Weeks 45 to 48 | 218750 | |
39 | dummies | Weeks 49 to 52 | 288840 |
Obs | Parameter | Unit | Value | Description |
---|---|---|---|---|
1 | discount_rate | 1 /a | 0.04 | |
2 | new_capacity_marginal_cost | 12 | ||
3 | beta.0 | 589000 | ||
4 | beta.oil | -23987 | ||
5 | beta.eua | 0 | ||
6 | beta.p | 1185400 | ||
7 | price.eua | 0 | ||
8 | price.feed | 0 | ||
9 | price.ceiling | 2000 | ||
10 | noise_step | 0.1 | ||
11 | grid_points | # | 101 |
Laskenta
Nuclear investment calculator. Copyright James Corbishley and Matti Liski 2014 Original calculator in Excel [1].
Katso myös
Avainsanat
Viitteet