Ero sivun ”Ydinvoimalan kustannus-hyötyanalyysi” versioiden välillä
Siirry navigaatioon
Siirry hakuun
(ensimmäinen luonnos, ei vielä laske kunnolla) |
|||
Rivi 31: | Rivi 31: | ||
#### Locations in the Excel sheet | #### Locations in the Excel sheet | ||
# average_monthly_price ( | # average_monthly_price (/MWh) | ||
# discount_rate | # discount_rate | ||
# noisedens calculations.2015!E5:DA5 | # noisedens calculations.2015!E5:DA5 | ||
Rivi 46: | Rivi 46: | ||
# price.oil results!C5:J5 and scenarios!C25:J25 | # price.oil results!C5:J5 and scenarios!C25:J25 | ||
# new_capacity_of_interest (MW) | # new_capacity_of_interest (MW) | ||
# new_capacity_marginal_cost ( | # new_capacity_marginal_cost (/MWh) | ||
# noisedens calculations.2015!E5:DA5 | # noisedens calculations.2015!E5:DA5 | ||
# noisegridbase calculation.2015!E3:DA3 | # noisegridbase calculation.2015!E3:DA3 | ||
Rivi 55: | Rivi 55: | ||
# Dthermal_sd parameters!A20:A32 # standard deviations of demand shock for each week (GWh/month) | # Dthermal_sd parameters!A20:A32 # standard deviations of demand shock for each week (GWh/month) | ||
###### INDICES | ###### INDICES AND FUNCTIONS | ||
year <- seq(2015, 2050, 5) | year <- seq(2015, 2050, 5) | ||
Rivi 81: | Rivi 81: | ||
tim0 <- 2015 | tim0 <- 2015 | ||
ERF <- function(x) { | |||
result(x) <- 2 * pnorm(result(x) * sqrt(2)) - 1 # Use pnorm to produce the error function (ERF in Excel) functionality. | |||
return(x) | |||
} | |||
cumfun <- (Ovariable("temp", data = data.frame(Year = year, Result = year)) <= Ovariable("temp2", data = data.frame(Year2 = year, Result = year))) * 1 | |||
##### USER INPUTS | ##### USER INPUTS | ||
Rivi 115: | Rivi 122: | ||
)) | )) | ||
#new_capacity_other@data <- new_capacity_other@data[new_capacity_other@data$New_capacity == "1 %/a growth" , ] | |||
#price.oil@data <- price.oil@data[price.oil@data$Oil_price == "Oil price 20 % higher" , ] | |||
#change_in_demand@data <- change_in_demand@data[change_in_demand@data$Demand_change == "Demand 1 %/a growth" , ] | |||
#scenariot <- Ovariable(data = data.frame( | |||
# New_capacity = "1 %/a growth", | |||
# Oil_price = "Oil price 20 % higher", | |||
# Demand_change = "Demand 1 %/a growth", | |||
# Result = 1 | |||
#)) | |||
##### CONSTANTS | ##### CONSTANTS | ||
Rivi 125: | Rivi 143: | ||
)) | )) | ||
new_capacity_marginal_cost <- 12 #( | new_capacity_marginal_cost <- 12 #(e/MWh) constant | ||
new_capacity_of_interest <- Ovariable("new_capacity", data = data.frame( | new_capacity_of_interest <- Ovariable("new_capacity", data = data.frame( | ||
Rivi 184: | Rivi 202: | ||
result(Dthermal_noisegrid)[result(Dthermal_noisegrid) < 0] <- 0 | result(Dthermal_noisegrid)[result(Dthermal_noisegrid) < 0] <- 0 | ||
k. | k.additional <- (new_capacity_of_interest + new_capacity_other - change_in_demand) * 24 * 7 | ||
k.new <- new_capacity_of_interest * 24 * 7 | |||
ElPrice <- exp((1 / beta.p) * (Dthermal_noisegrid - k. | ElPrice <- exp((1 / beta.p) * (Dthermal_noisegrid - k.additional - beta.0 - beta.oil * price.oil - beta.eua * price.eua - dummies)) | ||
result(ElPrice)[result(ElPrice) < 0] <- 0 | result(ElPrice)[result(ElPrice) < 0] <- 0 | ||
result(ElPrice)[result(ElPrice) > price.ceiling] <- price.ceiling | result(ElPrice)[result(ElPrice) > price.ceiling] <- price.ceiling | ||
noisedens <- 1/2 * (ERF((noisegridbase + noise_step / 2)/sqrt(2)) - ERF((noisegridbase - noise_step / 2)/sqrt(2))) | noisedens <- 1/2 * (ERF((noisegridbase + noise_step / 2)/sqrt(2)) - ERF((noisegridbase - noise_step / 2)/sqrt(2))) | ||
average_monthly_price <- oapply(ElPrice * noisedens, cols = "Grid", FUN = sum) # ( | average_monthly_price <- oapply(ElPrice * noisedens, cols = "Grid", FUN = sum) # (/MWh) | ||
marginal_costs_for_the_new_capacity <- new_capacity_marginal_cost * k.new / 10^6 * 4 | marginal_costs_for_the_new_capacity <- new_capacity_marginal_cost * k.new / 10^6 * 4 * 13 # There are 13 28-day months | ||
revenue_for_the_new_capacity <- average_monthly_price * k.new / 10^6 * 4 | revenue_for_the_new_capacity <- average_monthly_price * k.new / 10^6 * 4 | ||
Rivi 205: | Rivi 219: | ||
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) | ||
#revenue_for_the_new_capacity <- revenue_for_the_new_capacity * scenariot | |||
###nominal analysis (euros millions) 2015-19 | ###nominal analysis (euros millions) 2015-19 | ||
nominal_costs <- -1 * fixed_costs_of_new_capacity - marginal_costs_for_the_new_capacity * 5 # ( | 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 # ( | nominal_revenues <- revenue_for_the_new_capacity * 5 # (M per 5 a) | ||
nominal_net_revenues <- nominal_revenues + nominal_costs | nominal_net_revenues <- nominal_revenues + nominal_costs | ||
cumulative_net_revenues <- oapply(nominal_net_revenues * cumfun, cols = "Year", FUN = sum) ###integrated over time | cumulative_net_revenues <- oapply(nominal_net_revenues * cumfun, cols = "Year", FUN = sum) ###integrated over time |
Versio 28. syyskuuta 2014 kello 19.12
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
Laskenta
Nuclear investment calculator. Copyright James Corbishley and Matti Liski 2014 Original calculator in Excel [1].
Katso myös
Avainsanat
Viitteet
Aiheeseen liittyviä tiedostoja
<mfanonymousfilelist></mfanonymousfilelist>