RFC: LoadProfileReader
Currently, the LoadProfileReader directly set modifies certain internal members of the load components in its assign()
method:
load->mProfile = read(std::experimental::filesystem::path(mPath + file->second + ".csv"), start_time, time_step, end_time);
load->use_profile = true;
I think this approach is not really nice as it requires modification in each component and also adaptations for each solver?
Shouldn't we use an analogous component to the DataLogger
class: DataReader
which can read CSV files and set arbitrary attributes in the simulation?
Example
DataReader reader("mycsv_file.csv");
reader.setDownSampllingFactor(2);
DP::Ph1::PQLoad load("l_1");
load.setAttributeRef("p_active", reader.column("l_1"));
reader.column("l_1")
hereby returns an CPS::Attribute::Ptr
which gets updated continuously.
Feedback is Welcome :)