Source:

Landolt-Börnstein New Series V/3a, 1986

Formulas, gnuplot format:

rho_sea_water(s,t)=rho_smow(t)+(8.24493e-1-4.0899*1e-3*t + \

7.6438e-5*t**2-8.2467e-7*t**3 +\

5.3875e-9*t**4)*s \

+(-5.72466e-3+1.0227e-4*t\

-1.6546e-6*t**2)*s**(1.5)\

+4.8314e-4*s**2

rho_smow(t)=999.842594+6.793952e-2*t\

-9.09529e-3*t**2+1.001685e-4*t**3\

-1.120083e-6*t**4+6.536332e-9*t**5

visc_20=1.002e-3

logviscrat(t)=(1.1709*(20.0-t)-1.827e-3*(t-20.0)**2)/(t+89.93)

visc(t)=visc_20*10**logviscrat(t)

volcl(t,s)=rho_sea_water(s,t)*s/1806.55

salt_fresh_visc_ratio(t,s)=1+(5.185e-5*t+1.0675e-4)*volcl(t,s)**0.5\

+(3.3e-5*t+2.591e-3)*volcl(t,s)

salt_visc(t,s)=salt_fresh_visc_ratio(t,s)*visc(t)

ny(t,s)=salt_visc(t,s)/(rho_sea_water(s,t))

re(vel,length,t,s)=length*vel/ny(t,s)

cf(vel,length,t,s)=0.075/(log10(re(vel,length,t,s))-2)**2

w_sq_m(vel,length,t,s)=cf(vel,length,t,s)*rho_sea_water(s,t)*0.5*vel**3