Skip to content
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

Create a results object to encapsulate simulation results and logic #303

Open
waltsims opened this issue Feb 15, 2024 · 2 comments
Open
Labels
enhancement New feature or request
Milestone

Comments

@waltsims
Copy link
Owner

Is your feature request related to a problem? Please describe.
kWaveFirstOrder returns a variety of values depending on the simulation configuration. The logic of which values are returned, how they should be displayed, and their meaning could be better managed. Currently, they are returned as a dictionary of values, which can be difficult for users to interpret.

Describe the solution you'd like
One possible solution is to use xarray.Datasets() to save the solution results and wrap all plotting and processing logic.

Describe alternatives you've considered
We've considered making custom classes internally.

Additional context
@djps came up with this suggestion

@waltsims waltsims added the enhancement New feature or request label Feb 15, 2024
@waltsims waltsims added this to the v0.4.0 milestone Feb 15, 2024
@faridyagubbayli
Copy link
Collaborator

We should also consider how typing is supported in the xarray.

@djps
Copy link
Collaborator

djps commented Feb 15, 2024

It may be useful to see how this has been done for with Feltor and look at this presentation here

This is implemented in open_pyfus

Other possible options, more focused on plotting, include:

Other potential options which deal with unstructured grids, such as those which can be handled with meshio for example, are probably out of scope as the results are on grids.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants