Not to bang the drum of jsbsim too hard, but consider that a submarine 'flys' through a denser substance ie water.... Everything else is the same as an aircraft, propulsion, ailerons rudder elevator.. Plus a bouncy factor...
Oh and jsbsim does blimps as well..
You are absolutely right Simon, I think even JSBSim could manage interaction with a more solid air as the water (if it has been programmed to do, and this I do not know: you definitely yes).
However, in this case, it comes to choosing the most convenient way!
The coefficients of lift and changes induced by the mobile surfaces, with speeds that are obtained in the air, have significant influence on a plane flight and calculate them yourself in a script would be crazy (and then there's that already JSBSim it does very well).
JSBSim is also very convenient because it has the duties that you immediately return a huge number of parameters (coordinates, speed, altitude, attitude, guidance, inclinations etc. .. etc. ..) only querying parameters from the script.
But Bullet Physics (at least its implementation we have in Anteworld) has its indisputable advantages when aerodynamic interactions are not so important.
All objects in the scene detect its presence and bounce against its bounding box.
You can set the points of the model (the wheels) which do not penetrate and interact with the soil with a striking realism.
There is the possibility of extending the keyboard commands (function action) and add auxiliary axes for Joystik.
Are still unable to go back to primary data navigation (and you can then calculate those derivatives) interrogating ECEF coordinates and rotations.
You can also vary the mass of the model at any time to simulate the release of ballast.
And then, the king of commands: "extra force"!
You can place an engine, or otherwise cause a boost, at any point in the model, even outside it, and measure its direction and intensity as you want !!!
(And who knows what I forgot ...)
In the case of SUB SPHERE choice was forced: Bullet Physics !!