-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature / Add columnar data support in main model #712
Conversation
Signed-off-by: Martijn Govers <Martijn.Govers@Alliander.com>
Signed-off-by: Jerry Guo <Jerry.Jinfeng.Guo@alliander.com>
@Jerry-Jinfeng-Guo @mgovers @figueroa1395, from the user's perspective, the user would definitely like to provide a columnar batch dataset in a way that the model = PowerGridModel(input_data=input_data)
result = model.calculate_power_flow(
update_data={
"sym_load": {"p_specified": np.random.randn(n_step, n_sym_load)}
}
) In the main core, we need to have special treatment in
|
Signed-off-by: Jerry Guo <Jerry.Jinfeng.Guo@alliander.com>
Signed-off-by: Jerry Guo <Jerry.Jinfeng.Guo@alliander.com>
I do think it's very valuable, but I also believe that it's a separate feature request and definitely out of scope of this PR |
Signed-off-by: Jerry Guo <Jerry.Jinfeng.Guo@alliander.com>
I agree to put this as a separate PR. But this feature needs to be part of the release |
Signed-off-by: Jerry Guo <Jerry.Jinfeng.Guo@alliander.com>
…lumnar-data Signed-off-by: Martijn Govers <Martijn.Govers@Alliander.com>
Signed-off-by: Martijn Govers <Martijn.Govers@Alliander.com>
power_grid_model_c/power_grid_model/include/power_grid_model/main_core/input.hpp
Outdated
Show resolved
Hide resolved
Signed-off-by: Martijn Govers <Martijn.Govers@Alliander.com>
power_grid_model_c/power_grid_model/include/power_grid_model/main_model_impl.hpp
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me, but I have a final question to get the full picture better:
Was the introduction of all iterator_like
stuff necessary because the columnar stuff was implemented using boost iterator stuff? And since this boost iterator stuff doesn't fully support all the std::iterator
concepts, then you had to mock it? And that is the reason why extending the use of columnar in main model was not trivial?
power_grid_model_c/power_grid_model/include/power_grid_model/common/grouped_index_vector.hpp
Show resolved
Hide resolved
power_grid_model_c/power_grid_model/include/power_grid_model/common/iterator_like_concepts.hpp
Outdated
Show resolved
Hide resolved
power_grid_model_c/power_grid_model/include/power_grid_model/common/iterator_like_concepts.hpp
Show resolved
Hide resolved
power_grid_model_c/power_grid_model/include/power_grid_model/main_core/output.hpp
Show resolved
Hide resolved
power_grid_model_c/power_grid_model/include/power_grid_model/main_core/output.hpp
Show resolved
Hide resolved
power_grid_model_c/power_grid_model/include/power_grid_model/main_core/output.hpp
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the subsequent changes make sense to me. I can not approve this PR since I created it. Could someone else give the approval if it looks good to you as well? @TonyXiang8787 @figueroa1395 @nitbharambe
yes indeed. The fundamental reason is that |
Since @mgovers made that change, I could only answer from my understanding. Making it |
Signed-off-by: Martijn Govers <Martijn.Govers@Alliander.com>
But would it work though? I think not, because the boost iterator stuff doesn't yet provide range access as required in the newly introduced concepts. Specifically this:
Hence triggering the changes from But indeed this change would be easy to change once boost does.
I will give approval. Feel free to resolve remaining open conversations. |
|
Quality Gate passedIssues Measures |
dataid
field inference