Bump tags for Tecnalia models, fix incorrect scaling and improve documentation#10
Bump tags for Tecnalia models, fix incorrect scaling and improve documentation#10
Conversation
magnuask
left a comment
There was a problem hiding this comment.
The structure is better with these additions. I left a number of inline comments with suggested fixes and clarifications (mainly related to a few inconsistencies, minor errors, and some places where the wording could be clearer).
| The [`MultipleBuildingTypes`](@ref) node creates sinks for all demand resources with penalties for both surplus and deficit. | ||
| The implementation uses `Dict` structures for the fields `cap`, `penalty_surplus`, and `penalty_deficit` to facilitate multiple [Resource](@extref EnergyModelsBase.Resource)s. | ||
| This approach allows modeling building demands with flexible penalty mechanisms for over- and under-supply. | ||
| The type is also used to enable specialized constructors that samples the [`Tecnalia_Building-Stock-Energy-Model`](https://github.com/iDesignRES/Tecnalia_Building-Stock-Energy-Model) module. |
There was a problem hiding this comment.
“constructors that samples” → “constructors that sample”
|
|
||
| PV and CSP source generate, respectively, electricity and heat from solar power. | ||
| The implementation of the node is similar to that of [NonDisRES](@extref EnergyModelsRenewableProducers nodes-nondisres) but uses `Dict` structures for the fields `cap`, `profile`, `opex_var` and `opex_fixed` to facilitate multiple [Resource](@extref EnergyModelsBase.Resource)s (both electricity and heat outputs). | ||
| The type is also used to enable specialized constructors that samples the [Tecnalia_Solar-Energy-Model](https://github.com/iDesignRES/Tecnalia_Solar-Energy-Model) module. |
There was a problem hiding this comment.
“constructors that samples” → “constructors that sample”
| # [Wind power source node](@id nodes-WindPower) | ||
|
|
||
| Wind power source generate electricity from wind sources. | ||
| The implementation of the node is identical to that of [NonDisRES](@extref EnergyModelsRenewableProducers nodes-nondisres) and is here used to enable specialized constructors that samples the [`wind_power_timeseries`](https://gitlab.sintef.no/harald.svendsen/wind_power_timeseries) module. |
There was a problem hiding this comment.
“constructors that samples” → “constructors that sample”
| All values have to be non-negative. | ||
| - **`penalty_surplus::Dict{<:Resource,<:TimeProfile}`**:\ | ||
| The penalties applied for surplus (over-supply) for each of the input resources. | ||
| These penalties affect the variable operational expenses. |
There was a problem hiding this comment.
“These penalties affect the variable operational expenses.” → “These penalties are added to the variable operational cost.”
There was a problem hiding this comment.
Changed, but kept expenses (as we use OPEX).
| @@ -0,0 +1,154 @@ | |||
| # [PV and CSV source node](@id nodes-CSPandPV) | |||
There was a problem hiding this comment.
should be “PV and CSP source node”
There was a problem hiding this comment.
It is not entirely clear whether this node represents a combined PV + CSP system, or a generic multi-resource solar source
There was a problem hiding this comment.
It is in practice a combined PV+CSP system if the constructor for the model from Tecnalia is used. I updated the documentation.
| - [``\texttt{cap\_inst}``](@extref EnergyModelsBase man-opt_var-cap) | ||
| - [``\texttt{flow\_out}``](@extref EnergyModelsBase man-opt_var-flow) | ||
| - [``\texttt{emissions\_node}``](@extref EnergyModelsBase man-opt_var-emissions) if `EmissionsData` is added to the field `data`. | ||
| - [``\texttt{curtailment}[n, t]``](@extref EnergyModelsRenewableProducers nodes-nondisres-math-add): For [`CSPandPV`](@ref), this variable is the sum of curtailed capacity of source ``n`` in operational period ``t``.\ |
There was a problem hiding this comment.
“curtailed capacity” is misleading. Curtailment usually refers to unused generation (energy) rather than capacity.
| @@ -0,0 +1,161 @@ | |||
| # [Wind power source node](@id nodes-WindPower) | |||
|
|
|||
| Wind power source generate electricity from wind sources. | |||
There was a problem hiding this comment.
Consider simplifying to “Wind power sources generate electricity from wind.”
| - [``\texttt{cap\_inst}``](@extref EnergyModelsBase man-opt_var-cap) | ||
| - [``\texttt{flow\_out}``](@extref EnergyModelsBase man-opt_var-flow) | ||
| - [``\texttt{emissions\_node}``](@extref EnergyModelsBase man-opt_var-emissions) if `EmissionsData` is added to the field `data`. | ||
| - [``\texttt{curtailment}[n, t]``](@extref EnergyModelsRenewableProducers nodes-nondisres-math-add): Curtailed capacity of source ``n`` in operational period ``t`` with a typical unit of MW.\ |
There was a problem hiding this comment.
Curtailment usually refers to unused generation (energy/output) rather than capacity.
| To use the [constructor](@ref lib-pub-sampling_constructors) that samples the [CHP_modelling](https://github.com/iDesignRES/CHP_modelling) module, follow the installation in the [Use nodes](@ref how_to-utilize-use_nodes) section. | ||
|
|
||
| The `BioCHP` utilizes linear, time-independent conversion rates from the `input` [`Resource`](@extref EnergyModelsBase.Resource)s to the `output` [`Resource`](@extref EnergyModelsBase.Resource)s, subject to the available capacity. | ||
| The capacity is normalized such that a conversion value of 1 corresponds to the nominal capacity in the fields `input` and `output`. |
There was a problem hiding this comment.
I removed it, as it is the same as it is the case for the standard EMB nodes.
| The capacity is normalized such that a conversion value of 1 corresponds to the nominal capacity in the fields `input` and `output`. | ||
|
|
||
| Compared to a standard [`NetworkNode`](@extref EnergyModelsBase.NetworkNode), `BioCHP` differs in its outlet-flow constraints: | ||
| the produced heat does not have to be used (e.g., heat outputs are allowed to be zero), while electric output is enforced according to the given conversion factor. |
There was a problem hiding this comment.
I did a rework on this. Let me know what you think
| This is similar to the approach utilized in `EnergyModelsBase`. | ||
|
|
||
| - **`cap::TimeProfile`**:\ | ||
| Specifies the installed capacity, that is the heat the heat pump can deliver.\ |
There was a problem hiding this comment.
That is not entirely correct. It is for the standard node not defined in heat as the conversion factors may impact the system. I extended the description.
|
|
||
| - **`output::Dict{<:Resource, <:Real}`**:\ | ||
| The field `output` includes the output [`Resource`](@extref EnergyModelsBase.Resource)s with their corresponding conversion factors as dictionaries. | ||
| It is also possible to include other resources which are produced with a given correlation with the heat.\ |
| The [`MultipleBuildingTypes`](@ref) node creates sinks for all demand resources with penalties for both surplus and deficit. | ||
| The implementation uses `Dict` structures for the fields `cap`, `penalty_surplus`, and `penalty_deficit` to facilitate multiple [Resource](@extref EnergyModelsBase.Resource)s. | ||
| This approach allows modeling building demands with flexible penalty mechanisms for over- and under-supply. | ||
| The type is also used to enable specialized constructors that samples the [`Tecnalia_Building-Stock-Energy-Model`](https://github.com/iDesignRES/Tecnalia_Building-Stock-Energy-Model) module. |
There was a problem hiding this comment.
It is in practice a combined PV+CSP system if the constructor for the model from Tecnalia is used. I updated the documentation.
Based on the output of the Tecnalia_Building-Stock-Energy-Model the 1e6 scaling is removed and test updated accordingly. The submodules SHA are also updated. Also, added documentation for the nodes and a
how-tosection for the sampling constructors of these nodes.