--- MITgcm_contrib/lab_sea_test/read.me 2004/06/29 20:51:16 1.1 +++ MITgcm_contrib/lab_sea_test/read.me 2004/07/12 01:00:20 1.5 @@ -1 +1,378 @@ -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/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 & + +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_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, 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_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 +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 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%