Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
475a94a
stress_periods.py: combine ra metrics into one csv; refactor metric c…
patrickbrown4 Jun 23, 2026
d7f5dae
stress_periods.py: whitespace
patrickbrown4 Jun 23, 2026
60ed855
remove get_and_write_neue() and simplified national neue.csv/eue.csv …
patrickbrown4 Jun 23, 2026
c3c4400
calc_ra_metrics(): aggregate before the ra calculation functions
patrickbrown4 Jun 23, 2026
dc8c59e
reformat RA threshold switches
patrickbrown4 Jun 23, 2026
7f4e779
stress_periods.py: write EUE event list
patrickbrown4 Jun 24, 2026
7d6a1a2
add MultiMetricRA case to cases_test.csv
patrickbrown4 Jun 24, 2026
f9da333
stress_periods.py: fix get_events() and calc_max_duration() for no ev…
patrickbrown4 Jun 24, 2026
cf7b5c8
replace get_stress_metric_periods() with get_shortfall_periods() and …
patrickbrown4 Jun 24, 2026
3d525f2
stress_periods.py: fix stress/shoulder format
patrickbrown4 Jun 24, 2026
fc09c9a
move plot_stress_diagnostics() to diagnostic_plots.map_outagerate_new…
patrickbrown4 Jun 24, 2026
ff29cc5
stress_periods.py: fix handling of no new stress periods
patrickbrown4 Jun 24, 2026
5388a3d
stress_periods.py: streamline logs; diagnostic_plots.py: fix new_stre…
patrickbrown4 Jun 24, 2026
9bbb98e
stress_periods.py: for shoulder periods on first day, loop around to …
patrickbrown4 Jun 24, 2026
b718a22
stress_periods.py: fix empty shoulder periods
patrickbrown4 Jun 24, 2026
50f0dc1
fix some plots
patrickbrown4 Jun 24, 2026
b125b1d
docs: adapt ra-flowcharts.png for multimetric RA
patrickbrown4 Jun 25, 2026
0a936a4
add profile to eue_events output
patrickbrown4 Jun 25, 2026
dfa9d27
drop already-modeled stress hours from eue/lole profiles used to iden…
patrickbrown4 Jun 25, 2026
d88d298
add reedsplots.plot_eue_events()
patrickbrown4 Jun 25, 2026
85acca5
adapt plot_stressperiod_evolution() for different RA metrics; fix plo…
patrickbrown4 Jun 26, 2026
7780385
revert compare_cases.py bypass
patrickbrown4 Jun 26, 2026
2bfecac
reedsplots.py: fix scaling in plot_stressperiod_evolution(); bypass h…
patrickbrown4 Jun 26, 2026
3eaf1fd
fix get_longest_events() when there are no events
patrickbrown4 Jun 27, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions cases.csv
Original file line number Diff line number Diff line change
Expand Up @@ -269,14 +269,14 @@ GSw_PRM_StressModel,Model used to identify stress periods: pras or a string star
GSw_PRM_StressOutages,Whether to apply the availability factor (forced + scheduled outages) during stress periods,0; 1,1,
GSw_PRM_StressSeedLoadLevel,Region hierarchy level at which to include peak coincident load days as seeded stress periods (or False to ignore peaks),false; False; FALSE; r; nercr; transreg; transgrp; cendiv; st; interconnect; country; usda_region; ccreg,transgrp,
GSw_PRM_StressSeedMinRElevel,Region hierarchy level at which to include minimum wind and solar capacity factor days as seeded stress periods (or False to ignore min-wind/solar CF days),false; False; FALSE; r; nercr; transreg; transgrp; cendiv; st; interconnect; country; usda_region; ccreg,interconnect,
GSw_PRM_StressStorageCutoff,"How to select ""shoulder"" stress periods giving storage time to recharge before/after high-unserved-energy periods. Two-part switch separated by _. The first argument is ""EUE"" or ""capacity"" or ""absolute"". If ""EUE"" the second argument specifies a PRAS storage headspace / EUE threshold [fraction]; if ""cap"" it specifies a headspace / storage capacity threshold [fraction]; if ""abs"" it specifies absolute number of periods before/after [integer]. Turned off if set to ""off"".",N/A,EUE_0.1,
GSw_PRM_StressThresholdMetrics,"/-delimited list of metrics for identifying stress periods (supported options are: NEUE, LOLH)",N/A,NEUE,
GSw_PRM_StressThresholdLOLH,LOLH threshold [hours/year] above which to re-solve the latest model year with new stress periods; formulated as HierarchyLevel_LOLH_PeriodAggMethod where HierarchyLevel is a column in hierarchy.csv; LOLH is loss of load event-hours per year [event-h/year]; PeriodAggMethod is 'sum' or 'max' over the hours in each period (only used in period selection) (see README.md for detailed notes),N/A,transgrp_2.4_sum,
GSw_PRM_StressThresholdLOLE,LOLE threshold [event-days/year] above which to re-solve the latest model year with new stress periods; formulated as HierarchyLevel_LOLEdays_PeriodAggMethod where HierarchyLevel is a column in hierarchy.csv; LOLEdays is loss of load event-days per year (a day is counted if at least one hour has a shortfall) [event-day/year]; PeriodAggMethod is 'sum' or 'max' over the hours in each period (only used in period selection) (see README.md for detailed notes),N/A,transgrp_0.1_max,
GSw_PRM_StressThresholdNEUE,Annual NEUE level [ppm] threshold above which to re-solve the latest model year with new stress periods; formulated as HierarchyLevel_NEUEppm_PeriodAggMethod where HierarchyLevel is a column in hierarchy.csv; NEUEppm is normalized expected unserved energy in parts per million [ppm]; PeriodAggMethod is 'sum' or 'max' over the hours in each period (only used in period selection) (see README.md for detailed notes),N/A,transgrp_1_sum,
GSw_PRM_StressThresholdOutageDuration,Outage duration; formulated as HierarchyLevel_OutageDurationHours_PeriodAggMethod where HierarchyLevel is a column in hierarchy.csv; OutageDurationHours is the max outage duration in hours; PeriodAggMethod is 'max' over the hours in each period (only used in period selection) (see README.md for detailed notes),N/A,transgrp_10000_max,
GSw_PRM_StressThresholdOutageMagnitude,Outage magnitude; formulated as HierarchyLevel_OutageMagnitudeMW_PeriodAggMethod where HierarchyLevel is a column in hierarchy.csv; OutageMagnitudeMW is the max outage magnitude in MW; PeriodAggMethod 'max' over the hours in each period (only used in period selection) (see README.md for detailed notes),N/A,transgrp_0.1_max,
GSw_PRM_StressThresholdNormalizedOutageMagnitude,Normalized outage magnitude; formulated as HierarchyLevel_NormalizedOutageMagnitude_PeriodAggMethod where HierarchyLevel is a column in hierarchy.csv; NormalizedOutageMagnitude is the max outage normalized magnitude (ratio of the maxmimum load) ; PeriodAggMethod is 'max' over the hours in each period (only used in period selection) (see README.md for detailed notes),N/A,transgrp_10_max,
GSw_PRM_StressStorageCutoff,How to select shoulder stress periods giving storage time to recharge before/after high-unserved-energy periods. Two-part switch separated by _. The first argument is 'EUE' or 'capacity' or 'absolute'. If 'EUE' the second argument specifies a PRAS storage headspace / EUE threshold [fraction]; if 'cap' it specifies a headspace / storage capacity threshold [fraction]; if 'abs' it specifies absolute number of periods before/after [integer]. Turned off if set to 'off'.,N/A,EUE_0.1,
GSw_PRM_StressThresholdMetrics,/-delimited list of metrics for identifying stress periods; supported metrics (case-insensitive) are: LOLD | LOLE | LOLH | NEUE | Depth | Duration,N/A,NEUE,
GSw_PRM_StressThresholdDepth,Outage depth threshold [MW_EUE/MW_peak_load] (fraction); formulated as HierarchyLevel_Depth where HierarchyLevel is a column in hierarchy.csv; Depth is the max outage magnitude in [MW EUE] / [MW peak demand],N/A,transgrp_0.1,
GSw_PRM_StressThresholdDuration,Outage duration threshold [hours]; formulated as HierarchyLevel_Duration where HierarchyLevel is a column in hierarchy.csv; Duration is the max outage duration in hours,N/A,transgrp_12,
GSw_PRM_StressThresholdLOLD,LOLD threshold [event-days/year]; formulated as HierarchyLevel_LOLD where HierarchyLevel is a column in hierarchy.csv; LOLD is loss-of-load event-days per year,N/A,transgrp_0.1,
GSw_PRM_StressThresholdLOLE,LOLE threshold [events/year]; formulated as HierarchyLevel_LOLE where HierarchyLevel is a column in hierarchy.csv; events is loss-of-load events per year,N/A,transgrp_0.1,
GSw_PRM_StressThresholdLOLH,LOLH threshold [event-hours/year]; formulated as HierarchyLevel_LOLH where HierarchyLevel is a column in hierarchy.csv; LOLH is loss-of-load event-hours per year,N/A,transgrp_2.4,
GSw_PRM_StressThresholdNEUE,NEUE threshold [ppm]; formulated as HierarchyLevel_NEUE where HierarchyLevel is a column in hierarchy.csv; NEUEppm is normalized expected unserved energy in parts per million,N/A,transgrp_1,
GSw_PRM_UpdateFraction,Fraction to add to the PRM if a region fails RA threshold (only used if GSw_PRM_UpdateMethod = 1),float,0.02,
GSw_PRM_UpdateMethod,Option to update PRM: (0) no update; (1) static update set by GSw_PRM_UpdateFraction; (2) dynamic update informed by PRAS; (3) dynamic update but only after all new stress periods have been added,0; 1; 2; 3,0,
GSw_PRMTRADE_level,hierarchy level within which to allow PRM trading,r; nercr; transreg; transgrp; cendiv; st; interconnect; country; usda_region,country,
Expand Down
131 changes: 66 additions & 65 deletions cases_test.csv
Original file line number Diff line number Diff line change
@@ -1,65 +1,66 @@
,Default Value,Pacific,USA_defaults,Mid_Case,USA_decarb,github_Pacific,github_Everything,github_MA_county_CC,Pacific_CC,Pacific_weks,Pacific_full_year,Interday_storage,Pacific_2020,Pacific_rep15,WY_county,WECC_county,PJM_county_CC,NYVT_mixed,OR_water,MonteCarlo_Random,MonteCarlo_LHS,Everything,Simple,USA_fast,USA_faster,Pacific_DR,Pacific_MGA,Pacific_LoadSite95,MARICTNYNJPAOH_Offshore,R2P
ignore,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,
GSw_Region,cendiv/Pacific,,country/USA,country/USA,country/USA,,st/ID.WY.NE.IA.IL,st/MA,,,,,,,st/WY,interconnect/western,transreg/PJM,st/NY.VT,st/OR,st/NE.NY.PA,st/NE.NY.PA,st/ID.WY.NE.IA.IL,st/KS,country/USA,country/USA,,,,st/MA.RI.CT.NY.NJ.PA.OH,
endyear,2032,,2050,2050,2050,2029,2060,2026,,,,,,,,,,,2035,2030,2030,2060,2035,2050,2050,,,,,
yearset,,,,,,,2010..2060..10,,,,,,,,,,,,,2010..2050..5,2010..2050..5,2010..2060..10,,,2010_2025_2050,,,,,
GSw_ZoneSet,,,,,,,z54,z3109,,,,,,,z3109,z3109,z3109,PJMcounty,,,,z54,,z54,z48,,,,,
GSw_GasCurve,2,,1,1,,,,,,,,,,,,,,,,,,,,1,1,,,,,
GSw_Geothermal,,,,2,,,,,,,,,,,,,,,,,,,0,,0,,,,,
GSw_GrowthPenalties,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,
GSw_Upstream,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,
GSw_TransHurdleRate,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,
distpvscen,,,,,stscen2023_mid_case_95_by_2035,,,,,,,,,,,,,,,,,,,,,,,,,
GSw_AnnualCap,,,,,2,,1,,,,,,,,,,,,,,,1,,,,,,,,
GSw_AnnualCapScen,,,,,start2024_90pct2035_100pct2045,,start2027_95pct2035,,,,,,,,,,,,,,,start2027_95pct2035,,,,,,,,
GSw_LoadProfiles,,,,,EER2025_100by2050,EER2025_IRAlow,EER2025_IRAlow,EER2025_IRAlow,,,,,historic,,,,,,,,,EER2025_100by2050,,,,historic,,,,
GSw_NG_CRF_penalty,,,,,ramp_2045,,ramp_2023_2035,,,,,,,,,,,,,,,ramp_2023_2035,,,,,,,,
GSw_PRM_NetImportLimit,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,
GSw_RetirePenalty,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,
GSw_FakeData,,,,,,1,1,1,,,,,,,,,,,,,,,,,,,,,,
GSw_PRM_CapCredit,,,,,,,,1,1,,,,,,,,1,,,,,,,,,,,,,
GSw_PRM_scenario,,,,,,,,,static,,,,,,,,static,,,,,,,,,,,,,
GSw_PRM_UpdateMethod,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,
GSw_HourlyType,,,,,,,,,,wek,year,,,,,,,,,,,,,,,,,,,
GSw_InterDayLinkage,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,
GSw_HourlyWeatherYears,,,,,,,2012_2013,,,,,,2020,2007_2008_2009_2010_2011_2012_2013_2016_2017_2018_2019_2020_2021_2022_2023,,,,,,,,2012_2013,,,,2018,,,,
GSw_HourlyClusterMapMethod,,,,,,,,,,,,,,bestfirst,,,,,,,,,,,,,,,,
GSw_WaterCapacity,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,
GSw_WaterMain,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,
GSw_WaterUse,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,
resource_adequacy_years,,,,,,,2011_2012_2013_2021_2022_2023,,,,,,,,,,,,,,,2011_2012_2013_2021_2022_2023,,,,,,,,
GSw_HourlyClusterAlgorithm,,,,,,,,,,,,,,,,,,,,user,user,,,,,,,,,
MCS_runs,,,,,,,,,,,,,,,,,,,,2,2,,,,,,,,,
MCS_dist_groups,,,,,,,,,,,,,,,,,,,,tech.hydro.nuclear.gas.coal.load_country,upv_tri.nuclear_tri.ng_fuel_price_tri.load_country_unif,,,,,,,,,
MCS_lhs,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,
GSw_PRM_StressIterateMax,,,,,,,,0,,,,,,,,0,0,,,1,1,,,,,,,,,
GSw_ReducedResource,,,,,,,1,,,,,,,,,,,,,,,1,,,,,,,,
GSw_SitingUPV,,,,,,limited,limited,limited,,,,,,,,,,,,,,limited,,,,,,,,
GSw_SitingWindOfs,,,,,,limited,limited,limited,,,,,,,,,,,,,,open,,,,,,,,
GSw_SitingWindOns,,,,,,limited,limited,limited,,,,,,,,,,,,,,limited,,,,,,,,
GSw_TransScen,,,,,,,NTP_MT,,,,,,,,,,,,,,,NTP_MT,,,,,,,,
GSw_CO2_Detail,,,,,,,1,,,,,,,,,,,,,,,1,,,,,,,,
GSw_DAC,,,,,,,1,,,,,,,,,,,,,,,1,,,,,,,,
GSw_NoFossilOffsetCDR,,,,,,,1,,,,,,,,,,,,,,,1,,,,,,,,
GSw_Biopower,,,,,,,,,,,,,,,,,,,,,,,0,,0,,,,,
GSw_HourlyChunkLengthRep,,,,,,,,,,,,,,,,,,,,,,,6,4,4,,,,,
GSw_HourlyChunkLengthStress,,,,,,,,,,,,,,,,,,,,,,,6,4,4,,,,,
GSw_LfillGas,,,,,,,,,,,,,,,,,,,,,,,0,,0,,,,,
GSw_Nuclear,,,,,,,,,,,,,,,,,,,,,,,0,,0,,,,,
GSw_OpRes,,,,,,,,,,,,,,,,,,,,,,,0,,0,,,,,
GSw_StartCost,,,,,,,,,,,,,,,,,,,,,,,0,0,0,,,,,
GSw_H2,,,,,,,,,,,,,,,,,,,,,,,,0,0,,,,,
GSw_H2_PTC,,,,,,,,,,,,,,,,,,,,,,,,0,0,,,,,
GSw_H2Combustion,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,
GSw_DRShed,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,
GSw_MGA_CostDelta,,,,,,,,,,,,,,,,,,,,,,,,,,,0.01,,,
GSw_LoadSiteCF,,,,,,,,,,,,,,,,,,,,,,,,,,,,0.95,,
GSw_OffshoreZones,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,
GSw_OffshoreBackbone,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,
GSw_OffshoreBackflow,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,
pras_agg_ogs_lfillgas,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1
pras_existing_unit_size,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0
pras_scheduled_outage,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0
pras_unitsize_source,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,r2x
pras_vre_combine,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1
pras_samples,,,,,,10,10,10,,,,,,,,,,,,,,,,10,10,,,,,
,Default Value,Pacific,USA_defaults,Mid_Case,USA_decarb,github_Pacific,github_Everything,github_MA_county_CC,Pacific_CC,Pacific_weks,Pacific_full_year,Interday_storage,Pacific_2020,Pacific_rep15,WY_county,WECC_county,PJM_county_CC,NYVT_mixed,OR_water,MonteCarlo_Random,MonteCarlo_LHS,Everything,Simple,USA_fast,USA_faster,MultiMetricRA,Pacific_DR,Pacific_MGA,Pacific_LoadSite95,MARICTNYNJPAOH_Offshore,R2P
ignore,1,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
GSw_Region,cendiv/Pacific,,country/USA,country/USA,country/USA,,st/ID.WY.NE.IA.IL,st/MA,,,,,,,st/WY,interconnect/western,transreg/PJM,st/NY.VT,st/OR,st/NE.NY.PA,st/NE.NY.PA,st/ID.WY.NE.IA.IL,st/KS,country/USA,country/USA,st/NY,,,,st/MA.RI.CT.NY.NJ.PA.OH,
endyear,2032,,2050,2050,2050,2029,2060,2026,,,,,,,,,,,2035,2030,2030,2060,2035,2050,2050,2050,,,,,
yearset,,,,,,,2010..2060..10,,,,,,,,,,,,,2010..2050..5,2010..2050..5,2010..2060..10,,,2010_2025_2050,2010..2050..5,,,,,
GSw_ZoneSet,,,,,,,z54,z3109,,,,,,,z3109,z3109,z3109,PJMcounty,,,,z54,,z54,z48,,,,,,
GSw_GasCurve,2,,1,1,,,,,,,,,,,,,,,,,,,,1,1,,,,,,
GSw_Geothermal,,,,2,,,,,,,,,,,,,,,,,,,0,,0,,,,,,
GSw_GrowthPenalties,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,
GSw_Upstream,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,
GSw_TransHurdleRate,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,
distpvscen,,,,,stscen2023_mid_case_95_by_2035,,,,,,,,,,,,,,,,,,,,,,,,,,
GSw_AnnualCap,,,,,2,,1,,,,,,,,,,,,,,,1,,,,,,,,,
GSw_AnnualCapScen,,,,,start2024_90pct2035_100pct2045,,start2027_95pct2035,,,,,,,,,,,,,,,start2027_95pct2035,,,,,,,,,
GSw_LoadProfiles,,,,,EER2025_100by2050,EER2025_IRAlow,EER2025_IRAlow,EER2025_IRAlow,,,,,historic,,,,,,,,,EER2025_100by2050,,,,,historic,,,,
GSw_NG_CRF_penalty,,,,,ramp_2045,,ramp_2023_2035,,,,,,,,,,,,,,,ramp_2023_2035,,,,,,,,,
GSw_PRM_NetImportLimit,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,
GSw_RetirePenalty,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,
GSw_FakeData,,,,,,1,1,1,,,,,,,,,,,,,,,,,,,,,,,
GSw_PRM_CapCredit,,,,,,,,1,1,,,,,,,,1,,,,,,,,,,,,,,
GSw_PRM_scenario,,,,,,,,,static,,,,,,,,static,,,,,,,,,,,,,,
GSw_PRM_UpdateMethod,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,
GSw_HourlyType,,,,,,,,,,wek,year,,,,,,,,,,,,,,,,,,,,
GSw_InterDayLinkage,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,
GSw_HourlyWeatherYears,,,,,,,2012_2013,,,,,,2020,2007_2008_2009_2010_2011_2012_2013_2016_2017_2018_2019_2020_2021_2022_2023,,,,,,,,2012_2013,,,,,2018,,,,
GSw_HourlyClusterMapMethod,,,,,,,,,,,,,,bestfirst,,,,,,,,,,,,,,,,,
GSw_WaterCapacity,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,
GSw_WaterMain,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,
GSw_WaterUse,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,
resource_adequacy_years,,,,,,,2011_2012_2013_2021_2022_2023,,,,,,,,,,,,,,,2011_2012_2013_2021_2022_2023,,,,,,,,,
GSw_HourlyClusterAlgorithm,,,,,,,,,,,,,,,,,,,,user,user,,,,,,,,,,
MCS_runs,,,,,,,,,,,,,,,,,,,,2,2,,,,,,,,,,
MCS_dist_groups,,,,,,,,,,,,,,,,,,,,tech.hydro.nuclear.gas.coal.load_country,upv_tri.nuclear_tri.ng_fuel_price_tri.load_country_unif,,,,,,,,,,
MCS_lhs,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,
GSw_PRM_StressIterateMax,,,,,,,,0,,,,,,,,0,0,,,1,1,,,,,,,,,,
GSw_ReducedResource,,,,,,,1,,,,,,,,,,,,,,,1,,,,,,,,,
GSw_SitingUPV,,,,,,limited,limited,limited,,,,,,,,,,,,,,limited,,,,,,,,,
GSw_SitingWindOfs,,,,,,limited,limited,limited,,,,,,,,,,,,,,open,,,,,,,,,
GSw_SitingWindOns,,,,,,limited,limited,limited,,,,,,,,,,,,,,limited,,,,,,,,,
GSw_TransScen,,,,,,,NTP_MT,,,,,,,,,,,,,,,NTP_MT,,,,,,,,,
GSw_CO2_Detail,,,,,,,1,,,,,,,,,,,,,,,1,,,,,,,,,
GSw_DAC,,,,,,,1,,,,,,,,,,,,,,,1,,,,,,,,,
GSw_NoFossilOffsetCDR,,,,,,,1,,,,,,,,,,,,,,,1,,,,,,,,,
GSw_Biopower,,,,,,,,,,,,,,,,,,,,,,,0,,0,,,,,,
GSw_HourlyChunkLengthRep,,,,,,,,,,,,,,,,,,,,,,,6,4,4,,,,,,
GSw_HourlyChunkLengthStress,,,,,,,,,,,,,,,,,,,,,,,6,4,4,,,,,,
GSw_LfillGas,,,,,,,,,,,,,,,,,,,,,,,0,,0,,,,,,
GSw_Nuclear,,,,,,,,,,,,,,,,,,,,,,,0,,0,,,,,,
GSw_OpRes,,,,,,,,,,,,,,,,,,,,,,,0,,0,,,,,,
GSw_StartCost,,,,,,,,,,,,,,,,,,,,,,,0,0,0,,,,,,
GSw_H2,,,,,,,,,,,,,,,,,,,,,,,,0,0,,,,,,
GSw_H2_PTC,,,,,,,,,,,,,,,,,,,,,,,,0,0,,,,,,
GSw_H2Combustion,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,
GSw_PRM_StressThresholdMetrics,,,,,,,,,,,,,,,,,,,,,,,,,,NEUE/LOLH/LOLE/LOLD/duration/depth,,,,,
GSw_DRShed,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,
GSw_MGA_CostDelta,,,,,,,,,,,,,,,,,,,,,,,,,,,,0.01,,,
GSw_LoadSiteCF,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0.95,,
GSw_OffshoreZones,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,
GSw_OffshoreBackbone,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,
GSw_OffshoreBackflow,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,
pras_agg_ogs_lfillgas,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1
pras_existing_unit_size,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0
pras_scheduled_outage,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0
pras_unitsize_source,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,r2x
pras_vre_combine,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1
pras_samples,,,,,,10,10,10,,,,,,,,,,,,,,,,10,10,,,,,,
4 changes: 2 additions & 2 deletions docs/source/figs/docs/ra-flowcharts.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
13 changes: 0 additions & 13 deletions postprocessing/bokehpivot/reeds2.py
Original file line number Diff line number Diff line change
Expand Up @@ -2761,19 +2761,6 @@ def pre_spur(dfs, **kw):
}
),

