From 367916992a15d5fccf6ce23220c4abae1c27de3d Mon Sep 17 00:00:00 2001 From: Barrows Date: Tue, 27 Aug 2019 12:29:30 -0600 Subject: [PATCH] fixing ambiguous start heat unit label, addresses #110 --- RTS_Data/FormattedData/MATPOWER/script.py | 8 ++++---- .../1-parse-SourceData/parse_rts.R | 4 ++-- RTS_Data/FormattedData/Prescient/topysp.py | 12 ++++++------ RTS_Data/FormattedData/SIIP/user_descriptors.yaml | 2 +- RTS_Data/SourceData/README.md | 8 ++++---- RTS_Data/SourceData/gen.csv | 2 +- 6 files changed, 18 insertions(+), 18 deletions(-) diff --git a/RTS_Data/FormattedData/MATPOWER/script.py b/RTS_Data/FormattedData/MATPOWER/script.py index 6dc9f7f..428a84d 100644 --- a/RTS_Data/FormattedData/MATPOWER/script.py +++ b/RTS_Data/FormattedData/MATPOWER/script.py @@ -209,12 +209,12 @@ def l(string, string_list): for i, g in _generators.iterrows(): gen['model'] = 1 gen['startup'] = ( - (g['Start Heat Cold MBTU'] * g['Fuel Price $/MMBTU']) + g['Non Fuel Start Cost $'] - if not np.isnan((g['Start Heat Cold MBTU'] * g['Fuel Price $/MMBTU']) + g['Non Fuel Start Cost $']) else 0.0 + (g['Start Heat Cold MMBTU'] * g['Fuel Price $/MMBTU']) + g['Non Fuel Start Cost $'] + if not np.isnan((g['Start Heat Cold MMBTU'] * g['Fuel Price $/MMBTU']) + g['Non Fuel Start Cost $']) else 0.0 ) gen['shutdown'] = ( - g['Start Heat Cold MBTU'] * g['Fuel Price $/MMBTU'] - if not np.isnan(g['Start Heat Cold MBTU'] * g['Fuel Price $/MMBTU']) else 0.0 + g['Start Heat Cold MMBTU'] * g['Fuel Price $/MMBTU'] + if not np.isnan(g['Start Heat Cold MMBTU'] * g['Fuel Price $/MMBTU']) else 0.0 ) gen['cost'] = list() gen['cost'] = g['io_cost'] diff --git a/RTS_Data/FormattedData/PLEXOS/Create_PLEXOS_database/1-parse-SourceData/parse_rts.R b/RTS_Data/FormattedData/PLEXOS/Create_PLEXOS_database/1-parse-SourceData/parse_rts.R index 97eb2c7..2f0307d 100644 --- a/RTS_Data/FormattedData/PLEXOS/Create_PLEXOS_database/1-parse-SourceData/parse_rts.R +++ b/RTS_Data/FormattedData/PLEXOS/Create_PLEXOS_database/1-parse-SourceData/parse_rts.R @@ -88,8 +88,8 @@ generator.data = src.gen[,.(Generator = `GEN UID`, Fuels_Fuel = Fuel, `Max Capacity` = `PMax MW`, Units = ifelse(grepl('Storage|CSP',Category),0,1), - `Shutdown Cost` = `Start Heat Cold MBTU` * `Fuel Price $/MMBTU` , - `Start Cost` = (`Start Heat Cold MBTU` * `Fuel Price $/MMBTU`) + `Non Fuel Start Cost $` , + `Shutdown Cost` = `Start Heat Cold MMBTU` * `Fuel Price $/MMBTU` , + `Start Cost` = (`Start Heat Cold MMBTU` * `Fuel Price $/MMBTU`) + `Non Fuel Start Cost $` , `Max Ramp Up` = ifelse(`Ramp Rate MW/Min` == 0, NA,`Ramp Rate MW/Min`), `Max Ramp Down` = ifelse(`Ramp Rate MW/Min` == 0, NA,`Ramp Rate MW/Min`), `Pump Load` = ifelse(`Pump Load MW` == 0, NA, `Pump Load MW`), diff --git a/RTS_Data/FormattedData/Prescient/topysp.py b/RTS_Data/FormattedData/Prescient/topysp.py index 8ab3b46..18ec107 100644 --- a/RTS_Data/FormattedData/Prescient/topysp.py +++ b/RTS_Data/FormattedData/Prescient/topysp.py @@ -29,9 +29,9 @@ 'StartTimeCold', # units are hours 'StartTimeWarm', # units are hours 'StartTimeHot', # units are hours - 'StartCostCold', # units are MBTU - 'StartCostWarm', # units are MBTU - 'StartCostHot', # units are MBTU + 'StartCostCold', # units are MMBTU + 'StartCostWarm', # units are MMBTU + 'StartCostHot', # units are MMBTU 'NonFuelStartCost', # units are $ 'FuelPrice', # units are $ / MMBTU 'OutputPct0', @@ -111,9 +111,9 @@ int(this_generator_dict["Start Time Cold Hr"]), int(this_generator_dict["Start Time Warm Hr"]), int(this_generator_dict["Start Time Hot Hr"]), - float(this_generator_dict["Start Heat Cold MBTU"]), - float(this_generator_dict["Start Heat Warm MBTU"]), - float(this_generator_dict["Start Heat Hot MBTU"]), + float(this_generator_dict["Start Heat Cold MMBTU"]), + float(this_generator_dict["Start Heat Warm MMBTU"]), + float(this_generator_dict["Start Heat Hot MMBTU"]), float(this_generator_dict["Non Fuel Start Cost $"]), float(this_generator_dict["Fuel Price $/MMBTU"]), float(this_generator_dict["Output_pct_0"]), diff --git a/RTS_Data/FormattedData/SIIP/user_descriptors.yaml b/RTS_Data/FormattedData/SIIP/user_descriptors.yaml index 34a191d..5c673ea 100644 --- a/RTS_Data/FormattedData/SIIP/user_descriptors.yaml +++ b/RTS_Data/FormattedData/SIIP/user_descriptors.yaml @@ -61,7 +61,7 @@ generator: - {custom_name: Min Down Time Hr, name: min_down_time} - {custom_name: Min Up Time Hr, name: min_up_time} - {custom_name: Ramp Rate MW/Min, name: ramp_limits, system_per_unit: false} -- {custom_name: Start Heat Cold MBTU, name: startup_heat_cold_cost} +- {custom_name: Start Heat Cold MMBTU, name: startup_heat_cold_cost} - {custom_name: HR_avg_0, name: heat_rate_avg_0} - {custom_name: HR_incr_1, name: heat_rate_avg_1} - {custom_name: HR_incr_2, name: heat_rate_avg_2} diff --git a/RTS_Data/SourceData/README.md b/RTS_Data/SourceData/README.md index 572f6b1..3bddd0f 100644 --- a/RTS_Data/SourceData/README.md +++ b/RTS_Data/SourceData/README.md @@ -67,14 +67,14 @@ This folder contains six CSV files wit all RTS-GMLC (non-timeseries) data and pr | Start Time Cold Hr | Time since shutdown after which a cold start is required | | Start Time Hot Hr | Time since shutdown after which a hot start is required | | Start Time Warm Hr | Time since shutdown after which a warm start is required | -| Start Heat Cold MBTU | Heat required to startup from cold | -| Start Heat Warm MBTU | Heat required to startup from warm | -| Start Heat Hot MBTU | Heat required to startup from hot | +| Start Heat Cold MMBTU | Heat required to startup from cold in million BTU per startup | +| Start Heat Warm MMBTU | Heat required to startup from warm in million BTU per startup | +| Start Heat Hot MMBTU | Heat required to startup from hot in million BTU per startup | | FOR | Forced outage rate | | MTTF Hr | Meant time to forced outage | | MTTR Hr | Mean time to repair forced outage | | Scheduled Maint Weeks | Scheduled outages per year | -| Fuel Price $/MMBTU | Fuel price | +| Fuel Price $/MMBTU | Fuel price in Dollars per million BTU | | Output_pct_0 | Output point 0 on heat rate curve as a percentage of PMax | | Output_pct_1 | Output point 1 on heat rate curve as a percentage of PMax | | Output_pct_2 | Output point 2 on heat rate curve as a percentage of PMax | diff --git a/RTS_Data/SourceData/gen.csv b/RTS_Data/SourceData/gen.csv index c69acdf..46ccf1e 100644 --- a/RTS_Data/SourceData/gen.csv +++ b/RTS_Data/SourceData/gen.csv @@ -1,4 +1,4 @@ -GEN UID,Bus ID,Gen ID,Unit Group,Unit Type,Category,Fuel,MW Inj,MVAR Inj,V Setpoint p.u.,PMax MW,PMin MW,QMax MVAR,QMin MVAR,Min Down Time Hr,Min Up Time Hr,Ramp Rate MW/Min,Start Time Cold Hr,Start Time Warm Hr,Start Time Hot Hr,Start Heat Cold MBTU,Start Heat Warm MBTU,Start Heat Hot MBTU,Non Fuel Start Cost $,Non Fuel Shutdown Cost $,FOR,MTTF Hr,MTTR Hr,Scheduled Maint Weeks,Fuel Price $/MMBTU,Output_pct_0,Output_pct_1,Output_pct_2,Output_pct_3,Output_pct_4,HR_avg_0,HR_incr_1,HR_incr_2,HR_incr_3,HR_incr_4,VOM,Fuel Sulfur Content %,Emissions SO2 Lbs/MMBTU,Emissions NOX Lbs/MMBTU,Emissions Part Lbs/MMBTU,Emissions CO2 Lbs/MMBTU,Emissions CH4 Lbs/MMBTU,Emissions N2O Lbs/MMBTU,Emissions CO Lbs/MMBTU,Emissions VOCs Lbs/MMBTU,Damping Ratio,Inertia MJ/MW,Base MVA,Transformer X p.u.,Unit X p.u.,Pump Load MW,Storage Roundtrip Efficiency +GEN UID,Bus ID,Gen ID,Unit Group,Unit Type,Category,Fuel,MW Inj,MVAR Inj,V Setpoint p.u.,PMax MW,PMin MW,QMax MVAR,QMin MVAR,Min Down Time Hr,Min Up Time Hr,Ramp Rate MW/Min,Start Time Cold Hr,Start Time Warm Hr,Start Time Hot Hr,Start Heat Cold MMBTU,Start Heat Warm MMBTU,Start Heat Hot MMBTU,Non Fuel Start Cost $,Non Fuel Shutdown Cost $,FOR,MTTF Hr,MTTR Hr,Scheduled Maint Weeks,Fuel Price $/MMBTU,Output_pct_0,Output_pct_1,Output_pct_2,Output_pct_3,Output_pct_4,HR_avg_0,HR_incr_1,HR_incr_2,HR_incr_3,HR_incr_4,VOM,Fuel Sulfur Content %,Emissions SO2 Lbs/MMBTU,Emissions NOX Lbs/MMBTU,Emissions Part Lbs/MMBTU,Emissions CO2 Lbs/MMBTU,Emissions CH4 Lbs/MMBTU,Emissions N2O Lbs/MMBTU,Emissions CO Lbs/MMBTU,Emissions VOCs Lbs/MMBTU,Damping Ratio,Inertia MJ/MW,Base MVA,Transformer X p.u.,Unit X p.u.,Pump Load MW,Storage Roundtrip Efficiency 101_CT_1,101,1,U20,CT,Oil CT,Oil,8,4.96,1.0468,20,8,10,0,1,1,3,1,0,0,5,5,5,0,0,0.1,450,50,2,10.3494,0.4,0.6,0.8,1,NA,13114,9456,9476,10352,NA,0,0.2,0.2,0.5,0.036,160,0.002,0.004,0.11,0.04,0,2.8,24,0.13,0.32,0,0 101_CT_2,101,2,U20,CT,Oil CT,Oil,8,4.96,1.0468,20,8,10,0,1,1,3,1,0,0,5,5,5,0,0,0.1,450,50,2,10.3494,0.4,0.6,0.8,1,NA,13114,9456,9476,10352,NA,0,0.2,0.2,0.5,0.036,160,0.002,0.004,0.11,0.04,0,2.8,24,0.13,0.32,0,0 101_STEAM_3,101,3,U76,STEAM,Coal,Coal,76,0.14,1.0468,76,30,30,-25,4,8,2,12,10,3,5284.8,4861.4,3379.4,0,0,0.02,1960,40,3,2.11399,0.394736842,0.596491228,0.798245614,1,NA,13270,6713,8028,8549,NA,0,Unit-specific,Unit-specific,Unit-specific,Unit-specific,210,0.001,0.004,0.02,0.003,0,3,89,0.13,0.3,0,0