1 |
% This is a matlab script that generates the input data |
2 |
% variable x resolution |
3 |
|
4 |
% Initialize... |
5 |
clear |
6 |
if 0 |
7 |
load IBCAO_2km.mat |
8 |
LON=LON-90; |
9 |
aaa=find(LON>180); |
10 |
LON(aaa)=LON(aaa)-360; |
11 |
XC=[2:1451];YC=[1451:2900]; |
12 |
LON=LON(XC,YC); |
13 |
LAT=LAT(XC,YC); |
14 |
IBCAO=IBCAO(XC,YC); |
15 |
end |
16 |
|
17 |
prec='real*8'; |
18 |
ieee='b'; |
19 |
|
20 |
% Dimensions of grid |
21 |
nx=200; |
22 |
ny=1; |
23 |
nz=100; |
24 |
% Nominal depth of model (meters) |
25 |
H=500.0; |
26 |
|
27 |
% Horizontal resolution (m) |
28 |
% dx |
29 |
iswitch=80; |
30 |
dx=zeros(nx,1); |
31 |
for i=1:nx |
32 |
dx(i) = 35 + 16*tanh((iswitch-i)/50); |
33 |
xG(i)=sum(dx(1:i)); |
34 |
end |
35 |
Lx=sum(dx(:)) |
36 |
sum(dx(51:end)) |
37 |
plot(dx) |
38 |
%dy = Lx/nx |
39 |
writebin('dx.bin',dx,1,prec); |
40 |
|
41 |
|
42 |
break |
43 |
% dlon |
44 |
re = 6378137.0d0; |
45 |
slat=70.4; |
46 |
dlon2dx=re*2*pi*cosd(slat)/360; |
47 |
dx2dlon=1./dlon2dx; |
48 |
dlon=zeros(nx,1); |
49 |
lonG=zeros(nx+1,1); |
50 |
lonC=zeros(nx,1); |
51 |
lonG(nx+1)=-50.6; |
52 |
for i=nx:-1:1 |
53 |
dlon(i)=dx(i).*dx2dlon; |
54 |
lonG(i)=lonG(i+1)-dlon(i); |
55 |
lonC(i)=0.5*lonG(i+1)+0.5*lonG(i); |
56 |
end |
57 |
latC(1)=70.42; |
58 |
dlat=dlon./8; |
59 |
for i=1:nx-1 |
60 |
latC(i+1)=latC(i)-dlat(i); |
61 |
end |
62 |
latC=latC'; |
63 |
Llon=sum(dlon(:)); |
64 |
writebin('dlon.bin',dlon,1,prec); |
65 |
break |
66 |
% Interpolate bathymetry to my gridC |
67 |
%[tri,w]=interp_TS(lonC,latC,LON,LAT); |
68 |
% z = IBCAO(:).'; |
69 |
% ibcao_store_2d = sum(z(tri) .* w,2); |
70 |
% ibcao_store_2d(nx)=0.0; |
71 |
% writebin('bathy_store_2D.ibcao',ibcao_jks_2d,1,prec); |
72 |
bathy=-500*ones(200,1); |
73 |
bathy(nx)=0; |
74 |
writebin('bathy_store_2D.500',bathy,1,prec); |
75 |
|
76 |
% ICEFRONT depth and circum files |
77 |
frontdepth=zeros(nx,ny); |
78 |
frontdepth(nx-1)=bathy(nx-1); |
79 |
frontlength=zeros(nx,ny); |
80 |
frontlength(nx-1)=1./dx(nx-1); |
81 |
writebin('frontdepth.bin',frontdepth,1,prec); |
82 |
writebin('frontlength.bin',frontlength,1,prec); |
83 |
|