Closed axch closed 7 years ago
Update: I have code almost ready for this and #96, pending some small cleanups.
I like the sound of this.
From reading this I get the impressions that the Fortran core will still output the raw Fortran files, but that the Python wrapper will then go scoop them up and output the data in NetCDF?
Using NetCDF for the input is definitely a nice portable way to do it. My only thought is that it involves a little more effort for the users to create the files than simply dumping out binaries. My feeling is that it's worth it.
Oh, if the users want to dump binaries, I'm sure we can find a way for them to do that; but I'm presuming that NetCDF is a valuable format to support natively because users will have existing data (e.g., maps) in it.
That's true, but for the sorts of simulations Aronnx is likely to be used for, many users will simply create idealised basins and winds. Hence they may prefer to simply dump out binaries. However, if our wrapping makes is easy to create NetCDF files, then I don't think it's an issue.
You'll be pleased to know that I haven't actually written any code for NetCDF input yet :) Also, my draft has a (undocumented) interface for plugging in our or one's own Python functions for idealized conditions, so I assume that will work out pretty well.
Aha! An interface for specifying idealised functions is pretty much perfect, and totally negates my comment.
Here is the external interface to Aronnax as I see it:
$ aronnax simulate [OPTIONS] [directory]
orfrom aronnax import simulate; simulate(directory=".")