Changeset 1912


Ignore:
Timestamp:
08/26/09 09:27:58 (15 years ago)
Author:
Mathieu Morlighem
Message:

updated CM NR

Location:
issm/trunk/test/Verification
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/test/Verification/PigControlMethodBM2d_21/runme.m

    r1908 r1912  
    3030end
    3131
    32 %packages and misfits to be tested
     32%packages and solutions to be tested
    3333if nargin==2,
    34         misfits=varargin{2};
     34        solutions=varargin{2};
    3535else
    36         misfits={'absolute','relative','logarithmic'};
     36        solutions={'diagnostic_absolute','diagnostic_relative','diagnostic_logarithmic'};
    3737end
    3838if nargin,
     
    4949        package=packages{i};
    5050
    51         for j=1:length(misfits),
    52                 misfit=misfits{j};
     51        for j=1:length(solutions),
     52                solution=solutions{j};
    5353
    5454                %check solution requested
    55                 if ((strcmpi(package,'macayeal') & ~strcmpi(misfit,'absolute')) | strcmpi(package,'ice')),
    56                         disp(['package: ' package  ' and misfit: ' misfit  ' in test: ' testname  ' not supported yet']);
     55                if ((strcmpi(package,'macayeal') & ~strcmpi(solution,'absolute')) | strcmpi(package,'ice')),
     56                        disp(['package: ' package  ' and solution: ' solution  ' in test: ' testname  ' not supported yet']);
    5757                        continue
    5858                end
     
    6464                md=parameterize(md,'Pig.par');
    6565                md=setelementstype(md,'macayeal','all');
    66                 if strcmpi(misfit,'absolute'),
    67                         md.fit(:)=0;
    68                 elseif strcmpi(misfit,'relative'),
    69                         md.fit(:)=1;
    70                 elseif strcmpi(misfit,'logarithmic'),
    71                         md.fit(:)=2;
    72                 end
    7366                md=modelextract(md,md.elementoniceshelf);
    7467
    75                 %launch control method
    76                 if ~testscheckmisfit(misfit), continue; end
    77                 md=solve(md,'analysis_type','control','package',packagefinal);
     68                %compute solution
     69                [md analysis_type sub_analysis_type packagefinal]=testsparameterization(md,solution,package);
     70                if ~testschecksolution(md.type,solution), continue; end
     71                md=solve(md,'analysis_type',analysis_type,'sub_analysis_type',sub_analysis_type,'package',packagefinal);
    7872
    7973                %compute fields to be checked
     
    8175
    8276                %load archive
    83                 eval(['load Archive' package misfit ]);
     77                eval(['load Archive' package solution ]);
    8478
    8579                for k=1:length(fields),
     
    8781                        %Get field and tolerance
    8882                        field=fields{k};
    89                         tolerance=testsgettolerance(md,package,misfit,field);
     83                        tolerance=testsgettolerance(md,package,solution,field);
    9084
    9185                        %compare to archive
    92                         eval(['Archive=Archive' package misfit '_field' num2str(k) ';']);
     86                        eval(['Archive=Archive' package solution '_field' num2str(k) ';']);
    9387                        eval(['error_diff=full(max(abs(Archive-md.results.' field '))/(max(abs(Archive))+eps));']);
    9488
    9589                        %disp test result
    9690                        if (error_diff>tolerance);
    97                                 disp(sprintf(['\n\nERROR   difference: %-7.2g > %7.2g test: %-25s   misfit: %-16s package: %-14s field: ' field  '.\n\n'],error_diff,tolerance,testname,misfit,package));
     91                                disp(sprintf(['\n\nERROR   difference: %-7.2g > %7.2g test: %-25s   solution: %-16s package: %-14s field: ' field  '.\n\n'],error_diff,tolerance,testname,solution,package));
    9892                        else
    99                                 disp(sprintf(['\n\nSUCCESS difference: %-7.2g < %7.2g test: %-25s   misfit: %-16s package: %-14s field: ' field  '.\n\n'],error_diff,tolerance,testname,misfit,package));
     93                                disp(sprintf(['\n\nSUCCESS difference: %-7.2g < %7.2g test: %-25s   solution: %-16s package: %-14s field: ' field  '.\n\n'],error_diff,tolerance,testname,solution,package));
    10094                        end
    10195
  • issm/trunk/test/Verification/PigControlMethodDragM2d_20/runme.m

    r1908 r1912  
    3030end
    3131
    32 %packages and misfits to be tested
     32%packages and solutions to be tested
    3333if nargin==2,
    34         misfits=varargin{2};
     34        solutions=varargin{2};
    3535else
    36         misfits={'absolute','relative','logarithmic'};
     36        solutions={'diagnostic_absolute','diagnostic_relative','diagnostic_logarithmic'};
    3737end
    3838if nargin,
     
    4949        package=packages{i};
    5050
    51         for j=1:length(misfits),
    52                 misfit=misfits{j};
     51        for j=1:length(solutions),
     52                solution=solutions{j};
    5353
    5454                %check package
     
    6464                md=parameterize(md,'Pig.par');
    6565                md=setelementstype(md,'macayeal','all');
    66                 if strcmpi(misfit,'absolute'),
    67                         md.fit(:)=0;
    68                 elseif strcmpi(misfit,'relative'),
    69                         md.fit(:)=1;
    70                 elseif strcmpi(misfit,'logarithmic'),
    71                         md.fit(:)=2;
    72                 end
    7366
    74                 %launch control method
    75                 if ~testscheckmisfit(misfit), continue; end
    76                 md=solve(md,'analysis_type','control','package',packagefinal);
     67                %compute solution
     68                [md analysis_type sub_analysis_type packagefinal]=testsparameterization(md,solution,package);
     69                if ~testschecksolution(md.type,solution), continue; end
     70                md=solve(md,'analysis_type',analysis_type,'sub_analysis_type',sub_analysis_type,'package',packagefinal);
    7771
    7872                %compute fields to be checked
     
    8074
    8175                %load archive
    82                 eval(['load Archive' package misfit ]);
     76                eval(['load Archive' package solution ]);
    8377
    8478                for k=1:length(fields),
     
    8680                        %Get field and tolerance
    8781                        field=fields{k};
    88                         tolerance=testsgettolerance(md,package,misfit,field);
     82                        tolerance=testsgettolerance(md,package,solution,field);
    8983
    9084                        %compare to archive
    91                         eval(['Archive=Archive' package misfit '_field' num2str(k) ';']);
     85                        eval(['Archive=Archive' package solution '_field' num2str(k) ';']);
    9286                        eval(['error_diff=full(max(abs(Archive-md.results.' field '))/(max(abs(Archive))+eps));']);
    9387
    9488                        %disp test result
    9589                        if (error_diff>tolerance);
    96                                 disp(sprintf(['\n\nERROR   difference: %-7.2g > %7.2g test: %-25s   misfit: %-16s package: %-14s field: ' field  '.\n\n'],error_diff,tolerance,testname,misfit,package));
     90                                disp(sprintf(['\n\nERROR   difference: %-7.2g > %7.2g test: %-25s   solution: %-16s package: %-14s field: ' field  '.\n\n'],error_diff,tolerance,testname,solution,package));
    9791                        else
    98                                 disp(sprintf(['\n\nSUCCESS difference: %-7.2g < %7.2g test: %-25s   misfit: %-16s package: %-14s field: ' field  '.\n\n'],error_diff,tolerance,testname,misfit,package));
     92                                disp(sprintf(['\n\nSUCCESS difference: %-7.2g < %7.2g test: %-25s   solution: %-16s package: %-14s field: ' field  '.\n\n'],error_diff,tolerance,testname,solution,package));
    9993                        end
    10094
  • issm/trunk/test/Verification/PigControlMethodDragP3d_22/runme.m

    r1908 r1912  
    3030end
    3131
    32 %packages and misfits to be tested
     32%packages and solutions to be tested
    3333if nargin==2,
    34         misfits=varargin{2};
     34        solutions=varargin{2};
    3535else
    36         misfits={'absolute','relative','logarithmic'};
     36        solutions={'diagnostic_absolute','diagnostic_relative','diagnostic_logarithmic'};
    3737end
    3838if nargin,
     
    4949        package=packages{i};
    5050
    51         for j=1:length(misfits),
    52                 misfit=misfits{j};
     51        for j=1:length(solutions),
     52                solution=solutions{j};
    5353
    5454                %check package
     
    6565                md=extrude(md,4,2);
    6666                md=setelementstype(md,'pattyn','all');
    67                 if strcmpi(misfit,'absolute'),
    68                         md.fit(:)=0;
    69                 elseif strcmpi(misfit,'relative'),
    70                         md.fit(:)=1;
    71                 elseif strcmpi(misfit,'logarithmic'),
    72                         md.fit(:)=2;
    73                 end
    7467
    75                 %launch control method
    76                 if ~testscheckmisfit(misfit), continue; end
    77                 md=solve(md,'analysis_type','control','package',packagefinal);
     68                %compute solution
     69                [md analysis_type sub_analysis_type packagefinal]=testsparameterization(md,solution,package);
     70                if ~testschecksolution(md.type,solution), continue; end
     71                md=solve(md,'analysis_type',analysis_type,'sub_analysis_type',sub_analysis_type,'package',packagefinal);
    7872
    7973                %compute fields to be checked
     
    8175
    8276                %load archive
    83                 eval(['load Archive' package misfit ]);
     77                eval(['load Archive' package solution ]);
    8478
    8579                for k=1:length(fields),
     
    8781                        %Get field and tolerance
    8882                        field=fields{k};
    89                         tolerance=testsgettolerance(md,package,misfit,field);
     83                        tolerance=testsgettolerance(md,package,solution,field);
    9084
    9185                        %compare to archive
    92                         eval(['Archive=Archive' package misfit '_field' num2str(k) ';']);
     86                        eval(['Archive=Archive' package solution '_field' num2str(k) ';']);
    9387                        eval(['error_diff=full(max(abs(Archive-md.results.' field '))/(max(abs(Archive))+eps));']);
    9488
    9589                        %disp test result
    9690                        if (error_diff>tolerance);
    97                                 disp(sprintf(['\n\nERROR   difference: %-7.2g > %7.2g test: %-25s   misfit: %-16s package: %-14s field: ' field  '.\n\n'],error_diff,tolerance,testname,misfit,package));
     91                                disp(sprintf(['\n\nERROR   difference: %-7.2g > %7.2g test: %-25s   solution: %-16s package: %-14s field: ' field  '.\n\n'],error_diff,tolerance,testname,solution,package));
    9892                        else
    99                                 disp(sprintf(['\n\nSUCCESS difference: %-7.2g < %7.2g test: %-25s   misfit: %-16s package: %-14s field: ' field  '.\n\n'],error_diff,tolerance,testname,misfit,package));
     93                                disp(sprintf(['\n\nSUCCESS difference: %-7.2g < %7.2g test: %-25s   solution: %-16s package: %-14s field: ' field  '.\n\n'],error_diff,tolerance,testname,solution,package));
    10094                        end
    10195
  • issm/trunk/test/Verification/PigControlMethodDragS3d_23/runme.m

    r1908 r1912  
    3030end
    3131
    32 %packages and misfits to be tested
     32%packages and solutions to be tested
    3333if nargin==2,
    34         misfits=varargin{2};
     34        solutions=varargin{2};
    3535else
    36         misfits={'absolute','relative','logarithmic'};
     36        solutions={'diagnostic_absolute','diagnostic_relative','diagnostic_logarithmic'};
    3737end
    3838if nargin,
     
    4949        package=packages{i};
    5050
    51         for j=1:length(misfits),
    52                 misfit=misfits{j};
     51        for j=1:length(solutions),
     52                solution=solutions{j};
    5353
    5454                %check package
     
    6565                md=extrude(md,4,3);
    6666                md=setelementstype(md,'pattyn','all','stokes','all');
    67                 if strcmpi(misfit,'absolute'),
    68                         md.fit(:)=0;
    69                 elseif strcmpi(misfit,'relative'),
    70                         md.fit(:)=1;
    71                 elseif strcmpi(misfit,'logarithmic'),
    72                         md.fit(:)=2;
    73                 end
    7467
    75                 %launch control method
    76                 if ~testscheckmisfit(misfit), continue; end
    77                 md=solve(md,'analysis_type','control','package',packagefinal);
     68                %compute solution
     69                [md analysis_type sub_analysis_type packagefinal]=testsparameterization(md,solution,package);
     70                if ~testschecksolution(md.type,solution), continue; end
     71                md=solve(md,'analysis_type',analysis_type,'sub_analysis_type',sub_analysis_type,'package',packagefinal);
    7872
    7973                %compute fields to be checked
     
    8175
    8276                %load archive
    83                 eval(['load Archive' package misfit ]);
     77                eval(['load Archive' package solution ]);
    8478
    8579                for k=1:length(fields),
     
    8781                        %Get field and tolerance
    8882                        field=fields{k};
    89                         tolerance=testsgettolerance(md,package,misfit,field);
     83                        tolerance=testsgettolerance(md,package,solution,field);
    9084
    9185                        %compare to archive
    92                         eval(['Archive=Archive' package misfit '_field' num2str(k) ';']);
     86                        eval(['Archive=Archive' package solution '_field' num2str(k) ';']);
    9387                        eval(['error_diff=full(max(abs(Archive-md.results.' field '))/(max(abs(Archive))+eps));']);
    9488
    9589                        %disp test result
    9690                        if (error_diff>tolerance);
    97                                 disp(sprintf(['\n\nERROR   difference: %-7.2g > %7.2g test: %-25s   misfit: %-16s package: %-14s field: ' field  '.\n\n'],error_diff,tolerance,testname,misfit,package));
     91                                disp(sprintf(['\n\nERROR   difference: %-7.2g > %7.2g test: %-25s   solution: %-16s package: %-14s field: ' field  '.\n\n'],error_diff,tolerance,testname,solution,package));
    9892                        else
    99                                 disp(sprintf(['\n\nSUCCESS difference: %-7.2g < %7.2g test: %-25s   misfit: %-16s package: %-14s field: ' field  '.\n\n'],error_diff,tolerance,testname,misfit,package));
     93                                disp(sprintf(['\n\nSUCCESS difference: %-7.2g < %7.2g test: %-25s   solution: %-16s package: %-14s field: ' field  '.\n\n'],error_diff,tolerance,testname,solution,package));
    10094                        end
    10195
Note: See TracChangeset for help on using the changeset viewer.