Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
93 commits
Select commit Hold shift + click to select a range
5f40e60
minimal example on how to call CVAR in run_pras.jl
abdelrahman-ayad Apr 21, 2026
4a867e6
minor fix to `get_params`
abdelrahman-ayad Apr 24, 2026
b11b588
generalize eue methods to stress metrics
abdelrahman-ayad May 4, 2026
42f38c5
update stress metrics in cases.csv
abdelrahman-ayad May 4, 2026
62e0be2
add validation checks for switches
abdelrahman-ayad May 4, 2026
71dd317
Merge branch 'main' into aa/multi_metrics
abdelrahman-ayad May 4, 2026
926d6d8
fix a bug when searching for the switch
abdelrahman-ayad May 4, 2026
fc03be8
generalize check for stressThresholdMetrics
abdelrahman-ayad May 4, 2026
d67e237
minor comment edit
abdelrahman-ayad May 4, 2026
064828b
comment stress_periods debugging code
abdelrahman-ayad May 5, 2026
c2c9cc5
refactor stress_periods; get_shoulder periods uses capacity only (not…
abdelrahman-ayad May 19, 2026
52bdfdd
remove debugging csv output
abdelrahman-ayad May 19, 2026
b632dad
minor fix
abdelrahman-ayad May 19, 2026
558e384
warning and error messages for `stressThresholdMetricSwitches`
abdelrahman-ayad May 19, 2026
37703fe
comment debugging lines
abdelrahman-ayad May 19, 2026
f246fd2
Merge branch 'main' into aa/multi_metrics
abdelrahman-ayad May 19, 2026
50fae67
update get_pras_stress_metric call
abdelrahman-ayad May 19, 2026
10f7ba5
replace ReEDS_Augur by handoff dir name
abdelrahman-ayad May 19, 2026
b5c0384
minor fix
abdelrahman-ayad May 20, 2026
a0c7959
minor fixes
abdelrahman-ayad May 20, 2026
767547e
keep EUE as default metric in cases.csv
abdelrahman-ayad May 20, 2026
435dcdb
update switches logic
abdelrahman-ayad May 20, 2026
4e054d6
remove error if switch is not specified
abdelrahman-ayad May 20, 2026
0280c95
remove CVAR info
abdelrahman-ayad May 20, 2026
5ea585a
untrack cases_multi and srun_template
abdelrahman-ayad May 20, 2026
2e74fae
Merge branch 'main' into aa/multi_metrics
abdelrahman-ayad May 20, 2026
40fffa5
update dir from augur_data to PRAS
abdelrahman-ayad May 22, 2026
4070ea7
`reeds_data` instead of `PRAS` folder
abdelrahman-ayad May 22, 2026
987bc0e
USE PRAS NEUE calculations
abdelrahman-ayad May 23, 2026
aab0a08
fix a bug in get_pras_stress_metric not getting NEUE values
abdelrahman-ayad May 23, 2026
cc52dd8
remove debug statements
abdelrahman-ayad May 26, 2026
1aa6e04
minor PRAS print change
abdelrahman-ayad May 26, 2026
5e1271d
update NEUE switch name
abdelrahman-ayad May 28, 2026
041985b
change default `GSw_PRM_StressThresholdMetrics` to NEUE
abdelrahman-ayad May 29, 2026
e248912
uppercase NEUE
abdelrahman-ayad Jun 1, 2026
fc1e33f
update _stress_metric extraction
abdelrahman-ayad Jun 1, 2026
977536e
update NEUE keywords
abdelrahman-ayad Jun 1, 2026
ae1b613
always include NEUE reporting
abdelrahman-ayad Jun 1, 2026
a99df3a
Merge branch 'main' into aa/multi_metrics
abdelrahman-ayad Jun 1, 2026
79db702
revert default metric to EUE to match main
abdelrahman-ayad Jun 2, 2026
ce7c0d5
Merge branch 'main' into aa/multi_metrics
abdelrahman-ayad Jun 2, 2026
7babd28
Revert "uppercase NEUE"
abdelrahman-ayad Jun 4, 2026
02d9679
update switches and description
abdelrahman-ayad Jun 5, 2026
a4e643f
addressing PB's comments.
abdelrahman-ayad Jun 5, 2026
0a9b73f
address review comments
abdelrahman-ayad Jun 5, 2026
035c4a8
Merge branch 'main' into aa/multi_metrics
abdelrahman-ayad Jun 5, 2026
dc9694c
addressing comments; changing LOLE to LOLH
abdelrahman-ayad Jun 14, 2026
42bbf6c
remove LOLE from loop
abdelrahman-ayad Jun 14, 2026
41e2ffd
Merge branch 'main' into aa/multi_metrics
abdelrahman-ayad Jun 15, 2026
690d4d4
fix switches parsing
abdelrahman-ayad Jun 16, 2026
84c33b1
revert NEUE to neue
abdelrahman-ayad Jun 17, 2026
cbca500
minor formatting
abdelrahman-ayad Jun 17, 2026
9e885c4
Merge branch 'aa/multi_metrics' of github.com:ReEDS-Model/ReEDS into …
abdelrahman-ayad Jun 17, 2026
bd0d0ad
revert shoulder_periods changes: use EUE for LOLH
abdelrahman-ayad Jun 17, 2026
a42b6a0
remove EUE from switches list
abdelrahman-ayad Jun 17, 2026
98c1240
revert NEUE to neue
abdelrahman-ayad Jun 17, 2026
e88a1c8
Merge branch 'main' into aa/multi_metrics
abdelrahman-ayad Jun 17, 2026
0a0d986
initial implementation of outage duration
abdelrahman-ayad Jun 17, 2026
360cda4
add `OutageDuration` and `OutageMagnitude` metrics
abdelrahman-ayad Jun 17, 2026
704a0b1
add metrics to `cases.csv` and extend validation
abdelrahman-ayad Jun 17, 2026
047caf2
extend stress_metric_units dict
abdelrahman-ayad Jun 17, 2026
3afcdac
minor change
abdelrahman-ayad Jun 17, 2026
3c74b66
add LOLE
abdelrahman-ayad Jun 18, 2026
a0e0c0c
add LOLE
abdelrahman-ayad Jun 18, 2026
8e539ab
restore EUE for shoulder_periods calculation
abdelrahman-ayad Jun 19, 2026
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
ef566e2
fix prm updates for non-NEUE
abdelrahman-ayad 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
92243bb
Merge branch 'aa/metrics_extension' into pb/multimetric
patrickbrown4 Jun 29, 2026
f945065
Merge branch 'main' into aa/metrics_extension
abdelrahman-ayad Jul 7, 2026
6c6eae9
fix update_prm()
abdelrahman-ayad Jul 7, 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
12 changes: 9 additions & 3 deletions cases.csv
Original file line number Diff line number Diff line change
Expand Up @@ -263,14 +263,20 @@ GSw_PRM_NetImportLimit,Turn on (1) or off (0) the eq_firm_transfer_limit constra
GSw_PRM_NetImportLimitScen,/-delimited list of {year}_{max percent import OR 'hist' for historical percent OR 'histmax' for max historical percent across all regions} values to use in eq_firm_transfer_limit,N/A,2031_hist/2050_100,
GSw_PRM_scenario,"column of inputs/reserves/prm_annual.csv from which to draw the PRM (""nerc"" means the annual values from the 2024 NERC LTRA; ""static"" means the 2024 values from the same source); or a float (like 0.12) which gets applied as a fraction to all regions in all years (0.12 means 12%)",(static|nerc|ramp2025_20by50|^\d*\.?\d+$),0.12,
GSw_PRM_StressIncrement,How many stress periods to add per iteration,int,2,
GSw_PRM_StressIterateMax,Max number of times to iterate on a given solve year to achieve GSw_PRM_StressThreshold when using stress periods (0 means don't iterate; 1 means 1 extra ReEDS run; etc),int,5,
GSw_PRM_StressIterateMax,"Max number of times to iterate on a given solve year to achieve adequacy stress levels (e.g., GSw_PRM_StressThresholdNEUE) when using stress periods (0 means don't iterate; 1 means 1 extra ReEDS run; etc)",int,5,
GSw_PRM_StressLoadAggMethod,How to aggregate load for stress periods within the chunks specified by GSw_HourlyChunkLengthStress (only used if GSw_HourlyChunkAggMethod=mean; otherwise GSw_HourlyChunkAggMethod is used),mean; max,max,
GSw_PRM_StressModel,Model used to identify stress periods: pras or a string starting with 'user' which specifies a file at inputs/temporal/stressperiods_{GSw_PRM_StressModel}.csv,N/A,pras,
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_StressThreshold,/-delimited list of annual NEUE level [ppm] above which to re-solve the latest model year with new stress periods; formulated as HierarchyLevel_NEUEppm_StressMetric_PeriodAggMethod where HierarchyLevel is a column in hierarchy.csv; NEUEppm is normalized expected unserved energy in parts per million; StressMetric is EUE or NEUE (only used in period selection); 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_EUE_sum,
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'},
]
15 changes: 7 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 @@ -1436,7 +1435,7 @@ def two_bars(dfplot, basecase, colors, ax, col=0, ypad=0.02):

#%%### SCOE, NEUE
try:
neue_threshold = float(sw.GSw_PRM_StressThreshold.split('_')[1])
neue_threshold = float(sw.GSw_PRM_StressThresholdNEUE.split('_')[1])
width = 9 + len(cases)*0.5
plt.close()
f,ax = plt.subplots(
Expand Down Expand Up @@ -1549,9 +1548,9 @@ def two_bars(dfplot, basecase, colors, ax, col=0, ypad=0.02):

#%% Regional NEUE
try:
neue_threshold = float(sw.GSw_PRM_StressThreshold.split('_')[1])
neue_threshold = float(sw.GSw_PRM_StressThresholdNEUE.split('_')[1])
dfmap = reeds.io.get_dfmap(cases[basecase])
level = sw.GSw_PRM_StressThreshold.split('_')[0]
level = sw.GSw_PRM_StressThresholdNEUE.split('_')[0]
regions = dfmap[level].loc[hierarchy[basecase][level].unique()].bounds.minx.sort_values().index
_nrows, _ncols, _coords = reeds.plots.get_coordinates(regions, ncols=6)
labelcoords = {
Expand Down Expand Up @@ -2500,7 +2499,6 @@ def two_bars(dfplot, basecase, colors, ax, col=0, ypad=0.02):


#%%### Copy some premade single-case plots
level = dictin_sw[basecase]['GSw_PRM_StressThreshold'].split('_')[0]
wide = 1 if len(hierarchy[basecase]['transreg'].unique()) > 6 else 0
weatheryear = sw.GSw_HourlyWeatherYears.split('_')[0]
metrics = [
Expand All @@ -2515,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
Loading