Skip to content

Commit 8e0314c

Browse files
authored
GridPath v2010.10.1
Merge pull request #1318 from blue-marble/develop
2 parents 8287fb5 + e527e83 commit 8e0314c

17 files changed

Lines changed: 560 additions & 518 deletions

gridpath/common_functions.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -289,6 +289,13 @@ def get_run_scenario_parser():
289289
"summary results.",
290290
)
291291

292+
parser.add_argument(
293+
"--skip_quick_summary",
294+
default=False,
295+
action="store_true",
296+
help="Skip quick summary text file",
297+
)
298+
292299
return parser
293300

294301

gridpath/project/capacity/capacity.py

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -451,6 +451,7 @@ def summarize_results(
451451
availability_iteration,
452452
subproblem,
453453
stage,
454+
skip_quick_summary,
454455
):
455456
"""
456457
:param scenario_directory:
@@ -476,22 +477,9 @@ def summarize_results(
476477

477478
# Open in 'append' mode, so that results already written by other
478479
# modules are not overridden
479-
with open(summary_results_file, "a") as outfile:
480-
outfile.write("\n### CAPACITY RESULTS ###\n")
481-
482-
# Get the results CSV as dataframe
483-
capacity_results_df = pd.read_csv(
484-
os.path.join(
485-
scenario_directory,
486-
weather_iteration,
487-
hydro_iteration,
488-
availability_iteration,
489-
subproblem,
490-
stage,
491-
"results",
492-
"project_period.csv",
493-
)
494-
)
480+
if not skip_quick_summary:
481+
with open(summary_results_file, "a") as outfile:
482+
outfile.write("\n### CAPACITY RESULTS ###\n")
495483

496484
required_capacity_modules = get_required_subtype_modules(
497485
scenario_directory=scenario_directory,
@@ -516,5 +504,6 @@ def summarize_results(
516504
availability_iteration,
517505
subproblem,
518506
stage,
507+
skip_quick_summary,
519508
summary_results_file,
520509
)

gridpath/project/capacity/capacity_types/dr_new.py

Lines changed: 33 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -479,6 +479,7 @@ def summarize_results(
479479
availability_iteration,
480480
subproblem,
481481
stage,
482+
skip_quick_summary,
482483
summary_results_file,
483484
):
484485
"""
@@ -490,41 +491,42 @@ def summarize_results(
490491
:return:
491492
"""
492493

493-
# Get the results CSV as dataframe
494-
capacity_results_agg_df = read_results_file_generic(
495-
scenario_directory=scenario_directory,
496-
weather_iteration=weather_iteration,
497-
hydro_iteration=hydro_iteration,
498-
availability_iteration=availability_iteration,
499-
subproblem=subproblem,
500-
stage=stage,
501-
capacity_type=Path(__file__).stem,
502-
)
494+
if not skip_quick_summary:
495+
# Get the results CSV as dataframe
496+
capacity_results_agg_df = read_results_file_generic(
497+
scenario_directory=scenario_directory,
498+
weather_iteration=weather_iteration,
499+
hydro_iteration=hydro_iteration,
500+
availability_iteration=availability_iteration,
501+
subproblem=subproblem,
502+
stage=stage,
503+
capacity_type=Path(__file__).stem,
504+
)
503505

504-
# Get all technologies with new build DR power OR energy capacity
505-
new_build_df = pd.DataFrame(
506-
capacity_results_agg_df[
507-
(capacity_results_agg_df["new_build_mw"] > 0)
508-
| (capacity_results_agg_df["new_build_mwh"] > 0)
509-
][["new_build_mw", "new_build_mwh"]]
510-
)
506+
# Get all technologies with new build DR power OR energy capacity
507+
new_build_df = pd.DataFrame(
508+
capacity_results_agg_df[
509+
(capacity_results_agg_df["new_build_mw"] > 0)
510+
| (capacity_results_agg_df["new_build_mwh"] > 0)
511+
][["new_build_mw", "new_build_mwh"]]
512+
)
511513

512-
# Get the power and energy units from the units.csv file
513-
power_unit, energy_unit, fuel_unit = get_units(scenario_directory)
514+
# Get the power and energy units from the units.csv file
515+
power_unit, energy_unit, fuel_unit = get_units(scenario_directory)
514516

515-
# Rename column header
516-
columns = [
517-
"New DR Power Capacity ({})".format(power_unit),
518-
"New DR Energy Capacity ({})".format(energy_unit),
519-
]
517+
# Rename column header
518+
columns = [
519+
"New DR Power Capacity ({})".format(power_unit),
520+
"New DR Energy Capacity ({})".format(energy_unit),
521+
]
520522

521-
write_summary_results_generic(
522-
results_df=new_build_df,
523-
columns=columns,
524-
summary_results_file=summary_results_file,
525-
title="New DR Capacity",
526-
empty_title="No new DR was built.",
527-
)
523+
write_summary_results_generic(
524+
results_df=new_build_df,
525+
columns=columns,
526+
summary_results_file=summary_results_file,
527+
title="New DR Capacity",
528+
empty_title="No new DR was built.",
529+
)
528530

529531

530532
# Database

gridpath/project/capacity/capacity_types/energy_new_lin.py

Lines changed: 29 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -516,6 +516,7 @@ def summarize_results(
516516
availability_iteration,
517517
subproblem,
518518
stage,
519+
skip_quick_summary,
519520
summary_results_file,
520521
):
521522
"""
@@ -527,37 +528,38 @@ def summarize_results(
527528
:return:
528529
"""
529530

530-
# Get the results CSV as dataframe
531-
energy_results_agg_df = read_results_file_generic(
532-
scenario_directory=scenario_directory,
533-
weather_iteration=weather_iteration,
534-
hydro_iteration=hydro_iteration,
535-
availability_iteration=availability_iteration,
536-
subproblem=subproblem,
537-
stage=stage,
538-
capacity_type=Path(__file__).stem,
539-
)
531+
if not skip_quick_summary:
532+
# Get the results CSV as dataframe
533+
energy_results_agg_df = read_results_file_generic(
534+
scenario_directory=scenario_directory,
535+
weather_iteration=weather_iteration,
536+
hydro_iteration=hydro_iteration,
537+
availability_iteration=availability_iteration,
538+
subproblem=subproblem,
539+
stage=stage,
540+
capacity_type=Path(__file__).stem,
541+
)
540542

541-
# Get all technologies with the new build energy
542-
new_build_df = pd.DataFrame(
543-
energy_results_agg_df[energy_results_agg_df["new_build_energy_mwh"] > 0][
544-
"new_build_energy_mwh"
545-
]
546-
)
543+
# Get all technologies with the new build energy
544+
new_build_df = pd.DataFrame(
545+
energy_results_agg_df[energy_results_agg_df["new_build_energy_mwh"] > 0][
546+
"new_build_energy_mwh"
547+
]
548+
)
547549

548-
# Get the units from the units.csv file
549-
power_unit, energy_unit, fuel_unit = get_units(scenario_directory)
550+
# Get the units from the units.csv file
551+
power_unit, energy_unit, fuel_unit = get_units(scenario_directory)
550552

551-
# Rename column header
552-
columns = ["New Energy ({})".format(power_unit)]
553+
# Rename column header
554+
columns = ["New Energy ({})".format(power_unit)]
553555

554-
write_summary_results_generic(
555-
results_df=new_build_df,
556-
columns=columns,
557-
summary_results_file=summary_results_file,
558-
title="New Energy Procurement",
559-
empty_title="No new energy_new_lin generation was procured.",
560-
)
556+
write_summary_results_generic(
557+
results_df=new_build_df,
558+
columns=columns,
559+
summary_results_file=summary_results_file,
560+
title="New Energy Procurement",
561+
empty_title="No new energy_new_lin generation was procured.",
562+
)
561563

562564

563565
# Database

gridpath/project/capacity/capacity_types/fuel_prod_new.py

Lines changed: 50 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -681,6 +681,7 @@ def summarize_results(
681681
availability_iteration,
682682
subproblem,
683683
stage,
684+
skip_quick_summary,
684685
summary_results_file,
685686
):
686687
"""
@@ -691,58 +692,60 @@ def summarize_results(
691692
:param summary_results_file:
692693
:return:
693694
"""
695+
if not skip_quick_summary:
696+
# Get the results CSV as dataframe
697+
capacity_results_agg_df = read_results_file_generic(
698+
scenario_directory=scenario_directory,
699+
weather_iteration=weather_iteration,
700+
hydro_iteration=hydro_iteration,
701+
availability_iteration=availability_iteration,
702+
subproblem=subproblem,
703+
stage=stage,
704+
capacity_type=Path(__file__).stem,
705+
)
694706

695-
# Get the results CSV as dataframe
696-
capacity_results_agg_df = read_results_file_generic(
697-
scenario_directory=scenario_directory,
698-
weather_iteration=weather_iteration,
699-
hydro_iteration=hydro_iteration,
700-
availability_iteration=availability_iteration,
701-
subproblem=subproblem,
702-
stage=stage,
703-
capacity_type=Path(__file__).stem,
704-
)
705-
706-
# Get all technologies with new build production OR release OR energy capacity
707-
new_build_df = pd.DataFrame(
708-
capacity_results_agg_df[
709-
(capacity_results_agg_df["new_fuel_prod_capacity_fuelunitperhour"] > 0)
710-
| (capacity_results_agg_df["new_fuel_rel_capacity_fuelunitperhour"] > 0)
711-
| (capacity_results_agg_df["new_fuel_stor_capacity_fuelunit"] > 0)
712-
][
713-
[
714-
"new_fuel_prod_capacity_fuelunitperhour",
715-
"new_fuel_rel_capacity_fuelunitperhour",
716-
"new_fuel_stor_capacity_fuelunit",
707+
# Get all technologies with new build production OR release OR energy capacity
708+
new_build_df = pd.DataFrame(
709+
capacity_results_agg_df[
710+
(capacity_results_agg_df["new_fuel_prod_capacity_fuelunitperhour"] > 0)
711+
| (capacity_results_agg_df["new_fuel_rel_capacity_fuelunitperhour"] > 0)
712+
| (capacity_results_agg_df["new_fuel_stor_capacity_fuelunit"] > 0)
713+
][
714+
[
715+
"new_fuel_prod_capacity_fuelunitperhour",
716+
"new_fuel_rel_capacity_fuelunitperhour",
717+
"new_fuel_stor_capacity_fuelunit",
718+
]
717719
]
718-
]
719-
)
720+
)
720721

721-
# Get the units from the units.csv file
722-
power_unit, energy_unit, fuel_unit = get_units(scenario_directory)
722+
# Get the units from the units.csv file
723+
power_unit, energy_unit, fuel_unit = get_units(scenario_directory)
723724

724-
# Rename column header
725-
columns = [
726-
"New Fuel Production Capacity ({} per hour)".format(fuel_unit),
727-
"New Fuel Release Capacity ({} per hour)".format(fuel_unit),
728-
"New Fuel Storage Capacity ({})".format(fuel_unit),
729-
]
725+
# Rename column header
726+
columns = [
727+
"New Fuel Production Capacity ({} per hour)".format(fuel_unit),
728+
"New Fuel Release Capacity ({} per hour)".format(fuel_unit),
729+
"New Fuel Storage Capacity ({})".format(fuel_unit),
730+
]
731+
732+
write_summary_results_generic(
733+
results_df=new_build_df,
734+
columns=columns,
735+
summary_results_file=summary_results_file,
736+
title="New Fuel Production, Release, and Storage Capacity",
737+
empty_title="No new fuel production was built.",
738+
)
730739

731-
write_summary_results_generic(
732-
results_df=new_build_df,
733-
columns=columns,
734-
summary_results_file=summary_results_file,
735-
title="New Fuel Production, Release, and Storage Capacity",
736-
empty_title="No new fuel production was built.",
737-
)
738-
739-
with open(summary_results_file, "a") as outfile:
740-
outfile.write("\n--> New Fuel Production, Release, and Storage Capacity <--\n")
741-
if new_build_df.empty:
742-
outfile.write("No new fuel production was built.\n")
743-
else:
744-
new_build_df.to_string(outfile, float_format="{:,.2f}".format)
745-
outfile.write("\n")
740+
with open(summary_results_file, "a") as outfile:
741+
outfile.write(
742+
"\n--> New Fuel Production, Release, and Storage Capacity <--\n"
743+
)
744+
if new_build_df.empty:
745+
outfile.write("No new fuel production was built.\n")
746+
else:
747+
new_build_df.to_string(outfile, float_format="{:,.2f}".format)
748+
outfile.write("\n")
746749

747750

748751
# Database

0 commit comments

Comments
 (0)