Global Index (short | long) | Local contents | Local Index (short | long)
Note: equatorial rossby radius of deformation is given by: R_e = sqrt(c/(2*beta)); Note again, however, that the wave speed 'c' should be given by the equivelent depth, rather than some depth of the ocean for a barotropic wave. (Gill, p437).
This script calls | |
---|---|
clear global RADUS % Parameters % Model 'y' lat = getll('u', [0 20 -90 90]); lat = getll('temp', [0 20 -90 90]); % Continuous y = [-20:.1:20]'; % = y/re c = 2; % ==> He ~= 1m, or a 150m 2-layer system with g' = 0.06 % Also, this is Kelvin wave speed. %c = sqrt(9.8 * 150); beta = 2*7.292e-5./RADUS; k = 2*pi/(0.5*pi*RADUS); % Wavenumber 2 re = sqrt(c/(2*beta)) % re = 2.5606e+05 % Model 'y' y = lat*pi/180*RADUS/re; eta = zeros(length(y), 4); u = zeros(length(y), 4); v = zeros(length(y), 4); % Start with Kelvin wave u(:,1) = (9.8/c)*exp(-0.25 * y.^2); eta(:,1) = exp(-0.25 * y.^2); v(:,1) = zeros(length(y), 1); % Planetary waves y2 = sqrt(1)*y; c = 1*c; for n = 1:2:5; % Start with first mode omega = -1*beta*k ./ (k^2 + (2*n+1)*beta/c); hn = hermite((1/sqrt(2))*y2, n); % 2*y; % Hermite Polynomial (from table) hnp1 = hermite((1/sqrt(2))*y2, n+1); % 4*y.^2-2; hnm1 = hermite((1/sqrt(2))*y2, n-1); % 1; v(:,(n+1)/2+1) = 2.^(-0.5*n).*hn.*exp(-0.25*y2.^2)*2^-0.5; q = (c * k - omega)^-1 * (2*beta*c)^0.5 * 2^(-n/2 - 0.5) * ... hnp1 .* exp(-0.25*y2.^2) * 2^-0.5; r = (c * k + omega)^-1 * (2*beta*c)^0.5 * 2^(-n/2 + 0.5) * n * ... hnm1 .* exp(-0.25*y2.^2) * 2^-0.5; u(:,(n+1)/2+1) = 0.5*(q-r); eta(:,(n+1)/2+1) = (c./(2*9.8))*(q+r); end; scale = max(eta); eta2 = eta ./ (ones(length(y), 1) * scale); u2 = u ./ (ones(length(y), 1) * scale); v2 = v ./ (ones(length(y), 1) * scale); figure(1); fo(1); subplot(3,1,1); h1 = plot(... y, eta2(:,1), '-k', ... y, eta2(:,2), '--k', ... y, eta2(:,3), '-.k', ... y, eta2(:,4), '.:k') set(h1(1), 'linewidth', 2); axis([-8 8 -.75 1.25]); grid on; title('Normalized Sea Level Anomaly'); legend(h1, 'K', 'R1', 'R3', 'R5'); subplot(3,1,2); h1 = plot(... y, u2(:,1), '-k', ... y, u2(:,2), '--k', ... y, u2(:,3), '-.k', ... y, u2(:,4), '.:k') set(h1(1), 'linewidth', 2); axis([-8 8 -17 12]); grid on; title('Scaled Zonal Velocity'); legend(h1, 'K', 'R1', 'R3', 'R5'); subplot(3,1,3); h1 = plot(... y, v2(:,1), '-k', ... y, v2(:,2), '--k', ... y, v2(:,3), '-.k', ... y, v2(:,4), '.:k') set(h1(1), 'linewidth', 2); axis([-8 8 -1.3 1.3]); grid on; title('Scaled Meridional Velocity'); % xlabel('Meridional Distance (Scaled)') legend(h1, 'K', 'R1', 'R3', 'R5'); xlabel('Y / R_e; R_e = 256km = 2.3 deg'); cd ~/matlab/CSIRO/Thesis/Appendix lat = getll('temp', [0 20 -90 90]); lat = lat*pi/180*RADUS/re; % Get tcline depth rho1 = 1024.219; rho2 = 1036.40; gprime = 9.8*(rho2-rho1)/rho2