Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
88 changes: 88 additions & 0 deletions src/gems/input_converter/data/model_configuration/p2g_asservi.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
#
# See AUTHORS.txt
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# SPDX-License-Identifier: MPL-2.0
#
# This file is part of the Antares project.

# Configuration file to convert a complex modelling artefact in an Antares study into an Andromede model.
# Description of the observed elements in BP25_AREF
# area z_P2G_asservi: UNSP = €4,000,
# load that is time- and scenario-dependent (pay attention to scenario group)
# thermal cluster z_p2g_asservi_asservi (no availability variation, no cost variation)
# linj {area}/z_P2G_asservi: no hurdle costs,
# time- and scenario-dependent direct capacity (pay attention to scenario group), indirect capacity = 0


template:
name: p2g_asservi
generator-version-compatibility: X.Y #TODO: find this information
model: andromede_v1_models.dsr2
template-parameters:
- name: area
description: "Area identifier for the P2G_asservi component"
# exclude:

component:
id: p2g_asservi_${area}
#TO DO :scenario-group = ... ?
parameters:
- id: max_load
time-dependent: true
scenario-dependent: true
value:
object-properties:
type: link
link: ${area} / z_P2G_asservi
field: capacity_direct
- id: min_load
time-dependent: false
scenario-dependent: false
value: 0.0

- id: curtailment_cost
time-dependent: false
scenario-dependent: false
value:
object-properties:
type: thermal
area: z_P2G_asservi
cluster: z_p2g_asservi_asservi
field: marginal_cost

- id: load_hurdle_cost
time-dependent: true
scenario-dependent: false
value:
object-properties:
type: link
link: ${area} / z_P2G_asservi
field: links_parameters
column: 0

# For full modeler mode
connections:
- component1: p2g_asservi_${area}
port1: balance_port
component2: ${area}
port2: balance_port

# For hybrid mode
area-connections:
- component: p2g_asservi_${area}
port: balance_port
area: ${area}

legacy-objects-to-delete:
- id: virtual_nodes
object-properties:
type: area
area: z_P2G_asservi
- id: virtual_links
object-properties:
type: link
link: ${area} / z_P2G_asservi
104 changes: 104 additions & 0 deletions src/gems/input_converter/data/model_configuration/p2g_base.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
#
# See AUTHORS.txt
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# SPDX-License-Identifier: MPL-2.0
#
# This file is part of the Antares project.

# Configuration file to convert a complex modelling artefact in an Antares study into an Andromede model.

# Description of the observed elements in BP25_AREF
# z_P2G_base: UNSP = 4000 €/MWh, spillage cost = 0 €/MWh,
# load with a time series (scenario-independent), 1 cluster "z_p2g_base_base"
# Links: {area}/z_P2G_base. Hurdle cost = 0.1 in both directions,
# direct capacity (time series, scenario-independent), no indirect capacity
# Binding constraint: P2G_fatal_band_{area}. Hourly constraints,
# lower bound on the flow on the aforementioned link (time series, scenario-independent)
# For information, factor 2 between the two bounds.

# Object to create: one P2G base object per area,
# which consumes between the lower and upper bounds.
# If consumption is not at the upper bound, a proportional shedding cost applies


template:
name: p2g_base
generator-version-compatibility: X.Y #TODO: find this information
model: andromede_v1_models.dsr2 #DSR model, number 2 -> includes a parameter "min_load"
template-parameters:
- name: area
description: "Area identifier for the P2G_base component"
# exclude:

component:
id: p2g_base_${area}
parameters:
- id: max_load
time-dependent: true
scenario-dependent: false
value:
object-properties:
type: link
link: ${area} / z_p2g_base
field: capacity_direct
column: 0
- id: min_load
time-dependent: true
scenario-dependent: false
value:
object-properties:
type: binding_constraint
binding-constraint-id: P2G_fatalband_{area}
field: gt #TODO : check this syntax. What I mean here is the constant term of the binding-constraint, which is a "greater than" constraint here
#Readable in : \input\bindingconstraints\p2g_fatalband_{area}_gt.txt
column: 0
- id: curtailment_cost
time-dependent: false
scenario-dependent: false
value:
object-properties:
type: thermal
area: z_P2G_base
cluster: z_p2g_base_base
field: marginal_cost
- id: load_hurdle_cost
time-dependent: true
scenario-dependent: false
value:
object-properties:
type: link
link: ${area} / z_p2g_base
field: links_parameters
column: 0


# For full modeler mode
connections:
- component1: p2g_base_${area}
port1: balance_port
component2: ${area}
port2: balance_port

# For hybrid mode
area-connections:
- component: p2g_base_${area}
port: balance_port
area: ${area}

legacy-objects-to-delete:
- id: virtual_nodes
object-properties:
type: area
area: z_P2G_base
- id: virtual_links
object-properties:
type: link
link: ${area} / z_P2G_base
- id: virtual_binding_constraint
object-properties:
type: binding_constraint
binding-constraint-id: P2G_fatalband_{area}
30 changes: 28 additions & 2 deletions src/gems/libs/reference_models/andromede_v1_models.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,34 @@ library:
- port: balance_port
field: flow
definition: -max_load + curtailment



- id: dsr2
parameters:
- id: min_load
time-dependent: true
scenario-dependent: true
- id: max_load
time-dependent: true
scenario-dependent: true
- id: curtailment_price
time-dependent: false
scenario-dependent: false
- id: load_hurdle_cost # This parameter should be 0 in most of the cases. It is just added here to take into account the hurdle costs in the fivtive "p2g_base" links in the BP25 modelling
time-dependent: true
scenario-dependent: false
variables:
- id: curtailment
lower-bound: 0
upper-bound: max_load-min_load
objective: expec(sum(curtailment * (curtailment_price - load_hurdle_cost) + load_hurdle_cost*max_load))
ports:
- id: balance_port
type: flow
port-field-definitions:
- port: balance_port
field: flow
definition: -max_load + curtailment

- id: electrolyser
parameters:
- id: efficiency
Expand Down
Loading