Performing a redistribute without providing an nxpe fails in Hermes-3 with the following message, which took me quite a bit of time to work back from:
Error encountered: Value for option Nd+ cannot be converted to a Field3D
Since not providing a nxpe results in an automatic choice as the below comment, I think the failure is because the algorithm generated nxpe was not the same as what I have in the input file.
|
nxpe : int, optional |
|
Number of processors to use in the x-direction (determines |
|
split: npes = nxpe * nype). Default is None which uses the |
|
same algorithm as BoutMesh (but without topology information) |
|
to determine a suitable value for nxpe. |
My suggestion for a fix is to print a message whenever nxpe is not provided:
Warning: nxpe not provided. This may create incompatible restart files if you set nxpe in your input file.
Alternatively we could parse the input file and check whether nxpe is set there. If it is and it is not provided to redistribute, we could raise an Exception. Or we could simply read the nxpe from the input file and pass it to redistribute.
Let me know what you think.
Performing a
redistributewithout providing annxpefails in Hermes-3 with the following message, which took me quite a bit of time to work back from:Since not providing a
nxperesults in an automatic choice as the below comment, I think the failure is because the algorithm generatednxpewas not the same as what I have in the input file.boutdata/boutdata/restart.py
Lines 559 to 563 in 908a4c2
My suggestion for a fix is to print a message whenever
nxpeis not provided:Alternatively we could parse the input file and check whether
nxpeis set there. If it is and it is not provided toredistribute, we could raise anException. Or we could simply read thenxpefrom the input file and pass it toredistribute.Let me know what you think.