NuclearTES Scripts¶
Here is a list of relevant scripts for Model 1a (LFR + TES). A lot of these scripts were used to generate data for the Energies paper (link here).
In neup-ies/simulations/scripts/output_scripts you can find a multitude of scripts to both generate data and convert existing data into figures.
Within that folder, there are some subfolders:
ANS2021Winter: scripts used to generate data for the ANS 2021 Winter Meeting back in November 2021
Model1Sweeps: data generation scripts, data automatically saved to the
simulation/outputs
directoryModel1Figures: scripts to take data from
simulation/outputs
and generate figures
Generating Data Used in Paper¶
Within Model1Sweeps…
- generate_exaggerrated_tariff_schedules.py
Creates a tariff schedule from SAM Tariff rate with amplified peaks and troughs.
Amplification factor can be specified by user
- paramSweep_stat_UDT_TPS__var_PC_TES_TurbCost.py
Supposed to be a parameter sweep where the static params are the user-defined table (UDT) and tariff price schedule (TPS)
Variable parameters we sweep over are the PC size, TES size
This uses Cory’s empirical formula for overdesign turbine cost
- User specifies:
JSON script
tshours (as array)
P_ref (as array)
- Related scripts for stacking results from multiple runs together:
- stitch_results__P_ref_multiruns.py
stacks results from multiple runs with different P_ref ranges
- stitch_results__tshours_multiruns.py
stacks results from multiple runs with different tshours ranges
Used these scripts because for a single parameter sweep, I would split the runs over several consoles/cores as a very manual parallelization
- paramSweep_sensitivity_studies_TurbCost.py
Supposed to be a parameter sweep where the static params are the user-defined table (UDT) and tariff price schedule (TPS)
Variable parameters we sweep over TES costs
- User specifies:
JSON script
tshours (discrete set)
P_ref (discrete set)
Within Model1Figures…
- generate__load_profiles.py
Generates a full year of simulation profiles
- User specifies:
JSON script
tshours (single value)
P_ref (single value)
Recreating Figures from Paper¶
All outputs from the previous section are saved to simulations/outputs/model1a_energies_paper Within Model1Figures…
- plot__load_profiles.py
Creates the violin plots for SAM Tariff rate results
Splits distributions between Winter vs Summer, Weekday vs Weekend
Calls on a util class called
NuclearTESLoadProfiles
which hosts a lot of methods used to make the violin plots
- plot__load_profiles__caiso.py
Creates the violin plots for CAISO Tariff rate results
Splits distributions between Winter vs Summer, Weekday vs Weekend
Calls on a util class called
NuclearTESLoadProfiles
which hosts a lot of methods used to make the violin plots
- paramSweep__tariff_exaggerated.py
Creates the relative PPA heatmap plots for SAM Tariff rates of PC size vs TES size
- paramSweep__caiso.py
Creates the relative PPA heatmap plot for CAISO Tariff rates of PC size vs TES size
- paramSweep__plot_sensitivity_on_TESCost.py
Creates the 3x3 plots of TES Cost sensitivity
- pricing_multipliers_CAISO.py
Creates the pricing multipliers as time series plot