Hi @hbillings,
ArduSub is part of the ArduPilot project, and has access to the same libraries as other ArduPilot firmwares. It should work to use a surface-based GPS for position-enabled flight modes (including for things like GPS-based missions) if you’re able to keep the GPS out of the water, but that may not be a trivial task.
A GPS unit on a 3m long pole could contribute significant drag as the vehicle tries to move through the water, and may also get caught on things and/or tip the vehicle over if it rotates away from vertical.
If it’s of interest, there’s some additional discussion of surface-based GPS usage in this thread, and position-based control in the second half of this comment.