Antares Simulator
Power System Simulator
Loading...
Searching...
No Matches
NTCTSNumberData.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#include "TSnumberData.h"
27
28namespace Antares::Data::ScenarioBuilder
29{
31{
32public:
33 ntcTSNumberData() = default;
34 virtual ~ntcTSNumberData() = default;
35
36 bool reset(const Study& study) override;
37 void saveToINIFile(const Study& study, Yuni::IO::File::Stream& file) const override;
38
39 void attachArea(const Area* area)
40 {
41 pArea = area;
42 }
43
44 void setTSnumber(const Antares::Data::AreaLink* link, const uint year, uint value);
45 uint get(const Antares::Data::AreaLink* link, const uint year) const;
46 bool apply(Study& study) override;
47 CString<512, false> get_prefix() const override;
48 uint get_tsGenCount(const Study& study) const override;
49
50private:
52 const Area* pArea = nullptr;
53};
54
55inline uint ntcTSNumberData::get(const Antares::Data::AreaLink* link, const uint year) const
56{
57 assert(link != nullptr);
58 if (year < pTSNumberRules.height && link->indexForArea < pTSNumberRules.width)
59 {
60 const uint index = link->indexForArea;
61 return pTSNumberRules[index][year];
62 }
63 return 0;
64}
65
66inline CString<512, false> ntcTSNumberData::get_prefix() const
67{
68 return "ntc,";
69}
70} // namespace Antares::Data::ScenarioBuilder
Definition for a single area.
Definition area.h:52
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
void saveToINIFile(const Study &study, Yuni::IO::File::Stream &file) const override
Export the data into a mere INI file.
Definition NTCTSNumberData.cpp:43
bool reset(const Study &study) override
Reset data from the study.
Definition NTCTSNumberData.cpp:31
bool apply(Study &study) override
Apply the changes to the study corresponding data (time series, hydro levels, ...)
Definition NTCTSNumberData.cpp:92
Definition study.h:61
uint width
Width of the matrix.
Definition matrix.h:441