8 |
|
|
9 |
% Dimensions of grid |
% Dimensions of grid |
10 |
nx=3; |
nx=3; |
11 |
ny=200; |
ny=400; |
12 |
nz=100; |
nz=100; |
13 |
delz = 10; |
delz = 10; |
14 |
|
|
15 |
hfacMin = 0.2; |
hfacMin = 0.2; |
16 |
|
|
17 |
dlat = 0.125/16; dy=dlat; |
dlat = 0.125/32; dy=dlat; |
18 |
dlon = 0.125/4; dx=dlon; |
dlon = 0.125/4; dx=dlon; |
19 |
|
|
20 |
%eos = 'linear'; |
%eos = 'linear'; |
142 |
icetopo(:,101:end)=0; |
icetopo(:,101:end)=0; |
143 |
|
|
144 |
% use streamice generated thickness |
% use streamice generated thickness |
145 |
fid = fopen('h_init.box','r','b'); hinit=fread(fid,[3 200],'real*8'); fclose(fid); |
fid = fopen('hinit3.box','r','b'); hinit=fread(fid,[3 400],'real*8'); fclose(fid); |
146 |
%hinit(:,1:5)=550; |
%hinit(:,1:5)=550; |
147 |
% load hinit |
% load hinit |
148 |
icetopo = -917/1028*hinit; |
icetopo = -917/1028*hinit; |
149 |
|
|
150 |
|
for i =1:3 |
151 |
|
for j=1:400 |
152 |
|
if icetopo(i,j)<-990 |
153 |
|
icetopo(i,j)=-990; |
154 |
|
|
155 |
|
end |
156 |
|
end |
157 |
|
end |
158 |
% adjust topo so that no hfac is smaller than hfacMin |
% adjust topo so that no hfac is smaller than hfacMin |
159 |
|
|
160 |
for ix=1:nx |
for ix=1:nx |
161 |
for iy=1:ny |
for iy=1:ny |
162 |
k=max(find(abs(zg)<abs(icetopo(ix,iy)))); |
k=max(find(abs(zg)<abs(icetopo(ix,iy)))); |
163 |
|
% |
164 |
if(~isempty(k)) |
if(~isempty(k)) |
165 |
|
% |
166 |
|
% |
167 |
hfacTemp = (icetopo(ix,iy) - (-zg(k+1)))/delz; |
hfacTemp = (icetopo(ix,iy) - (-zg(k+1)))/delz; |
168 |
|
% |
169 |
if (hfacTemp < hfacMin) |
if (hfacTemp < hfacMin) |
170 |
if (hfacTemp < hfacMin/2) |
if (hfacTemp < hfacMin/2) |
171 |
hfacTemp = 0; |
hfacTemp = 0; |
184 |
|
|
185 |
end |
end |
186 |
end |
end |
187 |
|
for i =1:3 |
188 |
|
for j=1:400 |
189 |
|
if icetopo(i,j)<-990 |
190 |
|
icetopo(i,j)=-990; |
191 |
|
|
192 |
|
end |
193 |
|
end |
194 |
|
end |
195 |
% phi anomaly (relative to hydrostatic with rho_const) at icetopo |
% phi anomaly (relative to hydrostatic with rho_const) at icetopo |
196 |
|
|
197 |
phi0surf = zeros(nx,ny); |
phi0surf = zeros(nx,ny); |
221 |
%use streamicegenerated thickness |
%use streamicegenerated thickness |
222 |
|
|
223 |
%mass = hinit * 917; |
%mass = hinit * 917; |
224 |
icetopo(:,1)=-750; |
%icetopo(:,1)=-1000; |
225 |
fid = fopen('shelftopo.pig.bin','w','b'); fwrite(fid,icetopo,'real*8'); fclose(fid); |
fid = fopen('shelftopo.pig.bin','w','b'); fwrite(fid,icetopo,'real*8'); fclose(fid); |
226 |
fid = fopen('shelficemassinit.bin','w','b'); fwrite(fid,mass,'real*8'); fclose(fid); |
fid = fopen('shelficemassinit.bin','w','b'); fwrite(fid,mass,'real*8'); fclose(fid); |
227 |
fid = fopen('pload.pig.jmd95z','w','b'); fwrite(fid,phi0surf,'real*8'); fclose(fid); |
fid = fopen('pload.pig.jmd95z','w','b'); fwrite(fid,phi0surf,'real*8'); fclose(fid); |
258 |
end |
end |
259 |
|
|
260 |
|
|
261 |
icetopo2(:,1)=-750; |
icetopo2(:,1)=-1000; |
262 |
fid = fopen('shelftopo.round.bin','w','b'); fwrite(fid,icetopo2,'real*8'); fclose(fid); |
fid = fopen('shelftopo.round.bin','w','b'); fwrite(fid,icetopo2,'real*8'); fclose(fid); |
263 |
fid = fopen('etainit.round.bin','w','b'); fwrite(fid,etainit,'real*8'); fclose(fid); |
fid = fopen('etainit.round.bin','w','b'); fwrite(fid,etainit,'real*8'); fclose(fid); |