Prepare for fargoca
Instead of forcing fargo3D (and fargoADC?) into new option/API etc... it could be simpler, for a transition period, to introduce a new fargoca driver those code would be, bsically:
int
main(int argc, char* argv[]) {
mpi::environement env;
mpi::communicator world;
return fargoca_main(world, argc, argv);
}
This code would be called as:
$ mpiexec -n 42 fargoca disk.h5 [--verbose]
then, we would modify fargo3D's main as:
int
main(int argc, char* argv[]) {
mpi::environement env;
mpi::communicator world;
// prepare hdf5 input file with init fields, embedded physic etc..
// prepared what should have been fargoca command line options
char* args[] = { ....};
return fargoca_main(world, args.size(), args);
}
new comers wouldn't have to read legacy doc, and we could print the new command to the previous users.