flextool 4.0.0__py3-none-any.whl
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.
- flextool/__init__.py +41 -0
- flextool/_mem_sampler.py +193 -0
- flextool/_resources.py +43 -0
- flextool/calibrate/__init__.py +51 -0
- flextool/calibrate/__main__.py +11 -0
- flextool/calibrate/_cli.py +316 -0
- flextool/calibrate/_db_alt.py +166 -0
- flextool/calibrate/_final_outputs.py +110 -0
- flextool/calibrate/_guard.py +151 -0
- flextool/calibrate/_loop.py +558 -0
- flextool/calibrate/_readers.py +223 -0
- flextool/calibrate/_report.py +263 -0
- flextool/calibrate/_sizing.py +699 -0
- flextool/calibrate/_solve.py +134 -0
- flextool/calibrate/_solve_status.py +495 -0
- flextool/cli/__init__.py +9 -0
- flextool/cli/_console.py +51 -0
- flextool/cli/_timing.py +147 -0
- flextool/cli/cmd_execute_flextool_workflow.py +187 -0
- flextool/cli/cmd_export_to_tabular.py +56 -0
- flextool/cli/cmd_import_sensitivities.py +75 -0
- flextool/cli/cmd_migrate_database.py +13 -0
- flextool/cli/cmd_open_results_db.py +269 -0
- flextool/cli/cmd_read_matpower.py +66 -0
- flextool/cli/cmd_read_old_flextool.py +63 -0
- flextool/cli/cmd_read_self_describing_tabular_input.py +50 -0
- flextool/cli/cmd_read_tabular_input.py +81 -0
- flextool/cli/cmd_run_flextool.py +1095 -0
- flextool/cli/cmd_scenario_results.py +284 -0
- flextool/cli/cmd_solve_mps.py +169 -0
- flextool/cli/cmd_update_flextool.py +17 -0
- flextool/cli/cmd_write_outputs.py +125 -0
- flextool/common_utils/__init__.py +1 -0
- flextool/common_utils/plot_mem_shape.py +77 -0
- flextool/common_utils/precision.py +451 -0
- flextool/decomposition/__init__.py +0 -0
- flextool/decomposition/region_decomposition.py +128 -0
- flextool/decomposition/region_filter.py +1261 -0
- flextool/engine_polars/__init__.py +110 -0
- flextool/engine_polars/_axis_enums.py +742 -0
- flextool/engine_polars/_benders.py +3462 -0
- flextool/engine_polars/_block_layout.py +1479 -0
- flextool/engine_polars/_blocks.py +1515 -0
- flextool/engine_polars/_commodity_ladder.py +660 -0
- flextool/engine_polars/_cumulative_invest.py +1165 -0
- flextool/engine_polars/_db_loader.py +153 -0
- flextool/engine_polars/_db_reader.py +127 -0
- flextool/engine_polars/_dc_power_flow.py +445 -0
- flextool/engine_polars/_delay.py +442 -0
- flextool/engine_polars/_derived_arithmetic.py +432 -0
- flextool/engine_polars/_derived_block.py +990 -0
- flextool/engine_polars/_derived_branch.py +769 -0
- flextool/engine_polars/_derived_existing.py +1353 -0
- flextool/engine_polars/_derived_npv.py +1297 -0
- flextool/engine_polars/_derived_params.py +9850 -0
- flextool/engine_polars/_derived_profile.py +881 -0
- flextool/engine_polars/_derived_walks.py +276 -0
- flextool/engine_polars/_determinism.py +70 -0
- flextool/engine_polars/_direct_params.py +2186 -0
- flextool/engine_polars/_dump_csvs.py +1009 -0
- flextool/engine_polars/_emit_arc_unions.py +1631 -0
- flextool/engine_polars/_emit_calc_params.py +729 -0
- flextool/engine_polars/_emit_chain_params.py +709 -0
- flextool/engine_polars/_emit_co2_accumulators.py +400 -0
- flextool/engine_polars/_emit_dispatchers.py +690 -0
- flextool/engine_polars/_emit_energy_margin.py +125 -0
- flextool/engine_polars/_emit_energy_margin_adder.py +290 -0
- flextool/engine_polars/_emit_entity_annual.py +428 -0
- flextool/engine_polars/_emit_inflow_scaling.py +1420 -0
- flextool/engine_polars/_emit_leaf_sets.py +550 -0
- flextool/engine_polars/_emit_lp_scaling.py +665 -0
- flextool/engine_polars/_emit_mid_sets.py +859 -0
- flextool/engine_polars/_emit_pdt_params.py +759 -0
- flextool/engine_polars/_emit_per_solve.py +774 -0
- flextool/engine_polars/_emit_period_calc.py +504 -0
- flextool/engine_polars/_emit_period_params.py +2398 -0
- flextool/engine_polars/_emit_provider_io.py +141 -0
- flextool/engine_polars/_emit_reserve.py +574 -0
- flextool/engine_polars/_emit_solve_time.py +311 -0
- flextool/engine_polars/_emit_solve_writers.py +1249 -0
- flextool/engine_polars/_flex_data_accumulator.py +388 -0
- flextool/engine_polars/_flex_data_provider.py +478 -0
- flextool/engine_polars/_group_slack.py +1253 -0
- flextool/engine_polars/_inmemory_reader.py +140 -0
- flextool/engine_polars/_input_source.py +336 -0
- flextool/engine_polars/_invest_seeds.py +191 -0
- flextool/engine_polars/_native_input_writer.py +100 -0
- flextool/engine_polars/_native_run_model.py +1348 -0
- flextool/engine_polars/_orchestration.py +4314 -0
- flextool/engine_polars/_output_writer.py +439 -0
- flextool/engine_polars/_param_shapes.py +1595 -0
- flextool/engine_polars/_parquet_bundle.py +723 -0
- flextool/engine_polars/_pdt_join.py +167 -0
- flextool/engine_polars/_pdt_lookup.py +547 -0
- flextool/engine_polars/_per_solve_sets.py +335 -0
- flextool/engine_polars/_projection_params.py +2056 -0
- flextool/engine_polars/_provider_keys.py +173 -0
- flextool/engine_polars/_provider_translators.py +225 -0
- flextool/engine_polars/_recursive_solve.py +703 -0
- flextool/engine_polars/_region_filter.py +2508 -0
- flextool/engine_polars/_reserve.py +649 -0
- flextool/engine_polars/_solve_acceptance.py +331 -0
- flextool/engine_polars/_solve_config.py +1001 -0
- flextool/engine_polars/_solve_context.py +885 -0
- flextool/engine_polars/_solve_handoff.py +164 -0
- flextool/engine_polars/_solve_state.py +232 -0
- flextool/engine_polars/_solver_base.py +36 -0
- flextool/engine_polars/_solver_dispatch.py +511 -0
- flextool/engine_polars/_spinedb_reader.py +1165 -0
- flextool/engine_polars/_stochastic.py +593 -0
- flextool/engine_polars/_subprocess_solve.py +1838 -0
- flextool/engine_polars/_timeline.py +1416 -0
- flextool/engine_polars/_vectorize.py +438 -0
- flextool/engine_polars/_warm.py +858 -0
- flextool/engine_polars/autoscale/__init__.py +107 -0
- flextool/engine_polars/autoscale/_config.py +218 -0
- flextool/engine_polars/autoscale/_layer2.py +1253 -0
- flextool/engine_polars/autoscale/_layer2_types.py +584 -0
- flextool/engine_polars/autoscale/_quantity_types.py +621 -0
- flextool/engine_polars/autoscale/_report.py +336 -0
- flextool/engine_polars/chain.py +259 -0
- flextool/engine_polars/input.py +6638 -0
- flextool/engine_polars/model.py +4754 -0
- flextool/env_check.py +388 -0
- flextool/export_to_tabular/__init__.py +5 -0
- flextool/export_to_tabular/db_reader.py +224 -0
- flextool/export_to_tabular/excel_writer.py +3559 -0
- flextool/export_to_tabular/export_settings.yaml +377 -0
- flextool/export_to_tabular/export_to_excel.py +227 -0
- flextool/export_to_tabular/formatting.py +543 -0
- flextool/export_to_tabular/sheet_config.py +876 -0
- flextool/gui/__init__.py +0 -0
- flextool/gui/__main__.py +118 -0
- flextool/gui/calibrate_commands.py +184 -0
- flextool/gui/calibrate_jobs.py +424 -0
- flextool/gui/check_tree.py +142 -0
- flextool/gui/cli_format.py +83 -0
- flextool/gui/config_parser.py +68 -0
- flextool/gui/data_models.py +362 -0
- flextool/gui/db_editor_integration.py +202 -0
- flextool/gui/db_version_check.py +269 -0
- flextool/gui/dialogs/__init__.py +0 -0
- flextool/gui/dialogs/add_dialog.py +1098 -0
- flextool/gui/dialogs/calibrate_dialog.py +1259 -0
- flextool/gui/dialogs/file_picker.py +473 -0
- flextool/gui/dialogs/group_picker.py +299 -0
- flextool/gui/dialogs/migration_consent_dialog.py +106 -0
- flextool/gui/dialogs/migration_progress_dialog.py +237 -0
- flextool/gui/dialogs/plot_dialog.py +459 -0
- flextool/gui/dialogs/plot_settings_picker.py +2184 -0
- flextool/gui/dialogs/project_dialog.py +426 -0
- flextool/gui/dialogs/update_dialog.py +212 -0
- flextool/gui/downsampling.py +88 -0
- flextool/gui/error_handling.py +50 -0
- flextool/gui/execution_manager.py +1715 -0
- flextool/gui/execution_window.py +1377 -0
- flextool/gui/hover_tooltip.py +111 -0
- flextool/gui/input_sources.py +730 -0
- flextool/gui/main_window.py +6181 -0
- flextool/gui/network_graph.py +215 -0
- flextool/gui/output_actions.py +393 -0
- flextool/gui/output_log_window.py +159 -0
- flextool/gui/platform_utils.py +421 -0
- flextool/gui/plot_cache.py +88 -0
- flextool/gui/plot_canvas.py +543 -0
- flextool/gui/plot_config_reader.py +272 -0
- flextool/gui/project_utils.py +100 -0
- flextool/gui/result_viewer.py +4394 -0
- flextool/gui/scenario_key.py +162 -0
- flextool/gui/scenario_lists.py +516 -0
- flextool/gui/settings_io.py +360 -0
- flextool/gui/solve_reader.py +103 -0
- flextool/gui/tree_reorder.py +88 -0
- flextool/gui/ui_metrics.py +420 -0
- flextool/input_derivation/__init__.py +281 -0
- flextool/input_derivation/_commodity_ladder.py +375 -0
- flextool/input_derivation/_commodity_ladder_sets.py +70 -0
- flextool/input_derivation/_dc_power_flow.py +377 -0
- flextool/input_derivation/_method_constants.py +77 -0
- flextool/input_derivation/_process_method.py +258 -0
- flextool/input_derivation/_specs.py +1026 -0
- flextool/input_derivation/_validators.py +321 -0
- flextool/lean_parquet.py +159 -0
- flextool/model_builder/__init__.py +5 -0
- flextool/model_builder/build_model.py +589 -0
- flextool/model_builder/encoding.py +67 -0
- flextool/model_builder/names.py +34 -0
- flextool/model_builder/profiles.py +129 -0
- flextool/plot_outputs/__init__.py +14 -0
- flextool/plot_outputs/axis_helpers.py +355 -0
- flextool/plot_outputs/color_template.py +888 -0
- flextool/plot_outputs/config.py +171 -0
- flextool/plot_outputs/format_helpers.py +345 -0
- flextool/plot_outputs/legend_helpers.py +143 -0
- flextool/plot_outputs/orchestrator.py +1141 -0
- flextool/plot_outputs/perf.py +37 -0
- flextool/plot_outputs/plan.py +1787 -0
- flextool/plot_outputs/plot_bars.py +1510 -0
- flextool/plot_outputs/plot_bars_detail.py +753 -0
- flextool/plot_outputs/plot_lines.py +951 -0
- flextool/plot_outputs/shared_manifest.py +564 -0
- flextool/plot_outputs/subplot_helpers.py +137 -0
- flextool/process_inputs/__init__.py +188 -0
- flextool/process_inputs/import_old_excel_input.json +4159 -0
- flextool/process_inputs/read_matpower.py +451 -0
- flextool/process_inputs/read_old_flextool.py +1288 -0
- flextool/process_inputs/read_self_describing_excel.py +1423 -0
- flextool/process_inputs/read_tabular_with_specification.py +1114 -0
- flextool/process_inputs/write_old_flextool_to_db.py +3077 -0
- flextool/process_inputs/write_self_describing_to_db.py +977 -0
- flextool/process_inputs/write_to_input_db.py +269 -0
- flextool/process_outputs/__init__.py +7 -0
- flextool/process_outputs/_annualize.py +55 -0
- flextool/process_outputs/_inmemory_helpers.py +292 -0
- flextool/process_outputs/_output_meta.py +672 -0
- flextool/process_outputs/calc_capacity_flows.py +107 -0
- flextool/process_outputs/calc_connections.py +136 -0
- flextool/process_outputs/calc_costs.py +260 -0
- flextool/process_outputs/calc_group_flows.py +192 -0
- flextool/process_outputs/calc_slacks.py +103 -0
- flextool/process_outputs/calc_storage_vre.py +160 -0
- flextool/process_outputs/drop_levels.py +208 -0
- flextool/process_outputs/handoff_writers.py +1315 -0
- flextool/process_outputs/out_ancillary.py +544 -0
- flextool/process_outputs/out_capacity.py +179 -0
- flextool/process_outputs/out_costs.py +334 -0
- flextool/process_outputs/out_flowgroup.py +189 -0
- flextool/process_outputs/out_flows.py +301 -0
- flextool/process_outputs/out_group.py +475 -0
- flextool/process_outputs/out_node.py +190 -0
- flextool/process_outputs/persist_realized_slice.py +601 -0
- flextool/process_outputs/process_results.py +24 -0
- flextool/process_outputs/read_highs_solution.py +2256 -0
- flextool/process_outputs/read_parameters.py +1799 -0
- flextool/process_outputs/read_sets.py +1095 -0
- flextool/process_outputs/read_variables.py +553 -0
- flextool/process_outputs/solve_order.py +81 -0
- flextool/process_outputs/spinedb_replay.py +412 -0
- flextool/process_outputs/union_realized_slice.py +224 -0
- flextool/process_outputs/write_outputs.py +1286 -0
- flextool/process_outputs/write_spinedb.py +1267 -0
- flextool/representative_periods/__init__.py +5 -0
- flextool/representative_periods/clustering.py +165 -0
- flextool/representative_periods/force_include.py +563 -0
- flextool/representative_periods/netload.py +365 -0
- flextool/representative_periods/netload_inputs.py +345 -0
- flextool/representative_periods/netload_iterate.py +722 -0
- flextool/representative_periods/preprocess.py +948 -0
- flextool/representative_periods/scenario_stack.py +195 -0
- flextool/representative_periods/weights.py +124 -0
- flextool/scenario_comparison/__init__.py +13 -0
- flextool/scenario_comparison/config_builder.py +158 -0
- flextool/scenario_comparison/constants.py +20 -0
- flextool/scenario_comparison/data_models.py +222 -0
- flextool/scenario_comparison/db_reader.py +399 -0
- flextool/scenario_comparison/dispatch_data.py +1002 -0
- flextool/scenario_comparison/dispatch_mappings.py +205 -0
- flextool/scenario_comparison/dispatch_plots.py +691 -0
- flextool/scenario_comparison/input_entity_colors.py +319 -0
- flextool/scenario_comparison/orchestrator.py +453 -0
- flextool/scenario_comparison/plan_union.py +244 -0
- flextool/scenario_comparison/plot_settings_seed.py +205 -0
- flextool/schemas/AXIS_CONTRACT.md +71 -0
- flextool/schemas/canonical_databases/howto_aggregate_output.json +6225 -0
- flextool/schemas/canonical_databases/howto_connections.json +5606 -0
- flextool/schemas/canonical_databases/howto_demand.json +5518 -0
- flextool/schemas/canonical_databases/howto_hydro_reservoir.json +6239 -0
- flextool/schemas/canonical_databases/howto_hydro_reservoir_with_pump.json +5933 -0
- flextool/schemas/canonical_databases/howto_non_sync_and_curtailment.json +5794 -0
- flextool/schemas/canonical_databases/howto_ramp_and_start_up.json +5707 -0
- flextool/schemas/canonical_databases/howto_stochastics.json +6032 -0
- flextool/schemas/canonical_databases/templates_examples.json +13532 -0
- flextool/schemas/canonical_databases/templates_time_settings_only.json +5340 -0
- flextool/schemas/comparison_settings_template.json +197 -0
- flextool/schemas/default_plot_settings.yaml +260 -0
- flextool/schemas/default_plots.yaml +2293 -0
- flextool/schemas/flextool_axis_contract.json +303 -0
- flextool/schemas/flextool_axis_contract.schema.json +247 -0
- flextool/schemas/old_flextool_import_template.json +4443 -0
- flextool/schemas/output_info_template.json +48 -0
- flextool/schemas/output_settings_template.json +256 -0
- flextool/schemas/pre_v26/flextool_template_constant_default.json +2105 -0
- flextool/schemas/pre_v26/flextool_template_default_optional_output.json +2152 -0
- flextool/schemas/pre_v26/flextool_template_default_value.json +2094 -0
- flextool/schemas/pre_v26/flextool_template_drop_down.json +2080 -0
- flextool/schemas/pre_v26/flextool_template_lifetime_method.json +1990 -0
- flextool/schemas/pre_v26/flextool_template_optional_outputs.json +2094 -0
- flextool/schemas/pre_v26/flextool_template_output_node_flows.json +2105 -0
- flextool/schemas/pre_v26/flextool_template_results_master.json +493 -0
- flextool/schemas/pre_v26/flextool_template_rolling_start_remove.json +2087 -0
- flextool/schemas/pre_v26/flextool_template_rolling_window.json +2059 -0
- flextool/schemas/pre_v26/flextool_template_storage_binding_defaults.json +46 -0
- flextool/schemas/pre_v26/flextool_template_v2.json +1990 -0
- flextool/schemas/pre_v26/flextool_template_v25.json +3864 -0
- flextool/schemas/spinedb_results_schema.json +581 -0
- flextool/schemas/spinedb_schema.json +4636 -0
- flextool/solver_config/copt.opt.template +18 -0
- flextool/solver_config/cplex.opt.template +25 -0
- flextool/solver_config/gurobi.opt.template +18 -0
- flextool/solver_config/highs.opt.template +18 -0
- flextool/solver_config/xpress.opt.template +26 -0
- flextool/spinedb_backend/__init__.py +26 -0
- flextool/spinedb_backend/_axis_enums.py +1119 -0
- flextool/spinedb_backend/_backend.py +1139 -0
- flextool/update_flextool/__init__.py +12 -0
- flextool/update_flextool/canonical_databases.py +251 -0
- flextool/update_flextool/db_migration.py +7108 -0
- flextool/update_flextool/ensure_settings_db.py +138 -0
- flextool/update_flextool/export_database.py +103 -0
- flextool/update_flextool/extend_tests_fixture.py +772 -0
- flextool/update_flextool/generate_canonical.py +274 -0
- flextool/update_flextool/initialize_database.py +42 -0
- flextool/update_flextool/install_info.py +225 -0
- flextool/update_flextool/self_update.py +464 -0
- flextool/update_flextool/sync_master_json_template.py +125 -0
- flextool/update_flextool/test_fixtures.py +187 -0
- flextool-4.0.0.dist-info/METADATA +217 -0
- flextool-4.0.0.dist-info/RECORD +322 -0
- flextool-4.0.0.dist-info/WHEEL +5 -0
- flextool-4.0.0.dist-info/entry_points.txt +17 -0
- flextool-4.0.0.dist-info/licenses/LICENSE.txt +19 -0
- flextool-4.0.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,2080 @@
|
|
|
1
|
+
{
|
|
2
|
+
"object_classes": [
|
|
3
|
+
[
|
|
4
|
+
"commodity",
|
|
5
|
+
"Stuff that is being processed",
|
|
6
|
+
281351265055225
|
|
7
|
+
],
|
|
8
|
+
[
|
|
9
|
+
"connection",
|
|
10
|
+
null,
|
|
11
|
+
280741963428706
|
|
12
|
+
],
|
|
13
|
+
[
|
|
14
|
+
"constraint",
|
|
15
|
+
null,
|
|
16
|
+
281107035649330
|
|
17
|
+
],
|
|
18
|
+
[
|
|
19
|
+
"group",
|
|
20
|
+
null,
|
|
21
|
+
280655732797761
|
|
22
|
+
],
|
|
23
|
+
[
|
|
24
|
+
"model",
|
|
25
|
+
"Settings for a model instance",
|
|
26
|
+
280378317271475
|
|
27
|
+
],
|
|
28
|
+
[
|
|
29
|
+
"node",
|
|
30
|
+
null,
|
|
31
|
+
280655732797997
|
|
32
|
+
],
|
|
33
|
+
[
|
|
34
|
+
"profile",
|
|
35
|
+
null,
|
|
36
|
+
280376907921198
|
|
37
|
+
],
|
|
38
|
+
[
|
|
39
|
+
"reserve",
|
|
40
|
+
"Categories for the reservation of capacity",
|
|
41
|
+
281473533932379
|
|
42
|
+
],
|
|
43
|
+
[
|
|
44
|
+
"solve",
|
|
45
|
+
null,
|
|
46
|
+
280378317271532
|
|
47
|
+
],
|
|
48
|
+
[
|
|
49
|
+
"timeblockSet",
|
|
50
|
+
null,
|
|
51
|
+
280378317272400
|
|
52
|
+
],
|
|
53
|
+
[
|
|
54
|
+
"timeline",
|
|
55
|
+
null,
|
|
56
|
+
280378317271144
|
|
57
|
+
],
|
|
58
|
+
[
|
|
59
|
+
"unit",
|
|
60
|
+
null,
|
|
61
|
+
281107035648629
|
|
62
|
+
],
|
|
63
|
+
[
|
|
64
|
+
"upDown",
|
|
65
|
+
null,
|
|
66
|
+
280378317271864
|
|
67
|
+
]
|
|
68
|
+
],
|
|
69
|
+
"relationship_classes": [
|
|
70
|
+
[
|
|
71
|
+
"commodity__node",
|
|
72
|
+
[
|
|
73
|
+
"commodity",
|
|
74
|
+
"node"
|
|
75
|
+
],
|
|
76
|
+
"Properties of commodities in particular nodes",
|
|
77
|
+
281054070108939
|
|
78
|
+
],
|
|
79
|
+
[
|
|
80
|
+
"connection__node",
|
|
81
|
+
[
|
|
82
|
+
"connection",
|
|
83
|
+
"node"
|
|
84
|
+
],
|
|
85
|
+
null,
|
|
86
|
+
280743406203659
|
|
87
|
+
],
|
|
88
|
+
[
|
|
89
|
+
"connection__node__node",
|
|
90
|
+
[
|
|
91
|
+
"connection",
|
|
92
|
+
"node",
|
|
93
|
+
"node"
|
|
94
|
+
],
|
|
95
|
+
null,
|
|
96
|
+
280743406203746
|
|
97
|
+
],
|
|
98
|
+
[
|
|
99
|
+
"connection__profile",
|
|
100
|
+
[
|
|
101
|
+
"connection",
|
|
102
|
+
"profile"
|
|
103
|
+
],
|
|
104
|
+
null,
|
|
105
|
+
280798025740550
|
|
106
|
+
],
|
|
107
|
+
[
|
|
108
|
+
"group__connection",
|
|
109
|
+
[
|
|
110
|
+
"group",
|
|
111
|
+
"connection"
|
|
112
|
+
],
|
|
113
|
+
null,
|
|
114
|
+
null
|
|
115
|
+
],
|
|
116
|
+
[
|
|
117
|
+
"group__connection__node",
|
|
118
|
+
[
|
|
119
|
+
"group",
|
|
120
|
+
"connection",
|
|
121
|
+
"node"
|
|
122
|
+
],
|
|
123
|
+
null,
|
|
124
|
+
null
|
|
125
|
+
],
|
|
126
|
+
[
|
|
127
|
+
"group__node",
|
|
128
|
+
[
|
|
129
|
+
"group",
|
|
130
|
+
"node"
|
|
131
|
+
],
|
|
132
|
+
null,
|
|
133
|
+
null
|
|
134
|
+
],
|
|
135
|
+
[
|
|
136
|
+
"group__unit",
|
|
137
|
+
[
|
|
138
|
+
"group",
|
|
139
|
+
"unit"
|
|
140
|
+
],
|
|
141
|
+
null,
|
|
142
|
+
null
|
|
143
|
+
],
|
|
144
|
+
[
|
|
145
|
+
"group__unit__node",
|
|
146
|
+
[
|
|
147
|
+
"group",
|
|
148
|
+
"unit",
|
|
149
|
+
"node"
|
|
150
|
+
],
|
|
151
|
+
null,
|
|
152
|
+
null
|
|
153
|
+
],
|
|
154
|
+
[
|
|
155
|
+
"node__profile",
|
|
156
|
+
[
|
|
157
|
+
"node",
|
|
158
|
+
"profile"
|
|
159
|
+
],
|
|
160
|
+
null,
|
|
161
|
+
280798025740550
|
|
162
|
+
],
|
|
163
|
+
[
|
|
164
|
+
"reserve__upDown__connection__node",
|
|
165
|
+
[
|
|
166
|
+
"reserve",
|
|
167
|
+
"upDown",
|
|
168
|
+
"connection",
|
|
169
|
+
"node"
|
|
170
|
+
],
|
|
171
|
+
null,
|
|
172
|
+
null
|
|
173
|
+
],
|
|
174
|
+
[
|
|
175
|
+
"reserve__upDown__group",
|
|
176
|
+
[
|
|
177
|
+
"reserve",
|
|
178
|
+
"upDown",
|
|
179
|
+
"group"
|
|
180
|
+
],
|
|
181
|
+
null,
|
|
182
|
+
null
|
|
183
|
+
],
|
|
184
|
+
[
|
|
185
|
+
"reserve__upDown__unit__node",
|
|
186
|
+
[
|
|
187
|
+
"reserve",
|
|
188
|
+
"upDown",
|
|
189
|
+
"unit",
|
|
190
|
+
"node"
|
|
191
|
+
],
|
|
192
|
+
null,
|
|
193
|
+
null
|
|
194
|
+
],
|
|
195
|
+
[
|
|
196
|
+
"timeblockSet__timeline",
|
|
197
|
+
[
|
|
198
|
+
"timeblockSet",
|
|
199
|
+
"timeline"
|
|
200
|
+
],
|
|
201
|
+
null,
|
|
202
|
+
null
|
|
203
|
+
],
|
|
204
|
+
[
|
|
205
|
+
"unit__inputNode",
|
|
206
|
+
[
|
|
207
|
+
"unit",
|
|
208
|
+
"node"
|
|
209
|
+
],
|
|
210
|
+
null,
|
|
211
|
+
280378317271818
|
|
212
|
+
],
|
|
213
|
+
[
|
|
214
|
+
"unit__node__profile",
|
|
215
|
+
[
|
|
216
|
+
"unit",
|
|
217
|
+
"node",
|
|
218
|
+
"profile"
|
|
219
|
+
],
|
|
220
|
+
null,
|
|
221
|
+
280798025740550
|
|
222
|
+
],
|
|
223
|
+
[
|
|
224
|
+
"unit__outputNode",
|
|
225
|
+
[
|
|
226
|
+
"unit",
|
|
227
|
+
"node"
|
|
228
|
+
],
|
|
229
|
+
null,
|
|
230
|
+
281473533932299
|
|
231
|
+
]
|
|
232
|
+
],
|
|
233
|
+
"parameter_value_lists": [
|
|
234
|
+
[
|
|
235
|
+
"co2_methods",
|
|
236
|
+
"no_method"
|
|
237
|
+
],
|
|
238
|
+
[
|
|
239
|
+
"co2_methods",
|
|
240
|
+
"price"
|
|
241
|
+
],
|
|
242
|
+
[
|
|
243
|
+
"co2_methods",
|
|
244
|
+
"period"
|
|
245
|
+
],
|
|
246
|
+
[
|
|
247
|
+
"co2_methods",
|
|
248
|
+
"total"
|
|
249
|
+
],
|
|
250
|
+
[
|
|
251
|
+
"co2_methods",
|
|
252
|
+
"price_period"
|
|
253
|
+
],
|
|
254
|
+
[
|
|
255
|
+
"co2_methods",
|
|
256
|
+
"price_total"
|
|
257
|
+
],
|
|
258
|
+
[
|
|
259
|
+
"co2_methods",
|
|
260
|
+
"period_total"
|
|
261
|
+
],
|
|
262
|
+
[
|
|
263
|
+
"co2_methods",
|
|
264
|
+
"price_period_total"
|
|
265
|
+
],
|
|
266
|
+
[
|
|
267
|
+
"conversion_methods",
|
|
268
|
+
"constant_efficiency"
|
|
269
|
+
],
|
|
270
|
+
[
|
|
271
|
+
"conversion_methods",
|
|
272
|
+
"min_load_efficiency"
|
|
273
|
+
],
|
|
274
|
+
[
|
|
275
|
+
"conversion_methods",
|
|
276
|
+
"none"
|
|
277
|
+
],
|
|
278
|
+
[
|
|
279
|
+
"has_DC",
|
|
280
|
+
"yes"
|
|
281
|
+
],
|
|
282
|
+
[
|
|
283
|
+
"has_balance",
|
|
284
|
+
"yes"
|
|
285
|
+
],
|
|
286
|
+
[
|
|
287
|
+
"has_capacity_margin",
|
|
288
|
+
"yes"
|
|
289
|
+
],
|
|
290
|
+
[
|
|
291
|
+
"has_inertia",
|
|
292
|
+
"yes"
|
|
293
|
+
],
|
|
294
|
+
[
|
|
295
|
+
"has_invest",
|
|
296
|
+
"yes"
|
|
297
|
+
],
|
|
298
|
+
[
|
|
299
|
+
"has_non_synchronous",
|
|
300
|
+
"yes"
|
|
301
|
+
],
|
|
302
|
+
[
|
|
303
|
+
"has_storage",
|
|
304
|
+
"yes"
|
|
305
|
+
],
|
|
306
|
+
[
|
|
307
|
+
"highs_method",
|
|
308
|
+
"simplex"
|
|
309
|
+
],
|
|
310
|
+
[
|
|
311
|
+
"highs_method",
|
|
312
|
+
"ipm"
|
|
313
|
+
],
|
|
314
|
+
[
|
|
315
|
+
"highs_method",
|
|
316
|
+
"choose"
|
|
317
|
+
],
|
|
318
|
+
[
|
|
319
|
+
"highs_parallel",
|
|
320
|
+
"on"
|
|
321
|
+
],
|
|
322
|
+
[
|
|
323
|
+
"highs_parallel",
|
|
324
|
+
"off"
|
|
325
|
+
],
|
|
326
|
+
[
|
|
327
|
+
"highs_parallel",
|
|
328
|
+
"choose"
|
|
329
|
+
],
|
|
330
|
+
[
|
|
331
|
+
"highs_presolve",
|
|
332
|
+
"on"
|
|
333
|
+
],
|
|
334
|
+
[
|
|
335
|
+
"highs_presolve",
|
|
336
|
+
"off"
|
|
337
|
+
],
|
|
338
|
+
[
|
|
339
|
+
"highs_presolve",
|
|
340
|
+
"choose"
|
|
341
|
+
],
|
|
342
|
+
[
|
|
343
|
+
"inflow_methods",
|
|
344
|
+
"no_inflow"
|
|
345
|
+
],
|
|
346
|
+
[
|
|
347
|
+
"inflow_methods",
|
|
348
|
+
"use_original"
|
|
349
|
+
],
|
|
350
|
+
[
|
|
351
|
+
"inflow_methods",
|
|
352
|
+
"scale_in_proportion"
|
|
353
|
+
],
|
|
354
|
+
[
|
|
355
|
+
"inflow_methods",
|
|
356
|
+
"scale_to_annual_flow"
|
|
357
|
+
],
|
|
358
|
+
[
|
|
359
|
+
"inflow_methods",
|
|
360
|
+
"scale_to_annual_and_peak_flow"
|
|
361
|
+
],
|
|
362
|
+
[
|
|
363
|
+
"invest_methods",
|
|
364
|
+
"not_allowed"
|
|
365
|
+
],
|
|
366
|
+
[
|
|
367
|
+
"invest_methods",
|
|
368
|
+
"invest_no_limit"
|
|
369
|
+
],
|
|
370
|
+
[
|
|
371
|
+
"invest_methods",
|
|
372
|
+
"invest_period"
|
|
373
|
+
],
|
|
374
|
+
[
|
|
375
|
+
"invest_methods",
|
|
376
|
+
"invest_total"
|
|
377
|
+
],
|
|
378
|
+
[
|
|
379
|
+
"invest_methods",
|
|
380
|
+
"invest_period_total"
|
|
381
|
+
],
|
|
382
|
+
[
|
|
383
|
+
"invest_methods",
|
|
384
|
+
"retire_no_limit"
|
|
385
|
+
],
|
|
386
|
+
[
|
|
387
|
+
"invest_methods",
|
|
388
|
+
"retire_period"
|
|
389
|
+
],
|
|
390
|
+
[
|
|
391
|
+
"invest_methods",
|
|
392
|
+
"retire_total"
|
|
393
|
+
],
|
|
394
|
+
[
|
|
395
|
+
"invest_methods",
|
|
396
|
+
"retire_period_total"
|
|
397
|
+
],
|
|
398
|
+
[
|
|
399
|
+
"invest_methods",
|
|
400
|
+
"invest_retire_no_limit"
|
|
401
|
+
],
|
|
402
|
+
[
|
|
403
|
+
"invest_methods",
|
|
404
|
+
"invest_retire_period"
|
|
405
|
+
],
|
|
406
|
+
[
|
|
407
|
+
"invest_methods",
|
|
408
|
+
"invest_retire_total"
|
|
409
|
+
],
|
|
410
|
+
[
|
|
411
|
+
"invest_methods",
|
|
412
|
+
"invest_retire_period_total"
|
|
413
|
+
],
|
|
414
|
+
[
|
|
415
|
+
"is_DC",
|
|
416
|
+
"yes"
|
|
417
|
+
],
|
|
418
|
+
[
|
|
419
|
+
"is_active",
|
|
420
|
+
"yes"
|
|
421
|
+
],
|
|
422
|
+
[
|
|
423
|
+
"is_non_synchronous",
|
|
424
|
+
"yes"
|
|
425
|
+
],
|
|
426
|
+
[
|
|
427
|
+
"lifetime_methods",
|
|
428
|
+
"reinvest_automatic"
|
|
429
|
+
],
|
|
430
|
+
[
|
|
431
|
+
"lifetime_methods",
|
|
432
|
+
"reinvest_choice"
|
|
433
|
+
],
|
|
434
|
+
[
|
|
435
|
+
"minimum_time_methods",
|
|
436
|
+
"min_uptime"
|
|
437
|
+
],
|
|
438
|
+
[
|
|
439
|
+
"minimum_time_methods",
|
|
440
|
+
"min_downtime"
|
|
441
|
+
],
|
|
442
|
+
[
|
|
443
|
+
"minimum_time_methods",
|
|
444
|
+
"both"
|
|
445
|
+
],
|
|
446
|
+
[
|
|
447
|
+
"output_results",
|
|
448
|
+
"yes"
|
|
449
|
+
],
|
|
450
|
+
[
|
|
451
|
+
"profile_methods",
|
|
452
|
+
"upper_limit"
|
|
453
|
+
],
|
|
454
|
+
[
|
|
455
|
+
"profile_methods",
|
|
456
|
+
"lower_limit"
|
|
457
|
+
],
|
|
458
|
+
[
|
|
459
|
+
"profile_methods",
|
|
460
|
+
"fixed"
|
|
461
|
+
],
|
|
462
|
+
[
|
|
463
|
+
"ramp_methods",
|
|
464
|
+
"ramp_limit"
|
|
465
|
+
],
|
|
466
|
+
[
|
|
467
|
+
"ramp_methods",
|
|
468
|
+
"ramp_cost"
|
|
469
|
+
],
|
|
470
|
+
[
|
|
471
|
+
"ramp_methods",
|
|
472
|
+
"both"
|
|
473
|
+
],
|
|
474
|
+
[
|
|
475
|
+
"reserve_methods",
|
|
476
|
+
"no_reserve"
|
|
477
|
+
],
|
|
478
|
+
[
|
|
479
|
+
"reserve_methods",
|
|
480
|
+
"timeseries_only"
|
|
481
|
+
],
|
|
482
|
+
[
|
|
483
|
+
"reserve_methods",
|
|
484
|
+
"dynamic_only"
|
|
485
|
+
],
|
|
486
|
+
[
|
|
487
|
+
"reserve_methods",
|
|
488
|
+
"large_failure_only"
|
|
489
|
+
],
|
|
490
|
+
[
|
|
491
|
+
"reserve_methods",
|
|
492
|
+
"timeseries_and_dynamic"
|
|
493
|
+
],
|
|
494
|
+
[
|
|
495
|
+
"reserve_methods",
|
|
496
|
+
"timeseries_and_large_failure"
|
|
497
|
+
],
|
|
498
|
+
[
|
|
499
|
+
"reserve_methods",
|
|
500
|
+
"dynamic_and_large_failure"
|
|
501
|
+
],
|
|
502
|
+
[
|
|
503
|
+
"reserve_methods",
|
|
504
|
+
"all"
|
|
505
|
+
],
|
|
506
|
+
[
|
|
507
|
+
"results",
|
|
508
|
+
"summary_only"
|
|
509
|
+
],
|
|
510
|
+
[
|
|
511
|
+
"results",
|
|
512
|
+
"limited_period"
|
|
513
|
+
],
|
|
514
|
+
[
|
|
515
|
+
"results",
|
|
516
|
+
"limited_period_time"
|
|
517
|
+
],
|
|
518
|
+
[
|
|
519
|
+
"results",
|
|
520
|
+
"full_period"
|
|
521
|
+
],
|
|
522
|
+
[
|
|
523
|
+
"results",
|
|
524
|
+
"full_period_time"
|
|
525
|
+
],
|
|
526
|
+
[
|
|
527
|
+
"senses",
|
|
528
|
+
"greater_than"
|
|
529
|
+
],
|
|
530
|
+
[
|
|
531
|
+
"senses",
|
|
532
|
+
"less_than"
|
|
533
|
+
],
|
|
534
|
+
[
|
|
535
|
+
"senses",
|
|
536
|
+
"equal"
|
|
537
|
+
],
|
|
538
|
+
[
|
|
539
|
+
"solve_mode",
|
|
540
|
+
"single_solve"
|
|
541
|
+
],
|
|
542
|
+
[
|
|
543
|
+
"solve_mode",
|
|
544
|
+
"rolling_window"
|
|
545
|
+
],
|
|
546
|
+
[
|
|
547
|
+
"solver",
|
|
548
|
+
"glpsol"
|
|
549
|
+
],
|
|
550
|
+
[
|
|
551
|
+
"solver",
|
|
552
|
+
"highs"
|
|
553
|
+
],
|
|
554
|
+
[
|
|
555
|
+
"solver",
|
|
556
|
+
"cplex"
|
|
557
|
+
],
|
|
558
|
+
[
|
|
559
|
+
"startup_methods",
|
|
560
|
+
"no_startup"
|
|
561
|
+
],
|
|
562
|
+
[
|
|
563
|
+
"startup_methods",
|
|
564
|
+
"linear"
|
|
565
|
+
],
|
|
566
|
+
[
|
|
567
|
+
"startup_methods",
|
|
568
|
+
"binary"
|
|
569
|
+
],
|
|
570
|
+
[
|
|
571
|
+
"storage_binding_methods",
|
|
572
|
+
"bind_within_timeblock"
|
|
573
|
+
],
|
|
574
|
+
[
|
|
575
|
+
"storage_binding_methods",
|
|
576
|
+
"bind_within_period"
|
|
577
|
+
],
|
|
578
|
+
[
|
|
579
|
+
"storage_binding_methods",
|
|
580
|
+
"bind_within_solve"
|
|
581
|
+
],
|
|
582
|
+
[
|
|
583
|
+
"storage_binding_methods",
|
|
584
|
+
"bind_within_model"
|
|
585
|
+
],
|
|
586
|
+
[
|
|
587
|
+
"storage_binding_methods",
|
|
588
|
+
"bind_forward_only"
|
|
589
|
+
],
|
|
590
|
+
[
|
|
591
|
+
"storage_nested_fix_method",
|
|
592
|
+
"no"
|
|
593
|
+
],
|
|
594
|
+
[
|
|
595
|
+
"storage_nested_fix_method",
|
|
596
|
+
"fix_quantity"
|
|
597
|
+
],
|
|
598
|
+
[
|
|
599
|
+
"storage_nested_fix_method",
|
|
600
|
+
"fix_price"
|
|
601
|
+
],
|
|
602
|
+
[
|
|
603
|
+
"storage_solve_horizon_methods",
|
|
604
|
+
"free"
|
|
605
|
+
],
|
|
606
|
+
[
|
|
607
|
+
"storage_solve_horizon_methods",
|
|
608
|
+
"use_reference_value"
|
|
609
|
+
],
|
|
610
|
+
[
|
|
611
|
+
"storage_solve_horizon_methods",
|
|
612
|
+
"use_reference_price"
|
|
613
|
+
],
|
|
614
|
+
[
|
|
615
|
+
"storage_start_end_methods",
|
|
616
|
+
"fix_start"
|
|
617
|
+
],
|
|
618
|
+
[
|
|
619
|
+
"storage_start_end_methods",
|
|
620
|
+
"fix_end"
|
|
621
|
+
],
|
|
622
|
+
[
|
|
623
|
+
"storage_start_end_methods",
|
|
624
|
+
"fix_start_end"
|
|
625
|
+
],
|
|
626
|
+
[
|
|
627
|
+
"storage_start_end_methods",
|
|
628
|
+
"fix_nothing"
|
|
629
|
+
],
|
|
630
|
+
[
|
|
631
|
+
"transfer_methods",
|
|
632
|
+
"no_losses_no_variable_cost"
|
|
633
|
+
],
|
|
634
|
+
[
|
|
635
|
+
"transfer_methods",
|
|
636
|
+
"regular"
|
|
637
|
+
],
|
|
638
|
+
[
|
|
639
|
+
"transfer_methods",
|
|
640
|
+
"exact"
|
|
641
|
+
],
|
|
642
|
+
[
|
|
643
|
+
"transfer_methods",
|
|
644
|
+
"variable_cost_only"
|
|
645
|
+
]
|
|
646
|
+
],
|
|
647
|
+
"object_parameters": [
|
|
648
|
+
[
|
|
649
|
+
"commodity",
|
|
650
|
+
"co2_content",
|
|
651
|
+
null,
|
|
652
|
+
null,
|
|
653
|
+
"[CO2 ton per MWh] Constant."
|
|
654
|
+
],
|
|
655
|
+
[
|
|
656
|
+
"commodity",
|
|
657
|
+
"price",
|
|
658
|
+
null,
|
|
659
|
+
null,
|
|
660
|
+
"[CUR/MWh or other unit] Price of the commodity. Constant or period."
|
|
661
|
+
],
|
|
662
|
+
[
|
|
663
|
+
"connection",
|
|
664
|
+
"availability",
|
|
665
|
+
null,
|
|
666
|
+
null,
|
|
667
|
+
"[e.g. 0.9 means 90%] Fraction of capacity available for connection flows. Constant or time."
|
|
668
|
+
],
|
|
669
|
+
[
|
|
670
|
+
"connection",
|
|
671
|
+
"constraint_capacity_coefficient",
|
|
672
|
+
null,
|
|
673
|
+
null,
|
|
674
|
+
"A map of coefficients (Index: constraint name, value: coefficient) to represent the participation of the connection capacity in user-defined constraints. [(invest - divest variable) x coefficient] will be on the left side of the equation. Invest and divest variables are not multiplied by unitsize."
|
|
675
|
+
],
|
|
676
|
+
[
|
|
677
|
+
"connection",
|
|
678
|
+
"efficiency",
|
|
679
|
+
null,
|
|
680
|
+
null,
|
|
681
|
+
"[factor, typically between 0-1] Efficiency of a connection. Constant or time."
|
|
682
|
+
],
|
|
683
|
+
[
|
|
684
|
+
"connection",
|
|
685
|
+
"existing",
|
|
686
|
+
null,
|
|
687
|
+
null,
|
|
688
|
+
"[MW] Existing capacity. Constant."
|
|
689
|
+
],
|
|
690
|
+
[
|
|
691
|
+
"connection",
|
|
692
|
+
"fixed_cost",
|
|
693
|
+
null,
|
|
694
|
+
null,
|
|
695
|
+
"[CUR/kW] Annual fixed cost. Constant or period."
|
|
696
|
+
],
|
|
697
|
+
[
|
|
698
|
+
"connection",
|
|
699
|
+
"interest_rate",
|
|
700
|
+
null,
|
|
701
|
+
null,
|
|
702
|
+
"[e.g. 0.05 equals 5%] Interest rate for investments. Constant or period."
|
|
703
|
+
],
|
|
704
|
+
[
|
|
705
|
+
"connection",
|
|
706
|
+
"invest_cost",
|
|
707
|
+
null,
|
|
708
|
+
null,
|
|
709
|
+
"[CUR/kW] Investment cost for new 'virtual' capacity. Constant or period."
|
|
710
|
+
],
|
|
711
|
+
[
|
|
712
|
+
"connection",
|
|
713
|
+
"invest_forced",
|
|
714
|
+
null,
|
|
715
|
+
null,
|
|
716
|
+
"[MW] Capacity that must be invested in a given period. Investment cost will be included in the cost results. Constant or period."
|
|
717
|
+
],
|
|
718
|
+
[
|
|
719
|
+
"connection",
|
|
720
|
+
"invest_max_period",
|
|
721
|
+
null,
|
|
722
|
+
null,
|
|
723
|
+
"[MW] Maximum investment. Period."
|
|
724
|
+
],
|
|
725
|
+
[
|
|
726
|
+
"connection",
|
|
727
|
+
"invest_max_total",
|
|
728
|
+
null,
|
|
729
|
+
null,
|
|
730
|
+
"[MW] Maximum investment over all solves. Constant."
|
|
731
|
+
],
|
|
732
|
+
[
|
|
733
|
+
"connection",
|
|
734
|
+
"invest_method",
|
|
735
|
+
"not_allowed",
|
|
736
|
+
"invest_methods",
|
|
737
|
+
"Choice of investment method: not_allowed, invest and retire indicate availability of investment and retirement. no_limit removes all limits even if there are limiting values set. period uses values set in invest/retire_max/min_period. total uses values set in invest/retire_max/min_total."
|
|
738
|
+
],
|
|
739
|
+
[
|
|
740
|
+
"connection",
|
|
741
|
+
"invest_min_period",
|
|
742
|
+
null,
|
|
743
|
+
null,
|
|
744
|
+
"[MW] Minimum investment. Period."
|
|
745
|
+
],
|
|
746
|
+
[
|
|
747
|
+
"connection",
|
|
748
|
+
"invest_min_total",
|
|
749
|
+
null,
|
|
750
|
+
null,
|
|
751
|
+
"[MW] Minimum investment over all solves. Constant."
|
|
752
|
+
],
|
|
753
|
+
[
|
|
754
|
+
"connection",
|
|
755
|
+
"is_DC",
|
|
756
|
+
null,
|
|
757
|
+
"is_DC",
|
|
758
|
+
"A flag whether the connection is DC (the flow will not be counted as synchronous if there is a non_synchronous_limit). Default false."
|
|
759
|
+
],
|
|
760
|
+
[
|
|
761
|
+
"connection",
|
|
762
|
+
"is_active",
|
|
763
|
+
null,
|
|
764
|
+
"is_active",
|
|
765
|
+
"Whether the unit is present in the alternative."
|
|
766
|
+
],
|
|
767
|
+
[
|
|
768
|
+
"connection",
|
|
769
|
+
"lifetime",
|
|
770
|
+
null,
|
|
771
|
+
null,
|
|
772
|
+
"[years] Used to calculate annuity together with interest rate. Constant or period."
|
|
773
|
+
],
|
|
774
|
+
[
|
|
775
|
+
"connection",
|
|
776
|
+
"lifetime_method",
|
|
777
|
+
"reinvest_automatic",
|
|
778
|
+
"lifetime_methods",
|
|
779
|
+
"Choice how the investments behave after unit runs out of lifetime. Automatic reinvestment causes the model to keep the capacity until the end of model horizon and applies the annualized investment cost without further model choice. Choice of reinvestment removes the capacity at the end of the lifetime and the model needs to decide how much new capacity is to be built."
|
|
780
|
+
],
|
|
781
|
+
[
|
|
782
|
+
"connection",
|
|
783
|
+
"other_operational_cost",
|
|
784
|
+
null,
|
|
785
|
+
null,
|
|
786
|
+
"[CUR/MWh] Other operational variable cost for trasferring over the connection. Constant or time."
|
|
787
|
+
],
|
|
788
|
+
[
|
|
789
|
+
"connection",
|
|
790
|
+
"retire_forced",
|
|
791
|
+
null,
|
|
792
|
+
null,
|
|
793
|
+
"[MW] Forced retired capacity. Period."
|
|
794
|
+
],
|
|
795
|
+
[
|
|
796
|
+
"connection",
|
|
797
|
+
"retire_max_period",
|
|
798
|
+
null,
|
|
799
|
+
null,
|
|
800
|
+
"[MW] Maximum retired capacity. Period."
|
|
801
|
+
],
|
|
802
|
+
[
|
|
803
|
+
"connection",
|
|
804
|
+
"retire_max_total",
|
|
805
|
+
null,
|
|
806
|
+
null,
|
|
807
|
+
"[MW] Maximum retired capacity over all solves. Constant."
|
|
808
|
+
],
|
|
809
|
+
[
|
|
810
|
+
"connection",
|
|
811
|
+
"retire_min_period",
|
|
812
|
+
null,
|
|
813
|
+
null,
|
|
814
|
+
"[MW] Maximum retired capacity. Period."
|
|
815
|
+
],
|
|
816
|
+
[
|
|
817
|
+
"connection",
|
|
818
|
+
"retire_min_total",
|
|
819
|
+
null,
|
|
820
|
+
null,
|
|
821
|
+
"[MW] Minimum retired capacity over all solves. Constant."
|
|
822
|
+
],
|
|
823
|
+
[
|
|
824
|
+
"connection",
|
|
825
|
+
"salvage_value",
|
|
826
|
+
null,
|
|
827
|
+
null,
|
|
828
|
+
"[CUR/kW] Salvage value for retiring capacity. Constant or period."
|
|
829
|
+
],
|
|
830
|
+
[
|
|
831
|
+
"connection",
|
|
832
|
+
"startup_cost",
|
|
833
|
+
null,
|
|
834
|
+
null,
|
|
835
|
+
"[CUR/MW] Cost of starting up one MW of 'virtual' capacity. Constant."
|
|
836
|
+
],
|
|
837
|
+
[
|
|
838
|
+
"connection",
|
|
839
|
+
"startup_method",
|
|
840
|
+
"no_startup",
|
|
841
|
+
"startup_methods",
|
|
842
|
+
"Choice of startup method"
|
|
843
|
+
],
|
|
844
|
+
[
|
|
845
|
+
"connection",
|
|
846
|
+
"transfer_method",
|
|
847
|
+
"regular",
|
|
848
|
+
"transfer_methods",
|
|
849
|
+
"Choice of transfer method"
|
|
850
|
+
],
|
|
851
|
+
[
|
|
852
|
+
"connection",
|
|
853
|
+
"virtual_unitsize",
|
|
854
|
+
null,
|
|
855
|
+
null,
|
|
856
|
+
"[MW] Size of single connection - used for integer (lumped) investments."
|
|
857
|
+
],
|
|
858
|
+
[
|
|
859
|
+
"constraint",
|
|
860
|
+
"constant",
|
|
861
|
+
null,
|
|
862
|
+
null,
|
|
863
|
+
"A constant offset for a user constraint (typically zero). The constant will be on the right side of the equation."
|
|
864
|
+
],
|
|
865
|
+
[
|
|
866
|
+
"constraint",
|
|
867
|
+
"is_active",
|
|
868
|
+
null,
|
|
869
|
+
"is_active",
|
|
870
|
+
"Whether the constraint is active."
|
|
871
|
+
],
|
|
872
|
+
[
|
|
873
|
+
"constraint",
|
|
874
|
+
"sense",
|
|
875
|
+
null,
|
|
876
|
+
"senses",
|
|
877
|
+
"The sense of the constraint ('greater_than', 'less_than' or 'equal')."
|
|
878
|
+
],
|
|
879
|
+
[
|
|
880
|
+
"group",
|
|
881
|
+
"capacity_margin",
|
|
882
|
+
null,
|
|
883
|
+
null,
|
|
884
|
+
"[MW] How much capacity a node group is required to have in addition to the peak net load in the investment time series. Used only by the investment mode. Constant or period."
|
|
885
|
+
],
|
|
886
|
+
[
|
|
887
|
+
"group",
|
|
888
|
+
"co2_max_period",
|
|
889
|
+
null,
|
|
890
|
+
null,
|
|
891
|
+
"[tCO2] Maximum limit for emitted CO2 in each period."
|
|
892
|
+
],
|
|
893
|
+
[
|
|
894
|
+
"group",
|
|
895
|
+
"co2_max_total",
|
|
896
|
+
null,
|
|
897
|
+
null,
|
|
898
|
+
"[tCO2] Maximum limit for emitted CO2 in the whole solve."
|
|
899
|
+
],
|
|
900
|
+
[
|
|
901
|
+
"group",
|
|
902
|
+
"co2_method",
|
|
903
|
+
"no_method",
|
|
904
|
+
"co2_methods",
|
|
905
|
+
"Choice of the CO2 method: no_method, price, period, total, price_period, price_total, period_total, price_period_total"
|
|
906
|
+
],
|
|
907
|
+
[
|
|
908
|
+
"group",
|
|
909
|
+
"co2_price",
|
|
910
|
+
null,
|
|
911
|
+
null,
|
|
912
|
+
"[CUR/ton] CO2 price for a group of nodes. Constant or period."
|
|
913
|
+
],
|
|
914
|
+
[
|
|
915
|
+
"group",
|
|
916
|
+
"has_capacity_margin",
|
|
917
|
+
null,
|
|
918
|
+
"has_capacity_margin",
|
|
919
|
+
"A flag whether the group of nodes has a capacity margin constraint in the investment mode."
|
|
920
|
+
],
|
|
921
|
+
[
|
|
922
|
+
"group",
|
|
923
|
+
"has_inertia",
|
|
924
|
+
null,
|
|
925
|
+
"has_inertia",
|
|
926
|
+
"A flag whether the group of nodes has an inertia constraint active.\n"
|
|
927
|
+
],
|
|
928
|
+
[
|
|
929
|
+
"group",
|
|
930
|
+
"has_non_synchronous",
|
|
931
|
+
null,
|
|
932
|
+
"has_non_synchronous",
|
|
933
|
+
"A flag whether the group of nodes has the non-synchronous share constraint active."
|
|
934
|
+
],
|
|
935
|
+
[
|
|
936
|
+
"group",
|
|
937
|
+
"inertia_limit",
|
|
938
|
+
null,
|
|
939
|
+
null,
|
|
940
|
+
"[MWs] Minimum for synchronous inertia in the group of nodes. Constant or period."
|
|
941
|
+
],
|
|
942
|
+
[
|
|
943
|
+
"group",
|
|
944
|
+
"invest_max_period",
|
|
945
|
+
null,
|
|
946
|
+
null,
|
|
947
|
+
"[MW or MWh] Maximum investment per period to the virtual capacity of a group of units or to the storage capacity of a group of nodes. Period."
|
|
948
|
+
],
|
|
949
|
+
[
|
|
950
|
+
"group",
|
|
951
|
+
"invest_max_total",
|
|
952
|
+
null,
|
|
953
|
+
null,
|
|
954
|
+
"[MW or MWh] Maximum investment to the virtual capacity of a group of units or to the storage capacity of a group of nodes. Total over all solves. Constant."
|
|
955
|
+
],
|
|
956
|
+
[
|
|
957
|
+
"group",
|
|
958
|
+
"invest_method",
|
|
959
|
+
"not_allowed",
|
|
960
|
+
"invest_methods",
|
|
961
|
+
"Choice of investment method: not_allowed, invest and retire indicate availability of investment and retirement. no_limit removes all limits even if there are limiting values set. period uses values set in invest/retire_max/min_period. total uses values set in invest/retire_max/min_total.\r\n"
|
|
962
|
+
],
|
|
963
|
+
[
|
|
964
|
+
"group",
|
|
965
|
+
"invest_min_period",
|
|
966
|
+
null,
|
|
967
|
+
null,
|
|
968
|
+
"[MW or MWh] Minimum investment per period to the virtual capacity of a group of units or to the storage capacity of a group of nodes. Period."
|
|
969
|
+
],
|
|
970
|
+
[
|
|
971
|
+
"group",
|
|
972
|
+
"invest_min_total",
|
|
973
|
+
null,
|
|
974
|
+
null,
|
|
975
|
+
"[MW or MWh] Minimum investment to the virtual capacity of a group of units or to the storage capacity of a group of nodes. Total over all solves. Constant."
|
|
976
|
+
],
|
|
977
|
+
[
|
|
978
|
+
"group",
|
|
979
|
+
"max_cumulative_flow",
|
|
980
|
+
null,
|
|
981
|
+
null,
|
|
982
|
+
"[MW] Maximum average flow, which limits the cumulative flow for a group of connection_nodes and/or unit_nodes. The average value is multiplied by the model duration to get the cumulative limit (e.g. by 8760 if a single year is modelled). Applied for each solve. Constant or period."
|
|
983
|
+
],
|
|
984
|
+
[
|
|
985
|
+
"group",
|
|
986
|
+
"max_instant_flow",
|
|
987
|
+
null,
|
|
988
|
+
null,
|
|
989
|
+
"[MW] Maximum instantenous flow for the aggregated flow of all group members. Constant or period."
|
|
990
|
+
],
|
|
991
|
+
[
|
|
992
|
+
"group",
|
|
993
|
+
"min_cumulative_flow",
|
|
994
|
+
null,
|
|
995
|
+
null,
|
|
996
|
+
"[MW] Minimum average flow, which limits the cumulative flow for a group of connection_nodes and/or unit_nodes. The average value is multiplied by the model duration to get the cumulative limit (e.g. by 8760 if a single year is modelled). Applied for each solve. Constant or period."
|
|
997
|
+
],
|
|
998
|
+
[
|
|
999
|
+
"group",
|
|
1000
|
+
"min_instant_flow",
|
|
1001
|
+
null,
|
|
1002
|
+
null,
|
|
1003
|
+
"[MW] Minimum instantenous flow for the aggregated flow of all group members. Constant or period."
|
|
1004
|
+
],
|
|
1005
|
+
[
|
|
1006
|
+
"group",
|
|
1007
|
+
"non_synchronous_limit",
|
|
1008
|
+
null,
|
|
1009
|
+
null,
|
|
1010
|
+
"[share, e.g. 0.8 means 80%] The maximum share of non-synchronous generation in the node group. Constant or period."
|
|
1011
|
+
],
|
|
1012
|
+
[
|
|
1013
|
+
"group",
|
|
1014
|
+
"output_results",
|
|
1015
|
+
null,
|
|
1016
|
+
"output_results",
|
|
1017
|
+
"A flag to output also aggregated results for the group members."
|
|
1018
|
+
],
|
|
1019
|
+
[
|
|
1020
|
+
"group",
|
|
1021
|
+
"penalty_capacity_margin",
|
|
1022
|
+
null,
|
|
1023
|
+
null,
|
|
1024
|
+
"[CUR/MWh] Penalty for violating the capacity margin constraint. Constant or period."
|
|
1025
|
+
],
|
|
1026
|
+
[
|
|
1027
|
+
"group",
|
|
1028
|
+
"penalty_inertia",
|
|
1029
|
+
null,
|
|
1030
|
+
null,
|
|
1031
|
+
"[CUR/MWs] Penalty for violating the inertia constraint. Constant or period."
|
|
1032
|
+
],
|
|
1033
|
+
[
|
|
1034
|
+
"group",
|
|
1035
|
+
"penalty_non_synchronous",
|
|
1036
|
+
null,
|
|
1037
|
+
null,
|
|
1038
|
+
"[CUR/MWh] Penalty for violating the non synchronous constraint. Constant or period."
|
|
1039
|
+
],
|
|
1040
|
+
[
|
|
1041
|
+
"model",
|
|
1042
|
+
"debug",
|
|
1043
|
+
null,
|
|
1044
|
+
null,
|
|
1045
|
+
"Instruction set for performing model debugging and testing."
|
|
1046
|
+
],
|
|
1047
|
+
[
|
|
1048
|
+
"model",
|
|
1049
|
+
"discount_offset_investment",
|
|
1050
|
+
1,
|
|
1051
|
+
null,
|
|
1052
|
+
"[years] Offset from the period (often year) start to the first payment of the investment cost annuity."
|
|
1053
|
+
],
|
|
1054
|
+
[
|
|
1055
|
+
"model",
|
|
1056
|
+
"discount_offset_operations",
|
|
1057
|
+
0.5,
|
|
1058
|
+
null,
|
|
1059
|
+
"[years] Offset from the period (often year) start to the payment of operational costs. "
|
|
1060
|
+
],
|
|
1061
|
+
[
|
|
1062
|
+
"model",
|
|
1063
|
+
"discount_rate",
|
|
1064
|
+
null,
|
|
1065
|
+
null,
|
|
1066
|
+
"[e.g. 0.05 for 5%] Model-wide discount rate."
|
|
1067
|
+
],
|
|
1068
|
+
[
|
|
1069
|
+
"model",
|
|
1070
|
+
"results",
|
|
1071
|
+
null,
|
|
1072
|
+
"results",
|
|
1073
|
+
"Choice of outputs from the model runs."
|
|
1074
|
+
],
|
|
1075
|
+
[
|
|
1076
|
+
"model",
|
|
1077
|
+
"solves",
|
|
1078
|
+
null,
|
|
1079
|
+
null,
|
|
1080
|
+
"Sequence of solves in the model. Array."
|
|
1081
|
+
],
|
|
1082
|
+
[
|
|
1083
|
+
"model",
|
|
1084
|
+
"version",
|
|
1085
|
+
4.0,
|
|
1086
|
+
null,
|
|
1087
|
+
"Contains database version information. Do not touch!! Used for db migration when updating flextool"
|
|
1088
|
+
],
|
|
1089
|
+
[
|
|
1090
|
+
"node",
|
|
1091
|
+
"annual_flow",
|
|
1092
|
+
null,
|
|
1093
|
+
null,
|
|
1094
|
+
"[MWh] Annual flow in energy units (always positive, the sign of inflow defines in/out). Inflow time series can be scaled to match annual flow. By default, there is no scaling of inflow. Constant or period."
|
|
1095
|
+
],
|
|
1096
|
+
[
|
|
1097
|
+
"node",
|
|
1098
|
+
"availability",
|
|
1099
|
+
null,
|
|
1100
|
+
null,
|
|
1101
|
+
"[e.g. 0.9 means 90%] Fraction of capacity available for storage. Constant or time."
|
|
1102
|
+
],
|
|
1103
|
+
[
|
|
1104
|
+
"node",
|
|
1105
|
+
"constraint_capacity_coefficient",
|
|
1106
|
+
null,
|
|
1107
|
+
null,
|
|
1108
|
+
"A map of coefficients (Index: constraint name, value: coefficient) to represent the participation of the storage capacity in user-defined constraints. [(invest - divest variable) x coefficient] will be on the left side of the equation. Invest and divest variables are not multiplied by unitsize."
|
|
1109
|
+
],
|
|
1110
|
+
[
|
|
1111
|
+
"node",
|
|
1112
|
+
"constraint_state_coefficient",
|
|
1113
|
+
null,
|
|
1114
|
+
null,
|
|
1115
|
+
"A map of coefficients (Index: constraint name, value: coefficient) to represent the participation of the storage state in user-defined constraints. [state x coefficient] will be on the left side of the equation."
|
|
1116
|
+
],
|
|
1117
|
+
[
|
|
1118
|
+
"node",
|
|
1119
|
+
"existing",
|
|
1120
|
+
null,
|
|
1121
|
+
null,
|
|
1122
|
+
"[MWh] Existing storage capacity. Constant."
|
|
1123
|
+
],
|
|
1124
|
+
[
|
|
1125
|
+
"node",
|
|
1126
|
+
"fixed_cost",
|
|
1127
|
+
null,
|
|
1128
|
+
null,
|
|
1129
|
+
"[CUR/kWh] Annual fixed cost for storage. Constant or period."
|
|
1130
|
+
],
|
|
1131
|
+
[
|
|
1132
|
+
"node",
|
|
1133
|
+
"has_balance",
|
|
1134
|
+
null,
|
|
1135
|
+
"has_balance",
|
|
1136
|
+
"A flag whether the node maintains a balance constraint."
|
|
1137
|
+
],
|
|
1138
|
+
[
|
|
1139
|
+
"node",
|
|
1140
|
+
"has_storage",
|
|
1141
|
+
null,
|
|
1142
|
+
"has_storage",
|
|
1143
|
+
"A flag whether the node has a state variable (storage)."
|
|
1144
|
+
],
|
|
1145
|
+
[
|
|
1146
|
+
"node",
|
|
1147
|
+
"inflow",
|
|
1148
|
+
null,
|
|
1149
|
+
null,
|
|
1150
|
+
"[MWh] Inflow into the node (negative is outflow). Constant or time."
|
|
1151
|
+
],
|
|
1152
|
+
[
|
|
1153
|
+
"node",
|
|
1154
|
+
"inflow_method",
|
|
1155
|
+
null,
|
|
1156
|
+
"inflow_methods",
|
|
1157
|
+
"Choice how to treat inflow time series. Empty defaults to 'use_original', which does not scale the time series. 'no_inflow' ignores the inflow time series. 'scale_to_annual_flow' will scale the time series to match the 'annual_flow' so that the sum of inflow is multiplied by 8760/'hours_in_solve'. 'scale_in_proprotion' calculates a scaling factor by dividing 'annual_flow' with the sum of time series inflow (after it has been annualized using 'timeline_duration_in_years'). 'scale_to_annual_and_peak_flow' scales the time series to match the 'annual_flow' target while transforming the time series to match the highest load with the 'peak_inflow'."
|
|
1158
|
+
],
|
|
1159
|
+
[
|
|
1160
|
+
"node",
|
|
1161
|
+
"interest_rate",
|
|
1162
|
+
null,
|
|
1163
|
+
null,
|
|
1164
|
+
"[e.g. 0.05 equals 5%] Interest rate for investments. Constant or period."
|
|
1165
|
+
],
|
|
1166
|
+
[
|
|
1167
|
+
"node",
|
|
1168
|
+
"invest_cost",
|
|
1169
|
+
null,
|
|
1170
|
+
null,
|
|
1171
|
+
"[CUR/kWh] Investment cost for new storage capacity. Constant or period."
|
|
1172
|
+
],
|
|
1173
|
+
[
|
|
1174
|
+
"node",
|
|
1175
|
+
"invest_forced",
|
|
1176
|
+
null,
|
|
1177
|
+
null,
|
|
1178
|
+
"[MWh] Storage capacity that must be invested in a given period. Investment cost will be included in the cost results even though the model does not have an investment variable. Constant or period."
|
|
1179
|
+
],
|
|
1180
|
+
[
|
|
1181
|
+
"node",
|
|
1182
|
+
"invest_max_period",
|
|
1183
|
+
null,
|
|
1184
|
+
null,
|
|
1185
|
+
"[MWh] Maximum storage investment. Period."
|
|
1186
|
+
],
|
|
1187
|
+
[
|
|
1188
|
+
"node",
|
|
1189
|
+
"invest_max_total",
|
|
1190
|
+
null,
|
|
1191
|
+
null,
|
|
1192
|
+
"[MWh] Maximum investment over all solves. Constant."
|
|
1193
|
+
],
|
|
1194
|
+
[
|
|
1195
|
+
"node",
|
|
1196
|
+
"invest_method",
|
|
1197
|
+
"not_allowed",
|
|
1198
|
+
"invest_methods",
|
|
1199
|
+
"Choice of investment method: either not_allowed or then a combination of 1) investment or retirement and 2) investment limits per period, all periods (total) or no_limits."
|
|
1200
|
+
],
|
|
1201
|
+
[
|
|
1202
|
+
"node",
|
|
1203
|
+
"invest_min_period",
|
|
1204
|
+
null,
|
|
1205
|
+
null,
|
|
1206
|
+
"[MWh] Minimum storage investment. Period."
|
|
1207
|
+
],
|
|
1208
|
+
[
|
|
1209
|
+
"node",
|
|
1210
|
+
"invest_min_total",
|
|
1211
|
+
null,
|
|
1212
|
+
null,
|
|
1213
|
+
"[MWh] Minimum investment over all solves. Constant."
|
|
1214
|
+
],
|
|
1215
|
+
[
|
|
1216
|
+
"node",
|
|
1217
|
+
"is_active",
|
|
1218
|
+
null,
|
|
1219
|
+
"is_active",
|
|
1220
|
+
"Whether the node is present in the alternative."
|
|
1221
|
+
],
|
|
1222
|
+
[
|
|
1223
|
+
"node",
|
|
1224
|
+
"lifetime",
|
|
1225
|
+
null,
|
|
1226
|
+
null,
|
|
1227
|
+
"[years] Used to calculate annuity together with interest rate. Constant or period."
|
|
1228
|
+
],
|
|
1229
|
+
[
|
|
1230
|
+
"node",
|
|
1231
|
+
"lifetime_method",
|
|
1232
|
+
"reinvest_automatic",
|
|
1233
|
+
"lifetime_methods",
|
|
1234
|
+
"Choice how the investments behave after unit runs out of lifetime. Automatic reinvestment causes the model to keep the capacity until the end of model horizon and applies the annualized investment cost without further model choice. Choice of reinvestment removes the capacity at the end of the lifetime and the model needs to decide how much new capacity is to be built."
|
|
1235
|
+
],
|
|
1236
|
+
[
|
|
1237
|
+
"node",
|
|
1238
|
+
"peak_inflow",
|
|
1239
|
+
null,
|
|
1240
|
+
null,
|
|
1241
|
+
"[MWh] Highest flow for scaling the inflow. Used only with inflow_method scale_to_annual_and_peak_flow. Constant or period."
|
|
1242
|
+
],
|
|
1243
|
+
[
|
|
1244
|
+
"node",
|
|
1245
|
+
"penalty_down",
|
|
1246
|
+
null,
|
|
1247
|
+
null,
|
|
1248
|
+
"[CUR/MW] Penalty cost for increasing consumption in the node. Constant or time."
|
|
1249
|
+
],
|
|
1250
|
+
[
|
|
1251
|
+
"node",
|
|
1252
|
+
"penalty_up",
|
|
1253
|
+
null,
|
|
1254
|
+
null,
|
|
1255
|
+
"[CUR/MW] Penalty cost for decreasing consumption in the node. Constant or time."
|
|
1256
|
+
],
|
|
1257
|
+
[
|
|
1258
|
+
"node",
|
|
1259
|
+
"retire_forced",
|
|
1260
|
+
null,
|
|
1261
|
+
null,
|
|
1262
|
+
"[MWh] Forced retired storage capacity. Period."
|
|
1263
|
+
],
|
|
1264
|
+
[
|
|
1265
|
+
"node",
|
|
1266
|
+
"retire_max_period",
|
|
1267
|
+
null,
|
|
1268
|
+
null,
|
|
1269
|
+
"[MWh] Maximum retired storage capacity. Period."
|
|
1270
|
+
],
|
|
1271
|
+
[
|
|
1272
|
+
"node",
|
|
1273
|
+
"retire_max_total",
|
|
1274
|
+
null,
|
|
1275
|
+
null,
|
|
1276
|
+
"[MWh] Maximum retired storage capacity over all solves. Constant."
|
|
1277
|
+
],
|
|
1278
|
+
[
|
|
1279
|
+
"node",
|
|
1280
|
+
"retire_min_period",
|
|
1281
|
+
null,
|
|
1282
|
+
null,
|
|
1283
|
+
"[MWh] Minimum retired storage capacity. Period."
|
|
1284
|
+
],
|
|
1285
|
+
[
|
|
1286
|
+
"node",
|
|
1287
|
+
"retire_min_total",
|
|
1288
|
+
null,
|
|
1289
|
+
null,
|
|
1290
|
+
"[MWh] Minimum retired storage capacity over all solves. Constant."
|
|
1291
|
+
],
|
|
1292
|
+
[
|
|
1293
|
+
"node",
|
|
1294
|
+
"salvage_value",
|
|
1295
|
+
null,
|
|
1296
|
+
null,
|
|
1297
|
+
"[CUR/kWh] Salvage value of the storage. Constant or period."
|
|
1298
|
+
],
|
|
1299
|
+
[
|
|
1300
|
+
"node",
|
|
1301
|
+
"self_discharge_loss",
|
|
1302
|
+
null,
|
|
1303
|
+
null,
|
|
1304
|
+
"[e.g. 0.01 means 1% every hour] Loss of stored energy over time. Constant or time."
|
|
1305
|
+
],
|
|
1306
|
+
[
|
|
1307
|
+
"node",
|
|
1308
|
+
"storage_binding_method",
|
|
1309
|
+
"bind_within_timeblock",
|
|
1310
|
+
"storage_binding_methods",
|
|
1311
|
+
"Choice how the storage state will be maintained over discontinuos timelines. Default 'bind_between_timeblocks' will bind the storage end state at the end of the timeblock to the beginning of the timeblock. 'bind_within_period', 'bind_within_solve' and bind_within_model' will act similarly but over increasingly longer time span. Meanwhile 'bind_forward_only' will bind forward over any holes in the used timeline, but will not bind end to the start. Separate parameters (e.g. 'storage_state_start') can force bindings."
|
|
1312
|
+
],
|
|
1313
|
+
[
|
|
1314
|
+
"node",
|
|
1315
|
+
"storage_nested_fix_method",
|
|
1316
|
+
"no",
|
|
1317
|
+
null,
|
|
1318
|
+
"Used in nested solve sequences. Set this storage as a long term storage, which end state is passed to the lower level solves as a target. *Fix_price* requires `storage_state_reference_price`"
|
|
1319
|
+
],
|
|
1320
|
+
[
|
|
1321
|
+
"node",
|
|
1322
|
+
"storage_solve_horizon_method",
|
|
1323
|
+
"free",
|
|
1324
|
+
"storage_solve_horizon_methods",
|
|
1325
|
+
"Choice how to treat storage state at the end of time horizon of each solve. 'free' lets the model choose the end state. 'use_reference_value' forces the end state to the specific value set in 'storage_state_reference_value'. 'use_reference_price' gives the storage state a price in the objective function based on the 'storage_state_reference_price'. "
|
|
1326
|
+
],
|
|
1327
|
+
[
|
|
1328
|
+
"node",
|
|
1329
|
+
"storage_start_end_method",
|
|
1330
|
+
"fix_nothing",
|
|
1331
|
+
"storage_start_end_methods",
|
|
1332
|
+
"Choice whether the start and end states of storage are fixed in the beginning and end of the whole model timeline (not between solves). Uses 'storage_state_start' and 'storage_state_end'. Options: 'fix_nothing', 'fix_start', 'fix_end', 'fix_start_end'."
|
|
1333
|
+
],
|
|
1334
|
+
[
|
|
1335
|
+
"node",
|
|
1336
|
+
"storage_state_end",
|
|
1337
|
+
null,
|
|
1338
|
+
null,
|
|
1339
|
+
"[0-1] Relative state of storage at the end of the last model solve (overrides 'storage_state_end_reference'). Constant."
|
|
1340
|
+
],
|
|
1341
|
+
[
|
|
1342
|
+
"node",
|
|
1343
|
+
"storage_state_reference_price",
|
|
1344
|
+
null,
|
|
1345
|
+
null,
|
|
1346
|
+
"[CUR/MWh] Price for the stored energy at the end of the solve horizon. Requires 'use_reference_price' in 'storage_solve_horizon_method'. Constant or period."
|
|
1347
|
+
],
|
|
1348
|
+
[
|
|
1349
|
+
"node",
|
|
1350
|
+
"storage_state_reference_value",
|
|
1351
|
+
null,
|
|
1352
|
+
null,
|
|
1353
|
+
"[0-1] Relative state of storage at then end of each solve (can be overwritten in the next solve). Requires 'use_reference_value' in 'storage_solve_horizon_method'. Constant."
|
|
1354
|
+
],
|
|
1355
|
+
[
|
|
1356
|
+
"node",
|
|
1357
|
+
"storage_state_start",
|
|
1358
|
+
null,
|
|
1359
|
+
null,
|
|
1360
|
+
"[0-1] Relative state of storage at the beginning of the first model solve (irrespective of when the model starts). Constant."
|
|
1361
|
+
],
|
|
1362
|
+
[
|
|
1363
|
+
"node",
|
|
1364
|
+
"virtual_unitsize",
|
|
1365
|
+
null,
|
|
1366
|
+
null,
|
|
1367
|
+
"[MWh] Size of a single storage unit - used for integer investments (lumped investments). If not given, assumed from the existing storage capacity."
|
|
1368
|
+
],
|
|
1369
|
+
[
|
|
1370
|
+
"profile",
|
|
1371
|
+
"profile",
|
|
1372
|
+
null,
|
|
1373
|
+
null,
|
|
1374
|
+
"[factor, typically between 0-1]. Availability time series for a fluctuating resource like wind power. Time."
|
|
1375
|
+
],
|
|
1376
|
+
[
|
|
1377
|
+
"solve",
|
|
1378
|
+
"contains_solves",
|
|
1379
|
+
null,
|
|
1380
|
+
null,
|
|
1381
|
+
"Array of solves - used for nested solve sequences"
|
|
1382
|
+
],
|
|
1383
|
+
[
|
|
1384
|
+
"solve",
|
|
1385
|
+
"fix_storage_periods",
|
|
1386
|
+
"",
|
|
1387
|
+
null,
|
|
1388
|
+
"Array of periods where the storage_values are fixed when the node has storage_include_solve_fix_method is set"
|
|
1389
|
+
],
|
|
1390
|
+
[
|
|
1391
|
+
"solve",
|
|
1392
|
+
"highs_method",
|
|
1393
|
+
"choose",
|
|
1394
|
+
"highs_method",
|
|
1395
|
+
"HiGHS solver method ('simplex' or 'ipm' which is interior point method). Should use 'choose' for MIP models, since 'simplex' and 'ipm' will not work."
|
|
1396
|
+
],
|
|
1397
|
+
[
|
|
1398
|
+
"solve",
|
|
1399
|
+
"highs_parallel",
|
|
1400
|
+
"off",
|
|
1401
|
+
"highs_parallel",
|
|
1402
|
+
"HiGHS parallelises single solves or not ('on' or 'off'). It can be better to turn HiGHS parallel off when executing multiple scnearios in parallel."
|
|
1403
|
+
],
|
|
1404
|
+
[
|
|
1405
|
+
"solve",
|
|
1406
|
+
"highs_presolve",
|
|
1407
|
+
"on",
|
|
1408
|
+
"highs_presolve",
|
|
1409
|
+
"HiGHS uses presolve ('on') or not ('off'). Can have a large impact on solution time when solves are large."
|
|
1410
|
+
],
|
|
1411
|
+
[
|
|
1412
|
+
"solve",
|
|
1413
|
+
"invest_periods",
|
|
1414
|
+
null,
|
|
1415
|
+
null,
|
|
1416
|
+
"Array of periods where investments are allowed."
|
|
1417
|
+
],
|
|
1418
|
+
[
|
|
1419
|
+
"solve",
|
|
1420
|
+
"period_timeblockSet",
|
|
1421
|
+
null,
|
|
1422
|
+
null,
|
|
1423
|
+
"Map of periods with associated timeblocks that will be included in the solve. Index: period name, value: timeblockSet name."
|
|
1424
|
+
],
|
|
1425
|
+
[
|
|
1426
|
+
"solve",
|
|
1427
|
+
"realized_invest_periods",
|
|
1428
|
+
null,
|
|
1429
|
+
null,
|
|
1430
|
+
"Array of the periods that will realize the investment decisions. If not used when the invest_periods exist. The realized_periods are used to realize invests as well"
|
|
1431
|
+
],
|
|
1432
|
+
[
|
|
1433
|
+
"solve",
|
|
1434
|
+
"realized_periods",
|
|
1435
|
+
null,
|
|
1436
|
+
null,
|
|
1437
|
+
"Array of periods that will be realized in the solve."
|
|
1438
|
+
],
|
|
1439
|
+
[
|
|
1440
|
+
"solve",
|
|
1441
|
+
"rolling_duration",
|
|
1442
|
+
null,
|
|
1443
|
+
null,
|
|
1444
|
+
"Hours (Optional). Duration of rolling, if not stated, assumed to be the whole timeline of the solve"
|
|
1445
|
+
],
|
|
1446
|
+
[
|
|
1447
|
+
"solve",
|
|
1448
|
+
"rolling_solve_horizon",
|
|
1449
|
+
null,
|
|
1450
|
+
null,
|
|
1451
|
+
"Hours (Required if rolling_window solve). How long into the future the roll sees"
|
|
1452
|
+
],
|
|
1453
|
+
[
|
|
1454
|
+
"solve",
|
|
1455
|
+
"rolling_solve_jump",
|
|
1456
|
+
null,
|
|
1457
|
+
null,
|
|
1458
|
+
"Hours, (Required if rolling_window solve). Interval between the start points of the rolls. Should be smaller than the horizon"
|
|
1459
|
+
],
|
|
1460
|
+
[
|
|
1461
|
+
"solve",
|
|
1462
|
+
"rolling_start_time",
|
|
1463
|
+
null,
|
|
1464
|
+
null,
|
|
1465
|
+
"(Optional) Timestamp from the timeline that is linked to the timeblockSet used. Starting point of the rolling. If this is not stated, it is assumed to be the first timestep"
|
|
1466
|
+
],
|
|
1467
|
+
[
|
|
1468
|
+
"solve",
|
|
1469
|
+
"solve_mode",
|
|
1470
|
+
"single_solve",
|
|
1471
|
+
"solve_mode",
|
|
1472
|
+
"A single_solve or rolling_window for a set of rolling optimisation windows solved in a sequence (not functional yet)."
|
|
1473
|
+
],
|
|
1474
|
+
[
|
|
1475
|
+
"solve",
|
|
1476
|
+
"solver",
|
|
1477
|
+
"highs",
|
|
1478
|
+
"solver",
|
|
1479
|
+
"Choice of solver. HIGHs used as default. GLPSOL is another open source option. Out of commercial solvers CPLEX has been tested."
|
|
1480
|
+
],
|
|
1481
|
+
[
|
|
1482
|
+
"solve",
|
|
1483
|
+
"solver_arguments",
|
|
1484
|
+
null,
|
|
1485
|
+
null,
|
|
1486
|
+
"Array of text commands for passing command line arguments to a solver. Can be used to set additional solver parameters."
|
|
1487
|
+
],
|
|
1488
|
+
[
|
|
1489
|
+
"solve",
|
|
1490
|
+
"solver_precommand",
|
|
1491
|
+
null,
|
|
1492
|
+
null,
|
|
1493
|
+
"Additional command to execute before calling the solver. Can be used to e.g. reserve a floating license for a commercial solver."
|
|
1494
|
+
],
|
|
1495
|
+
[
|
|
1496
|
+
"solve",
|
|
1497
|
+
"years_represented",
|
|
1498
|
+
null,
|
|
1499
|
+
null,
|
|
1500
|
+
"Map to indicate how many years the period represents before the next period in the solve. Used for discounting. Can be below one (multiple periods in one year). Index: period, value: years."
|
|
1501
|
+
],
|
|
1502
|
+
[
|
|
1503
|
+
"timeblockSet",
|
|
1504
|
+
"block_duration",
|
|
1505
|
+
null,
|
|
1506
|
+
null,
|
|
1507
|
+
"Index: name of the the timestep that starts the timeblock, value: duration of the block in timesteps"
|
|
1508
|
+
],
|
|
1509
|
+
[
|
|
1510
|
+
"timeblockSet",
|
|
1511
|
+
"new_stepduration",
|
|
1512
|
+
null,
|
|
1513
|
+
null,
|
|
1514
|
+
"Hours. Creates a new `timeline` from the old for this `timeblockSet` with this timestep duration. The new timeline will sum or average the other timeseries data like `profile` and `inflow` for the new timesteps. "
|
|
1515
|
+
],
|
|
1516
|
+
[
|
|
1517
|
+
"timeline",
|
|
1518
|
+
"timeline_duration_in_years",
|
|
1519
|
+
null,
|
|
1520
|
+
null,
|
|
1521
|
+
"Total duration of the timeline in years. Used to relate operational part of the model with the annualized part of the model."
|
|
1522
|
+
],
|
|
1523
|
+
[
|
|
1524
|
+
"timeline",
|
|
1525
|
+
"timestep_duration",
|
|
1526
|
+
null,
|
|
1527
|
+
null,
|
|
1528
|
+
"Map of time steps in the timeline. Index: time step name, value: time step duration in hours."
|
|
1529
|
+
],
|
|
1530
|
+
[
|
|
1531
|
+
"unit",
|
|
1532
|
+
"availability",
|
|
1533
|
+
null,
|
|
1534
|
+
null,
|
|
1535
|
+
"[e.g. 0.9 means 90%] Fraction of capacity available for flows from/to the unit. For online units, the online variable is multiplied by the availability. Constant or time."
|
|
1536
|
+
],
|
|
1537
|
+
[
|
|
1538
|
+
"unit",
|
|
1539
|
+
"constraint_capacity_coefficient",
|
|
1540
|
+
null,
|
|
1541
|
+
null,
|
|
1542
|
+
"A map of coefficients (Index: constraint name, value: coefficient) to represent the participation of the unit capacity in user-defined constraints. [(invest - divest variable) x coefficient] will be on the left side of the equation. Invest and divest variables are not multiplied by unitsize."
|
|
1543
|
+
],
|
|
1544
|
+
[
|
|
1545
|
+
"unit",
|
|
1546
|
+
"conversion_method",
|
|
1547
|
+
"constant_efficiency",
|
|
1548
|
+
"conversion_methods",
|
|
1549
|
+
"Choice of conversion method."
|
|
1550
|
+
],
|
|
1551
|
+
[
|
|
1552
|
+
"unit",
|
|
1553
|
+
"efficiency",
|
|
1554
|
+
null,
|
|
1555
|
+
null,
|
|
1556
|
+
"[factor] Efficiency of a unit. Constant or time."
|
|
1557
|
+
],
|
|
1558
|
+
[
|
|
1559
|
+
"unit",
|
|
1560
|
+
"efficiency_at_min_load",
|
|
1561
|
+
null,
|
|
1562
|
+
null,
|
|
1563
|
+
"[e.g. 0.4 means 40%] Efficiency of the unit at minimum load. Applies only if the unit has an online variable. Constant."
|
|
1564
|
+
],
|
|
1565
|
+
[
|
|
1566
|
+
"unit",
|
|
1567
|
+
"existing",
|
|
1568
|
+
null,
|
|
1569
|
+
null,
|
|
1570
|
+
"[MW] Existing capacity. Constant."
|
|
1571
|
+
],
|
|
1572
|
+
[
|
|
1573
|
+
"unit",
|
|
1574
|
+
"fixed_cost",
|
|
1575
|
+
null,
|
|
1576
|
+
null,
|
|
1577
|
+
"[CUR/kW] Annual fixed cost. Constant or period."
|
|
1578
|
+
],
|
|
1579
|
+
[
|
|
1580
|
+
"unit",
|
|
1581
|
+
"interest_rate",
|
|
1582
|
+
null,
|
|
1583
|
+
null,
|
|
1584
|
+
"[e.g. 0.05 equals 5%] Interest rate for investments. Constant or period."
|
|
1585
|
+
],
|
|
1586
|
+
[
|
|
1587
|
+
"unit",
|
|
1588
|
+
"invest_cost",
|
|
1589
|
+
null,
|
|
1590
|
+
null,
|
|
1591
|
+
"[CUR/kW] Investment cost of the unit. Constant or period."
|
|
1592
|
+
],
|
|
1593
|
+
[
|
|
1594
|
+
"unit",
|
|
1595
|
+
"invest_forced",
|
|
1596
|
+
null,
|
|
1597
|
+
null,
|
|
1598
|
+
"[MW] Capacity that must be invested in a given period. Investment cost will be included in the cost results. Constant or period."
|
|
1599
|
+
],
|
|
1600
|
+
[
|
|
1601
|
+
"unit",
|
|
1602
|
+
"invest_max_period",
|
|
1603
|
+
null,
|
|
1604
|
+
null,
|
|
1605
|
+
"[MW] Maximum investment. Period."
|
|
1606
|
+
],
|
|
1607
|
+
[
|
|
1608
|
+
"unit",
|
|
1609
|
+
"invest_max_total",
|
|
1610
|
+
null,
|
|
1611
|
+
null,
|
|
1612
|
+
"[MW] Maximum investment over all solves. Constant."
|
|
1613
|
+
],
|
|
1614
|
+
[
|
|
1615
|
+
"unit",
|
|
1616
|
+
"invest_method",
|
|
1617
|
+
"not_allowed",
|
|
1618
|
+
"invest_methods",
|
|
1619
|
+
"Choice of investment method: not_allowed, invest and retire indicate availability of investment and retirement. no_limit removes all limits even if there are limiting values set. period uses values set in invest/retire_max/min_period. total uses values set in invest/retire_max/min_total."
|
|
1620
|
+
],
|
|
1621
|
+
[
|
|
1622
|
+
"unit",
|
|
1623
|
+
"invest_min_period",
|
|
1624
|
+
null,
|
|
1625
|
+
null,
|
|
1626
|
+
"[MW] Minimum investment. Period."
|
|
1627
|
+
],
|
|
1628
|
+
[
|
|
1629
|
+
"unit",
|
|
1630
|
+
"invest_min_total",
|
|
1631
|
+
null,
|
|
1632
|
+
null,
|
|
1633
|
+
"[MW] Minimum investment over all solves. Constant."
|
|
1634
|
+
],
|
|
1635
|
+
[
|
|
1636
|
+
"unit",
|
|
1637
|
+
"is_active",
|
|
1638
|
+
null,
|
|
1639
|
+
"is_active",
|
|
1640
|
+
"Whether the unit is present in the alternative."
|
|
1641
|
+
],
|
|
1642
|
+
[
|
|
1643
|
+
"unit",
|
|
1644
|
+
"lifetime",
|
|
1645
|
+
null,
|
|
1646
|
+
null,
|
|
1647
|
+
"[years] Used to calculate annuity together with interest rate. Constant or period."
|
|
1648
|
+
],
|
|
1649
|
+
[
|
|
1650
|
+
"unit",
|
|
1651
|
+
"lifetime_method",
|
|
1652
|
+
"reinvest_automatic",
|
|
1653
|
+
"lifetime_methods",
|
|
1654
|
+
"Choice how the investments behave after unit runs out of lifetime. Automatic reinvestment causes the model to keep the capacity until the end of model horizon and applies the annualized investment cost without further model choice. Choice of reinvestment removes the capacity at the end of the lifetime and the model needs to decide how much new capacity is to be built."
|
|
1655
|
+
],
|
|
1656
|
+
[
|
|
1657
|
+
"unit",
|
|
1658
|
+
"min_downtime",
|
|
1659
|
+
null,
|
|
1660
|
+
null,
|
|
1661
|
+
"[hours] When unit turns off, how many hours it must stay turned off. Constant."
|
|
1662
|
+
],
|
|
1663
|
+
[
|
|
1664
|
+
"unit",
|
|
1665
|
+
"min_load",
|
|
1666
|
+
null,
|
|
1667
|
+
null,
|
|
1668
|
+
"[0-1] Minimum load of the unit. Applies only if the unit has an online variable. With linear startups, it is the share of capacity started up. Constant or time."
|
|
1669
|
+
],
|
|
1670
|
+
[
|
|
1671
|
+
"unit",
|
|
1672
|
+
"min_uptime",
|
|
1673
|
+
null,
|
|
1674
|
+
null,
|
|
1675
|
+
"[hours] When unit turns on, how many hours it must stay turned on. Constant."
|
|
1676
|
+
],
|
|
1677
|
+
[
|
|
1678
|
+
"unit",
|
|
1679
|
+
"minimum_time_method",
|
|
1680
|
+
null,
|
|
1681
|
+
"minimum_time_methods",
|
|
1682
|
+
"Not functional yet. Choice between minimum up- and downtimes (<empty>, min_downtime, min_uptime, both)."
|
|
1683
|
+
],
|
|
1684
|
+
[
|
|
1685
|
+
"unit",
|
|
1686
|
+
"retire_forced",
|
|
1687
|
+
null,
|
|
1688
|
+
null,
|
|
1689
|
+
"[MW] Forced retired capacity. Period."
|
|
1690
|
+
],
|
|
1691
|
+
[
|
|
1692
|
+
"unit",
|
|
1693
|
+
"retire_max_period",
|
|
1694
|
+
null,
|
|
1695
|
+
null,
|
|
1696
|
+
"[MW] Maximum retired capacity. Period."
|
|
1697
|
+
],
|
|
1698
|
+
[
|
|
1699
|
+
"unit",
|
|
1700
|
+
"retire_max_total",
|
|
1701
|
+
null,
|
|
1702
|
+
null,
|
|
1703
|
+
"[MW] Maximum retired capacity over all solves. Constant."
|
|
1704
|
+
],
|
|
1705
|
+
[
|
|
1706
|
+
"unit",
|
|
1707
|
+
"retire_min_period",
|
|
1708
|
+
null,
|
|
1709
|
+
null,
|
|
1710
|
+
"[MW] Minimum retired capacity. Period."
|
|
1711
|
+
],
|
|
1712
|
+
[
|
|
1713
|
+
"unit",
|
|
1714
|
+
"retire_min_total",
|
|
1715
|
+
null,
|
|
1716
|
+
null,
|
|
1717
|
+
"[MW] Minimum retired capacity over all solves. Constant."
|
|
1718
|
+
],
|
|
1719
|
+
[
|
|
1720
|
+
"unit",
|
|
1721
|
+
"salvage_value",
|
|
1722
|
+
null,
|
|
1723
|
+
null,
|
|
1724
|
+
"[CUR/kW] Salvage value of the unit. Constant or period."
|
|
1725
|
+
],
|
|
1726
|
+
[
|
|
1727
|
+
"unit",
|
|
1728
|
+
"startup_cost",
|
|
1729
|
+
null,
|
|
1730
|
+
null,
|
|
1731
|
+
"[CUR/MW] Cost of starting up one MW of 'virtual' capacity. Constant."
|
|
1732
|
+
],
|
|
1733
|
+
[
|
|
1734
|
+
"unit",
|
|
1735
|
+
"startup_method",
|
|
1736
|
+
"no_startup",
|
|
1737
|
+
"startup_methods",
|
|
1738
|
+
"Choice of startup method. Linear startup means that the unit can start partially (anything between 0 and full capacity) but will face startup cost as well as minimum load limit based on the capacity started up. Binary startup means that the unit is either off or fully on, but it is computationally more demanding than linearized startups."
|
|
1739
|
+
],
|
|
1740
|
+
[
|
|
1741
|
+
"unit",
|
|
1742
|
+
"virtual_unitsize",
|
|
1743
|
+
null,
|
|
1744
|
+
null,
|
|
1745
|
+
"[MW] Size of a single unit - used for integer investments (lumped investments), minimum loads and start-up costs. If not given, assumed from the existing unit capacity."
|
|
1746
|
+
]
|
|
1747
|
+
],
|
|
1748
|
+
"relationship_parameters": [
|
|
1749
|
+
[
|
|
1750
|
+
"connection__node",
|
|
1751
|
+
"constraint_flow_coefficient",
|
|
1752
|
+
null,
|
|
1753
|
+
null,
|
|
1754
|
+
"A map of coefficients (Index: constraint name, value: coefficient) to represent the participation of the flow from the connection to a node in user-defined constraints. [flow x coefficient] will be on the left side of the equation."
|
|
1755
|
+
],
|
|
1756
|
+
[
|
|
1757
|
+
"connection__profile",
|
|
1758
|
+
"profile_method",
|
|
1759
|
+
null,
|
|
1760
|
+
"profile_methods",
|
|
1761
|
+
"Choice of profile method (upper_limit, lower_limit, fixed). Negative values also possible.\n"
|
|
1762
|
+
],
|
|
1763
|
+
[
|
|
1764
|
+
"node__profile",
|
|
1765
|
+
"profile_method",
|
|
1766
|
+
null,
|
|
1767
|
+
"profile_methods",
|
|
1768
|
+
"Choice of profile method (upper_limit, lower_limit, fixed). Negative values also possible.\n"
|
|
1769
|
+
],
|
|
1770
|
+
[
|
|
1771
|
+
"reserve__upDown__connection__node",
|
|
1772
|
+
"increase_reserve_ratio",
|
|
1773
|
+
null,
|
|
1774
|
+
null,
|
|
1775
|
+
"[factor] The reserve requirement is increased by the flow from the connection to the node multiplied by this ratio. Constant."
|
|
1776
|
+
],
|
|
1777
|
+
[
|
|
1778
|
+
"reserve__upDown__connection__node",
|
|
1779
|
+
"is_active",
|
|
1780
|
+
null,
|
|
1781
|
+
"is_active",
|
|
1782
|
+
"Can the connection provide this reserve to the selected node. Empty indicates not allowed. Use 'yes' to indicate true."
|
|
1783
|
+
],
|
|
1784
|
+
[
|
|
1785
|
+
"reserve__upDown__connection__node",
|
|
1786
|
+
"large_failure_ratio",
|
|
1787
|
+
"",
|
|
1788
|
+
null,
|
|
1789
|
+
"[factor] Each connection using the N-1 failure method will have a separate constraint to require sufficient reserve to cover a failure of the unit generation (multiplied by this ratio). Constant."
|
|
1790
|
+
],
|
|
1791
|
+
[
|
|
1792
|
+
"reserve__upDown__connection__node",
|
|
1793
|
+
"max_share",
|
|
1794
|
+
0,
|
|
1795
|
+
null,
|
|
1796
|
+
"[factor] Maximum ratio for the transfer of reserve to this node. Constant."
|
|
1797
|
+
],
|
|
1798
|
+
[
|
|
1799
|
+
"reserve__upDown__connection__node",
|
|
1800
|
+
"reliability",
|
|
1801
|
+
1,
|
|
1802
|
+
null,
|
|
1803
|
+
"[factor] The share of the reservation that is counted to reserves (sometimes reserve sources are not fully trusted). Constant."
|
|
1804
|
+
],
|
|
1805
|
+
[
|
|
1806
|
+
"reserve__upDown__group",
|
|
1807
|
+
"increase_reserve_ratio",
|
|
1808
|
+
null,
|
|
1809
|
+
null,
|
|
1810
|
+
"[factor] The reserve is increased by the sum of demands from the group members multiplied by this ratio. Constant."
|
|
1811
|
+
],
|
|
1812
|
+
[
|
|
1813
|
+
"reserve__upDown__group",
|
|
1814
|
+
"penalty_reserve",
|
|
1815
|
+
null,
|
|
1816
|
+
null,
|
|
1817
|
+
"[CUR/MW] Penalty for violating a reserve constraint. Constant."
|
|
1818
|
+
],
|
|
1819
|
+
[
|
|
1820
|
+
"reserve__upDown__group",
|
|
1821
|
+
"reservation",
|
|
1822
|
+
null,
|
|
1823
|
+
null,
|
|
1824
|
+
"[MW] Amount of reserve to be reserved. Constant or time."
|
|
1825
|
+
],
|
|
1826
|
+
[
|
|
1827
|
+
"reserve__upDown__group",
|
|
1828
|
+
"reserve_method",
|
|
1829
|
+
null,
|
|
1830
|
+
"reserve_methods",
|
|
1831
|
+
"Choice of reserve method: no_reserve, timeseries_only, dynamic_only, large_failure_only, timeseries_and_dynamic, timeseries_and_large_failure, dynamic_and_large_failure, all"
|
|
1832
|
+
],
|
|
1833
|
+
[
|
|
1834
|
+
"reserve__upDown__unit__node",
|
|
1835
|
+
"increase_reserve_ratio",
|
|
1836
|
+
null,
|
|
1837
|
+
null,
|
|
1838
|
+
"[factor] The reserve requirement is increased by generation from the unit to the node multiplied by this ratio. Constant."
|
|
1839
|
+
],
|
|
1840
|
+
[
|
|
1841
|
+
"reserve__upDown__unit__node",
|
|
1842
|
+
"is_active",
|
|
1843
|
+
null,
|
|
1844
|
+
"is_active",
|
|
1845
|
+
"Can the unit provide this reserve. Empty indicates not allowed. Use 'yes' to indicate true."
|
|
1846
|
+
],
|
|
1847
|
+
[
|
|
1848
|
+
"reserve__upDown__unit__node",
|
|
1849
|
+
"large_failure_ratio",
|
|
1850
|
+
"",
|
|
1851
|
+
null,
|
|
1852
|
+
"[factor] Each unit using the N-1 failure method will have a separate constraint to require sufficient reserve to cover a failure of the unit generation (multiplied by this ratio). Constant."
|
|
1853
|
+
],
|
|
1854
|
+
[
|
|
1855
|
+
"reserve__upDown__unit__node",
|
|
1856
|
+
"max_share",
|
|
1857
|
+
null,
|
|
1858
|
+
null,
|
|
1859
|
+
"[factor] Maximum ratio for the transfer of reserve to this node. Constant."
|
|
1860
|
+
],
|
|
1861
|
+
[
|
|
1862
|
+
"reserve__upDown__unit__node",
|
|
1863
|
+
"reliability",
|
|
1864
|
+
1,
|
|
1865
|
+
null,
|
|
1866
|
+
"[factor] The share of the reservation that is counted to reserves (sometimes reserve sources are not fully trusted). Constant."
|
|
1867
|
+
],
|
|
1868
|
+
[
|
|
1869
|
+
"unit__inputNode",
|
|
1870
|
+
"coefficient",
|
|
1871
|
+
1,
|
|
1872
|
+
null,
|
|
1873
|
+
"[factor] Coefficient to scale the output from a unit to a particular node. Can be used e.g. to change unit of measurement or to remove the flow by using zero as the coefficient (the flow variable can still be used in user constraints). Constant."
|
|
1874
|
+
],
|
|
1875
|
+
[
|
|
1876
|
+
"unit__inputNode",
|
|
1877
|
+
"constraint_flow_coefficient",
|
|
1878
|
+
null,
|
|
1879
|
+
null,
|
|
1880
|
+
"A map of coefficients (Index: constraint name, value: coefficient) to represent the participation of the flow between unit and node in user-defined constraints. [flow x coefficient] will be on the left side of the equation."
|
|
1881
|
+
],
|
|
1882
|
+
[
|
|
1883
|
+
"unit__inputNode",
|
|
1884
|
+
"inertia_constant",
|
|
1885
|
+
null,
|
|
1886
|
+
null,
|
|
1887
|
+
"[MWs/MW] Inertia constant for a synchronously connected unit to this node. Constant."
|
|
1888
|
+
],
|
|
1889
|
+
[
|
|
1890
|
+
"unit__inputNode",
|
|
1891
|
+
"is_non_synchronous",
|
|
1892
|
+
null,
|
|
1893
|
+
"is_non_synchronous",
|
|
1894
|
+
"Chooses whether the unit is synchronously connected to this node."
|
|
1895
|
+
],
|
|
1896
|
+
[
|
|
1897
|
+
"unit__inputNode",
|
|
1898
|
+
"other_operational_cost",
|
|
1899
|
+
null,
|
|
1900
|
+
null,
|
|
1901
|
+
"[CUR/MWh] Other operational variable costs for energy flows. Constant or time."
|
|
1902
|
+
],
|
|
1903
|
+
[
|
|
1904
|
+
"unit__inputNode",
|
|
1905
|
+
"ramp_cost",
|
|
1906
|
+
null,
|
|
1907
|
+
null,
|
|
1908
|
+
"[CUR/MW] Cost of ramping the unit. Constant."
|
|
1909
|
+
],
|
|
1910
|
+
[
|
|
1911
|
+
"unit__inputNode",
|
|
1912
|
+
"ramp_method",
|
|
1913
|
+
null,
|
|
1914
|
+
"ramp_methods",
|
|
1915
|
+
"Choice of ramp method. 'ramp_limit' poses a limit on the speed of ramp. 'ramp_cost' poses a cost on ramping the flow (NOT FUNCTIONAL AS OF 19.3.2023)."
|
|
1916
|
+
],
|
|
1917
|
+
[
|
|
1918
|
+
"unit__inputNode",
|
|
1919
|
+
"ramp_speed_down",
|
|
1920
|
+
null,
|
|
1921
|
+
null,
|
|
1922
|
+
"[per unit / minute] Maximum ramp down speed. Constant."
|
|
1923
|
+
],
|
|
1924
|
+
[
|
|
1925
|
+
"unit__inputNode",
|
|
1926
|
+
"ramp_speed_up",
|
|
1927
|
+
null,
|
|
1928
|
+
null,
|
|
1929
|
+
"[per unit / minute] Maximum ramp up speed. Constant."
|
|
1930
|
+
],
|
|
1931
|
+
[
|
|
1932
|
+
"unit__node__profile",
|
|
1933
|
+
"profile_method",
|
|
1934
|
+
null,
|
|
1935
|
+
"profile_methods",
|
|
1936
|
+
"Choice of profile method (upper_limit, lower_limit, fixed). Negative values also possible.\n"
|
|
1937
|
+
],
|
|
1938
|
+
[
|
|
1939
|
+
"unit__outputNode",
|
|
1940
|
+
"coefficient",
|
|
1941
|
+
1,
|
|
1942
|
+
null,
|
|
1943
|
+
"[factor] Coefficient to scale the output from a unit to a particular node. Can be used e.g. to change unit of measurement or to remove the flow by using zero as the coefficient (the flow variable can still be used in user constraints). Constant."
|
|
1944
|
+
],
|
|
1945
|
+
[
|
|
1946
|
+
"unit__outputNode",
|
|
1947
|
+
"constraint_flow_coefficient",
|
|
1948
|
+
null,
|
|
1949
|
+
null,
|
|
1950
|
+
"A map of coefficients (Index: constraint name, value: coefficient) to represent the participation of the flow between unit and node in user-defined constraints. [flow x coefficient] will be on the left side of the equation."
|
|
1951
|
+
],
|
|
1952
|
+
[
|
|
1953
|
+
"unit__outputNode",
|
|
1954
|
+
"inertia_constant",
|
|
1955
|
+
null,
|
|
1956
|
+
null,
|
|
1957
|
+
"[MWs/MW] Inertia constant for a synchronously connected unit to this node. Constant."
|
|
1958
|
+
],
|
|
1959
|
+
[
|
|
1960
|
+
"unit__outputNode",
|
|
1961
|
+
"is_non_synchronous",
|
|
1962
|
+
null,
|
|
1963
|
+
"is_non_synchronous",
|
|
1964
|
+
"Chooses whether the unit is synchronously connected to this node."
|
|
1965
|
+
],
|
|
1966
|
+
[
|
|
1967
|
+
"unit__outputNode",
|
|
1968
|
+
"other_operational_cost",
|
|
1969
|
+
null,
|
|
1970
|
+
null,
|
|
1971
|
+
"[CUR/MWh] Other operational variable cost for energy flows. Constant or time."
|
|
1972
|
+
],
|
|
1973
|
+
[
|
|
1974
|
+
"unit__outputNode",
|
|
1975
|
+
"ramp_cost",
|
|
1976
|
+
null,
|
|
1977
|
+
null,
|
|
1978
|
+
"[CUR/MW] Cost of ramping the unit. Constant."
|
|
1979
|
+
],
|
|
1980
|
+
[
|
|
1981
|
+
"unit__outputNode",
|
|
1982
|
+
"ramp_method",
|
|
1983
|
+
null,
|
|
1984
|
+
"ramp_methods",
|
|
1985
|
+
"Choice of ramp methods."
|
|
1986
|
+
],
|
|
1987
|
+
[
|
|
1988
|
+
"unit__outputNode",
|
|
1989
|
+
"ramp_speed_down",
|
|
1990
|
+
null,
|
|
1991
|
+
null,
|
|
1992
|
+
"[per unit / minute] Maximum ramp down speed. Constant."
|
|
1993
|
+
],
|
|
1994
|
+
[
|
|
1995
|
+
"unit__outputNode",
|
|
1996
|
+
"ramp_speed_up",
|
|
1997
|
+
null,
|
|
1998
|
+
null,
|
|
1999
|
+
"[per unit / minute] Maximum ramp up speed. Constant."
|
|
2000
|
+
]
|
|
2001
|
+
],
|
|
2002
|
+
"tools": [
|
|
2003
|
+
[
|
|
2004
|
+
"FlexTool3",
|
|
2005
|
+
""
|
|
2006
|
+
]
|
|
2007
|
+
],
|
|
2008
|
+
"features": [
|
|
2009
|
+
[
|
|
2010
|
+
"connection",
|
|
2011
|
+
"is_active",
|
|
2012
|
+
"is_active",
|
|
2013
|
+
"is_active"
|
|
2014
|
+
],
|
|
2015
|
+
[
|
|
2016
|
+
"constraint",
|
|
2017
|
+
"is_active",
|
|
2018
|
+
"is_active",
|
|
2019
|
+
"is_active"
|
|
2020
|
+
],
|
|
2021
|
+
[
|
|
2022
|
+
"node",
|
|
2023
|
+
"is_active",
|
|
2024
|
+
"is_active",
|
|
2025
|
+
"is_active"
|
|
2026
|
+
],
|
|
2027
|
+
[
|
|
2028
|
+
"unit",
|
|
2029
|
+
"is_active",
|
|
2030
|
+
"is_active",
|
|
2031
|
+
"is_active"
|
|
2032
|
+
]
|
|
2033
|
+
],
|
|
2034
|
+
"tool_features": [
|
|
2035
|
+
[
|
|
2036
|
+
"FlexTool3",
|
|
2037
|
+
"connection",
|
|
2038
|
+
"is_active",
|
|
2039
|
+
false
|
|
2040
|
+
],
|
|
2041
|
+
[
|
|
2042
|
+
"FlexTool3",
|
|
2043
|
+
"constraint",
|
|
2044
|
+
"is_active",
|
|
2045
|
+
false
|
|
2046
|
+
],
|
|
2047
|
+
[
|
|
2048
|
+
"FlexTool3",
|
|
2049
|
+
"node",
|
|
2050
|
+
"is_active",
|
|
2051
|
+
false
|
|
2052
|
+
],
|
|
2053
|
+
[
|
|
2054
|
+
"FlexTool3",
|
|
2055
|
+
"unit",
|
|
2056
|
+
"is_active",
|
|
2057
|
+
false
|
|
2058
|
+
]
|
|
2059
|
+
],
|
|
2060
|
+
"tool_feature_methods": [
|
|
2061
|
+
[
|
|
2062
|
+
"FlexTool3",
|
|
2063
|
+
"connection",
|
|
2064
|
+
"is_active",
|
|
2065
|
+
"yes"
|
|
2066
|
+
],
|
|
2067
|
+
[
|
|
2068
|
+
"FlexTool3",
|
|
2069
|
+
"node",
|
|
2070
|
+
"is_active",
|
|
2071
|
+
"yes"
|
|
2072
|
+
],
|
|
2073
|
+
[
|
|
2074
|
+
"FlexTool3",
|
|
2075
|
+
"unit",
|
|
2076
|
+
"is_active",
|
|
2077
|
+
"yes"
|
|
2078
|
+
]
|
|
2079
|
+
]
|
|
2080
|
+
}
|