('Resource adequacy',
{'file':'neue.csv',
'columns': ['year', 'iteration', 'neue'],
'index': ['year', 'iteration'],
'preprocess': [
{'func': pre_neue, 'args': {}},
],
'presets': collections.OrderedDict((
('Normalized expected unserved energy [%]', {'x':'year', 'y':'neue', 'chart_type':'Bar', 'explode':'scenario', 'bar_width':'1.75'}),
)),
}
),

('Average VRE Curtailment',
{'file':'curt_rate',
'columns': ['year', 'Curt Rate'],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,6 @@
{'name': 'Total mortality through 2050 (lives)', 'result': 'Health Damages from Emissions', 'preset': 'Total mortality through 2050'},
{'name': 'System cost + health damages: ACS ($/MWh)', 'result': 'Total Social Costs', 'preset': 'System cost + health damages: ACS CR'},
{'name': 'System cost + health damages: H6C ($/MWh)', 'result': 'Total Social Costs', 'preset': 'System cost + health damages: H6C CR'},
{'name': 'NEUE (ppm)', 'result': 'Resource adequacy', 'preset': 'Normalized expected unserved energy [%]'},
{'name': 'Runtime (hours)', 'result': 'Runtime', 'preset': 'Stacked Bars'},
{'name': 'Runtime by year (hours)', 'result': 'Runtime', 'preset': 'Stacked Bars by Year'},
]
12 changes: 4 additions & 8 deletions postprocessing/compare_cases.py
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,6 @@
'Bulk System Electricity Pric',
'National Average Electricity',
'Present Value of System Cost',
'NEUE (ppm)',
'Runtime (hours)',
'Runtime by year (hours)',
]
Expand Down Expand Up @@ -473,12 +472,12 @@ def plot_bars_abs_stacked(
dictin_neue = {}
dictin_neue_all = {}
for case in tqdm(cases, desc='NEUE'):
infiles = sorted(glob(os.path.join(cases[case],'outputs','neue_*.csv')))
infiles = sorted(glob(os.path.join(cases[case],'outputs','ra_metrics_*.csv')))
if not len(infiles):
continue
df = {}
for f in infiles:
y, i = [int(s) for s in os.path.basename(f).strip('neue_.csv').split('i')]
y, i = [int(s) for s in os.path.basename(f).strip('ra_metrics_.csv').split('i')]
df[y,i] = pd.read_csv(f, index_col=['level', 'metric', 'region']).squeeze(1)
dictin_neue_all[case] = pd.concat(df, names=('t', 'iteration'))
indices = ['t', 'level', 'metric', 'region']
Expand Down Expand Up @@ -2500,10 +2499,6 @@ def two_bars(dfplot, basecase, colors, ax, col=0, ypad=0.02):


#%%### Copy some premade single-case plots
# Use first stress metric level
## TODO: add a check for choosing level if there are multiple stress metrics
stress_metrics = dictin_sw[basecase]['GSw_PRM_StressThresholdMetrics'].split('/')
level = dictin_sw[basecase][f'GSw_PRM_StressThreshold{stress_metrics[0]}'].split('_')[0]
wide = 1 if len(hierarchy[basecase]['transreg'].unique()) > 6 else 0
weatheryear = sw.GSw_HourlyWeatherYears.split('_')[0]
metrics = [
Expand All @@ -2518,9 +2513,10 @@ def two_bars(dfplot, basecase, colors, ax, col=0, ypad=0.02):
]
for figname, width, height in [
(f'map_gencap_transcap-{lastyear}', None, SLIDE_HEIGHT),
(f'plot_stressperiod_evolution-sum-{level}', SLIDE_WIDTH, None),
('plot_stressperiod_evolution-neue', SLIDE_WIDTH, None),
(f'plot_dispatch-yearbymonth-1-{lastyear}', SLIDE_WIDTH, None),
## Include both versions for backwards compatibility
('plot_stressperiod_evolution-sum-transgrp', SLIDE_WIDTH, None),
(f'plot_dispatch-yearbymonth-1-{lastyear}-w{weatheryear}', SLIDE_WIDTH, None),
] + [
(
Expand Down
Loading