If you move next to that tile and doesn't have "can see submarine" then you won't see them, but if you try to move on top of that tile you will reveal them (and have 1 extra movement to get out of that tile - I encountered this behavior quite a few time already, where if you move to a tile beyond line of sight and have to pass through other units to get there, if an enemy is revealed on the way your unit would stop right where it is currently even if it's on top of another combat unit, and you have the option to move to another tile). I'm just assuming the same code (for stacking combat unit temporarily) can be reused for this case, if it's not possible then nvm.