The submarines are well modeled, no shade on that.
Some very odd functionality, likely added due to vast ignorance, makes sub gameplay dull and boring.
A submarine at periscope depth in a war situation, does _NOT_ expose all masts; Only the periscpoe, nothing else. It may look cool for the programmers, but is historically and tactically horrendous.
(That comment also goes for hanging a ship's bell on the front of the fin; Only in port!)
The "snorkel" was a late war invention, far from all subs had that facility.
Submarines very seldom (i.e. never) use active sonar to target surface ships; Passive sonar in combination with periscope observations, and non-homing torpedoes were a fact during WWII.
Ships using active sonar during submarine chase; DD:s, and occasional cruisers. Never heard of BB:s being involved in sub chase operations.
Using submarines in-game in a correct way, would be using them against CV:s, thereby forcing DD:s to defend them until they had sunk the submarines,
This would implement a new (historical) kind of necessary tactics whenever submarines are present.
Submarine speed on surface were high, but _very_ low submerged, submerged endurance was directly connected to use of speed; High Speed = Very short endurance, Low Speed = Long endurance
Fix this instead of connecting endurance to detectability.
If a submarine had a deck gun, it was used against merchants, not against Men-'o-war
If a submarine had AA-gunnery, they were used only if the submarine could't dive.
Nevertheless - if you have submarines in a game with deck and AA guns, allow use of those.
It was interesting to test them though, but there is a bit of homework to do...
Late addon; There is a ship type missing, somewhat essential to submarine (or anti-submarine) operations - The Frigate, which is a dedicated sub-chaser.