DualPlantTES Scripts¶
Here is a list of relevant scripts for Model 2a (LFR + CSP + TES).
In neup-ies/simulations/scripts/debugging__Model2_scripts you can find a multitude of scripts used to debug Model 2a. These scripts are not as polished as the ones for Model 1a.
Debugging¶
- run_PySAM_case.py
Used to run PySAM cases for specified PC size and TES size
Isn’t used specifically for debugging, but saves Pyomo Dispatch targets that we can then use with PySSC to actually mixed-mode debug
- run_PySSCWrap_DispatchTargets.py
Actually used to enter debugging mode in CodeLite or other C++ IDE
Some Data Generation¶
- gen__PySAM_Pyomo_sweep_for_failures__model2.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
- User specifies:
JSON script
tshours (as array)
P_ref (as array)
- generate_two_peak_dispatch.py
Creates new tariff rate schedule with two peaks (one in morning, one in late afternoon) as shown below
- generate__load_profiles.py
Generates a full year of simulation profiles for model2a
- User specifies:
JSON script
tshours (single value)
P_ref (single value)
Post Processing / Plotting¶
- plot__load_profiles.py
Creates the violin plots for Twin Peak 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 (some variations to deal with CSP profile)Example plot:
- plot__PySAM_Pyomo_sweep_for_failures__model2.py
plotting results from parameter sweep files
- Param sweep files are found in the
neup-ies/simulations/outputs
subdirectory usually called something like “failureModes_PySAM__model2_Hamilton_560_tariffx1__2022_02__pyomo_1__horizon_24_48__TES_[2,14]__PC_[600,850]__CSP_400”
- Param sweep files are found in the