1 |
Tests for lab_sea forward model linearity. |
2 |
|
3 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
4 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
5 |
|
6 |
cd MITgcm/verification/lab_sea |
7 |
mkdir build |
8 |
cd build |
9 |
cp ../code/*.h ../code/packages.conf . |
10 |
cp ../../../../MITgcm_contrib/lab_sea_test/*.F . |
11 |
../../../tools/genmake2 |
12 |
make depend |
13 |
make |
14 |
cd ..; mkdir run; cd run; cp ../input/* . |
15 |
cp ../../../../MITgcm_contrib/lab_sea_test/* . |
16 |
../build/mitgcmuv >& output.txt & |
17 |
|
18 |
cd ..; mkdir run1; cd run1; cp ../input/* . |
19 |
cp ../../../../MITgcm_contrib/lab_sea_test/* . |
20 |
mv data.exf tmp |
21 |
sed s/tair/tair01/ tmp > data.exf |
22 |
../build/mitgcmuv >& output.txt & |
23 |
|
24 |
cd ..; mkdir run2; cd run2; cp ../input/* . |
25 |
cp ../../../../MITgcm_contrib/lab_sea_test/* . |
26 |
mv data.exf tmp |
27 |
sed s/tair/tair02/ tmp > data.exf |
28 |
../build/mitgcmuv >& output.txt & |
29 |
|
30 |
cd .. |
31 |
matlab |
32 |
|
33 |
clear all, clf reset, pn=''; ne=2; nt=53; |
34 |
heff=zeros(20,16,nt,ne+1); |
35 |
area=zeros(20,16,nt,ne+1); |
36 |
for e=0:ne |
37 |
for t=1:nt, disp([e t]) |
38 |
if e==0, fn=[pn 'run/HEFFtave.']; |
39 |
else fn=[pn 'run' int2str(e) '/HEFFtave.']; end |
40 |
fn=[fn myint2str(t*240,10) '.data']; |
41 |
heff(:,:,t+1,e+1)=readbin(fn,[20 16],1); |
42 |
if e==0, fn=[pn 'run/AREAtave.']; |
43 |
else fn=[pn 'run' int2str(e) '/AREAtave.']; end |
44 |
fn=[fn myint2str(t*240,10) '.data']; |
45 |
area(:,:,t+1,e+1)=readbin(fn,[20 16],1); |
46 |
end |
47 |
end |
48 |
|
49 |
clf reset, orient tall, wysiwyg |
50 |
tmp1=squeeze(sum(sum(heff(:,:,:,1)))); |
51 |
tmp2=squeeze(sum(sum(heff(:,:,:,2)))); |
52 |
tmp3=squeeze(sum(sum(heff(:,:,:,3)))); |
53 |
t=1:length(tmp1); t=(t-1)*10 |
54 |
subplot(411),plot(t,tmp2-tmp1,t,tmp3-tmp1,'linewidth',2) |
55 |
axis([0 max(t) min(min(tmp3-tmp1),min(tmp2-tmp1)) ... |
56 |
max(max(tmp3-tmp1),max(tmp2-tmp1))]), grid |
57 |
title('sum(heff), original config') |
58 |
legend('.01^oC','.02^oC',0) |
59 |
subplot(412),plot(t,tmp2-tmp1,t,tmp3-tmp1,'linewidth',2) |
60 |
axis([0 max(t) -2e-5 1e-5]), grid |
61 |
title('sum(heff), original config') |
62 |
legend('.01^oC','.02^oC',0) |
63 |
tmp1=squeeze(sum(sum(area(:,:,:,1)))); |
64 |
tmp2=squeeze(sum(sum(area(:,:,:,2)))); |
65 |
tmp3=squeeze(sum(sum(area(:,:,:,3)))); |
66 |
subplot(413),plot(t,tmp2-tmp1,t,tmp3-tmp1,'linewidth',2) |
67 |
axis([0 max(t) min(min(tmp3-tmp1),min(tmp2-tmp1)) ... |
68 |
max(max(tmp3-tmp1),max(tmp2-tmp1))]), grid |
69 |
title('sum(area), original config') |
70 |
legend('.01^oC','.02^oC',0) |
71 |
subplot(414),plot(t,tmp2-tmp1,t,tmp3-tmp1,'linewidth',2) |
72 |
axis([0 max(t) -2e-5 1e-5]), grid, xlabel('days') |
73 |
title('sum(area), original config') |
74 |
legend('.01^oC','.02^oC',0) |
75 |
print -djpeg FIG_ynegminmaxrelax |
76 |
|
77 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
78 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
79 |
|
80 |
cd MITgcm/verification/lab_sea |
81 |
mkdir build |
82 |
cd build |
83 |
cp ../code/*.h ../code/packages.conf . |
84 |
cp ../../../../MITgcm_contrib/lab_sea_test/growth.F . |
85 |
../../../tools/genmake2 |
86 |
make depend |
87 |
make |
88 |
cd ..; mkdir run; cd run; cp ../input/* . |
89 |
cp ../../../../MITgcm_contrib/lab_sea_test/* . |
90 |
mv data.pkg tmp |
91 |
sed s/"GMRedi = .TRUE"/"GMRedi = .FALSE"/ tmp > tmp1 |
92 |
sed s/"KPP = .TRUE"/"KPP = .FALSE"/ tmp1 > data.pkg |
93 |
mv data.seaice tmp |
94 |
sed s/"DYNAMICS = .TRUE"/"DYNAMICS = .FALSE"/ tmp > data.seaice |
95 |
../build/mitgcmuv >& output.txt & |
96 |
|
97 |
cd ..; mkdir run1; cd run1; cp ../run/* . |
98 |
mv data.exf tmp |
99 |
sed s/tair/tair01/ tmp > data.exf |
100 |
../build/mitgcmuv >& output.txt & |
101 |
|
102 |
cd ..; mkdir run2; cd run2; cp ../run/* . |
103 |
mv data.exf tmp |
104 |
sed s/tair/tair02/ tmp > data.exf |
105 |
../build/mitgcmuv >& output.txt & |
106 |
|
107 |
cd .. |
108 |
matlab |
109 |
|
110 |
clear all, pn=''; ne=2; nt=53; |
111 |
heff=zeros(20,16,nt,ne+1); |
112 |
area=zeros(20,16,nt,ne+1); |
113 |
for e=0:ne |
114 |
for t=1:nt, disp([e t]) |
115 |
if e==0, fn=[pn 'run/HEFFtave.']; |
116 |
else fn=[pn 'run' int2str(e) '/HEFFtave.']; end |
117 |
fn=[fn myint2str(t*240,10) '.data']; |
118 |
heff(:,:,t+1,e+1)=readbin(fn,[20 16],1); |
119 |
if e==0, fn=[pn 'run/AREAtave.']; |
120 |
else fn=[pn 'run' int2str(e) '/AREAtave.']; end |
121 |
fn=[fn myint2str(t*240,10) '.data']; |
122 |
area(:,:,t+1,e+1)=readbin(fn,[20 16],1); |
123 |
end |
124 |
end |
125 |
|
126 |
clf reset, orient tall, wysiwyg |
127 |
tmp1=squeeze(sum(sum(heff(:,:,:,1)))); |
128 |
tmp2=squeeze(sum(sum(heff(:,:,:,2)))); |
129 |
tmp3=squeeze(sum(sum(heff(:,:,:,3)))); |
130 |
t=1:length(tmp1); t=(t-1)*10 |
131 |
subplot(411),plot(t,tmp2-tmp1,t,tmp3-tmp1,'linewidth',2) |
132 |
axis([0 max(t) min(min(tmp3-tmp1),min(tmp2-tmp1)) ... |
133 |
max(max(tmp3-tmp1),max(tmp2-tmp1))]), grid |
134 |
title('sum(heff), original config') |
135 |
legend('.01^oC','.02^oC',0) |
136 |
subplot(412),plot(t,tmp2-tmp1,t,tmp3-tmp1,'linewidth',2) |
137 |
axis([0 max(t) -2e-5 1e-5]), grid |
138 |
title('sum(heff), original config') |
139 |
legend('.01^oC','.02^oC',0) |
140 |
tmp1=squeeze(sum(sum(area(:,:,:,1)))); |
141 |
tmp2=squeeze(sum(sum(area(:,:,:,2)))); |
142 |
tmp3=squeeze(sum(sum(area(:,:,:,3)))); |
143 |
subplot(413),plot(t,tmp2-tmp1,t,tmp3-tmp1,'linewidth',2) |
144 |
axis([0 max(t) min(min(tmp3-tmp1),min(tmp2-tmp1)) ... |
145 |
max(max(tmp3-tmp1),max(tmp2-tmp1))]), grid |
146 |
title('sum(area), original config') |
147 |
legend('.01^oC','.02^oC',0) |
148 |
subplot(414),plot(t,tmp2-tmp1,t,tmp3-tmp1,'linewidth',2) |
149 |
axis([0 max(t) -2e-5 1e-5]), grid, xlabel('days') |
150 |
title('sum(area), original config') |
151 |
legend('.01^oC','.02^oC',0) |
152 |
print -djpeg FIG_ynegrelax_no_kpp_gm_dyn |
153 |
|
154 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
155 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
156 |
|
157 |
cd MITgcm/verification/lab_sea |
158 |
mkdir build |
159 |
cd build |
160 |
cp ../code/*.h ../code/packages.conf . |
161 |
cp ../../../../MITgcm_contrib/lab_sea_test/growth.F . |
162 |
../../../tools/genmake2 |
163 |
make depend |
164 |
make |
165 |
cd ..; mkdir run; cd run; cp ../input/* . |
166 |
cp ../../../../MITgcm_contrib/lab_sea_test/* . |
167 |
../build/mitgcmuv >& output.txt & |
168 |
|
169 |
cd ..; mkdir run1; cd run1; cp ../input/* . |
170 |
cp ../../../../MITgcm_contrib/lab_sea_test/* . |
171 |
mv data.exf tmp |
172 |
sed s/tair/tair01/ tmp > data.exf |
173 |
../build/mitgcmuv >& output.txt & |
174 |
|
175 |
cd ..; mkdir run2; cd run2; cp ../input/* . |
176 |
cp ../../../../MITgcm_contrib/lab_sea_test/* . |
177 |
mv data.exf tmp |
178 |
sed s/tair/tair02/ tmp > data.exf |
179 |
../build/mitgcmuv >& output.txt & |
180 |
|
181 |
cd .. |
182 |
matlab |
183 |
|
184 |
clear all, clf reset, pn=''; ne=2; nt=53; |
185 |
heff=zeros(20,16,nt,ne+1); |
186 |
area=zeros(20,16,nt,ne+1); |
187 |
for e=0:ne |
188 |
for t=1:nt, disp([e t]) |
189 |
if e==0, fn=[pn 'run/HEFFtave.']; |
190 |
else fn=[pn 'run' int2str(e) '/HEFFtave.']; end |
191 |
fn=[fn myint2str(t*240,10) '.data']; |
192 |
heff(:,:,t+1,e+1)=readbin(fn,[20 16],1); |
193 |
if e==0, fn=[pn 'run/AREAtave.']; |
194 |
else fn=[pn 'run' int2str(e) '/AREAtave.']; end |
195 |
fn=[fn myint2str(t*240,10) '.data']; |
196 |
area(:,:,t+1,e+1)=readbin(fn,[20 16],1); |
197 |
end |
198 |
end |
199 |
|
200 |
clf reset, orient tall, wysiwyg |
201 |
tmp1=squeeze(sum(sum(heff(:,:,:,1)))); |
202 |
tmp2=squeeze(sum(sum(heff(:,:,:,2)))); |
203 |
tmp3=squeeze(sum(sum(heff(:,:,:,3)))); |
204 |
t=1:length(tmp1); t=(t-1)*10 |
205 |
subplot(411),plot(t,tmp2-tmp1,t,tmp3-tmp1,'linewidth',2) |
206 |
axis([0 max(t) min(min(tmp3-tmp1),min(tmp2-tmp1)) ... |
207 |
max(max(tmp3-tmp1),max(tmp2-tmp1))]), grid |
208 |
title('sum(heff), original config') |
209 |
legend('.01^oC','.02^oC',0) |
210 |
subplot(412),plot(t,tmp2-tmp1,t,tmp3-tmp1,'linewidth',2) |
211 |
axis([0 max(t) -2e-5 1e-5]), grid |
212 |
title('sum(heff), original config') |
213 |
legend('.01^oC','.02^oC',0) |
214 |
tmp1=squeeze(sum(sum(area(:,:,:,1)))); |
215 |
tmp2=squeeze(sum(sum(area(:,:,:,2)))); |
216 |
tmp3=squeeze(sum(sum(area(:,:,:,3)))); |
217 |
subplot(413),plot(t,tmp2-tmp1,t,tmp3-tmp1,'linewidth',2) |
218 |
axis([0 max(t) min(min(tmp3-tmp1),min(tmp2-tmp1)) ... |
219 |
max(max(tmp3-tmp1),max(tmp2-tmp1))]), grid |
220 |
title('sum(area), original config') |
221 |
legend('.01^oC','.02^oC',0) |
222 |
subplot(414),plot(t,tmp2-tmp1,t,tmp3-tmp1,'linewidth',2) |
223 |
axis([0 max(t) -2e-5 1e-5]), grid, xlabel('days') |
224 |
title('sum(area), original config') |
225 |
legend('.01^oC','.02^oC',0) |
226 |
print -djpeg FIG_ynegrelax |
227 |
|
228 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
229 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
230 |
|
231 |
cd MITgcm/verification/lab_sea |
232 |
mkdir build |
233 |
cd build |
234 |
cp ../code/*.h ../code/packages.conf . |
235 |
../../../tools/genmake2 |
236 |
make depend |
237 |
make |
238 |
cd ..; mkdir run; cd run; cp ../input/* . |
239 |
cp ../../../../MITgcm_contrib/lab_sea_test/* . |
240 |
mv data.pkg tmp |
241 |
sed s/"GMRedi = .TRUE"/"GMRedi = .FALSE"/ tmp > tmp1 |
242 |
sed s/"KPP = .TRUE"/"KPP = .FALSE"/ tmp1 > data.pkg |
243 |
mv data.seaice tmp |
244 |
sed s/"DYNAMICS = .TRUE"/"DYNAMICS = .FALSE"/ tmp > data.seaice |
245 |
../build/mitgcmuv >& output.txt & |
246 |
|
247 |
cd ..; mkdir run1; cd run1; cp ../run/* . |
248 |
mv data.exf tmp |
249 |
sed s/tair/tair01/ tmp > data.exf |
250 |
../build/mitgcmuv >& output.txt & |
251 |
|
252 |
cd ..; mkdir run2; cd run2; cp ../run/* . |
253 |
mv data.exf tmp |
254 |
sed s/tair/tair02/ tmp > data.exf |
255 |
../build/mitgcmuv >& output.txt & |
256 |
|
257 |
cd .. |
258 |
matlab |
259 |
|
260 |
clear all, clf reset, pn=''; ne=2; nt=53; |
261 |
heff=zeros(20,16,nt,ne+1); |
262 |
area=zeros(20,16,nt,ne+1); |
263 |
for e=0:ne |
264 |
for t=1:nt, disp([e t]) |
265 |
if e==0, fn=[pn 'run/HEFFtave.']; |
266 |
else fn=[pn 'run' int2str(e) '/HEFFtave.']; end |
267 |
fn=[fn myint2str(t*240,10) '.data']; |
268 |
heff(:,:,t+1,e+1)=readbin(fn,[20 16],1); |
269 |
if e==0, fn=[pn 'run/AREAtave.']; |
270 |
else fn=[pn 'run' int2str(e) '/AREAtave.']; end |
271 |
fn=[fn myint2str(t*240,10) '.data']; |
272 |
area(:,:,t+1,e+1)=readbin(fn,[20 16],1); |
273 |
end |
274 |
end |
275 |
|
276 |
clf reset, orient tall, wysiwyg |
277 |
tmp1=squeeze(sum(sum(heff(:,:,:,1)))); |
278 |
tmp2=squeeze(sum(sum(heff(:,:,:,2)))); |
279 |
tmp3=squeeze(sum(sum(heff(:,:,:,3)))); |
280 |
t=1:length(tmp1); t=(t-1)*10 |
281 |
subplot(411),plot(t,tmp2-tmp1,t,tmp3-tmp1,'linewidth',2) |
282 |
axis([0 max(t) min(min(tmp3-tmp1),min(tmp2-tmp1)) ... |
283 |
max(max(tmp3-tmp1),max(tmp2-tmp1))]), grid |
284 |
title('sum(heff), original config') |
285 |
legend('.01^oC','.02^oC',0) |
286 |
subplot(412),plot(t,tmp2-tmp1,t,tmp3-tmp1,'linewidth',2) |
287 |
axis([0 max(t) -2e-5 1e-5]), grid |
288 |
title('sum(heff), original config') |
289 |
legend('.01^oC','.02^oC',0) |
290 |
tmp1=squeeze(sum(sum(area(:,:,:,1)))); |
291 |
tmp2=squeeze(sum(sum(area(:,:,:,2)))); |
292 |
tmp3=squeeze(sum(sum(area(:,:,:,3)))); |
293 |
subplot(413),plot(t,tmp2-tmp1,t,tmp3-tmp1,'linewidth',2) |
294 |
axis([0 max(t) min(min(tmp3-tmp1),min(tmp2-tmp1)) ... |
295 |
max(max(tmp3-tmp1),max(tmp2-tmp1))]), grid |
296 |
title('sum(area), original config') |
297 |
legend('.01^oC','.02^oC',0) |
298 |
subplot(414),plot(t,tmp2-tmp1,t,tmp3-tmp1,'linewidth',2) |
299 |
axis([0 max(t) -2e-5 1e-5]), grid, xlabel('days') |
300 |
title('sum(area), original config') |
301 |
legend('.01^oC','.02^oC',0) |
302 |
print -djpeg FIG_no_kpp_gm_dyn |
303 |
|
304 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
305 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
306 |
|
307 |
cd MITgcm/verification/lab_sea |
308 |
mkdir build |
309 |
cd build |
310 |
cp ../code/*.h ../code/packages.conf . |
311 |
../../../tools/genmake2 |
312 |
make depend |
313 |
make |
314 |
cd ..; mkdir run; cd run; cp ../input/* . |
315 |
cp ../../../../MITgcm_contrib/lab_sea_test/* . |
316 |
../build/mitgcmuv >& output.txt & |
317 |
|
318 |
cd ..; mkdir run1; cd run1; cp ../input/* . |
319 |
cp ../../../../MITgcm_contrib/lab_sea_test/* . |
320 |
mv data.exf tmp |
321 |
sed s/tair/tair01/ tmp > data.exf |
322 |
../build/mitgcmuv >& output.txt & |
323 |
|
324 |
cd ..; mkdir run2; cd run2; cp ../input/* . |
325 |
cp ../../../../MITgcm_contrib/lab_sea_test/* . |
326 |
mv data.exf tmp |
327 |
sed s/tair/tair02/ tmp > data.exf |
328 |
../build/mitgcmuv >& output.txt & |
329 |
|
330 |
cd .. |
331 |
matlab |
332 |
|
333 |
clear all, clf reset, pn=''; ne=2; nt=53; |
334 |
heff=zeros(20,16,nt,ne+1); |
335 |
area=zeros(20,16,nt,ne+1); |
336 |
for e=0:ne |
337 |
for t=1:nt, disp([e t]) |
338 |
if e==0, fn=[pn 'run/HEFFtave.']; |
339 |
else fn=[pn 'run' int2str(e) '/HEFFtave.']; end |
340 |
fn=[fn myint2str(t*240,10) '.data']; |
341 |
heff(:,:,t+1,e+1)=readbin(fn,[20 16],1); |
342 |
if e==0, fn=[pn 'run/AREAtave.']; |
343 |
else fn=[pn 'run' int2str(e) '/AREAtave.']; end |
344 |
fn=[fn myint2str(t*240,10) '.data']; |
345 |
area(:,:,t+1,e+1)=readbin(fn,[20 16],1); |
346 |
end |
347 |
end |
348 |
|
349 |
clf reset, orient tall, wysiwyg |
350 |
tmp1=squeeze(sum(sum(heff(:,:,:,1)))); |
351 |
tmp2=squeeze(sum(sum(heff(:,:,:,2)))); |
352 |
tmp3=squeeze(sum(sum(heff(:,:,:,3)))); |
353 |
t=1:length(tmp1); t=(t-1)*10 |
354 |
subplot(411),plot(t,tmp2-tmp1,t,tmp3-tmp1,'linewidth',2) |
355 |
axis([0 max(t) min(min(tmp3-tmp1),min(tmp2-tmp1)) ... |
356 |
max(max(tmp3-tmp1),max(tmp2-tmp1))]), grid |
357 |
title('sum(heff), original config') |
358 |
legend('.01^oC','.02^oC',0) |
359 |
subplot(412),plot(t,tmp2-tmp1,t,tmp3-tmp1,'linewidth',2) |
360 |
axis([0 max(t) -2e-5 1e-5]), grid |
361 |
title('sum(heff), original config') |
362 |
legend('.01^oC','.02^oC',0) |
363 |
tmp1=squeeze(sum(sum(area(:,:,:,1)))); |
364 |
tmp2=squeeze(sum(sum(area(:,:,:,2)))); |
365 |
tmp3=squeeze(sum(sum(area(:,:,:,3)))); |
366 |
subplot(413),plot(t,tmp2-tmp1,t,tmp3-tmp1,'linewidth',2) |
367 |
axis([0 max(t) min(min(tmp3-tmp1),min(tmp2-tmp1)) ... |
368 |
max(max(tmp3-tmp1),max(tmp2-tmp1))]), grid |
369 |
title('sum(area), original config') |
370 |
legend('.01^oC','.02^oC',0) |
371 |
subplot(414),plot(t,tmp2-tmp1,t,tmp3-tmp1,'linewidth',2) |
372 |
axis([0 max(t) -2e-5 1e-5]), grid, xlabel('days') |
373 |
title('sum(area), original config') |
374 |
legend('.01^oC','.02^oC',0) |
375 |
print -djpeg FIG_orig |
376 |
|
377 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
378 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |