GridPath 2026.2.0__tar.gz → 2026.4.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {gridpath-2026.2.0 → gridpath-2026.4.0}/GridPath.egg-info/PKG-INFO +2 -2
- {gridpath-2026.2.0 → gridpath-2026.4.0}/GridPath.egg-info/SOURCES.txt +30 -0
- gridpath-2026.4.0/GridPath.egg-info/entry_points.txt +62 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/PKG-INFO +2 -2
- {gridpath-2026.2.0 → gridpath-2026.4.0}/README.md +1 -1
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/load_raw_data.py +59 -15
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/manual_adjustments.py +25 -4
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/project/availability/eia860_to_project_availability_input_csvs.py +33 -1
- gridpath-2026.4.0/data_toolkit/project/availability/outages/create_availability_iteration_input_csvs.py +811 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/project/availability/weather_derates/create_monte_carlo_gen_weather_derate_input_csvs.py +62 -5
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/project/availability/weather_derates/create_sync_gen_weather_derate_input_csvs.py +61 -57
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/project/capacity_specified/eia860_to_project_specified_capacity_input_csvs.py +40 -1
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/project/create_monte_carlo_gen_input_csvs_common.py +32 -8
- gridpath-2026.4.0/data_toolkit/project/create_sync_gen_input_csvs_common.py +218 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/project/fixed_cost/eia860_to_project_fixed_cost_input_csvs.py +39 -1
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/project/load_zones/eia860_to_project_load_zone_input_csvs.py +26 -1
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/project/opchar/eia860_to_project_opchar_input_csvs.py +71 -2
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/project/opchar/hydro/create_hydro_iteration_input_csvs.py +150 -6
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/project/opchar/var_profiles/create_monte_carlo_var_gen_input_csvs.py +60 -4
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/project/opchar/var_profiles/create_sync_var_gen_input_csvs.py +53 -72
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/project/portfolios/eia860_to_project_portfolio_input_csvs.py +53 -33
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/project/project_data_filters_common.py +1 -1
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/raw_data/pudl/pudl_to_gridpath_raw_data.py +12 -10
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/run_data_toolkit.py +5 -4
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/system/create_monte_carlo_load_input_csvs.py +100 -14
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/system/create_sync_load_input_csvs.py +36 -2
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/system/eia930_load_zone_input_csvs.py +7 -0
- gridpath-2026.4.0/data_toolkit/temporal/create_monte_carlo_weather_draw_profiles.py +801 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/temporal/create_monte_carlo_weather_draws.py +134 -225
- gridpath-2026.4.0/data_toolkit/temporal/create_temporal_iteration_csv.py +322 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/db/common_functions.py +11 -2
- {gridpath-2026.2.0 → gridpath-2026.4.0}/db/create_database.py +13 -5
- gridpath-2026.4.0/db/csvs_test_examples/create_test_database.py +69 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/db/db_schema.sql +759 -274
- {gridpath-2026.2.0 → gridpath-2026.4.0}/db/utilities/port_csvs_to_db.py +4 -1
- {gridpath-2026.2.0 → gridpath-2026.4.0}/db/utilities/scenario.py +11 -12
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/auxiliary/db_interface.py +2 -89
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/auxiliary/import_export_rules.py +38 -36
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/auxiliary/module_list.py +2 -1
- gridpath-2026.4.0/gridpath/auxiliary/scenario_chars.py +776 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/auxiliary/validations.py +1 -1
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/common_functions.py +61 -1
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/geography/load_zones.py +11 -2
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/get_scenario_inputs.py +64 -24
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/import_scenario_results.py +73 -28
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/max_npv.py +0 -13
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/system/aggregate_load_balance_penalties.py +41 -16
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/system/policy/aggregate_policy_target_violation_penalties.py +17 -1
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/process_results.py +1 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/availability/availability_types/exogenous.py +80 -1
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/capacity/capacity.py +16 -77
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/capacity/capacity_types/dr_new.py +0 -57
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/capacity/capacity_types/energy_new_lin.py +0 -53
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/capacity/capacity_types/fuel_prod_new.py +0 -76
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/capacity/capacity_types/gen_new_bin.py +0 -53
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/capacity/capacity_types/gen_new_lin.py +0 -53
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/capacity/capacity_types/gen_ret_bin.py +0 -53
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/capacity/capacity_types/gen_ret_lin.py +0 -53
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/capacity/capacity_types/stor_new_bin.py +0 -57
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/capacity/capacity_types/stor_new_lin.py +0 -57
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/__init__.py +4 -1
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/carbon_tax.py +1 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/costs.py +3 -3
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/operational_types/common_functions.py +124 -209
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/operational_types/energy_load_following.py +14 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/operational_types/energy_profile.py +3 -5
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/operational_types/gen_var.py +31 -9
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/operational_types/gen_var_must_take.py +31 -8
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/operational_types/gen_var_stor_hyb.py +25 -1
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/operational_types/load_component_shift.py +1 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/operational_types/opchar_param_requirements.csv +2 -1
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/power.py +0 -126
- gridpath-2026.4.0/gridpath/project/operations/power_output_groups.py +420 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/reserves/op_type_dependent/reserve_limits_by_op_type.py +22 -11
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/policy/compliance_types/__init__.py +9 -0
- gridpath-2026.4.0/gridpath/project/policy/compliance_types/sod_exceedance.py +208 -0
- gridpath-2026.4.0/gridpath/project/policy/compliance_types/sod_flat_block.py +32 -0
- gridpath-2026.4.0/gridpath/project/policy/compliance_types/sod_stor.py +226 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/policy/policy_contribution.py +214 -62
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/summary_results.py +46 -12
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/run_end_to_end.py +10 -1
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/run_scenario.py +317 -239
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/markets/market_participation.py +0 -1
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/energy_targets/horizon_energy_target_balance.py +0 -100
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/energy_targets/period_energy_target_balance.py +0 -99
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/fuel_burn_limits/fuel_burn_limit_balance.py +0 -1
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/generic_policy/__init__.py +36 -4
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/generic_policy/aggregate_project_policy_contributions.py +25 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/generic_policy/consolidate_results.py +25 -16
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/generic_policy/generic_policy_requirements.py +224 -85
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/generic_policy/policy_target_balance.py +52 -1
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/reliability/prm/aggregate_project_simple_prm_contribution.py +0 -1
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/reliability/prm/capacity_contribution_transfers.py +0 -13
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/temporal/investment/periods.py +12 -7
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/temporal/operations/horizons.py +0 -18
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/temporal/operations/timepoints.py +6 -6
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/transmission/capacity/capacity_types/tx_new_lin.py +0 -1
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/transmission/operations/carbon_emissions.py +0 -1
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/transmission/operations/hurdle_costs.py +0 -1
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/transmission/operations/hurdle_costs_by_timepoint.py +0 -1
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/transmission/operations/transmission_target_contributions.py +0 -1
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/validate_inputs.py +37 -30
- {gridpath-2026.2.0 → gridpath-2026.4.0}/setup.py +58 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/geography/test_geography_generic_policy.py +21 -3
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/availability/availability_types/test_exogenous.py +21 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/operational_types/test_gen_var.py +10 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/operational_types/test_gen_var_must_take.py +9 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/operational_types/test_gen_var_stor_hyb.py +8 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/reserves/op_type_dependent/test_frequency_response.py +2 -2
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/reserves/op_type_dependent/test_lf_reserves_down.py +2 -2
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/reserves/op_type_dependent/test_lf_reserves_up.py +2 -2
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/reserves/op_type_dependent/test_regulation_down.py +1 -1
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/reserves/op_type_dependent/test_regulation_up.py +1 -1
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/reserves/op_type_dependent/test_spinning_reserves.py +2 -2
- gridpath-2026.4.0/tests/project/operations/test_power_output_groups.py +170 -0
- gridpath-2026.4.0/tests/test_data_toolkit/project/availability/outages/test_create_availability_iteration_input_csvs.py +86 -0
- gridpath-2026.4.0/tests/test_data_toolkit/project/availability/weather_derates/test_create_monte_carlo_gen_weather_derate_input_csvs.py +127 -0
- gridpath-2026.4.0/tests/test_data_toolkit/project/availability/weather_derates/test_create_sync_gen_weather_derate_input_csvs.py +85 -0
- gridpath-2026.4.0/tests/test_data_toolkit/project/opchar/hydro/test_create_hydro_iteration_input_csvs.py +115 -0
- gridpath-2026.4.0/tests/test_data_toolkit/project/opchar/var_profiles/test_create_monte_carlo_var_gen_input_csvs.py +127 -0
- gridpath-2026.4.0/tests/test_data_toolkit/project/opchar/var_profiles/test_create_sync_var_gen_input_csvs.py +85 -0
- gridpath-2026.4.0/tests/test_data_toolkit/system/__init__.py +0 -0
- gridpath-2026.4.0/tests/test_data_toolkit/system/test_create_monte_carlo_load_input_csvs.py +137 -0
- gridpath-2026.4.0/tests/test_data_toolkit/system/test_create_sync_load_input_csvs.py +93 -0
- gridpath-2026.4.0/tests/test_data_toolkit/temporal/__init__.py +0 -0
- gridpath-2026.4.0/tests/test_data_toolkit/temporal/test_create_monte_carlo_weather_draw_profiles.py +97 -0
- gridpath-2026.4.0/tests/test_data_toolkit/temporal/test_create_monte_carlo_weather_draws.py +79 -0
- gridpath-2026.4.0/tests/test_data_toolkit/temporal/test_create_temporal_scenarios.py +73 -0
- gridpath-2026.4.0/tests/test_data_toolkit/test_create_database.py +59 -0
- gridpath-2026.4.0/tests/test_data_toolkit/test_load_raw_data.py +70 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/test_examples.py +67 -5
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/test_run_data_toolkit.py +2 -0
- gridpath-2026.4.0/tests/transmission/__init__.py +0 -0
- gridpath-2026.4.0/tests/transmission/availability/__init__.py +0 -0
- gridpath-2026.4.0/tests/transmission/availability/availability_types/__init__.py +0 -0
- gridpath-2026.4.0/tests/transmission/capacity/__init__.py +0 -0
- gridpath-2026.4.0/tests/transmission/capacity/capacity_types/__init__.py +0 -0
- gridpath-2026.4.0/tests/transmission/operations/__init__.py +0 -0
- gridpath-2026.4.0/tests/transmission/operations/operational_types/__init__.py +0 -0
- gridpath-2026.4.0/viz/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/viz/dispatch_plot.py +88 -23
- gridpath-2026.2.0/GridPath.egg-info/entry_points.txt +0 -32
- gridpath-2026.2.0/data_toolkit/project/availability/outages/create_availability_iteration_input_csvs.py +0 -477
- gridpath-2026.2.0/data_toolkit/project/create_sync_gen_input_csvs_common.py +0 -91
- gridpath-2026.2.0/data_toolkit/temporal/create_temporal_iteration_csv.py +0 -213
- gridpath-2026.2.0/gridpath/auxiliary/scenario_chars.py +0 -688
- {gridpath-2026.2.0 → gridpath-2026.4.0}/GridPath.egg-info/dependency_links.txt +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/GridPath.egg-info/requires.txt +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/GridPath.egg-info/top_level.txt +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/LICENSE.md +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/MANIFEST.in +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/common_methods.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/fuels/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/fuels/eiaaeo_fuel_price_input_csvs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/fuels/eiaaeo_to_fuel_chars_input_csvs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/project/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/project/availability/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/project/availability/outages/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/project/availability/weather_derates/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/project/capacity_specified/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/project/common_methods.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/project/fixed_cost/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/project/load_zones/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/project/opchar/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/project/opchar/fuels/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/project/opchar/fuels/eia860_to_project_fuel_input_csvs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/project/opchar/heat_rates/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/project/opchar/heat_rates/eia860_to_project_heat_rate_input_csvs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/project/opchar/hydro/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/project/opchar/var_profiles/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/project/portfolios/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/raw_data/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/raw_data/common_functions.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/raw_data/get_pcm_demo_user_defined_inputs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/raw_data/pudl/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/raw_data/pudl/download_data_from_pudl.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/raw_data/ra_toolkit/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/raw_data/ra_toolkit/get_ra_toolkit_data.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/system/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/system/common_methods.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/temporal/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/temporal/create_temporal_scenarios.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/transmission/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/transmission/availability/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/transmission/availability/eia930_to_transmission_availability_input_csvs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/transmission/capacity_specified/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/transmission/capacity_specified/eia930_to_transmission_specified_capacity_input_csvs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/transmission/load_zones/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/transmission/load_zones/eia930_to_transmission_load_zone_input_csvs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/transmission/opchar/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/transmission/opchar/eia930_to_transmission_opchar_input_csvs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/transmission/portfolios/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/transmission/portfolios/eia930_to_transmission_portfolio_input_csvs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/data_toolkit/transmission/transmission_data_filters_common.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/db/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/db/csvs_test_examples/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/db/csvs_test_examples/project/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/db/data/mod_availability_types.csv +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/db/data/mod_capacity_and_operational_type_invalid_combos.csv +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/db/data/mod_capacity_types.csv +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/db/data/mod_feature_subscenarios.csv +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/db/data/mod_features.csv +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/db/data/mod_horizon_boundary_types.csv +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/db/data/mod_months.csv +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/db/data/mod_operational_types.csv +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/db/data/mod_prm_types.csv +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/db/data/mod_reserve_types.csv +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/db/data/mod_run_status_types.csv +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/db/data/mod_tx_availability_types.csv +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/db/data/mod_tx_capacity_and_tx_operational_type_invalid_combos.csv +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/db/data/mod_tx_capacity_types.csv +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/db/data/mod_tx_operational_types.csv +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/db/data/mod_units.csv +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/db/data/mod_validation_status_types.csv +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/db/data/ui_scenario_detail_table_metadata.csv +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/db/data/ui_scenario_detail_table_row_metadata.csv +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/db/data/ui_scenario_results_plot_metadata.csv +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/db/data/ui_scenario_results_table_metadata.csv +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/db/data/viz_technologies.csv +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/db/doc.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/db/utilities/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/db/utilities/add_column_to_csv.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/db/utilities/common_functions.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/db/utilities/create_project_files.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/db/utilities/custom_functions.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/auxiliary/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/auxiliary/auxiliary.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/auxiliary/dynamic_components.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/auxiliary/plugins/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/auxiliary/plugins/common_functions.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/auxiliary/plugins/cplex_solve.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/auxiliary/plugins/gurobi_solve.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/geography/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/geography/carbon_cap_zones.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/geography/carbon_credits_zones.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/geography/carbon_tax_zones.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/geography/energy_target_zones.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/geography/frequency_response_balancing_areas.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/geography/fuel_burn_limit_balancing_areas.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/geography/generic_policy.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/geography/inertia_reserves_balancing_areas.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/geography/instantaneous_penetration_zones.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/geography/load_following_down_balancing_areas.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/geography/load_following_up_balancing_areas.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/geography/local_capacity_zones.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/geography/markets.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/geography/performance_standard_zones.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/geography/prm_zones.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/geography/regulation_down_balancing_areas.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/geography/regulation_up_balancing_areas.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/geography/spinning_reserves_balancing_areas.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/geography/transmission_target_zones.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/geography/water_network.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/project/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/project/aggregate_capacity_costs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/project/aggregate_operational_costs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/project/aggregate_operational_tuning_costs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/project/aggregate_prm_group_costs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/system/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/system/aggregate_market_revenue_and_costs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/system/policy/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/system/policy/aggregate_carbon_cap_violation_penalties.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/system/policy/aggregate_carbon_credit_sales_and_purchases.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/system/policy/aggregate_carbon_tax_costs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/system/policy/aggregate_fuel_burn_limit_violation_penalties.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/system/policy/aggregate_horizon_energy_target_violation_penalties.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/system/policy/aggregate_instantaneous_penetration_violation_penalties.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/system/policy/aggregate_performance_standard_violation_penalties.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/system/policy/aggregate_period_energy_target_violation_penalties.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/system/policy/aggregate_subsidies.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/system/policy/aggregate_transmission_target_violation_penalties.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/system/reliability/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/system/reliability/local_capacity/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/system/reliability/local_capacity/aggregate_local_capacity_violation_penalties.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/system/reliability/prm/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/system/reliability/prm/aggregate_capacity_transfer_costs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/system/reliability/prm/aggregate_prm_violation_penalties.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/system/reserve_violation_penalties/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/system/reserve_violation_penalties/aggregate_reserve_violation_penalties.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/system/reserve_violation_penalties/frequency_response.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/system/reserve_violation_penalties/inertia_reserves.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/system/reserve_violation_penalties/lf_reserves_down.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/system/reserve_violation_penalties/lf_reserves_up.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/system/reserve_violation_penalties/regulation_down.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/system/reserve_violation_penalties/regulation_up.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/system/reserve_violation_penalties/spinning_reserves.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/system/water/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/system/water/aggregate_flow_violation_penalty_costs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/system/water/aggregate_reservoir_violation_penalty_costs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/transmission/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/transmission/aggregate_capacity_costs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/transmission/aggregate_hurdle_costs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/transmission/aggregate_tx_tuning_costs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/objective/transmission/carbon_imports_tuning_costs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/availability/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/availability/availability.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/availability/availability_types/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/availability/availability_types/binary.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/availability/availability_types/continuous.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/capacity/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/capacity/capacity_groups.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/capacity/capacity_types/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/capacity/capacity_types/common_methods.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/capacity/capacity_types/energy_spec.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/capacity/capacity_types/fuel_prod_spec.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/capacity/capacity_types/gen_spec.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/capacity/capacity_types/gen_stor_hyb_spec.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/capacity/capacity_types/stor_spec.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/capacity/common_functions.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/capacity/costs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/capacity/potential.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/capacity/relative_capacity.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/common_functions.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/consolidate_results.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/fuels.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/cap_factor_limits.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/carbon_cap.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/carbon_credits.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/carbon_emissions.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/common_functions.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/cycle_select.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/energy_target_contributions.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/fix_commitment.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/fuel_burn.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/instantaneous_penetration_contributions.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/operational_types/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/operational_types/dispatchable_load.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/operational_types/dr.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/operational_types/energy_hrz_shaping.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/operational_types/energy_slice_hrz_shaping.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/operational_types/flex_load.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/operational_types/fuel_prod.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/operational_types/gen_always_on.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/operational_types/gen_commit_bin.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/operational_types/gen_commit_cap.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/operational_types/gen_commit_lin.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/operational_types/gen_commit_unit_common.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/operational_types/gen_hydro.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/operational_types/gen_hydro_must_take.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/operational_types/gen_hydro_water.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/operational_types/gen_must_run.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/operational_types/gen_simple.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/operational_types/gen_simple_energy_limited.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/operational_types/gen_simple_no_load_balance_power.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/operational_types/load_component_modifier.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/operational_types/stor.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/performance_standard.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/reserves/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/reserves/frequency_response.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/reserves/inertia_reserves.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/reserves/lf_reserves_down.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/reserves/lf_reserves_up.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/reserves/op_type_dependent/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/reserves/op_type_dependent/frequency_response.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/reserves/op_type_dependent/inertia_reserves.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/reserves/op_type_dependent/lf_reserves_down.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/reserves/op_type_dependent/lf_reserves_up.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/reserves/op_type_dependent/regulation_down.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/reserves/op_type_dependent/regulation_up.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/reserves/op_type_dependent/spinning_reserves.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/reserves/regulation_down.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/reserves/regulation_up.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/reserves/reserve_provision.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/reserves/spinning_reserves.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/reserves/subhourly_energy_adjustment.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/supplemental_firing.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/operations/tuning_costs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/policy/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/policy/compliance_types/f_output.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/policy/compliance_types/flat_horizon.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/policy/compliance_types/stor_losses.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/reliability/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/reliability/local_capacity/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/reliability/local_capacity/local_capacity_contribution.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/reliability/prm/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/reliability/prm/common_functions.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/reliability/prm/elcc_surface.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/reliability/prm/group_costs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/reliability/prm/prm_simple.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/reliability/prm/prm_types/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/reliability/prm/prm_types/energy_only_allowed.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/reliability/prm/prm_types/fully_deliverable.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/project/reliability/prm/prm_types/fully_deliverable_energy_limited.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/run_scenario_parallel.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/load_balance/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/load_balance/aggregate_load_modifier_power.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/load_balance/aggregate_market_participation.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/load_balance/aggregate_project_power.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/load_balance/aggregate_transmission_power.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/load_balance/consolidate_results.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/load_balance/load_balance.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/load_balance/load_following.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/load_balance/static_load_requirement.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/markets/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/markets/fix_market_participation.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/markets/prices.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/markets/volume.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/carbon_cap/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/carbon_cap/aggregate_project_carbon_credits.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/carbon_cap/aggregate_project_carbon_emissions.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/carbon_cap/aggregate_transmission_carbon_emissions.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/carbon_cap/carbon_balance.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/carbon_cap/carbon_cap.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/carbon_cap/consolidate_results.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/carbon_credits/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/carbon_credits/aggregate_project_carbon_credits.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/carbon_credits/carbon_credits_balance.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/carbon_credits/consolidate_results.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/carbon_credits/sell_and_buy_credits.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/carbon_credits/sell_credits.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/carbon_tax/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/carbon_tax/aggregate_project_carbon_credits.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/carbon_tax/aggregate_project_carbon_emissions.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/carbon_tax/carbon_tax.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/carbon_tax/carbon_tax_costs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/carbon_tax/consolidate_results.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/energy_targets/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/energy_targets/aggregate_horizon_energy_target_contributions.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/energy_targets/aggregate_period_energy_target_contributions.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/energy_targets/consolidate_results.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/energy_targets/horizon_energy_target.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/energy_targets/period_energy_target.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/fuel_burn_limits/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/fuel_burn_limits/aggregate_project_fuel_burn.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/fuel_burn_limits/consolidate_results.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/fuel_burn_limits/fuel_burn_limits.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/instantaneous_penetration/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/instantaneous_penetration/instantaneous_penetration_aggregation.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/instantaneous_penetration/instantaneous_penetration_balance.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/instantaneous_penetration/instantaneous_penetration_requirements.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/performance_standard/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/performance_standard/aggregate_project_carbon_credits.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/performance_standard/aggregate_project_performance_standard.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/performance_standard/consolidate_results.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/performance_standard/performance_standard.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/performance_standard/performance_standard_balance.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/subsidies.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/transmission_targets/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/transmission_targets/aggregate_transmission_target_contributions.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/transmission_targets/consolidate_results.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/transmission_targets/transmission_target.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/policy/transmission_targets/transmission_target_balance.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/reliability/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/reliability/local_capacity/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/reliability/local_capacity/aggregate_local_capacity_contribution.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/reliability/local_capacity/consolidate_results.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/reliability/local_capacity/local_capacity_balance.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/reliability/local_capacity/local_capacity_requirement.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/reliability/prm/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/reliability/prm/consolidate_results.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/reliability/prm/elcc_surface.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/reliability/prm/prm_balance.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/reliability/prm/prm_requirement.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/reserves/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/reserves/aggregation/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/reserves/aggregation/frequency_response.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/reserves/aggregation/inertia_reserves.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/reserves/aggregation/lf_reserves_down.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/reserves/aggregation/lf_reserves_up.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/reserves/aggregation/regulation_down.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/reserves/aggregation/regulation_up.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/reserves/aggregation/reserve_aggregation.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/reserves/aggregation/spinning_reserves.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/reserves/balance/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/reserves/balance/frequency_response.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/reserves/balance/inertia_reserves.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/reserves/balance/lf_reserves_down.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/reserves/balance/lf_reserves_up.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/reserves/balance/regulation_down.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/reserves/balance/regulation_up.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/reserves/balance/reserve_balance.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/reserves/balance/spinning_reserves.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/reserves/requirement/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/reserves/requirement/frequency_response.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/reserves/requirement/inertia_reserves.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/reserves/requirement/lf_reserves_down.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/reserves/requirement/lf_reserves_up.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/reserves/requirement/regulation_down.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/reserves/requirement/regulation_up.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/reserves/requirement/reserve_requirements.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/reserves/requirement/spinning_reserves.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/water/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/water/elevation_types/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/water/elevation_types/constant.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/water/elevation_types/endogenous.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/water/elevation_types/exogenous.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/water/powerhouses.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/water/reservoirs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/water/water_flows.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/water/water_node_balance.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/water/water_node_inflows_outflows.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/water/water_nodes.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/system/water/water_system_params.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/temporal/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/temporal/finalize.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/temporal/investment/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/temporal/investment/superperiods.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/temporal/operations/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/transmission/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/transmission/availability/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/transmission/availability/availability.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/transmission/availability/availability_types/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/transmission/availability/availability_types/exogenous.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/transmission/availability/availability_types/exogenous_monthly.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/transmission/capacity/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/transmission/capacity/capacity.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/transmission/capacity/capacity_groups.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/transmission/capacity/capacity_types/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/transmission/capacity/capacity_types/tx_spec.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/transmission/capacity/common_functions.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/transmission/capacity/consolidate_results.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/transmission/capacity/costs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/transmission/operations/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/transmission/operations/common_functions.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/transmission/operations/consolidate_results.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/transmission/operations/operational_types/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/transmission/operations/operational_types/tx_dcopf.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/transmission/operations/operational_types/tx_simple.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/transmission/operations/operational_types/tx_simple_binary.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/transmission/operations/operations.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/transmission/operations/simultaneous_flow_limits.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/transmission/operations/transmission_flow_limits.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/transmission/operations/tx_tuning_costs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/transmission/reliability/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/gridpath/transmission/reliability/capacity_transfer_links.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/setup.cfg +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/auxiliary/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/auxiliary/test_auxiliary.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/auxiliary/test_validations.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/common_functions.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/geography/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/geography/test_carbon_cap_zones.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/geography/test_carbon_credits_zones.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/geography/test_carbon_tax_zones.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/geography/test_energy_target_zones.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/geography/test_frequency_response_balancing_areas.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/geography/test_fuel_burn_limit_balancing_areas.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/geography/test_inertia_reserves_balancing_areas.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/geography/test_instantaneous_penetration_zones.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/geography/test_load_following_down_balancing_areas.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/geography/test_load_following_up_balancing_areas.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/geography/test_load_zones.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/geography/test_local_capacity_zones.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/geography/test_markets.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/geography/test_performance_standard_zones.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/geography/test_prm_zones.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/geography/test_regulation_down_balancing_areas.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/geography/test_regulation_up_balancing_areas.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/geography/test_spinning_reserves_balancing_areas.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/geography/test_transmission_target_zones.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/geography/test_water_network.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/objective/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/objective/project/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/objective/project/test_aggregate_capacity_costs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/objective/project/test_aggregate_operational_costs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/objective/project/test_aggregate_operational_tuning_costs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/objective/project/test_aggregate_prm_group_costs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/objective/system/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/objective/system/policy/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/objective/system/policy/test_aggregate_carbon_cap_violation_penalties.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/objective/system/policy/test_aggregate_carbon_credit_sales_and_purchases.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/objective/system/policy/test_aggregate_carbon_tax_costs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/objective/system/policy/test_aggregate_fuel_burn_limit_violation_penalties.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/objective/system/policy/test_aggregate_horizon_energy_target_violation_penalties.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/objective/system/policy/test_aggregate_instantaneous_penetration_violation_penalties.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/objective/system/policy/test_aggregate_performance_standard_violation_penalties.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/objective/system/policy/test_aggregate_period_energy_target_violation_penalties.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/objective/system/policy/test_aggregate_policy_target_violation_penalties.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/objective/system/policy/test_aggregate_subsidies.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/objective/system/policy/test_aggregate_transmission_target_violation_penalties.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/objective/system/reserve_violation_penalties/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/objective/system/reserve_violation_penalties/test_frequency_response.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/objective/system/reserve_violation_penalties/test_inertia_reserves.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/objective/system/reserve_violation_penalties/test_lf_reserves_down.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/objective/system/reserve_violation_penalties/test_lf_reserves_up.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/objective/system/reserve_violation_penalties/test_regulation_down.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/objective/system/reserve_violation_penalties/test_regulation_up.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/objective/system/reserve_violation_penalties/test_spinning_reserves.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/objective/system/test_aggregate_load_balance_penalties.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/objective/system/test_aggregate_market_revenue_and_costs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/objective/test_max_npv.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/objective/transmission/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/objective/transmission/test_aggregate_capacity_costs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/objective/transmission/test_aggregate_hurdle_costs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/objective/transmission/test_aggregate_tx_tuning_costs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/objective/transmission/test_carbon_imports_tuning_costs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/availability/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/availability/availability_types/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/availability/availability_types/common_functions.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/availability/availability_types/test_binary.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/availability/availability_types/test_continuous.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/availability/test_availability.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/capacity/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/capacity/capacity_types/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/capacity/capacity_types/test_common_methods.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/capacity/capacity_types/test_dr_new.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/capacity/capacity_types/test_energy_new_lin.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/capacity/capacity_types/test_energy_spec.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/capacity/capacity_types/test_fuel_prod_new.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/capacity/capacity_types/test_fuel_prod_spec.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/capacity/capacity_types/test_gen_new_bin.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/capacity/capacity_types/test_gen_new_lin.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/capacity/capacity_types/test_gen_ret_bin.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/capacity/capacity_types/test_gen_ret_lin.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/capacity/capacity_types/test_gen_spec.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/capacity/capacity_types/test_gen_stor_hyb_spec.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/capacity/capacity_types/test_stor_new_bin.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/capacity/capacity_types/test_stor_new_lin.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/capacity/capacity_types/test_stor_spec.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/capacity/test_capacity.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/capacity/test_capacity_groups.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/capacity/test_costs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/capacity/test_potentials.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/capacity/test_relative_capacity.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/common_functions.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/operational_types/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/operational_types/test_common_functions.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/operational_types/test_dispatchable_load.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/operational_types/test_dr.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/operational_types/test_energy_hrz_shaping.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/operational_types/test_energy_load_following.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/operational_types/test_energy_profile.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/operational_types/test_energy_slice_hrz_shaping.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/operational_types/test_flex_load.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/operational_types/test_fuel_prod.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/operational_types/test_gen_always_on.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/operational_types/test_gen_commit_bin.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/operational_types/test_gen_commit_cap.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/operational_types/test_gen_commit_lin.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/operational_types/test_gen_hydro.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/operational_types/test_gen_hydro_must_take.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/operational_types/test_gen_hydro_water.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/operational_types/test_gen_must_run.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/operational_types/test_gen_simple.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/operational_types/test_gen_simple_no_load_balance_power.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/operational_types/test_init.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/operational_types/test_load_component_modifier.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/operational_types/test_load_component_shift.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/operational_types/test_stor.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/reserves/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/reserves/op_type_dependent/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/reserves/op_type_dependent/test_inertia_reserves.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/reserves/test_frequency_response.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/reserves/test_inertia_reserves.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/reserves/test_lf_reserves_down.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/reserves/test_lf_reserves_up.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/reserves/test_regulation_down.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/reserves/test_regulation_up.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/reserves/test_spinning_reserves.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/test_cap_factor_limits.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/test_carbon_cap.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/test_carbon_credits.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/test_carbon_emissions.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/test_carbon_tax.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/test_costs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/test_cycle_select.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/test_energy_target_contributions.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/test_fix_commitment.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/test_fuel_burn.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/test_init.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/test_instantaneous_penetration_contributions.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/test_performance_standard.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/test_power.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/test_supplemental_firing.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/operations/test_tuning_costs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/reliability/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/reliability/local_capacity/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/reliability/local_capacity/test_init.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/reliability/local_capacity/test_local_capacity_contribution.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/reliability/prm/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/reliability/prm/prm_types/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/reliability/prm/prm_types/test_energy_only_allowed.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/reliability/prm/prm_types/test_fully_deliverable.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/reliability/prm/prm_types/test_fully_deliverable_energy_limited.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/reliability/prm/prm_types/test_init.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/reliability/prm/test_elcc_surface.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/reliability/prm/test_group_costs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/reliability/prm/test_init.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/reliability/prm/test_prm_simple.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/test_fuels.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/project/test_init.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/load_balance/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/load_balance/test_aggregate_market_participation.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/load_balance/test_aggregate_project_power.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/load_balance/test_aggregate_transmission_power.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/load_balance/test_load_balance.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/load_balance/test_static_load_requirement.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/markets/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/markets/test_market_participation.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/markets/test_prices.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/markets/test_volume.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/policy/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/policy/carbon_cap/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/policy/carbon_cap/test_aggregate_project_carbon_credits.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/policy/carbon_cap/test_aggregate_project_carbon_emissions.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/policy/carbon_cap/test_aggregate_transmission_carbon_emissions.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/policy/carbon_cap/test_carbon_balance.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/policy/carbon_cap/test_carbon_cap.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/policy/carbon_credits/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/policy/carbon_credits/test_aggregate_project_carbon_credits.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/policy/carbon_credits/test_carbon_credits_balance.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/policy/carbon_credits/test_sell_and_buy_credits.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/policy/carbon_credits/test_sell_credits.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/policy/carbon_tax/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/policy/carbon_tax/test_aggregate_project_carbon_credits.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/policy/carbon_tax/test_aggregate_project_carbon_emissions.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/policy/carbon_tax/test_carbon_tax.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/policy/carbon_tax/test_carbon_tax_costs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/policy/energy_targets/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/policy/energy_targets/test_aggregate_horizon_energy_target_contributions.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/policy/energy_targets/test_aggregate_period_energy_target_contributions.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/policy/energy_targets/test_horizon_energy_target.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/policy/energy_targets/test_period_energy_target.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/policy/energy_targets/test_period_energy_target_balance.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/policy/fuel_burn_limits/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/policy/fuel_burn_limits/test_aggregate_project_fuel_burn.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/policy/fuel_burn_limits/test_fuel_burn_limit_balance.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/policy/fuel_burn_limits/test_fuel_burn_limits.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/policy/instantaneous_penetration/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/policy/instantaneous_penetration/test_instantaneous_penetration_aggregation.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/policy/instantaneous_penetration/test_instantaneous_penetration_balance.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/policy/instantaneous_penetration/test_instantaneous_penetration_requirements.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/policy/test_subsidies.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/policy/transmission_targets/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/policy/transmission_targets/test_aggregate_transmission_target_contributions.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/policy/transmission_targets/test_transmission_target.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/policy/transmission_targets/test_transmission_target_balance.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/reliability/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/reliability/local_capacity/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/reliability/local_capacity/test_aggregate_local_capacity_contribution.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/reliability/local_capacity/test_local_capacity_balance.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/reliability/local_capacity/test_local_capacity_requirement.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/reliability/prm/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/reliability/prm/test_aggregate_project_simple_prm_contribution.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/reliability/prm/test_capacity_contribution_transfers.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/reliability/prm/test_elcc_surface.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/reliability/prm/test_prm_balance.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/reliability/prm/test_prm_requirement.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/reserves/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/reserves/aggregation/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/reserves/aggregation/test_frequency_response.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/reserves/aggregation/test_inertia_reserves.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/reserves/aggregation/test_lf_reserves_down.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/reserves/aggregation/test_lf_reserves_up.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/reserves/aggregation/test_regulation_down.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/reserves/aggregation/test_regulation_up.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/reserves/aggregation/test_spinning_reserves.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/reserves/balance/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/reserves/balance/test_frequency_response.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/reserves/balance/test_inertia_reserves.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/reserves/balance/test_lf_reserves_down.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/reserves/balance/test_lf_reserves_up.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/reserves/balance/test_regulation_down.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/reserves/balance/test_regulation_up.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/reserves/balance/test_spinning_reserves.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/reserves/requirement/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/reserves/requirement/test_frequency_response.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/reserves/requirement/test_inertia_reserves.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/reserves/requirement/test_lf_reserves_down.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/reserves/requirement/test_lf_reserves_up.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/reserves/requirement/test_regulation_down.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/reserves/requirement/test_regulation_up.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/reserves/requirement/test_spinning_reserves.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/water/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/water/elevation_types/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/water/elevation_types/test_constant.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/water/elevation_types/test_endogenous.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/water/elevation_types/test_exogenous.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/water/test_powerhouses.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/water/test_water_flows.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/water/test_water_node_balance.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/water/test_water_nodes.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/water/test_water_reservoirs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/system/water/test_water_system_params.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/temporal/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/temporal/investment/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/temporal/investment/test_periods.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/temporal/investment/test_superperiods.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/temporal/operations/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/temporal/operations/test_horizons.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/temporal/operations/test_timepoints.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/test_create_database.py +0 -0
- {gridpath-2026.2.0/tests/transmission → gridpath-2026.4.0/tests/test_data_toolkit}/__init__.py +0 -0
- {gridpath-2026.2.0/tests/transmission/availability → gridpath-2026.4.0/tests/test_data_toolkit/project}/__init__.py +0 -0
- {gridpath-2026.2.0/tests/transmission/availability/availability_types → gridpath-2026.4.0/tests/test_data_toolkit/project/availability}/__init__.py +0 -0
- {gridpath-2026.2.0/tests/transmission/capacity → gridpath-2026.4.0/tests/test_data_toolkit/project/availability/outages}/__init__.py +0 -0
- {gridpath-2026.2.0/tests/transmission/capacity/capacity_types → gridpath-2026.4.0/tests/test_data_toolkit/project/availability/weather_derates}/__init__.py +0 -0
- {gridpath-2026.2.0/tests/transmission/operations → gridpath-2026.4.0/tests/test_data_toolkit/project/opchar}/__init__.py +0 -0
- {gridpath-2026.2.0/tests/transmission/operations/operational_types → gridpath-2026.4.0/tests/test_data_toolkit/project/opchar/hydro}/__init__.py +0 -0
- {gridpath-2026.2.0/viz → gridpath-2026.4.0/tests/test_data_toolkit/project/opchar/var_profiles}/__init__.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/test_run_scenario_parallel.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/test_viz.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/transmission/availability/availability_types/test_exogenous.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/transmission/availability/availability_types/test_exogenous_monthly.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/transmission/availability/test_availability.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/transmission/capacity/capacity_types/test_tx_new_lin.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/transmission/capacity/capacity_types/test_tx_spec.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/transmission/capacity/test_capacity.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/transmission/capacity/test_capacity_groups.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/transmission/capacity/test_costs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/transmission/operations/operational_types/test_tx_dcopf.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/transmission/operations/operational_types/test_tx_simple.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/transmission/operations/operational_types/test_tx_simple_binary.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/transmission/operations/test_carbon_emissions.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/transmission/operations/test_hurdle_costs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/transmission/operations/test_hurdle_costs_by_timepoint.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/transmission/operations/test_operations.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/transmission/operations/test_simultaneous_flow_limits.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/transmission/operations/test_transmission_flow_limits.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/transmission/operations/test_transmission_target_contributions.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/transmission/operations/test_tx_tuning_costs.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/tests/transmission/test_init.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/viz/capacity_factor_plot.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/viz/capacity_new_plot.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/viz/capacity_retired_plot.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/viz/capacity_total_loadzone_comparison_plot.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/viz/capacity_total_plot.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/viz/capacity_total_scenario_comparison_plot.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/viz/carbon_plot.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/viz/common_functions.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/viz/cost_plot.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/viz/curtailment_hydro_heatmap_plot.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/viz/curtailment_variable_heatmap_plot.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/viz/energy_plot.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/viz/energy_target_plot.py +0 -0
- {gridpath-2026.2.0 → gridpath-2026.4.0}/viz/project_operations_plot.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: GridPath
|
|
3
|
-
Version: 2026.
|
|
3
|
+
Version: 2026.4.0
|
|
4
4
|
Summary: A versatile simulation and optimization platform for power-system planning and operations.
|
|
5
5
|
Home-page: https://www.gridpath.io
|
|
6
6
|
Maintainer: Blue Marble Analytics LLC
|
|
@@ -65,7 +65,7 @@ Dynamic: summary
|
|
|
65
65
|
[](https://coveralls.io/github/blue-marble/gridpath?branch=main)
|
|
66
66
|
[](https://github.com/psf/black)
|
|
67
67
|
[](https://github.com/blue-marble/gridpath/actions/workflows/black.yml)
|
|
68
|
-
[](https://
|
|
68
|
+
[](https://doi.org/10.5281/zenodo.5822994)
|
|
69
69
|
|
|
70
70
|
# Welcome to GridPath
|
|
71
71
|
|
|
@@ -61,6 +61,7 @@ data_toolkit/system/create_monte_carlo_load_input_csvs.py
|
|
|
61
61
|
data_toolkit/system/create_sync_load_input_csvs.py
|
|
62
62
|
data_toolkit/system/eia930_load_zone_input_csvs.py
|
|
63
63
|
data_toolkit/temporal/__init__.py
|
|
64
|
+
data_toolkit/temporal/create_monte_carlo_weather_draw_profiles.py
|
|
64
65
|
data_toolkit/temporal/create_monte_carlo_weather_draws.py
|
|
65
66
|
data_toolkit/temporal/create_temporal_iteration_csv.py
|
|
66
67
|
data_toolkit/temporal/create_temporal_scenarios.py
|
|
@@ -82,6 +83,7 @@ db/create_database.py
|
|
|
82
83
|
db/db_schema.sql
|
|
83
84
|
db/doc.py
|
|
84
85
|
db/csvs_test_examples/__init__.py
|
|
86
|
+
db/csvs_test_examples/create_test_database.py
|
|
85
87
|
db/csvs_test_examples/project/__init__.py
|
|
86
88
|
db/data/mod_availability_types.csv
|
|
87
89
|
db/data/mod_capacity_and_operational_type_invalid_combos.csv
|
|
@@ -249,6 +251,7 @@ gridpath/project/operations/fuel_burn.py
|
|
|
249
251
|
gridpath/project/operations/instantaneous_penetration_contributions.py
|
|
250
252
|
gridpath/project/operations/performance_standard.py
|
|
251
253
|
gridpath/project/operations/power.py
|
|
254
|
+
gridpath/project/operations/power_output_groups.py
|
|
252
255
|
gridpath/project/operations/supplemental_firing.py
|
|
253
256
|
gridpath/project/operations/tuning_costs.py
|
|
254
257
|
gridpath/project/operations/operational_types/__init__.py
|
|
@@ -304,6 +307,9 @@ gridpath/project/policy/policy_contribution.py
|
|
|
304
307
|
gridpath/project/policy/compliance_types/__init__.py
|
|
305
308
|
gridpath/project/policy/compliance_types/f_output.py
|
|
306
309
|
gridpath/project/policy/compliance_types/flat_horizon.py
|
|
310
|
+
gridpath/project/policy/compliance_types/sod_exceedance.py
|
|
311
|
+
gridpath/project/policy/compliance_types/sod_flat_block.py
|
|
312
|
+
gridpath/project/policy/compliance_types/sod_stor.py
|
|
307
313
|
gridpath/project/policy/compliance_types/stor_losses.py
|
|
308
314
|
gridpath/project/reliability/__init__.py
|
|
309
315
|
gridpath/project/reliability/local_capacity/__init__.py
|
|
@@ -594,6 +600,7 @@ tests/project/operations/test_init.py
|
|
|
594
600
|
tests/project/operations/test_instantaneous_penetration_contributions.py
|
|
595
601
|
tests/project/operations/test_performance_standard.py
|
|
596
602
|
tests/project/operations/test_power.py
|
|
603
|
+
tests/project/operations/test_power_output_groups.py
|
|
597
604
|
tests/project/operations/test_supplemental_firing.py
|
|
598
605
|
tests/project/operations/test_tuning_costs.py
|
|
599
606
|
tests/project/operations/operational_types/__init__.py
|
|
@@ -754,6 +761,29 @@ tests/temporal/investment/test_superperiods.py
|
|
|
754
761
|
tests/temporal/operations/__init__.py
|
|
755
762
|
tests/temporal/operations/test_horizons.py
|
|
756
763
|
tests/temporal/operations/test_timepoints.py
|
|
764
|
+
tests/test_data_toolkit/__init__.py
|
|
765
|
+
tests/test_data_toolkit/test_create_database.py
|
|
766
|
+
tests/test_data_toolkit/test_load_raw_data.py
|
|
767
|
+
tests/test_data_toolkit/project/__init__.py
|
|
768
|
+
tests/test_data_toolkit/project/availability/__init__.py
|
|
769
|
+
tests/test_data_toolkit/project/availability/outages/__init__.py
|
|
770
|
+
tests/test_data_toolkit/project/availability/outages/test_create_availability_iteration_input_csvs.py
|
|
771
|
+
tests/test_data_toolkit/project/availability/weather_derates/__init__.py
|
|
772
|
+
tests/test_data_toolkit/project/availability/weather_derates/test_create_monte_carlo_gen_weather_derate_input_csvs.py
|
|
773
|
+
tests/test_data_toolkit/project/availability/weather_derates/test_create_sync_gen_weather_derate_input_csvs.py
|
|
774
|
+
tests/test_data_toolkit/project/opchar/__init__.py
|
|
775
|
+
tests/test_data_toolkit/project/opchar/hydro/__init__.py
|
|
776
|
+
tests/test_data_toolkit/project/opchar/hydro/test_create_hydro_iteration_input_csvs.py
|
|
777
|
+
tests/test_data_toolkit/project/opchar/var_profiles/__init__.py
|
|
778
|
+
tests/test_data_toolkit/project/opchar/var_profiles/test_create_monte_carlo_var_gen_input_csvs.py
|
|
779
|
+
tests/test_data_toolkit/project/opchar/var_profiles/test_create_sync_var_gen_input_csvs.py
|
|
780
|
+
tests/test_data_toolkit/system/__init__.py
|
|
781
|
+
tests/test_data_toolkit/system/test_create_monte_carlo_load_input_csvs.py
|
|
782
|
+
tests/test_data_toolkit/system/test_create_sync_load_input_csvs.py
|
|
783
|
+
tests/test_data_toolkit/temporal/__init__.py
|
|
784
|
+
tests/test_data_toolkit/temporal/test_create_monte_carlo_weather_draw_profiles.py
|
|
785
|
+
tests/test_data_toolkit/temporal/test_create_monte_carlo_weather_draws.py
|
|
786
|
+
tests/test_data_toolkit/temporal/test_create_temporal_scenarios.py
|
|
757
787
|
tests/transmission/__init__.py
|
|
758
788
|
tests/transmission/test_init.py
|
|
759
789
|
tests/transmission/availability/__init__.py
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
[console_scripts]
|
|
2
|
+
gridpath_create_availability_iteration_input_csvs = data_toolkit.project.availability.outages.create_availability_iteration_input_csvs:main
|
|
3
|
+
gridpath_create_database = db.create_database:main
|
|
4
|
+
gridpath_create_hydro_iteration_input_csvs = data_toolkit.project.opchar.hydro.create_hydro_iteration_input_csvs:main
|
|
5
|
+
gridpath_create_monte_carlo_gen_weather_derate_input_csvs = data_toolkit.project.availability.weather_derates.create_monte_carlo_gen_weather_derate_input_csvs:main
|
|
6
|
+
gridpath_create_monte_carlo_load_input_csvs = data_toolkit.system.create_monte_carlo_load_input_csvs:main
|
|
7
|
+
gridpath_create_monte_carlo_var_gen_input_csvs = data_toolkit.project.opchar.var_profiles.create_monte_carlo_var_gen_input_csvs:main
|
|
8
|
+
gridpath_create_monte_carlo_weather_draw_profiles = data_toolkit.temporal.create_monte_carlo_weather_draw_profiles:main
|
|
9
|
+
gridpath_create_monte_carlo_weather_draws = data_toolkit.temporal.create_monte_carlo_weather_draws:main
|
|
10
|
+
gridpath_create_sync_gen_weather_derate_input_csvs = data_toolkit.project.availability.weather_derates.create_sync_gen_weather_derate_input_csvs:main
|
|
11
|
+
gridpath_create_sync_load_input_csvs = data_toolkit.system.create_sync_load_input_csvs:main
|
|
12
|
+
gridpath_create_sync_var_gen_input_csvs = data_toolkit.project.opchar.var_profiles.create_sync_var_gen_input_csvs:main
|
|
13
|
+
gridpath_create_temporal_iteration_csv = data_toolkit.temporal.create_temporal_iteration_csv:main
|
|
14
|
+
gridpath_create_temporal_scenarios = data_toolkit.temporal.create_temporal_scenarios:main
|
|
15
|
+
gridpath_eia860_to_project_availability_input_csvs = data_toolkit.project.availability.eia860_to_project_availability_input_csvs:main
|
|
16
|
+
gridpath_eia860_to_project_fixed_cost_input_csvs = data_toolkit.project.fixed_cost.eia860_to_project_fixed_cost_input_csvs:main
|
|
17
|
+
gridpath_eia860_to_project_fuel_input_csvs = data_toolkit.project.opchar.fuels.eia860_to_project_fuel_input_csvs:main
|
|
18
|
+
gridpath_eia860_to_project_heat_rate_input_csvs = data_toolkit.project.opchar.heat_rates.eia860_to_project_heat_rate_input_csvs:main
|
|
19
|
+
gridpath_eia860_to_project_load_zone_input_csvs = data_toolkit.project.load_zones.eia860_to_project_load_zone_input_csvs:main
|
|
20
|
+
gridpath_eia860_to_project_opchar_input_csvs = data_toolkit.project.opchar.eia860_to_project_opchar_input_csvs:main
|
|
21
|
+
gridpath_eia860_to_project_portfolio_input_csvs = data_toolkit.project.portfolios.eia860_to_project_portfolio_input_csvs:main
|
|
22
|
+
gridpath_eia860_to_project_specified_capacity_input_csvs = data_toolkit.project.capacity_specified.eia860_to_project_specified_capacity_input_csvs:main
|
|
23
|
+
gridpath_eia930_load_zone_input_csvs = data_toolkit.system.eia930_load_zone_input_csvs:main
|
|
24
|
+
gridpath_eia930_to_transmission_availability_input_csvs = data_toolkit.transmission.availability.eia930_to_transmission_availability_input_csvs:main
|
|
25
|
+
gridpath_eia930_to_transmission_load_zone_input_csvs = data_toolkit.transmission.load_zones.eia930_to_transmission_load_zone_input_csvs:main
|
|
26
|
+
gridpath_eia930_to_transmission_opchar_input_csvs = data_toolkit.transmission.opchar.eia930_to_transmission_opchar_input_csvs:main
|
|
27
|
+
gridpath_eia930_to_transmission_portfolio_input_csvs = data_toolkit.transmission.portfolios.eia930_to_transmission_portfolio_input_csvs:main
|
|
28
|
+
gridpath_eia930_to_transmission_specified_capacity_input_csvs = data_toolkit.transmission.capacity_specified.eia930_to_transmission_specified_capacity_input_csvs:main
|
|
29
|
+
gridpath_eiaaeo_fuel_price_input_csvs = data_toolkit.fuels.eiaaeo_fuel_price_input_csvs:main
|
|
30
|
+
gridpath_eiaaeo_to_fuel_chars_input_csvs = data_toolkit.fuels.eiaaeo_to_fuel_chars_input_csvs:main
|
|
31
|
+
gridpath_get_inputs = gridpath.get_scenario_inputs:main
|
|
32
|
+
gridpath_get_pcm_demo_inputs = data_toolkit.raw_data.get_pcm_demo_user_defined_inputs:main
|
|
33
|
+
gridpath_get_pudl_data = data_toolkit.raw_data.pudl.download_data_from_pudl:main
|
|
34
|
+
gridpath_get_ra_toolkit_data_raw = data_toolkit.raw_data.ra_toolkit.get_ra_toolkit_data:main
|
|
35
|
+
gridpath_import_results = gridpath.import_scenario_results:main
|
|
36
|
+
gridpath_load_csvs = db.utilities.port_csvs_to_db:main
|
|
37
|
+
gridpath_load_raw_data = data_toolkit.load_raw_data:main
|
|
38
|
+
gridpath_load_scenarios = db.utilities.scenario:main
|
|
39
|
+
gridpath_manual_adjustments = data_toolkit.manual_adjustments:main
|
|
40
|
+
gridpath_process_results = gridpath.process_results:main
|
|
41
|
+
gridpath_pudl_to_gridpath_raw = data_toolkit.raw_data.pudl.pudl_to_gridpath_raw_data:main
|
|
42
|
+
gridpath_run = gridpath.run_scenario:main
|
|
43
|
+
gridpath_run_data_toolkit = data_toolkit.run_data_toolkit:main
|
|
44
|
+
gridpath_run_e2e = gridpath.run_end_to_end:main
|
|
45
|
+
gridpath_run_parallel = gridpath.run_scenario_parallel:main
|
|
46
|
+
gridpath_run_queue_manager = ui.server.run_queue_manager:main
|
|
47
|
+
gridpath_run_server = ui.server.run_server:main
|
|
48
|
+
gridpath_validate = gridpath.validate_inputs:main
|
|
49
|
+
gridpath_viz_capacity_factor_plot = viz.capacity_factor_plot:main
|
|
50
|
+
gridpath_viz_capacity_new_plot = viz.capacity_new_plot:main
|
|
51
|
+
gridpath_viz_capacity_retired_plot = viz.capacity_retired_plot:main
|
|
52
|
+
gridpath_viz_capacity_total_loadzone_comparison_plot = viz.capacity_total_loadzone_comparison_plot:main
|
|
53
|
+
gridpath_viz_capacity_total_plot = viz.capacity_total_plot:main
|
|
54
|
+
gridpath_viz_capacity_total_scenario_comparison_plot = viz.capacity_total_scenario_comparison_plot:main
|
|
55
|
+
gridpath_viz_carbon_plot = viz.carbon_plot:main
|
|
56
|
+
gridpath_viz_cost_plot = viz.cost_plot:main
|
|
57
|
+
gridpath_viz_curtailment_hydro_heatmap_plot = viz.curtailment_hydro_heatmap_plot:main
|
|
58
|
+
gridpath_viz_curtailment_variable_heatmap_plot = viz.curtailment_variable_heatmap_plot:main
|
|
59
|
+
gridpath_viz_dispatch_plot = viz.dispatch_plot:main
|
|
60
|
+
gridpath_viz_energy_plot = viz.energy_plot:main
|
|
61
|
+
gridpath_viz_energy_target_plot = viz.energy_target_plot:main
|
|
62
|
+
gridpath_viz_project_operations_plot = viz.project_operations_plot:main
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: GridPath
|
|
3
|
-
Version: 2026.
|
|
3
|
+
Version: 2026.4.0
|
|
4
4
|
Summary: A versatile simulation and optimization platform for power-system planning and operations.
|
|
5
5
|
Home-page: https://www.gridpath.io
|
|
6
6
|
Maintainer: Blue Marble Analytics LLC
|
|
@@ -65,7 +65,7 @@ Dynamic: summary
|
|
|
65
65
|
[](https://coveralls.io/github/blue-marble/gridpath?branch=main)
|
|
66
66
|
[](https://github.com/psf/black)
|
|
67
67
|
[](https://github.com/blue-marble/gridpath/actions/workflows/black.yml)
|
|
68
|
-
[](https://
|
|
68
|
+
[](https://doi.org/10.5281/zenodo.5822994)
|
|
69
69
|
|
|
70
70
|
# Welcome to GridPath
|
|
71
71
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
[](https://coveralls.io/github/blue-marble/gridpath?branch=main)
|
|
4
4
|
[](https://github.com/psf/black)
|
|
5
5
|
[](https://github.com/blue-marble/gridpath/actions/workflows/black.yml)
|
|
6
|
-
[](https://
|
|
6
|
+
[](https://doi.org/10.5281/zenodo.5822994)
|
|
7
7
|
|
|
8
8
|
# Welcome to GridPath
|
|
9
9
|
|
|
@@ -15,14 +15,53 @@
|
|
|
15
15
|
"""
|
|
16
16
|
Load data into the GridPath raw data database. See the documentation of each
|
|
17
17
|
GridPath Data Toolkit module for data prerequisites. Use the
|
|
18
|
-
files_to_import.csv file to tell GridPath which CSV files should be loaded
|
|
18
|
+
``files_to_import.csv`` file to tell GridPath which CSV files should be loaded
|
|
19
19
|
into which database table.
|
|
20
20
|
|
|
21
|
+
==================
|
|
22
|
+
What this step does
|
|
23
|
+
==================
|
|
24
|
+
|
|
25
|
+
This module is a generic bulk loader for raw CSV data into the GridPath
|
|
26
|
+
database. It reads a file named ``files_to_import.csv`` located in the
|
|
27
|
+
directory given by ``--csv_location``. Each row of that file describes one
|
|
28
|
+
CSV file: an import flag (whether the file should be loaded), the CSV
|
|
29
|
+
filename (relative to ``--csv_location``), and the database table the file
|
|
30
|
+
should be loaded into.
|
|
31
|
+
|
|
32
|
+
The loader iterates over the CSV file rows and, for each row whose import flag
|
|
33
|
+
is True, reads the corresponding CSV from ``--csv_location`` and appends its
|
|
34
|
+
contents to the named database table (existing rows are preserved; data is
|
|
35
|
+
inserted with ``if_exists="append"``). Rows whose import flag is False are
|
|
36
|
+
skipped.
|
|
37
|
+
|
|
38
|
+
This generic loader is used throughout the Data Toolkit workflow to populate
|
|
39
|
+
``raw_data`` tables (e.g., VER profiles and their unit mapping, hydro operating
|
|
40
|
+
characteristics) that later Data Toolkit steps depend on.
|
|
41
|
+
|
|
42
|
+
=====
|
|
43
|
+
Usage
|
|
44
|
+
=====
|
|
45
|
+
|
|
46
|
+
>>> python -m data_toolkit.load_raw_data --database PATH/TO/DATABASE --csv_location PATH/TO/CSV/DIRECTORY
|
|
47
|
+
|
|
48
|
+
=========
|
|
49
|
+
Settings
|
|
50
|
+
=========
|
|
51
|
+
* database
|
|
52
|
+
* csv_location
|
|
53
|
+
|
|
54
|
+
The ``--csv_location`` directory must contain a ``files_to_import.csv``
|
|
55
|
+
manifest with columns for the import flag, the CSV filename, and the
|
|
56
|
+
destination database table, in that order.
|
|
57
|
+
|
|
21
58
|
"""
|
|
22
59
|
|
|
23
60
|
import sys
|
|
24
61
|
from argparse import ArgumentParser
|
|
25
62
|
import os.path
|
|
63
|
+
from sqlite3 import Connection
|
|
64
|
+
|
|
26
65
|
import pandas as pd
|
|
27
66
|
|
|
28
67
|
from db.common_functions import spin_on_database_lock_generic, connect_to_database
|
|
@@ -69,23 +108,28 @@ def main(args=None):
|
|
|
69
108
|
print(f"... {f}...")
|
|
70
109
|
f_path = str(os.path.join(parsed_args.csv_location, f))
|
|
71
110
|
|
|
72
|
-
|
|
73
|
-
# TODO: actually specify dtypes instead
|
|
74
|
-
df = pd.read_csv(
|
|
75
|
-
f_path, delimiter=",", low_memory=False, on_bad_lines="warn"
|
|
76
|
-
)
|
|
77
|
-
|
|
78
|
-
spin_on_database_lock_generic(
|
|
79
|
-
command=df.to_sql(
|
|
80
|
-
name=table,
|
|
81
|
-
con=conn,
|
|
82
|
-
if_exists="append",
|
|
83
|
-
index=False,
|
|
84
|
-
)
|
|
85
|
-
)
|
|
111
|
+
read_and_import_csv(conn, f_path, table)
|
|
86
112
|
|
|
113
|
+
conn.commit()
|
|
87
114
|
conn.close()
|
|
88
115
|
|
|
89
116
|
|
|
117
|
+
def read_and_import_csv(conn: Connection, f_path: str, table):
|
|
118
|
+
# Set low_memory to False to avoid dtype warning
|
|
119
|
+
# TODO: actually specify dtypes instead
|
|
120
|
+
df = pd.read_csv(f_path, delimiter=",", low_memory=False, on_bad_lines="warn")
|
|
121
|
+
|
|
122
|
+
# print(f_path)
|
|
123
|
+
# print(df)
|
|
124
|
+
spin_on_database_lock_generic(
|
|
125
|
+
command=df.to_sql(
|
|
126
|
+
name=table,
|
|
127
|
+
con=conn,
|
|
128
|
+
if_exists="append",
|
|
129
|
+
index=False,
|
|
130
|
+
)
|
|
131
|
+
)
|
|
132
|
+
|
|
133
|
+
|
|
90
134
|
if __name__ == "__main__":
|
|
91
135
|
main()
|
|
@@ -20,9 +20,11 @@ import sys
|
|
|
20
20
|
import pandas as pd
|
|
21
21
|
|
|
22
22
|
from db.common_functions import connect_to_database
|
|
23
|
+
from data_toolkit.load_raw_data import read_and_import_csv
|
|
23
24
|
from data_toolkit.project.project_data_filters_common import (
|
|
24
25
|
get_eia860_sql_filter_string,
|
|
25
26
|
DISAGG_PROJECT_NAME_STR,
|
|
27
|
+
AGG_PROJECT_NAME_STR,
|
|
26
28
|
)
|
|
27
29
|
|
|
28
30
|
# Storage durations
|
|
@@ -93,6 +95,14 @@ def parse_arguments(args):
|
|
|
93
95
|
help="Overwrite existing CSV files.",
|
|
94
96
|
)
|
|
95
97
|
|
|
98
|
+
parser.add_argument(
|
|
99
|
+
"-agg",
|
|
100
|
+
"--aggregate_projects",
|
|
101
|
+
default=False,
|
|
102
|
+
action="store_true",
|
|
103
|
+
help="Aggregate all projects to the BA-technology level.",
|
|
104
|
+
)
|
|
105
|
+
|
|
96
106
|
parser.add_argument("-q", "--quiet", default=False, action="store_true")
|
|
97
107
|
|
|
98
108
|
parsed_arguments = parser.parse_known_args(args=args)[0]
|
|
@@ -127,13 +137,14 @@ def make_copy_files(
|
|
|
127
137
|
|
|
128
138
|
def add_battery_durations(
|
|
129
139
|
conn,
|
|
130
|
-
|
|
140
|
+
project_name_str,
|
|
131
141
|
study_year,
|
|
132
142
|
eia860_sql_filter_string,
|
|
133
143
|
csv_location,
|
|
134
144
|
subscenario_id,
|
|
135
145
|
subscenario_name,
|
|
136
146
|
tech_dur_dict,
|
|
147
|
+
aggregate_projects=False,
|
|
137
148
|
):
|
|
138
149
|
duckdb_conn = duckdb.connect(database=":memory:")
|
|
139
150
|
spec_cap_df = pd.read_csv(
|
|
@@ -145,17 +156,19 @@ def add_battery_durations(
|
|
|
145
156
|
)
|
|
146
157
|
|
|
147
158
|
for tech in tech_dur_dict.keys():
|
|
159
|
+
group_by = "GROUP BY project" if aggregate_projects else ""
|
|
148
160
|
sql = f"""
|
|
149
|
-
SELECT {
|
|
161
|
+
SELECT {project_name_str} AS project,
|
|
150
162
|
{study_year} as period
|
|
151
163
|
FROM raw_data_eia860_generators
|
|
152
164
|
JOIN user_defined_eia_gridpath_key ON
|
|
153
|
-
raw_data_eia860_generators.prime_mover_code =
|
|
165
|
+
raw_data_eia860_generators.prime_mover_code =
|
|
154
166
|
user_defined_eia_gridpath_key.prime_mover_code
|
|
155
167
|
AND energy_source_code_1 = energy_source_code
|
|
156
168
|
WHERE 1 = 1
|
|
157
169
|
AND {eia860_sql_filter_string}
|
|
158
170
|
AND raw_data_eia860_generators.prime_mover_code = '{tech}'
|
|
171
|
+
{group_by}
|
|
159
172
|
;
|
|
160
173
|
"""
|
|
161
174
|
relevant_projects_df = pd.read_sql(sql, conn)
|
|
@@ -215,9 +228,15 @@ def main(args=None):
|
|
|
215
228
|
"PS": parsed_args.pumped_storage_duration,
|
|
216
229
|
}
|
|
217
230
|
|
|
231
|
+
project_name_str = (
|
|
232
|
+
AGG_PROJECT_NAME_STR
|
|
233
|
+
if parsed_args.aggregate_projects
|
|
234
|
+
else DISAGG_PROJECT_NAME_STR
|
|
235
|
+
)
|
|
236
|
+
|
|
218
237
|
add_battery_durations(
|
|
219
238
|
conn=conn,
|
|
220
|
-
|
|
239
|
+
project_name_str=project_name_str,
|
|
221
240
|
study_year=parsed_args.study_year,
|
|
222
241
|
eia860_sql_filter_string=get_eia860_sql_filter_string(
|
|
223
242
|
study_year=parsed_args.study_year, region=parsed_args.region
|
|
@@ -226,8 +245,10 @@ def main(args=None):
|
|
|
226
245
|
subscenario_id=parsed_args.project_specified_capacity_scenario_id,
|
|
227
246
|
subscenario_name=parsed_args.project_specified_capacity_scenario_name,
|
|
228
247
|
tech_dur_dict=tech_dur_dict,
|
|
248
|
+
aggregate_projects=parsed_args.aggregate_projects,
|
|
229
249
|
)
|
|
230
250
|
|
|
251
|
+
conn.commit()
|
|
231
252
|
conn.close()
|
|
232
253
|
|
|
233
254
|
|
|
@@ -87,6 +87,14 @@ def parse_arguments(args):
|
|
|
87
87
|
"-avl_name", "--project_availability_scenario_name", default="no_derates"
|
|
88
88
|
)
|
|
89
89
|
|
|
90
|
+
parser.add_argument(
|
|
91
|
+
"-agg",
|
|
92
|
+
"--aggregate_projects",
|
|
93
|
+
default=False,
|
|
94
|
+
action="store_true",
|
|
95
|
+
help="Aggregate all projects to the BA-technology level.",
|
|
96
|
+
)
|
|
97
|
+
|
|
90
98
|
parser.add_argument("-q", "--quiet", default=False, action="store_true")
|
|
91
99
|
|
|
92
100
|
parsed_arguments = parser.parse_known_args(args=args)[0]
|
|
@@ -104,14 +112,36 @@ def get_project_availability(
|
|
|
104
112
|
csv_location,
|
|
105
113
|
subscenario_id,
|
|
106
114
|
subscenario_name,
|
|
115
|
+
aggregate_projects=False,
|
|
107
116
|
):
|
|
108
|
-
|
|
117
|
+
if aggregate_projects:
|
|
118
|
+
sql = f"""
|
|
119
|
+
SELECT {agg_project_name_str} AS project,
|
|
120
|
+
'exogenous' AS availability_type,
|
|
121
|
+
NULL AS exogenous_availability_independent_scenario_id,
|
|
122
|
+
NULL AS exogenous_availability_weather_scenario_id,
|
|
123
|
+
NULL AS exogenous_availability_independent_bt_hrz_scenario_id,
|
|
124
|
+
NULL AS exogenous_availability_weather_bt_hrz_scenario_id,
|
|
125
|
+
NULL AS endogenous_availability_scenario_id
|
|
126
|
+
FROM raw_data_eia860_generators
|
|
127
|
+
JOIN user_defined_eia_gridpath_key ON
|
|
128
|
+
raw_data_eia860_generators.prime_mover_code =
|
|
129
|
+
user_defined_eia_gridpath_key.prime_mover_code
|
|
130
|
+
AND energy_source_code_1 = energy_source_code
|
|
131
|
+
WHERE 1 = 1
|
|
132
|
+
AND {eia860_sql_filter_string}
|
|
133
|
+
GROUP BY project
|
|
134
|
+
;
|
|
135
|
+
"""
|
|
136
|
+
else:
|
|
137
|
+
sql = f"""
|
|
109
138
|
SELECT {disagg_project_name_str} AS project,
|
|
110
139
|
'exogenous' AS availability_type,
|
|
111
140
|
NULL AS exogenous_availability_independent_scenario_id,
|
|
112
141
|
NULL AS exogenous_availability_weather_scenario_id,
|
|
113
142
|
NULL AS exogenous_availability_independent_bt_hrz_scenario_id,
|
|
114
143
|
NULL AS exogenous_availability_weather_bt_hrz_scenario_id,
|
|
144
|
+
NULL AS exogenous_availability_monthly_scenario_id,
|
|
115
145
|
NULL AS endogenous_availability_scenario_id
|
|
116
146
|
FROM raw_data_eia860_generators
|
|
117
147
|
JOIN user_defined_eia_gridpath_key ON
|
|
@@ -130,6 +160,7 @@ def get_project_availability(
|
|
|
130
160
|
NULL AS exogenous_availability_weather_scenario_id,
|
|
131
161
|
NULL AS exogenous_availability_independent_bt_hrz_scenario_id,
|
|
132
162
|
NULL AS exogenous_availability_weather_bt_hrz_scenario_id,
|
|
163
|
+
NULL AS exogenous_availability_monthly_scenario_id,
|
|
133
164
|
NULL AS endogenous_availability_scenario_id
|
|
134
165
|
FROM raw_data_eia860_generators
|
|
135
166
|
JOIN user_defined_eia_gridpath_key
|
|
@@ -171,6 +202,7 @@ def main(args=None):
|
|
|
171
202
|
csv_location=parsed_args.output_directory,
|
|
172
203
|
subscenario_id=parsed_args.project_availability_scenario_id,
|
|
173
204
|
subscenario_name=parsed_args.project_availability_scenario_name,
|
|
205
|
+
aggregate_projects=parsed_args.aggregate_projects,
|
|
174
206
|
)
|
|
175
207
|
|
|
176
208
|
conn.close()
|