Alpine-DAV / ascent

A flyweight in situ visualization and analysis runtime for multi-physics HPC simulations
https://alpine-dav.github.io/ascent/
Other
189 stars 65 forks source link

If ascent_actions.yaml exists, it overrides what the user passes to Ascent::execute() #1375

Open agcapps opened 2 weeks ago

agcapps commented 2 weeks ago

Ascent::execute() lets the user pass in a Node with actions: https://github.com/Alpine-DAV/ascent/blob/develop/src/libs/ascent/ascent.cpp#L371

But then, if CheckForSettingsFile() finds a file named ascent_actions.yaml, that file replaces whatever the user passed to execute(): https://github.com/Alpine-DAV/ascent/blob/develop/src/libs/ascent/ascent.cpp#L135

This is unpleasantly surprising, at least. I think if a user calls execute() passing in actions, Ascent should ignore its default.

cyrush commented 2 weeks ago

@agcapps the most common use case is actually folks overriding at runtime with a external file.

That's b/c users aren't usually compiling the code themselves and they craft yaml files for their use case.

We should improve our docs for the opposite case (always want to ignore the external file) and also the way we select between these cases, since its confusing.

cyrush commented 1 week ago

Also consider a precedence option as well.