File:Interference of water waves with bottom topography, relevant for microseism generation.gif
Page contents not supported in other languages.
Tools
Actions
General
In other projects
Appearance
Size of this preview: 800 × 267 pixels. Other resolutions: 320 × 107 pixels | 1,000 × 334 pixels.
Original file (1,000 × 334 pixels, file size: 532 KB, MIME type: image/gif, looped, 36 frames)
This is a file from the Wikimedia Commons. Information from its description page there is shown below. Commons is a freely licensed media file repository. You can help. |
Summary
DescriptionInterference of water waves with bottom topography, relevant for microseism generation.gif |
English: This is an animation of the moving sea surface of 12 s waves in 100 m water depth propagating over a fixed bottom with a depth equal to 100 m plus some oscillation of amplitude 20 m. |
Date | |
Source |
using matlab |
Author | Ardhuin |
Licensing
I, the copyright holder of this work, hereby publish it under the following licenses:
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License.http://www.gnu.org/copyleft/fdl.htmlGFDLGNU Free Documentation Licensetruetrue |
This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.
- You are free:
- to share – to copy, distribute and transmit the work
- to remix – to adapt the work
- Under the following conditions:
- attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
- share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.
You may select the license of your choice.
Source code (MATLAB)
% Here is my matlab source code ...
% this scripts computes the wave elevation and bottom pressure for a
% shoaling wave train, and estimates the k=0 spectral density
% which comes into the primary microseisms signal.
%clear; close all;
addpath /export/home/ardhuin/TOOLS/MATLAB
nx=2586;
dx1=65.757904031020715;
nz2=2268;
X2=linspace(0,nz2-1,nz2)*dx1./10;
nT=20
fall=linspace(0.005,0.1,nT);
wnum(1)=dispNewtonTH(fall(17),100);
Z2=100+20.*cos(wnum(1)*1.05.*X2);
for it=17:17 %1:nT
% Parameters for wind wave
a1=1;surfig=0;gam=0.5;gi=9.81;f=fall(it);imu=sqrt(-1);h1=4800;h2=0.001;om=2*pi*f;
% a1=1;surfig=0;gam=0.5;gi=9.81;f=fall(it);imu=sqrt(-1);h1=2400;h2=0.001;om=2*pi*f;
% a1=1;surfig=1;gam=0.5;gi=9.81;f=fall(it);imu=sqrt(-1);h1=3000;h2=0.001;om=2*pi*f;
nn=64;
Nx=21000*nn;
x=linspace(X2(1),X2(end),Nx);
ZZ=interp1(X2,Z2,x)';
dx=x(2)-x(1);
L=dx*Nx;
a=zeros(Nx,1);
iz2=find(ZZ < h2);
iz1=find(ZZ > h1);
h3=100;
ZZ(iz1)=h1;
if(length(iz2) > 0)
ZZ(iz2(1):end)=h2;
end
%ZZs = smoothn(ZZ,1E16);
%I=find(x >2E5 & x < 3.15E5);
%ZZ(I)=ZZs(I);
ZZ(iz2)=h2;
Hp=0.01;
% solves dispersion relation for estimating Airy wave solutions
wnum=zeros(Nx,1);
kx=zeros(Nx,1);
wnum(1)=dispNewtonTH(f,ZZ(1));a(1)=a1;
C=om/wnum(1);kh=wnum(1)*ZZ(1);pp=0.5*(1+(2*kh)/sinh(2*kh));Cginf=pp*C;
kinf=wnum(1);
for i=2:Nx
wnum(i)=dispNewtonTH(f,ZZ(i));
if i==2
kx(i)=kx(i-1)+wnum(i)*dx;
else
kx(i)=kx(i-1)+0.5*(wnum(i)+wnum(i-1))*dx;
end
if (mod(kx(i),80) < mod(kx(i-1),80))
%[i kx(i)]
%kx(i) = kx(i)+0.2*(rand-0.5);
end
%kh=wnum(i)*ZZ(i);
%pp=0.5*(1+(2*kh)/sinh(2*kh));
%Cg=pp*om/wnum(i);
%%[ZZ(i) Cg pp]
%dkm=0.05*(om/Cg)*cos(kx(i)/(3*pi^2));
%kx(i)=kx(i)+dkm*dx;
%%[wnum(i) dkm cos(kx(i)/pi^2)]
%%% THE AMPLITUDE IS CALCULATED from
%%% conservation of action: d/dx(Cg*E/sigma)=0--> Cg*A^2=const over the x-axis
%%%
C=om/wnum(i);kh=wnum(i)*ZZ(i);pp=0.5*(1+(2*kh)/sinh(2*kh));Cg=pp*C;
%
% limitation by breaking for wind waves ...
a(i)=a1.*min(sqrt(Cginf/Cg),ZZ(i)*gam);
end
Ldeep=2*pi/wnum(1);
%% This is for IG waves: constant amplitude in surf zone
indsurf=find (a > a1.*ZZ*gam*0.99);
if (surfig == 1 & length(indsurf) > 0)
a(indsurf)=a(indsurf(1));
end
inddry=find(ZZ < 0.0015);
a(inddry)=0.;
%kx=kx-kx(iz2); %-om/(sqrt(gi*Hp)).*2.*sqrt(abs(h2/Hp));
z=a.*(cos(kx));
zquad=a.*(sin(kx));
nphase=120;
Kphase=zeros(nphase,1);
Kqphase=zeros(nphase,1);
pb=a.*(cos(kx))./cosh(wnum.*ZZ);
pbquad=a.*(sin(kx))./cosh(wnum.*ZZ);
%%% Creates an animation of the surface elevation and bottom pressure
nfft=Nx;
figure(10)
fig=figure('Position',[1 1 600 200])
set(fig,'Color',[ 1 1 1]);
nt=36;
prefix='bottom2';
for ii=1:nt
ii
clf
phi=(ii-1)*2*pi/nt;
zphi=z.*cos(phi)+zquad.*sin(phi);
pphi=pb.*cos(phi)+pbquad.*sin(phi);
hold on
plot(x./1000,-ZZ./60-2.,'k-','LineWidth',1);
plot(x./1000,zphi./4,'b-','LineWidth',2);
plot(x./1000,pphi.*4-1.5,'r-','LineWidth',2);
hold off
xlabel('x (km)')
ht=text(0.5,0.8,'sea surface elevation / 4 (m)','Fontsize',16,'Color',[0 0 1])
ht=text(0.5,-2.9,'bottom pressure \times 4 - 1.5 (m)','Fontsize',16,'Color',[1 0 0])
ht=text(10,-2.9,'depth/60 -2 (m)','Fontsize',16,'Color',[0 0 0])
number=sprintf('%.4d',ii);
oname=[prefix '_' number '.png' ];
set(gcf, 'PaperPositionMode', 'auto')
set(gca,'Xlim',[0 15],'Ylim',[-4 0.9])
set(gca,'position',[0.05 0.2 0.92 0.74])
saveas(gcf, oname, 'png')
end
Items portrayed in this file
depicts
1 May 2014
image/gif
File history
Click on a date/time to view the file as it appeared at that time.
Date/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 08:30, 1 May 2014 | 1,000 × 334 (532 KB) | Ardhuin | Uploading a self-made file using File Upload Wizard |
File usage
The following page uses this file:
Global file usage
The following other wikis use this file:
- Usage on fr.wikipedia.org
- Usage on ja.wikipedia.org
- Usage on uk.wikipedia.org