Changeset 115
- Timestamp:
- 04/28/09 17:21:00 (16 years ago)
- Location:
- issm/trunk/test/Verification/test1_icesheet_noicefront
- Files:
-
- 4 added
- 3 deleted
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/test/Verification/test1_icesheet_noicefront/Square.par
r16 r115 1 %Ok, start defining model parameters here 1 %Start defining model parameters here 2 3 md.viscosity_overshoot=0.3; 2 4 3 5 disp(' creating thickness'); … … 28 30 %Deal with boundary conditions: 29 31 md=SetIceSheetBC(md); 32 33 %Parallel options 34 md.np=8; 35 md.time=50; 36 md.waitonlock=1; -
issm/trunk/test/Verification/test1_icesheet_noicefront/runme.m
r50 r115 10 10 % free to tweak the tolerance variable. 11 11 12 %packages and solutions to be tested 13 packages={'macayeal','ice','cielo_serial','cielo_parallel'}; 14 12 15 %Initialize log message for nightly runs. 13 logstring='Verification/test1_icesheet_noicefront: '; 16 testname='IceSheetNoIceFront2d_1'; 17 tolerance=10^-12; 14 18 15 % Create model; 19 %go through the solutions requested 20 for i=1:length(packages), 21 package=packages{i}; 16 22 17 tolerance=10^-13; 23 %initialize model 24 md=model; 25 md=mesh(md,'DomainOutline.exp',50000); 26 md=geography(md,'',''); 27 md=parameterize(md,'Square.par'); 28 md=setelementstype(md,'macayeal','all'); 18 29 30 %Compute solution using requested package 31 if strcmpi(package,'macayeal'), 19 32 20 md=model; 21 md=mesh(md,'DomainOutline.exp',50000); 22 md=geography(md,'',''); 23 md=parameterize(md,'Square.par'); 24 md=setelementstype(md,'macayeal','all'); 33 %DIAGNOSTIC 34 md=solve(md,'diagnostic','macayeal'); 35 %check result 36 load ArchiveMacAyealDiag 37 pos=find(ArchiveMacAyealDiag); error_vel=abs(norm((ArchiveMacAyealDiag(pos)-md.vel(pos))./ArchiveMacAyealDiag(pos),2)); 38 if (error_vel>tolerance); 39 disp(['test: ' testname ', solution: diagnostic, package: ' package ' -> ERROR (difference=' num2str(error_vel) ')']) 40 else 41 disp(['test: ' testname ', solution: diagnostic, package: ' package ' -> SUCCESS (difference=' num2str(error_vel) ')']) 42 end 25 43 26 %Compute solution with MacAyeal's model 27 md=solve(md,'diagnostic','macayeal'); 28 vel_macayeal=md.vel; 44 elseif strcmpi(package,'ice'), 29 45 30 %Compute solution with Ice model 31 md=solve(md,'diagnostic','ice'); 32 vel_ice=md.vel; 46 %DIAGNOSTIC 47 md=solve(md,'diagnostic','ice'); 48 %check result 49 load ArchiveIceDiag 50 pos=find(ArchiveIceDiag); error_vel=abs(norm((ArchiveIceDiag(pos)-md.vel(pos))./ArchiveIceDiag(pos),2)); 51 if (error_vel>tolerance); 52 disp(['test: ' testname ', solution: diagnostic, package: ' package ' -> ERROR (difference=' num2str(error_vel) ')']) 53 else 54 disp(['test: ' testname ', solution: diagnostic, package: ' package ' -> SUCCESS (difference=' num2str(error_vel) ')']) 55 end 33 56 34 %Compute solution with Hutter elements in Ice model 35 md=setelementstype(md,'hutter','all'); 36 md=solve(md,'diagnostic','ice'); 37 vel_hutter=md.vel; 57 elseif strcmpi(package,'cielo_serial'), 38 58 59 %DIAGNOSTIC 60 md=solve(md,'diagnostic','cielo'); 61 %check result 62 load ArchiveCieloSerialDiag 63 pos=find(ArchiveCieloSerialDiag); error_vel=abs(norm((ArchiveCieloSerialDiag(pos)-md.vel(pos))./ArchiveCieloSerialDiag(pos),2)); 64 if (error_vel>tolerance); 65 disp(['test: ' testname ', solution: diagnostic, package: ' package ' -> ERROR (difference=' num2str(error_vel) ')']) 66 else 67 disp(['test: ' testname ', solution: diagnostic, package: ' package ' -> SUCCESS (difference=' num2str(error_vel) ')']) 68 end 39 69 40 %Load old velocities and compare with the new model 70 elseif strcmpi(package,'cielo_parallel'), 41 71 42 %Macayeal 43 load archive_macayeal 44 pos=find(archive_macayeal-vel_macayeal); 45 error_vel=abs(norm((archive_macayeal(pos)-vel_macayeal(pos))./archive_macayeal(pos),2)); 72 %DIAGNOSTIC 73 md.cluster='wilkes'; 74 md=solve(md,'diagnostic_horiz','cielo'); 75 %check result 76 load ArchiveCieloParallelDiag 77 pos=find(ArchiveCieloParallelDiag); error_vel=abs(norm((ArchiveCieloParallelDiag(pos)-md.vel(pos))./ArchiveCieloParallelDiag(pos),2)); 78 if (error_vel>tolerance); 79 disp(['test: ' testname ', solution: diagnostic, package: ' package ' -> ERROR (difference=' num2str(error_vel) ')']) 80 else 81 disp(['test: ' testname ', solution: diagnostic, package: ' package ' -> SUCCESS (difference=' num2str(error_vel) ')']) 82 end 46 83 47 disp(sprintf('numerical difference between old and new version of MacAyeal is : %d', error_vel)); 48 49 if (error_vel>tolerance); 50 logoutput(logstring,sprintf('%s\n',' ERROR. Results from MacAyeal model differ from the archive version')); 51 else 52 logoutput(logstring,sprintf('%s\n',' SUCCESS. Results from MacAyeal model are comform with the archive version')); 84 else 85 disp(sprintf(['\npackage ' package ' not supported yet.\n'])); 86 end 53 87 end 54 55 %Ice56 load archive_ice57 pos=find(archive_ice-vel_ice);58 error_vel=abs(norm((archive_ice(pos)-vel_ice(pos))./archive_ice(pos),2));59 60 disp(sprintf('numerical difference between old and new version of Ice is : %d', error_vel));61 62 if (error_vel>tolerance);63 logoutput(logstring,sprintf('%s\n',' ERROR. Results from Ice model differ from the archive version'));64 else65 logoutput(logstring,sprintf('%s\n',' SUCCESS. Results from Ice model are comform with the archive version'));66 end67 68 %Ice with Hutter elements69 load archive_hutter70 pos=find(archive_hutter-vel_hutter);71 error_vel=abs(norm((archive_hutter(pos)-vel_hutter(pos))./archive_hutter(pos),2));72 73 disp(sprintf('numerical difference between old and new version of Ice is : %d', error_vel));74 75 if (error_vel>tolerance);76 logoutput(logstring,sprintf('%s\n',' ERROR. Results from Ice model with Hutter elements differ from the archive version'));77 else78 logoutput(logstring,sprintf('%s\n',' SUCCESS. Results from Ice model with Hutter elements are comform with the archive version'));79 end80 -
issm/trunk/test/Verification/test1_icesheet_noicefront/updatearchive.m
r44 r115 6 6 % Just commit the result if you want to. 7 7 8 md=model; 9 md=mesh(md,'DomainOutline.exp',50000); 10 md=geography(md,'',''); 11 md=parameterize(md,'Square.par'); 12 md=setelementstype(md,'macayeal','all'); 8 %packages and solutions to be tested 9 packages={'macayeal','ice','cielo_serial','cielo_parallel'}; 13 10 14 % Compute solution with MacAyeal's model15 md=solve(md,'diagnostic','macayeal'); 16 archive_macayeal=md.vel;11 %go through the solutions requested 12 for i=1:length(packages), 13 package=packages{i}; 17 14 18 %Save the solution in the directory 19 save archive_macayeal archive_macayeal 15 %initialize model 16 md=model; 17 md=mesh(md,'DomainOutline.exp',50000); 18 md=geography(md,'',''); 19 md=parameterize(md,'Square.par'); 20 md=setelementstype(md,'macayeal','all'); 20 21 21 %Compute solution with Ice model 22 md=solve(md,'diagnostic','ice'); 23 archive_ice=md.vel; 22 %Compute solution using requested package 23 if strcmpi(package,'macayeal'), 24 24 25 %Save the solution in the directory 26 save archive_ice archive_ice 25 %DIAGNOSTIC 26 md=solve(md,'diagnostic','macayeal'); 27 %save archive 28 ArchiveMacAyealDiag=md.vel; 29 save ArchiveMacAyealDiag ArchiveMacAyealDiag 27 30 28 %Compute solution with Hutter elements in Ice model 29 md=setelementstype(md,'hutter','all'); 30 md=solve(md,'diagnostic','ice'); 31 archive_hutter=md.vel; 31 elseif strcmpi(package,'ice'), 32 32 33 %Save the solution in the directory 34 save archive_hutter archive_hutter 33 %DIAGNOSTIC 34 md=solve(md,'diagnostic','ice'); 35 %save archive 36 ArchiveIceDiag=md.vel; 37 save ArchiveIceDiag ArchiveIceDiag 35 38 39 elseif strcmpi(package,'cielo_serial'), 40 41 %DIAGNOSTIC 42 md=solve(md,'diagnostic','cielo'); 43 %save archive 44 ArchiveCieloSerialDiag=md.vel; 45 save ArchiveCieloSerialDiag ArchiveCieloSerialDiag 46 47 elseif strcmpi(package,'cielo_parallel'), 48 49 %DIAGNOSTIC 50 md.cluster='wilkes'; 51 md=solve(md,'diagnostic_horiz','cielo'); 52 %save archive 53 ArchiveCieloParallelDiag=md.vel; 54 save ArchiveCieloParallelDiag ArchiveCieloParallelDiag 55 56 else 57 disp(sprintf(['\npackage ' package ' not supported yet.\n'])); 58 end 59 end
Note:
See TracChangeset
for help on using the changeset viewer.