1 |
% Set up bump spread over 200km in 2000km channel going from -2km to 400m |
2 |
% with 1km horizontal resolution. |
3 |
Lc=2000e3; |
4 |
Lx=1000e3; |
5 |
Lb=200e3; |
6 |
Hlow=-2000; |
7 |
Htop=-1800; |
8 |
%Htop=-1000; |
9 |
s_top=-800; |
10 |
%Htop=-400; |
11 |
nx=1000; |
12 |
clear d |
13 |
dx=Lx/nx.*ones(nx,1); |
14 |
Bmid=Lx/2; |
15 |
offset=Bmid; |
16 |
x=zeros(nx,1); |
17 |
x(1)=dx(1)*0.5; |
18 |
for i=2:nx |
19 |
t(i-1)=tanh( (Lx-x(i-1)-offset)/(Lb*0.4) ); |
20 |
d(i-1) = -(Htop-Hlow)/2*(t(i-1) + 1) - Hlow; |
21 |
x(i)=x(i-1)+dx(i-1)*0.5+dx(i)*0.5; |
22 |
end |
23 |
t(nx)=tanh( (Lx-x(nx)-offset)/(Lb*0.5) ); |
24 |
d(nx) = -(Htop-Hlow)/2*(t(nx) + 1) - Hlow; |
25 |
dfull=[-d(end:-1:1) -d]; |
26 |
d=dfull; |
27 |
x=ones(1,nx*2)*dx(1);x=cumsum(x)-dx(1)/2; |
28 |
plot(x,d);axis([0 max(x) -2000 0]); |
29 |
|
30 |
fid=fopen('topog_bump.data','w','ieee-be'); |
31 |
fwrite(fid,d,'float64'); |
32 |
fclose(fid); |
33 |
|
34 |
% Define flow |
35 |
vmax=0.1; |
36 |
[mv,im]=max(d); |
37 |
tm=abs(d(im))*vmax; |
38 |
vofx=tm./abs(d); |
39 |
fid=fopen('vbaro_bump.data','w','ieee-be'); |
40 |
fwrite(fid,vofx,'float64'); |
41 |
fclose(fid); |
42 |
|
43 |
% Now try a couple of plain sigma surfaces |
44 |
% sigma=z/-H, sigma = 0 @ z = 0; sigma = 1 @ z = -H|ps; |
45 |
sigvals=[ 0 0.2 0.4 0.6 0.8 1]; |
46 |
sigvals=[0:0.1:1]; |
47 |
clear rC, rW; |
48 |
nlevs=length(sigvals)-1; |
49 |
rC=zeros(length(x),nlevs); |
50 |
for i=1:nlevs |
51 |
s=(sigvals(i)+sigvals(i+1))*0.5; |
52 |
rC(:,i)=s.*(d); |
53 |
end |
54 |
rW=zeros(length(x),length(sigvals)); |
55 |
for i=1:length(sigvals) |
56 |
rW(:,i)=sigvals(i).*(d); |
57 |
end |
58 |
|
59 |
% Now try some hybrid sigma - z|p surfaces (actually its not hybrid here!) |
60 |
H0=-s_top; |
61 |
b=[ 1 0.8 0.6 0.4 0.2 0 0 0 0 0 ]; |
62 |
a=[ 0 0 0 0.0 0.0 0.2 0.4 0.6 0.8 1.0 ]*H0; |
63 |
nlevs=length(b)-1; |
64 |
rCh=zeros(length(x),nlevs); |
65 |
for i=1:nlevs |
66 |
s_b=0.5*(b(i)+b(i+1)); |
67 |
s_a=0.5*(a(i)+a(i+1)); |
68 |
RCh(:,i)=s_b.*(d)+(1-s_b)*s_top+s_a; |
69 |
end |
70 |
for i=1:length(b) |
71 |
RWh(:,i)=b(i).*(d)+(1-b(i))*s_top+a(i); |
72 |
end |
73 |
|
74 |
|