Create BoutOptionsFile with grid if available#339
Merged
dschwoerer merged 3 commits intomasterfrom Apr 16, 2026
Merged
Conversation
If you want the input file and don't pass a grid, it'll struggle because nx/ny/nz are often missing from the input file, and the grid may not be in the directory where you run the script from. xBOUT knows where the grid is though!
dschwoerer
requested changes
Apr 15, 2026
Contributor
dschwoerer
left a comment
There was a problem hiding this comment.
BoutOptionsFile expects a filename for gridfilepath, but it may also be just the folder in which the grid from the options file can be found, see
Line 373 in fcf70c1
Collaborator
Author
|
@dschwoerer nice find, I actually didn't know this. If it's a directory, we can read the options file without the grid to get the name, and then read it with the grid. On a separate note, isn't this wrong? What is |
Contributor
Also allows for the legacy "grid" field in the input file.
Collaborator
Author
|
@dschwoerer done, take a look |
dschwoerer
approved these changes
Apr 16, 2026
Contributor
dschwoerer
left a comment
There was a problem hiding this comment.
We no might warn twice about that the simulation was run without grid, but who would run simulations without grids 😇
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Loading a BOUT++ dataset will automatically create a
BoutOptionsFile, which at the moment will want to read the grid file to evaluate input file expressions with.recalculate_xyz(). However, it can't easily find the grid file on its own - it will assume it's in the working directory, which is nearly always incorrect in my case. It will then try to findnxandnyin the input file, which is always incorrect in my case.This PR constructs a
BoutOptionsFileusing the already knowngridfilepathif it's available, which it always is in my use case. If it's unavailable, it falls back on the previous behaviour.This is connected to boutproject/boutdata#145. I'm trying to fix all the warnings I get when loading datasets.