35 std::list<fs::path> mFileList;
37 std::map<String, String> mAssignPattern;
39 Bool mSkipFirstRow =
true;
60 std::map<String, String> &assignList,
Logger::Level logLevel);
74 fs::path file,
Real start_time = -1,
Real time_step = 1,
75 Real end_time = -1,
Real scale_factor = 1,
79 std::vector<std::shared_ptr<CPS::DP::Ph1::AvVoltageSourceInverterDQ>>
81 Real start_time = -1,
Real time_step = 1,
Real end_time = -1,
88 fs::path file,
Real start_time = -1,
Real time_step = 1,
103 Real time_step = 1,
Real end_time = -1,
117 String const &
get(std::size_t index)
const {
return m_data[index]; }
125 std::vector<String> m_data;
138 return ((
this == &rhs) || ((this->m_str == NULL) && (rhs.m_str == NULL)));
std::vector< Real > readPQData(fs::path file, Real start_time=-1, Real time_step=1, Real end_time=-1, CSVReader::DataFormat format=CSVReader::DataFormat::SECONDS)
PowerProfile readLoadProfile(fs::path file, Real start_time=-1, Real time_step=1, Real end_time=-1, CSVReader::DataFormat format=CSVReader::DataFormat::SECONDS)
CSVReader(String name, std::list< fs::path > path, Logger::Level logLevel)
PQData interpol_linear(std::map< Real, PQData > &data_PQ, Real x)
interpolation for PQ data points
void doSkipFirstRow(Bool value=true)
Skip first row if it has no digits at beginning.
void assignPVGeneration(SystemTopology &sys, Real start_time=-1, Real time_step=1, Real end_time=-1, CSVReader::Mode mode=CSVReader::Mode::AUTO)
void assignLoadProfileDP(std::vector< std::shared_ptr< CPS::DP::Ph1::AvVoltageSourceInverterDQ > > &loads, Real start_time=-1, Real time_step=1, Real end_time=-1, Real scale_factor=1, CSVReader::Mode mode=CSVReader::Mode::AUTO, CSVReader::DataFormat format=CSVReader::DataFormat::SECONDS)
MatrixRow csv2Eigen(const String &path)
std::vector< PQData > readLoadProfileDP(fs::path file, Real start_time=-1, Real time_step=1, Real end_time=-1, Real scale_factor=1, CSVReader::DataFormat format=CSVReader::DataFormat::SECONDS)
void assignLoadProfile(SystemTopology &sys, Real start_time=-1, Real time_step=1, Real end_time=-1, CSVReader::Mode mode=CSVReader::Mode::AUTO, CSVReader::DataFormat format=CSVReader::DataFormat::SECONDS)
assign load profile to corresponding load object
Real interpol_linear(std::map< Real, Real > &data_wf, Real x)
interpolation for weighting factor data points
Real time_format_convert(const String &time)
CSVReaderIterator & step(Int time_step)
Bool operator==(CSVReaderIterator const &rhs)
CSVRow const & operator*() const
CSVReaderIterator & next()
Bool operator!=(CSVReaderIterator const &rhs)
CSVReaderIterator(std::istream &str)
void readNextRow(std::istream &str)
String const & get(std::size_t index) const
spdlog::level::level_enum Level
std::shared_ptr< spdlog::logger > Log
Eigen::Matrix< Real, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > MatrixRow