--- MITgcm_contrib/lab_sea_test/read.me 2004/07/11 06:18:03 1.4 +++ MITgcm_contrib/lab_sea_test/read.me 2004/07/12 01:00:20 1.5 @@ -1,35 +1,113 @@ -Test for lab_sea forward model linearity. +Tests for lab_sea forward model linearity. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% cd MITgcm/verification/lab_sea mkdir build cd build -cp ../code/*.h ../code/*.F ../code/packages.conf . +cp ../code/*.h ../code/packages.conf . +cp ../../../../MITgcm_contrib/lab_sea_test/*.F . ../../../tools/genmake2 make depend make cd ..; mkdir run; cd run; cp ../input/* . cp ../../../../MITgcm_contrib/lab_sea_test/* . -../build/mitgcmuv >! output.txt & +../build/mitgcmuv >& output.txt & cd ..; mkdir run1; cd run1; cp ../input/* . cp ../../../../MITgcm_contrib/lab_sea_test/* . mv data.exf tmp sed s/tair/tair01/ tmp > data.exf -../build/mitgcmuv >! output.txt & +../build/mitgcmuv >& output.txt & cd ..; mkdir run2; cd run2; cp ../input/* . cp ../../../../MITgcm_contrib/lab_sea_test/* . mv data.exf tmp sed s/tair/tair02/ tmp > data.exf -../build/mitgcmuv >! output.txt & +../build/mitgcmuv >& output.txt & + +cd .. +matlab + +clear all, clf reset, pn=''; ne=2; nt=53; +heff=zeros(20,16,nt,ne+1); +area=zeros(20,16,nt,ne+1); +for e=0:ne + for t=1:nt, disp([e t]) + if e==0, fn=[pn 'run/HEFFtave.']; + else fn=[pn 'run' int2str(e) '/HEFFtave.']; end + fn=[fn myint2str(t*240,10) '.data']; + heff(:,:,t+1,e+1)=readbin(fn,[20 16],1); + if e==0, fn=[pn 'run/AREAtave.']; + else fn=[pn 'run' int2str(e) '/AREAtave.']; end + fn=[fn myint2str(t*240,10) '.data']; + area(:,:,t+1,e+1)=readbin(fn,[20 16],1); + end +end + +clf reset, orient tall, wysiwyg +tmp1=squeeze(sum(sum(heff(:,:,:,1)))); +tmp2=squeeze(sum(sum(heff(:,:,:,2)))); +tmp3=squeeze(sum(sum(heff(:,:,:,3)))); +t=1:length(tmp1); t=(t-1)*10 +subplot(411),plot(t,tmp2-tmp1,t,tmp3-tmp1,'linewidth',2) +axis([0 max(t) min(min(tmp3-tmp1),min(tmp2-tmp1)) ... + max(max(tmp3-tmp1),max(tmp2-tmp1))]), grid +title('sum(heff), original config') +legend('.01^oC','.02^oC',0) +subplot(412),plot(t,tmp2-tmp1,t,tmp3-tmp1,'linewidth',2) +axis([0 max(t) -2e-5 1e-5]), grid +title('sum(heff), original config') +legend('.01^oC','.02^oC',0) +tmp1=squeeze(sum(sum(area(:,:,:,1)))); +tmp2=squeeze(sum(sum(area(:,:,:,2)))); +tmp3=squeeze(sum(sum(area(:,:,:,3)))); +subplot(413),plot(t,tmp2-tmp1,t,tmp3-tmp1,'linewidth',2) +axis([0 max(t) min(min(tmp3-tmp1),min(tmp2-tmp1)) ... + max(max(tmp3-tmp1),max(tmp2-tmp1))]), grid +title('sum(area), original config') +legend('.01^oC','.02^oC',0) +subplot(414),plot(t,tmp2-tmp1,t,tmp3-tmp1,'linewidth',2) +axis([0 max(t) -2e-5 1e-5]), grid, xlabel('days') +title('sum(area), original config') +legend('.01^oC','.02^oC',0) +print -djpeg FIG_ynegminmaxrelax %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +cd MITgcm/verification/lab_sea +mkdir build +cd build +cp ../code/*.h ../code/packages.conf . +cp ../../../../MITgcm_contrib/lab_sea_test/growth.F . +../../../tools/genmake2 +make depend +make +cd ..; mkdir run; cd run; cp ../input/* . +cp ../../../../MITgcm_contrib/lab_sea_test/* . +mv data.pkg tmp +sed s/"GMRedi = .TRUE"/"GMRedi = .FALSE"/ tmp > tmp1 +sed s/"KPP = .TRUE"/"KPP = .FALSE"/ tmp1 > data.pkg +mv data.seaice tmp +sed s/"DYNAMICS = .TRUE"/"DYNAMICS = .FALSE"/ tmp > data.seaice +../build/mitgcmuv >& output.txt & + +cd ..; mkdir run1; cd run1; cp ../run/* . +mv data.exf tmp +sed s/tair/tair01/ tmp > data.exf +../build/mitgcmuv >& output.txt & + +cd ..; mkdir run2; cd run2; cp ../run/* . +mv data.exf tmp +sed s/tair/tair02/ tmp > data.exf +../build/mitgcmuv >& output.txt & + cd .. matlab -clear all, clf reset, pn=''; ne=5; nt=120; +clear all, pn=''; ne=2; nt=53; heff=zeros(20,16,nt,ne+1); area=zeros(20,16,nt,ne+1); for e=0:ne @@ -45,30 +123,256 @@ end end -tmp=squeeze(sum(sum(sum(heff)))); -clf,subplot(211),plot(tmp-mean(tmp)) -grid,title([int2str((t-1)*10) ' days']) -tmp=squeeze(sum(sum(sum(area)))); -subplot(212),plot(tmp-mean(tmp)) -grid,title([int2str((t-1)*10) ' days']) -tmp=squeeze(sum(sum(heff(:,:,:,1)))); -clf,subplot(211),plot(tmp-mean(tmp)) -grid,title([int2str((t-1)*10) ' days']) -tmp=squeeze(sum(sum(area(:,:,:,1)))); -subplot(212),plot(tmp-mean(tmp)) -grid,title([int2str((t-1)*10) ' days']) +clf reset, orient tall, wysiwyg +tmp1=squeeze(sum(sum(heff(:,:,:,1)))); +tmp2=squeeze(sum(sum(heff(:,:,:,2)))); +tmp3=squeeze(sum(sum(heff(:,:,:,3)))); +t=1:length(tmp1); t=(t-1)*10 +subplot(411),plot(t,tmp2-tmp1,t,tmp3-tmp1,'linewidth',2) +axis([0 max(t) min(min(tmp3-tmp1),min(tmp2-tmp1)) ... + max(max(tmp3-tmp1),max(tmp2-tmp1))]), grid +title('sum(heff), original config') +legend('.01^oC','.02^oC',0) +subplot(412),plot(t,tmp2-tmp1,t,tmp3-tmp1,'linewidth',2) +axis([0 max(t) -2e-5 1e-5]), grid +title('sum(heff), original config') +legend('.01^oC','.02^oC',0) +tmp1=squeeze(sum(sum(area(:,:,:,1)))); +tmp2=squeeze(sum(sum(area(:,:,:,2)))); +tmp3=squeeze(sum(sum(area(:,:,:,3)))); +subplot(413),plot(t,tmp2-tmp1,t,tmp3-tmp1,'linewidth',2) +axis([0 max(t) min(min(tmp3-tmp1),min(tmp2-tmp1)) ... + max(max(tmp3-tmp1),max(tmp2-tmp1))]), grid +title('sum(area), original config') +legend('.01^oC','.02^oC',0) +subplot(414),plot(t,tmp2-tmp1,t,tmp3-tmp1,'linewidth',2) +axis([0 max(t) -2e-5 1e-5]), grid, xlabel('days') +title('sum(area), original config') +legend('.01^oC','.02^oC',0) +print -djpeg FIG_ynegrelax_no_kpp_gm_dyn + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +cd MITgcm/verification/lab_sea +mkdir build +cd build +cp ../code/*.h ../code/packages.conf . +cp ../../../../MITgcm_contrib/lab_sea_test/growth.F . +../../../tools/genmake2 +make depend +make +cd ..; mkdir run; cd run; cp ../input/* . +cp ../../../../MITgcm_contrib/lab_sea_test/* . +../build/mitgcmuv >& output.txt & + +cd ..; mkdir run1; cd run1; cp ../input/* . +cp ../../../../MITgcm_contrib/lab_sea_test/* . +mv data.exf tmp +sed s/tair/tair01/ tmp > data.exf +../build/mitgcmuv >& output.txt & + +cd ..; mkdir run2; cd run2; cp ../input/* . +cp ../../../../MITgcm_contrib/lab_sea_test/* . +mv data.exf tmp +sed s/tair/tair02/ tmp > data.exf +../build/mitgcmuv >& output.txt & + +cd .. +matlab + +clear all, clf reset, pn=''; ne=2; nt=53; +heff=zeros(20,16,nt,ne+1); +area=zeros(20,16,nt,ne+1); +for e=0:ne + for t=1:nt, disp([e t]) + if e==0, fn=[pn 'run/HEFFtave.']; + else fn=[pn 'run' int2str(e) '/HEFFtave.']; end + fn=[fn myint2str(t*240,10) '.data']; + heff(:,:,t+1,e+1)=readbin(fn,[20 16],1); + if e==0, fn=[pn 'run/AREAtave.']; + else fn=[pn 'run' int2str(e) '/AREAtave.']; end + fn=[fn myint2str(t*240,10) '.data']; + area(:,:,t+1,e+1)=readbin(fn,[20 16],1); + end +end +clf reset, orient tall, wysiwyg tmp1=squeeze(sum(sum(heff(:,:,:,1)))); tmp2=squeeze(sum(sum(heff(:,:,:,2)))); tmp3=squeeze(sum(sum(heff(:,:,:,3)))); t=1:length(tmp1); t=(t-1)*10 -clf,subplot(211),plot(t,tmp2-tmp1,t,tmp3-tmp1,'linewidth',2) +subplot(411),plot(t,tmp2-tmp1,t,tmp3-tmp1,'linewidth',2) +axis([0 max(t) min(min(tmp3-tmp1),min(tmp2-tmp1)) ... + max(max(tmp3-tmp1),max(tmp2-tmp1))]), grid +title('sum(heff), original config') +legend('.01^oC','.02^oC',0) +subplot(412),plot(t,tmp2-tmp1,t,tmp3-tmp1,'linewidth',2) +axis([0 max(t) -2e-5 1e-5]), grid +title('sum(heff), original config') +legend('.01^oC','.02^oC',0) +tmp1=squeeze(sum(sum(area(:,:,:,1)))); +tmp2=squeeze(sum(sum(area(:,:,:,2)))); +tmp3=squeeze(sum(sum(area(:,:,:,3)))); +subplot(413),plot(t,tmp2-tmp1,t,tmp3-tmp1,'linewidth',2) +axis([0 max(t) min(min(tmp3-tmp1),min(tmp2-tmp1)) ... + max(max(tmp3-tmp1),max(tmp2-tmp1))]), grid +title('sum(area), original config') +legend('.01^oC','.02^oC',0) +subplot(414),plot(t,tmp2-tmp1,t,tmp3-tmp1,'linewidth',2) +axis([0 max(t) -2e-5 1e-5]), grid, xlabel('days') +title('sum(area), original config') +legend('.01^oC','.02^oC',0) +print -djpeg FIG_ynegrelax +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +cd MITgcm/verification/lab_sea +mkdir build +cd build +cp ../code/*.h ../code/packages.conf . +../../../tools/genmake2 +make depend +make +cd ..; mkdir run; cd run; cp ../input/* . +cp ../../../../MITgcm_contrib/lab_sea_test/* . +mv data.pkg tmp +sed s/"GMRedi = .TRUE"/"GMRedi = .FALSE"/ tmp > tmp1 +sed s/"KPP = .TRUE"/"KPP = .FALSE"/ tmp1 > data.pkg +mv data.seaice tmp +sed s/"DYNAMICS = .TRUE"/"DYNAMICS = .FALSE"/ tmp > data.seaice +../build/mitgcmuv >& output.txt & + +cd ..; mkdir run1; cd run1; cp ../run/* . +mv data.exf tmp +sed s/tair/tair01/ tmp > data.exf +../build/mitgcmuv >& output.txt & + +cd ..; mkdir run2; cd run2; cp ../run/* . +mv data.exf tmp +sed s/tair/tair02/ tmp > data.exf +../build/mitgcmuv >& output.txt & + +cd .. +matlab + +clear all, clf reset, pn=''; ne=2; nt=53; +heff=zeros(20,16,nt,ne+1); +area=zeros(20,16,nt,ne+1); +for e=0:ne + for t=1:nt, disp([e t]) + if e==0, fn=[pn 'run/HEFFtave.']; + else fn=[pn 'run' int2str(e) '/HEFFtave.']; end + fn=[fn myint2str(t*240,10) '.data']; + heff(:,:,t+1,e+1)=readbin(fn,[20 16],1); + if e==0, fn=[pn 'run/AREAtave.']; + else fn=[pn 'run' int2str(e) '/AREAtave.']; end + fn=[fn myint2str(t*240,10) '.data']; + area(:,:,t+1,e+1)=readbin(fn,[20 16],1); + end +end + +clf reset, orient tall, wysiwyg +tmp1=squeeze(sum(sum(heff(:,:,:,1)))); +tmp2=squeeze(sum(sum(heff(:,:,:,2)))); +tmp3=squeeze(sum(sum(heff(:,:,:,3)))); +t=1:length(tmp1); t=(t-1)*10 +subplot(411),plot(t,tmp2-tmp1,t,tmp3-tmp1,'linewidth',2) +axis([0 max(t) min(min(tmp3-tmp1),min(tmp2-tmp1)) ... + max(max(tmp3-tmp1),max(tmp2-tmp1))]), grid +title('sum(heff), original config') +legend('.01^oC','.02^oC',0) +subplot(412),plot(t,tmp2-tmp1,t,tmp3-tmp1,'linewidth',2) +axis([0 max(t) -2e-5 1e-5]), grid +title('sum(heff), original config') +legend('.01^oC','.02^oC',0) +tmp1=squeeze(sum(sum(area(:,:,:,1)))); +tmp2=squeeze(sum(sum(area(:,:,:,2)))); +tmp3=squeeze(sum(sum(area(:,:,:,3)))); +subplot(413),plot(t,tmp2-tmp1,t,tmp3-tmp1,'linewidth',2) +axis([0 max(t) min(min(tmp3-tmp1),min(tmp2-tmp1)) ... + max(max(tmp3-tmp1),max(tmp2-tmp1))]), grid +title('sum(area), original config') +legend('.01^oC','.02^oC',0) +subplot(414),plot(t,tmp2-tmp1,t,tmp3-tmp1,'linewidth',2) +axis([0 max(t) -2e-5 1e-5]), grid, xlabel('days') +title('sum(area), original config') +legend('.01^oC','.02^oC',0) +print -djpeg FIG_no_kpp_gm_dyn + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +cd MITgcm/verification/lab_sea +mkdir build +cd build +cp ../code/*.h ../code/packages.conf . +../../../tools/genmake2 +make depend +make +cd ..; mkdir run; cd run; cp ../input/* . +cp ../../../../MITgcm_contrib/lab_sea_test/* . +../build/mitgcmuv >& output.txt & + +cd ..; mkdir run1; cd run1; cp ../input/* . +cp ../../../../MITgcm_contrib/lab_sea_test/* . +mv data.exf tmp +sed s/tair/tair01/ tmp > data.exf +../build/mitgcmuv >& output.txt & + +cd ..; mkdir run2; cd run2; cp ../input/* . +cp ../../../../MITgcm_contrib/lab_sea_test/* . +mv data.exf tmp +sed s/tair/tair02/ tmp > data.exf +../build/mitgcmuv >& output.txt & + +cd .. +matlab +clear all, clf reset, pn=''; ne=2; nt=53; +heff=zeros(20,16,nt,ne+1); +area=zeros(20,16,nt,ne+1); +for e=0:ne + for t=1:nt, disp([e t]) + if e==0, fn=[pn 'run/HEFFtave.']; + else fn=[pn 'run' int2str(e) '/HEFFtave.']; end + fn=[fn myint2str(t*240,10) '.data']; + heff(:,:,t+1,e+1)=readbin(fn,[20 16],1); + if e==0, fn=[pn 'run/AREAtave.']; + else fn=[pn 'run' int2str(e) '/AREAtave.']; end + fn=[fn myint2str(t*240,10) '.data']; + area(:,:,t+1,e+1)=readbin(fn,[20 16],1); + end +end +clf reset, orient tall, wysiwyg +tmp1=squeeze(sum(sum(heff(:,:,:,1)))); +tmp2=squeeze(sum(sum(heff(:,:,:,2)))); +tmp3=squeeze(sum(sum(heff(:,:,:,3)))); +t=1:length(tmp1); t=(t-1)*10 +subplot(411),plot(t,tmp2-tmp1,t,tmp3-tmp1,'linewidth',2) +axis([0 max(t) min(min(tmp3-tmp1),min(tmp2-tmp1)) ... + max(max(tmp3-tmp1),max(tmp2-tmp1))]), grid +title('sum(heff), original config') +legend('.01^oC','.02^oC',0) +subplot(412),plot(t,tmp2-tmp1,t,tmp3-tmp1,'linewidth',2) +axis([0 max(t) -2e-5 1e-5]), grid +title('sum(heff), original config') +legend('.01^oC','.02^oC',0) +tmp1=squeeze(sum(sum(area(:,:,:,1)))); +tmp2=squeeze(sum(sum(area(:,:,:,2)))); +tmp3=squeeze(sum(sum(area(:,:,:,3)))); +subplot(413),plot(t,tmp2-tmp1,t,tmp3-tmp1,'linewidth',2) +axis([0 max(t) min(min(tmp3-tmp1),min(tmp2-tmp1)) ... + max(max(tmp3-tmp1),max(tmp2-tmp1))]), grid +title('sum(area), original config') +legend('.01^oC','.02^oC',0) +subplot(414),plot(t,tmp2-tmp1,t,tmp3-tmp1,'linewidth',2) +axis([0 max(t) -2e-5 1e-5]), grid, xlabel('days') +title('sum(area), original config') +legend('.01^oC','.02^oC',0) +print -djpeg FIG_orig -grid,title([int2str((t-1)*10) ' days']) -tmp=squeeze(sum(sum(area(:,:,:,1)))); -subplot(212),plot(tmp-mean(tmp)) -grid,title([int2str((t-1)*10) ' days']) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%