|  |  |  | 
| 1 | Test for lab_sea forward model linearity. | Test for lab_sea forward model linearity. | 
| 2 |  |  | 
| 3 | cd MITgcm/verification/lab_sea | cd MITgcm/verification/lab_sea | 
| 9 | make | make | 
| 10 | cd ..; mkdir run; cd run; cp ../input/* . | cd ..; mkdir run; cd run; cp ../input/* . | 
| 11 | cp ../../../../MITgcm_contrib/lab_sea_test/* . | cp ../../../../MITgcm_contrib/lab_sea_test/* . | 
| 12 | ../build/mitgcmuv > output.txt & | ../build/mitgcmuv >! output.txt & | 
| 13 |  |  | 
| 14 | cd ..; mkdir run1; cd run1; cp ../input/* . | cd ..; mkdir run1; cd run1; cp ../input/* . | 
| 15 | cp ../../../../MITgcm_contrib/lab_sea_test/* . | cp ../../../../MITgcm_contrib/lab_sea_test/* . | 
| 16 | mv data.exf tmp | mv data.exf tmp | 
| 17 | sed s/tair/tair01/ tmp > data.exf | sed s/tair/tair01/ tmp > data.exf | 
| 18 | ../build/mitgcmuv > output.txt & | ../build/mitgcmuv >! output.txt & | 
| 19 |  |  | 
| 20 | cd ..; mkdir run2; cd run2; cp ../input/* . | cd ..; mkdir run2; cd run2; cp ../input/* . | 
| 21 | cp ../../../../MITgcm_contrib/lab_sea_test/* . | cp ../../../../MITgcm_contrib/lab_sea_test/* . | 
| 22 | mv data.exf tmp | mv data.exf tmp | 
| 23 | sed s/tair/tair02/ tmp > data.exf | sed s/tair/tair02/ tmp > data.exf | 
| 24 | ../build/mitgcmuv > output.txt & | ../build/mitgcmuv >! output.txt & | 
|  |  |  | 
|  | cd ..; mkdir run3; cd run3; cp ../input/* . |  | 
|  | cp ../../../../MITgcm_contrib/lab_sea_test/* . |  | 
|  | mv data.exf tmp |  | 
|  | sed s/tair/tair03/ tmp > data.exf |  | 
|  | ../build/mitgcmuv > output.txt & |  | 
|  |  |  | 
|  | cd ..; mkdir run4; cd run4; cp ../input/* . |  | 
|  | cp ../../../../MITgcm_contrib/lab_sea_test/* . |  | 
|  | mv data.exf tmp |  | 
|  | sed s/tair/tair04/ tmp > data.exf |  | 
|  | ../build/mitgcmuv > output.txt & |  | 
|  |  |  | 
|  | cd ..; mkdir run5; cd run5; cp ../input/* . |  | 
|  | cp ../../../../MITgcm_contrib/lab_sea_test/* . |  | 
|  | mv data.exf tmp |  | 
|  | sed s/tair/tair05/ tmp > data.exf |  | 
|  | ../build/mitgcmuv > output.txt & |  | 
|  |  |  | 
|  | cd ..; mkdir run6; cd run6; cp ../input/* . |  | 
|  | cp ../../../../MITgcm_contrib/lab_sea_test/* . |  | 
|  | mv data.exf tmp |  | 
|  | sed s/tair/tair06/ tmp > data.exf |  | 
|  | ../build/mitgcmuv > output.txt & |  | 
|  |  |  | 
|  | cd ..; mkdir run7; cd run7; cp ../input/* . |  | 
|  | cp ../../../../MITgcm_contrib/lab_sea_test/* . |  | 
|  | mv data.exf tmp |  | 
|  | sed s/tair/tair07/ tmp > data.exf |  | 
|  | ../build/mitgcmuv > output.txt & |  | 
|  |  |  | 
|  | cd ..; mkdir run8; cd run8; cp ../input/* . |  | 
|  | cp ../../../../MITgcm_contrib/lab_sea_test/* . |  | 
|  | mv data.exf tmp |  | 
|  | sed s/tair/tair08/ tmp > data.exf |  | 
|  | ../build/mitgcmuv > output.txt & |  | 
|  |  |  | 
|  | cd ..; mkdir run9; cd run9; cp ../input/* . |  | 
|  | cp ../../../../MITgcm_contrib/lab_sea_test/* . |  | 
|  | mv data.exf tmp |  | 
|  | sed s/tair/tair09/ tmp > data.exf |  | 
|  | ../build/mitgcmuv > output.txt & |  | 
|  |  |  | 
|  | cd ..; mkdir run10; cd run10; cp ../input/* . |  | 
|  | cp ../../../../MITgcm_contrib/lab_sea_test/* . |  | 
|  | mv data.exf tmp |  | 
|  | sed s/tair/tair10/ tmp > data.exf |  | 
|  | ../build/mitgcmuv > output.txt & |  | 
|  |  |  | 
|  | cd ..; mkdir run11; cd run11; cp ../input/* . |  | 
|  | cp ../../../../MITgcm_contrib/lab_sea_test/* . |  | 
|  | mv data.exf tmp |  | 
|  | sed s/tair/tair11/ tmp > data.exf |  | 
|  | ../build/mitgcmuv > output.txt & |  | 
|  |  |  | 
|  | cd ..; mkdir run12; cd run12; cp ../input/* . |  | 
|  | cp ../../../../MITgcm_contrib/lab_sea_test/* . |  | 
|  | mv data.exf tmp |  | 
|  | sed s/tair/tair12/ tmp > data.exf |  | 
|  | ../build/mitgcmuv > output.txt & |  | 
|  |  |  | 
|  | cd ..; mkdir run13; cd run13; cp ../input/* . |  | 
|  | cp ../../../../MITgcm_contrib/lab_sea_test/* . |  | 
|  | mv data.exf tmp |  | 
|  | sed s/tair/tair13/ tmp > data.exf |  | 
|  | ../build/mitgcmuv > output.txt & |  | 
|  |  |  | 
|  | cd ..; mkdir run14; cd run14; cp ../input/* . |  | 
|  | cp ../../../../MITgcm_contrib/lab_sea_test/* . |  | 
|  | mv data.exf tmp |  | 
|  | sed s/tair/tair14/ tmp > data.exf |  | 
|  | ../build/mitgcmuv > output.txt & |  | 
|  |  |  | 
|  | cd ..; mkdir run15; cd run15; cp ../input/* . |  | 
|  | cp ../../../../MITgcm_contrib/lab_sea_test/* . |  | 
|  | mv data.exf tmp |  | 
|  | sed s/tair/tair15/ tmp > data.exf |  | 
|  | ../build/mitgcmuv > output.txt & |  | 
|  |  |  | 
|  | cd ..; mkdir run16; cd run16; cp ../input/* . |  | 
|  | cp ../../../../MITgcm_contrib/lab_sea_test/* . |  | 
|  | mv data.exf tmp |  | 
|  | sed s/tair/tair16/ tmp > data.exf |  | 
|  | ../build/mitgcmuv > output.txt & |  | 
|  |  |  | 
|  | cd ..; mkdir run17; cd run17; cp ../input/* . |  | 
|  | cp ../../../../MITgcm_contrib/lab_sea_test/* . |  | 
|  | mv data.exf tmp |  | 
|  | sed s/tair/tair17/ tmp > data.exf |  | 
|  | ../build/mitgcmuv > output.txt & |  | 
|  |  |  | 
|  | cd ..; mkdir run18; cd run18; cp ../input/* . |  | 
|  | cp ../../../../MITgcm_contrib/lab_sea_test/* . |  | 
|  | mv data.exf tmp |  | 
|  | sed s/tair/tair18/ tmp > data.exf |  | 
|  | ../build/mitgcmuv > output.txt & |  | 
|  |  |  | 
|  | cd ..; mkdir run19; cd run19; cp ../input/* . |  | 
|  | cp ../../../../MITgcm_contrib/lab_sea_test/* . |  | 
|  | mv data.exf tmp |  | 
|  | sed s/tair/tair19/ tmp > data.exf |  | 
|  | ../build/mitgcmuv > output.txt & |  | 
| 25 |  |  | 
| 26 | cd ..; mkdir run20; cd run20; cp ../input/* . | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | 
| 27 | cp ../../../../MITgcm_contrib/lab_sea_test/* . | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | 
|  | mv data.exf tmp |  | 
|  | sed s/tair/tair20/ tmp > data.exf |  | 
|  | ../build/mitgcmuv > output.txt & |  | 
| 28 |  |  | 
| 29 | cd .. | cd .. | 
|  |  |  | 
|  | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |  | 
|  |  |  | 
| 30 | matlab | matlab | 
| 31 |  |  | 
| 32 | clear all, clf reset, pn=''; nt=238; | clear all, clf reset, pn=''; ne=5; nt=120; | 
| 33 | heff=zeros(20,16,nt,21); | heff=zeros(20,16,nt,ne+1); | 
| 34 | area=zeros(20,16,nt,21); | area=zeros(20,16,nt,ne+1); | 
| 35 | for e=0:20 | for e=0:ne | 
| 36 | for t=0:nt, disp([e t]) | for t=1:nt, disp([e t]) | 
| 37 | if e==0, fn=[pn 'run/HEFF.']; | if e==0, fn=[pn 'run/HEFFtave.']; | 
| 38 | else fn=[pn 'run' int2str(e) '/HEFF.']; end | else fn=[pn 'run' int2str(e) '/HEFFtave.']; end | 
| 39 | fn=[fn myint2str(t*240,10) '.data']; | fn=[fn myint2str(t*240,10) '.data']; | 
| 40 | heff(:,:,t+1,e+1)=readbin(fn,[20 16],1); | heff(:,:,t+1,e+1)=readbin(fn,[20 16],1); | 
| 41 | if e==0, fn=[pn 'run/AREA.']; | if e==0, fn=[pn 'run/AREAtave.']; | 
| 42 | else fn=[pn 'run' int2str(e) '/AREA.']; end | else fn=[pn 'run' int2str(e) '/AREAtave.']; end | 
| 43 | fn=[fn myint2str(t*240,10) '.data']; | fn=[fn myint2str(t*240,10) '.data']; | 
| 44 | area(:,:,t+1,e+1)=readbin(fn,[20 16],1); | area(:,:,t+1,e+1)=readbin(fn,[20 16],1); | 
| 45 | end | end | 
| 46 | end | end | 
| 47 | for t=1:nt |  | 
| 48 | tmp=squeeze(sum(sum(heff(:,:,t,:)))); | tmp=squeeze(sum(sum(sum(heff)))); | 
| 49 | clf,subplot(211),plot(tmp-mean(tmp)) | clf,subplot(211),plot(tmp-mean(tmp)) | 
| 50 | grid,title([int2str((t-1)*10) ' days']) | grid,title([int2str((t-1)*10) ' days']) | 
| 51 | tmp=squeeze(sum(sum(area(:,:,t,:)))); | tmp=squeeze(sum(sum(sum(area)))); | 
| 52 |  | subplot(212),plot(tmp-mean(tmp)) | 
| 53 |  | grid,title([int2str((t-1)*10) ' days']) | 
| 54 |  | tmp=squeeze(sum(sum(heff(:,:,:,1)))); | 
| 55 |  | clf,subplot(211),plot(tmp-mean(tmp)) | 
| 56 |  | grid,title([int2str((t-1)*10) ' days']) | 
| 57 |  | tmp=squeeze(sum(sum(area(:,:,:,1)))); | 
| 58 | subplot(212),plot(tmp-mean(tmp)) | subplot(212),plot(tmp-mean(tmp)) | 
| 59 | grid,title([int2str((t-1)*10) ' days']) | grid,title([int2str((t-1)*10) ' days']) | 
|  | pause, end |  | 
|  |  |  | 
|  | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |  | 
|  |  |  | 
|  | repeat with daily dumps for experiments 10-15, days 6-10 |  | 
|  |  |  | 
|  | cd run10; mv data tmp |  | 
|  | sed s/startTime=0.0,/startTime=518400.0,/ tmp > tmp2 |  | 
|  | sed s/endTime=1728000.,/endTime=950400.0,/ tmp2 > tmp3 |  | 
|  | sed s/"dumpFreq = 86400.,"/dumpFreq=3600.,/ tmp3 > data |  | 
|  | ../build/mitgcmuv >! output.txt & |  | 
|  |  |  | 
|  | cd ../run11; mv data tmp |  | 
|  | sed s/startTime=0.0,/startTime=518400.0,/ tmp > tmp2 |  | 
|  | sed s/endTime=1728000.,/endTime=950400.0,/ tmp2 > tmp3 |  | 
|  | sed s/"dumpFreq = 86400.,"/dumpFreq=3600.,/ tmp3 > data |  | 
|  | ../build/mitgcmuv >! output.txt & |  | 
|  |  |  | 
|  | cd ../run12; mv data tmp |  | 
|  | sed s/startTime=0.0,/startTime=518400.0,/ tmp > tmp2 |  | 
|  | sed s/endTime=1728000.,/endTime=950400.0,/ tmp2 > tmp3 |  | 
|  | sed s/"dumpFreq = 86400.,"/dumpFreq=3600.,/ tmp3 > data |  | 
|  | ../build/mitgcmuv >! output.txt & |  | 
|  |  |  | 
|  | cd ../run13; mv data tmp |  | 
|  | sed s/startTime=0.0,/startTime=518400.0,/ tmp > tmp2 |  | 
|  | sed s/endTime=1728000.,/endTime=950400.0,/ tmp2 > tmp3 |  | 
|  | sed s/"dumpFreq = 86400.,"/dumpFreq=3600.,/ tmp3 > data |  | 
|  | ../build/mitgcmuv >! output.txt & |  | 
| 60 |  |  | 
| 61 | cd ../run14; mv data tmp | tmp1=squeeze(sum(sum(heff(:,:,:,1)))); | 
| 62 | sed s/startTime=0.0,/startTime=518400.0,/ tmp > tmp2 | tmp2=squeeze(sum(sum(heff(:,:,:,2)))); | 
| 63 | sed s/endTime=1728000.,/endTime=950400.0,/ tmp2 > tmp3 | tmp3=squeeze(sum(sum(heff(:,:,:,3)))); | 
| 64 | sed s/"dumpFreq = 86400.,"/dumpFreq=3600.,/ tmp3 > data | t=1:length(tmp1); t=(t-1)*10 | 
| 65 | ../build/mitgcmuv >! output.txt & | clf,subplot(211),plot(t,tmp2-tmp1,t,tmp3-tmp1,'linewidth',2) | 
| 66 |  |  | 
|  | cd ../run15; mv data tmp |  | 
|  | sed s/startTime=0.0,/startTime=518400.0,/ tmp > tmp2 |  | 
|  | sed s/endTime=1728000.,/endTime=950400.0,/ tmp2 > tmp3 |  | 
|  | sed s/"dumpFreq = 86400.,"/dumpFreq=3600.,/ tmp3 > data |  | 
|  | ../build/mitgcmuv >! output.txt & |  | 
| 67 |  |  | 
|  | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |  | 
| 68 |  |  | 
|  | matlab |  | 
| 69 |  |  | 
|  | heff=zeros(20,16,121,6); |  | 
|  | area=zeros(20,16,121,6); |  | 
|  | for e=10:15, disp(e) |  | 
|  | for t=144:264 |  | 
|  | fn=['run' int2str(e) '/HEFF.']; |  | 
|  | fn=[fn myint2str(t,10) '.data']; |  | 
|  | heff(:,:,t-143,e-9)=readbin(fn,[20 16],1); |  | 
|  | fn=['run' int2str(e) '/AREA.']; |  | 
|  | fn=[fn myint2str(t,10) '.data']; |  | 
|  | area(:,:,t-143,e-9)=readbin(fn,[20 16],1); |  | 
|  | end |  | 
|  | end |  | 
| 70 |  |  | 
| 71 | for t=144:264 | grid,title([int2str((t-1)*10) ' days']) | 
| 72 | tmp=squeeze(sum(sum(heff(:,:,t-143,:)))); | tmp=squeeze(sum(sum(area(:,:,:,1)))); | 
| 73 | clf,subplot(211), plot(tmp-mean(tmp)), grid, title(t/24) | subplot(212),plot(tmp-mean(tmp)) | 
| 74 | tmp=squeeze(sum(sum(area(:,:,t-143,:)))); | grid,title([int2str((t-1)*10) ' days']) | 
|  | subplot(212), plot(tmp-mean(tmp)), grid, title(t/24) |  | 
|  | pause, end |  |