Source: http://modb.oce.ulg.ac.be/cours/OCEANO/ocea0010-1notes.pdf