Commit b86e7c48 authored by Turner's avatar Turner
Browse files

Merge branch 'main' of code.ornl.gov:turnersw/hydro-cf-trends

# Conflicts:
#	CF_trend_map.png
#	_targets/meta/meta
parents 0b0b36e6 bc223bb1
Loading
Loading
Loading
Loading
+21 −13
Original line number Diff line number Diff line
@@ -46,7 +46,7 @@ get_EIA_annual_gen <- function(gnr_dir, plt_dir){
    pull(EIA_ID) ->
    target_plants

  1990:2021L |>
  1990:2022L |>
    map_dfr(function(yr){
      
      if(yr %in% 1990:1991){
@@ -246,7 +246,7 @@ get_EIA_annual_gen <- function(gnr_dir, plt_dir){
        )
      }

      if(yr %in% 2013:2021){
      if(yr %in% 2013:2022){
        suppressWarnings(
          read_xlsx(paste0(
            plt_dir, "/eia860",
@@ -266,7 +266,7 @@ get_EIA_annual_gen <- function(gnr_dir, plt_dir){
        left_join(nameplate_all, by = join_by(EIA_ID)) |>
        mutate(year = !!yr)
    }
    ) -> plant_nameplate_MW_1990_2021
    ) -> plant_nameplate_MW_1990_2022

  # reported plant capacity pre-1990 is available only via generation data files...

@@ -294,7 +294,7 @@ get_EIA_annual_gen <- function(gnr_dir, plt_dir){
  
  bind_rows(
    plant_nameplate_MW_1970_1989,
    plant_nameplate_MW_1990_2021
    plant_nameplate_MW_1990_2022
  ) -> plant_nameplant_MW


@@ -366,7 +366,7 @@ get_EIA_annual_gen <- function(gnr_dir, plt_dir){
    gen_1970_2000


  2001:2021 %>%
  2001:2022 %>%
    map_dfr(function(yr){

      if(yr %in% 2001:2002){
@@ -423,7 +423,7 @@ get_EIA_annual_gen <- function(gnr_dir, plt_dir){
        )
      }

      if(yr %in% 2008:2021){
      if(yr %in% 2008:2022){

        if(yr %in% 2008:2010){
          file_name <- paste0(gnr_dir, "f923_", yr,
@@ -456,8 +456,16 @@ get_EIA_annual_gen <- function(gnr_dir, plt_dir){
              rename(EIA_ID = `Plant Id`) ->
              EIA_data
          )
        }
          

          if(yr == 2022){
            file_name <- paste0(gnr_dir, "f923_", yr,
                                "/EIA923_Schedules_2_3_4_5_M_12_2022_Final.xlsx")
            suppressWarnings(
              read_xlsx(file_name, skip = 5, .name_repair = "unique_quiet")  |>
                rename(EIA_ID = `Plant Id`) ->
                EIA_data
            )
        }

        # filter EIA file for hydro
@@ -482,12 +490,12 @@ get_EIA_annual_gen <- function(gnr_dir, plt_dir){
            mutate(year = !!yr)
        )
      }
    }) -> EIA_hydro_netgen_2001_2021
    }) -> EIA_hydro_netgen_2001_2022


  # generate table of hrs per year for computation of maximum output
  tibble(
    date = seq.Date(from = ymd("1970-01-01"), to = ymd("2021-12-31"), by = 1)
    date = seq.Date(from = ymd("1970-01-01"), to = ymd("2022-12-31"), by = 1)
  ) |>
    mutate(year = year(date)) |>
    summarise(n_hrs = n() * 24, .by = year) ->
@@ -496,7 +504,7 @@ get_EIA_annual_gen <- function(gnr_dir, plt_dir){
  # combine nameplate and generation to get CF
  bind_rows(
    gen_1970_2000,
    EIA_hydro_netgen_2001_2021 |>
    EIA_hydro_netgen_2001_2022 |>
      rename(gen_MWh = MWh)
  ) |>
    left_join(plant_nameplate_MW_interpolated,
@@ -504,9 +512,9 @@ get_EIA_annual_gen <- function(gnr_dir, plt_dir){
    left_join(hrs_per_year, join_by(year)) |>
    mutate(cap_MWh = nameplate * n_hrs,
           CF = gen_MWh / cap_MWh) ->
    gen_cap_CF_1970_2021
    gen_cap_CF_1970_2022

  return(gen_cap_CF_1970_2021)
  return(gen_cap_CF_1970_2022)


}
+8 −8
Original line number Diff line number Diff line
@@ -61,7 +61,7 @@ plot_CF_trend_map <- function(CFs, CF_trends, EHA, WBD){

  # get CF trends and split into categories
  CF_trends |>
    filter(analysis == "flow period plus") |>
    filter(analysis == "flow period add 2022") |>
    mutate(trend_CFpp_per_decade = sens_slope * 10 * 100) |>
    select(COMPLXID, trend_CFpp_per_decade, p_value) ->
    trend_data_all_plants
@@ -218,7 +218,7 @@ plot_CF_trend_map <- function(CFs, CF_trends, EHA, WBD){

  ### CA ####
  CFs |>
    filter(year %in% 1980:2021,
    filter(year %in% 1980:2022,
           COMPLXID %in% filter(dam_points,
                                substr(HUC, 1, 2) == "18")$COMPLXID) ->
    dam_gen_CA
@@ -262,7 +262,7 @@ plot_CF_trend_map <- function(CFs, CF_trends, EHA, WBD){

  ### CA ####
  CFs |>
    filter(year %in% 1980:2021,
    filter(year %in% 1980:2022,
           COMPLXID %in% filter(dam_points,
                                substr(HUC, 1, 2) %in% c("14", "15"))$COMPLXID) ->
    dam_gen_CO
@@ -306,7 +306,7 @@ plot_CF_trend_map <- function(CFs, CF_trends, EHA, WBD){

  ### PNW ####
  CFs |>
    filter(year %in% 1980:2021,
    filter(year %in% 1980:2022,
           COMPLXID %in% filter(dam_points,
                                State %in% c("WA", "OR", "ID"))$COMPLXID) ->
    dam_gen_PNW
@@ -351,7 +351,7 @@ plot_CF_trend_map <- function(CFs, CF_trends, EHA, WBD){

  ### SE ####
  CFs |>
    filter(year %in% 1980:2021,
    filter(year %in% 1980:2022,
           COMPLXID %in% filter(dam_points,
                                State %in% c("TN", "AL",
                                             "GA", "SC", "MD",
@@ -397,7 +397,7 @@ plot_CF_trend_map <- function(CFs, CF_trends, EHA, WBD){

  ### NE ####
  CFs |>
    filter(year %in% 1980:2021,
    filter(year %in% 1980:2022,
           COMPLXID %in% filter(dam_points,
                                State %in% c("NY", "VT",
                                             "NH", "ME", "MA",
@@ -1280,8 +1280,8 @@ plot_shift_sparks <- function(trend_shift_analysis,
    model_residuals_all

  trend_shift_analysis |>
    mutate(shift_more_likely = if_else(p_shift  < p_trend, T, F)) |>
    arrange(shift_yr) |>
    mutate(shift_more_likely = if_else(p_shift  <= p_trend, T, F)) |>
    arrange(shift_yr) |> #filter(COMPLXID == "hc1333")
    filter(shift_more_likely == TRUE) |> #count(shift_yr) |> arrange(shift_yr)
    select(COMPLXID, shift_yr) |>
    left_join(dam_names, by = join_by(COMPLXID)) |>
+2 −1
Original line number Diff line number Diff line
@@ -11,7 +11,8 @@ get_CF_trends <- function(annual_CFs){
    ~start_yr, ~end_yr, ~analysis,
    #1970, 2021, "full period",
    1980, 2019, "flow period",
    1980, 2021, "flow period plus"
    1980, 2021, "flow period plus",
    1980, 2022, "flow period add 2022"
    #2001, 2021, "923 period"
  ) |>
    pmap_dfr(function(start_yr, end_yr, analysis){
+6 −6
Original line number Diff line number Diff line
@@ -55,20 +55,20 @@ list(
    format = "file"
  ),
  tar_target(
    EIA_annual_gen_cap_CF_1970_2021,
    EIA_annual_gen_cap_CF_1970_2022,
    get_EIA_annual_gen(gnr_dir = EIA_529_906_920_923,
                       plt_dir = EIA_860),
    format = "parquet"
  ),
  tar_target(
    dam_annual_gen_cap_CF_1970_2021,
    dam_annual_gen_cap_CF_1970_2022,
    convert_EIA_to_COMPLX(EHA = EHA,
                          EIA_data = EIA_annual_gen_cap_CF_1970_2021),
                          EIA_data = EIA_annual_gen_cap_CF_1970_2022),
    format = "parquet"
  ),
  tar_target(
    CF_trends,
    get_CF_trends(annual_CFs = dam_annual_gen_cap_CF_1970_2021),
    get_CF_trends(annual_CFs = dam_annual_gen_cap_CF_1970_2022),
    format = "parquet"
  ),
  tar_target(
@@ -110,7 +110,7 @@ list(
  tar_target(
    model_data_ready,
    prep_model_data(plant_to_flow_H_mapping = plant_to_flow_H_mapping,
                    CFs = dam_annual_gen_cap_CF_1970_2021,
                    CFs = dam_annual_gen_cap_CF_1970_2022,
                    flows = DayFlow),
    format = "parquet"
  ),
@@ -145,7 +145,7 @@ list(
  ),
  tar_target(
    CF_trend_map,
    plot_CF_trend_map(CFs = dam_annual_gen_cap_CF_1970_2021,
    plot_CF_trend_map(CFs = dam_annual_gen_cap_CF_1970_2022,
                      CF_trends = CF_trends,
                      EHA = EHA, WBD = WBD),
    format = "rds"
+49 −0

File changed.

Preview size limit exceeded, changes collapsed.