CDNVE: computes neutral drag coefficient following Vera (1983). [cd,u10]=CDNVE(sp,z) computes the neutral drag coefficient and wind speed at 10m given the wind speed at height z. Uses the expression for friction velocity derived by E. Vera (1983) and published as eqn. 8 in Large, Morzel, and Crawford (1995), J. Phys. Oceanog., 25, 2959-2971. Range of fit to data is 1 to 25 m/s. INPUT: sp - wind speed [m/s] z - measurement height [m] OUTPUT: cd - neutral drag coefficient at 10m u10 - wind speed at 10m [m/s]

- as_consts AS_CONSTS: returns values of many constants used in AIR_SEA TOOLBOX

- spshftve SPSHFTVE: adjusts wind speed from z1 to z2 following Vera (1983).
- stressve STRESSVE: computes stress using Vera (1983) neutral drag law.
- wavdist1 WAVDIST1: estimates wave effects on wind speed measured at za.
- wavedist WAVEDIST: estimates wind speed distortion due to surface waves.

0001 function [cd,u10]=cdnve(sp,z) 0002 % CDNVE: computes neutral drag coefficient following Vera (1983). 0003 % [cd,u10]=CDNVE(sp,z) computes the neutral drag coefficient and wind 0004 % speed at 10m given the wind speed at height z. Uses the expression 0005 % for friction velocity derived by E. Vera (1983) and published as 0006 % eqn. 8 in Large, Morzel, and Crawford (1995), J. Phys. Oceanog., 25, 0007 % 2959-2971. Range of fit to data is 1 to 25 m/s. 0008 % 0009 % INPUT: sp - wind speed [m/s] 0010 % z - measurement height [m] 0011 % 0012 % OUTPUT: cd - neutral drag coefficient at 10m 0013 % u10 - wind speed at 10m [m/s] 0014 0015 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0016 % 3/8/97: version 1.0 0017 % 8/26/98: version 1.1 (modified by RP) 0018 % 8/5/99: version 2.0 0019 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0020 0021 % constants in fit for drag coefficient 0022 A=2.717e-3; 0023 B=0.142e-3; 0024 C=0.0764e-3; 0025 0026 as_consts; % other constants 0027 a=log(z./10)/kappa; % log-layer correction factor 0028 tol=.001; % tolerance for iteration (m/s) 0029 0030 u10o=zeros(size(sp))+.1; % don't start iteration at 0 to prevent blowups. 0031 cd=(A./u10o + B + C*u10o); 0032 0033 u10=sp./(1+a.*sqrt(cd)); 0034 0035 ii=abs(u10-u10o)>tol; 0036 while any(ii(:)), 0037 u10o=u10; 0038 cd=(A./u10o + B + C*u10o); 0039 u10=sp./(1+a.*sqrt(cd)); % next iteration 0040 ii=abs(u10-u10o)>tol; % keep going until iteration converges 0041 end; 0042 0043

Generated on Thu 26-Apr-2007 12:23:13 by