Antares Simulator
Power System Simulator
Loading...
Searching...
No Matches
RenewableTSNumberData.h
1/*
2** Copyright 2007-2024, RTE (https://www.rte-france.com)
3** See AUTHORS.txt
4** SPDX-License-Identifier: MPL-2.0
5** This file is part of Antares-Simulator,
6** Adequacy and Performance assessment for interconnected energy networks.
7**
8** Antares_Simulator is free software: you can redistribute it and/or modify
9** it under the terms of the Mozilla Public Licence 2.0 as published by
10** the Mozilla Foundation, either version 2 of the License, or
11** (at your option) any later version.
12**
13** Antares_Simulator is distributed in the hope that it will be useful,
14** but WITHOUT ANY WARRANTY; without even the implied warranty of
15** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16** Mozilla Public Licence 2.0 for more details.
17**
18** You should have received a copy of the Mozilla Public Licence 2.0
19** along with Antares_Simulator. If not, see <https://opensource.org/license/mpl-2-0/>.
20*/
21//
22// Created by marechaljas on 03/07/23.
23//
24
25#pragma once
26
27#include "TSnumberData.h"
28
29namespace Antares::Data::ScenarioBuilder
30{
32{
33public:
34 renewableTSNumberData() = default;
35
37 {
38 }
39
40 bool reset(const Study& study) override;
41 void saveToINIFile(const Study& study, Yuni::IO::File::Stream& file) const override;
42
43 void attachArea(const Area* area)
44 {
45 pArea = area;
46 }
47
48 void setTSnumber(const Antares::Data::RenewableCluster* cluster, const uint year, uint value);
49 uint get(const Antares::Data::RenewableCluster* cluster, const uint year) const;
50 bool apply(Study& study) override;
51 CString<512, false> get_prefix() const override;
52 uint get_tsGenCount(const Study& study) const override;
53
54private:
56 const Area* pArea = nullptr;
57};
58
59inline uint renewableTSNumberData::get(const Antares::Data::RenewableCluster* cluster,
60 const uint year) const
61{
62 assert(cluster != nullptr);
63 if (year < pTSNumberRules.height && cluster->areaWideIndex < pTSNumberRules.width)
64 {
65 const uint index = cluster->areaWideIndex;
66 return pTSNumberRules[index][year];
67 }
68 return 0;
69}
70
71inline CString<512, false> renewableTSNumberData::get_prefix() const
72{
73 return "r,";
74}
75} // namespace Antares::Data::ScenarioBuilder
Definition for a single area.
Definition area.h:52
unsigned int areaWideIndex
The index of the cluster from the area's point of view.
Definition cluster.h:120
Definition cluster.h:42
Rules for TS numbers, for all years and a single timeseries.
Definition TSnumberData.h:32
MatrixType pTSNumberRules
All TS number overlay (0 if auto)
Definition TSnumberData.h:75
Definition RenewableTSNumberData.h:32
bool reset(const Study &study) override
Reset data from the study.
Definition RenewableTSNumberData.cpp:108
void saveToINIFile(const Study &study, Yuni::IO::File::Stream &file) const override
Export the data into a mere INI file.
Definition RenewableTSNumberData.cpp:80
bool apply(Study &study) override
Apply the changes to the study corresponding data (time series, hydro levels, ...)
Definition RenewableTSNumberData.cpp:42
Definition study.h:61
uint width
Width of the matrix.
Definition matrix.h:441