Changeset 115


Ignore:
Timestamp:
04/28/09 17:21:00 (16 years ago)
Author:
seroussi
Message:

moved test1 to this new directory + added cielo tests

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
     3md.viscosity_overshoot=0.3;
    24
    35disp('      creating thickness');
     
    2830%Deal with boundary conditions:
    2931md=SetIceSheetBC(md);
     32
     33%Parallel options
     34md.np=8;
     35md.time=50;
     36md.waitonlock=1;
  • issm/trunk/test/Verification/test1_icesheet_noicefront/runme.m

    r50 r115  
    1010% free to tweak the tolerance variable.
    1111
     12%packages and solutions to be tested
     13packages={'macayeal','ice','cielo_serial','cielo_parallel'};
     14
    1215%Initialize log message for nightly runs.
    13 logstring='Verification/test1_icesheet_noicefront: ';
     16testname='IceSheetNoIceFront2d_1';
     17tolerance=10^-12;
    1418
    15 % Create model;
     19%go through the solutions requested
     20for i=1:length(packages),
     21        package=packages{i};
    1622
    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');
    1829
     30        %Compute solution using requested package
     31        if strcmpi(package,'macayeal'),
    1932
    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
    2543
    26 %Compute solution with MacAyeal's model
    27 md=solve(md,'diagnostic','macayeal');
    28 vel_macayeal=md.vel;
     44        elseif strcmpi(package,'ice'),
    2945
    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
    3356
    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'),
    3858
     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
    3969
    40 %Load old velocities and compare with the new model
     70        elseif strcmpi(package,'cielo_parallel'),
    4171
    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
    4683
    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
    5387end
    54 
    55 %Ice
    56 load archive_ice
    57 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 else
    65         logoutput(logstring,sprintf('%s\n','    SUCCESS. Results from Ice model are comform with the archive version'));
    66 end
    67 
    68 %Ice with Hutter elements
    69 load archive_hutter
    70 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 else
    78         logoutput(logstring,sprintf('%s\n','    SUCCESS. Results from Ice model with Hutter elements are comform with the archive version'));
    79 end
    80 
  • issm/trunk/test/Verification/test1_icesheet_noicefront/updatearchive.m

    r44 r115  
    66% Just commit the result if you want to.
    77
    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
     9packages={'macayeal','ice','cielo_serial','cielo_parallel'};
    1310
    14 %Compute solution with MacAyeal's model
    15 md=solve(md,'diagnostic','macayeal');
    16 archive_macayeal=md.vel;
     11%go through the solutions requested
     12for i=1:length(packages),
     13        package=packages{i};
    1714
    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');
    2021
    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'),
    2424
    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
    2730
    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'),
    3232
    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
    3538
     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
     59end
Note: See TracChangeset for help on using the changeset viewer.