The interface to mcfost
should be changed such that wakeflow
only specifies the strictly required parameters from the .para
config file for mcfost
.
Currently, wakeflow
tells mcfost
the necessary grid and physics, but also guesses some other parameters that are probably sensible for the user but potentially not desired. It is also NOT documented what these are and why they are the specific values. This is definitely poor practice. This should be changed such that besides the required physics parameters, the other parameters are (somehow) set by the user. Probably just by having them provide a .para
file, where the necessary parameters are overridden by wakeflow
.
Additionally, the mcfost
parameter file is currently distributed with wakeflow
. This is bad practice. wakeflow
should include a script to download the .para
file using the user's mcfost
installation.
Finally, mcfost
should be called using the run
function from pymcfost
instead of using a sys
call to mcfost
. This is more effectively future-proof as pymcfost
is more likely to be updated as required than wakeflow
's interface. It would also allow the user to pass through additional keywords for calling mcfost
as they are arguments in the pymcfost
function.