% % clc_znot % z0/Ks = f(R*) % % given Ks, Ustr, and nu (all in same units) calculates z0. % assumes that all inputs are in consisten units. (cgs or SI). % Coded by Courtney Harris, originial code fit by Patricia Wiberg. % ckharris@vims.edu; pw3c @virginia.edu % function [z0,z0_in]=clc_znot(Ks,Ustr,nu); rho = 1.0; % water density. % calculate grain roughness Rst = Ks*Ustr/nu; % roughness reynolds number lnRst = log(Rst); if (Rst<=3) % Hyd Smooth Flow z0_ks = 1/(9*Rst); elseif (Rst<=6) % transitional flow z0_ks = -0.00798*(lnRst^3) + 0.05428*(lnRst^2) - ... 0.12569*(lnRst) + 0.1199; elseif (Rst<=35) z0_ks = -0.00141*(lnRst^3) + 0.01543*(lnRst^2) - ... 0.04859*(lnRst) + 0.0686; elseif (Rst<=200) z0_ks = 0.00053*(lnRst^3) - 0.00930*(lnRst^2) + ... 0.05377*(lnRst) - 0.0696; else % Hyd Rough Flow z0_ks = 1/30; end z0_gr = z0_ks * Ks; % c z0 = z0_gr; return