Changeset 4256
- Timestamp:
- 06/28/10 10:02:32 (15 years ago)
- Location:
- issm/trunk/src/m/utils/Nightly
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/m/utils/Nightly/runme.m
r4254 r4256 175 175 176 176 %compute fields to be checked 177 fields=testsgetfields(md,sequence);177 [field_names field_values]=testsgetfields(md,sequence); 178 178 179 179 %get Archive name … … 183 183 if strcmpi(procedure,'update'), 184 184 185 for k=1:length(field s),186 field=field s{k};185 for k=1:length(field_names), 186 field=field_values{k}; 187 187 eval([ archive_name '_field' num2str(k) ' = ' field ';']); 188 188 end … … 196 196 eval(['load ' archive_name ]); 197 197 198 for k=1:length(field s),198 for k=1:length(field_names), 199 199 200 200 %Get field and tolerance 201 field=fields{k}; 202 tolerance=testsgettolerance(md,sequence,field); 201 field=field_values{k}; 202 fieldname=field_names{k}; 203 tolerance=testsgettolerance(md,sequence,field_names); 203 204 204 205 %compare to archive 205 eval([' Archive=' archive_name '_field' num2str(k) ';']);206 e val(['error_diff=full(max(abs(Archive-' field '))/(max(abs(Archive))+eps));']);206 eval(['archive=' archive_name '_field' num2str(k) ';']); 207 error_diff=full(max(abs(archive-field))/(max(abs(archive))+eps)); 207 208 208 209 %disp test result 209 210 if (error_diff>tolerance); 210 211 disp(sprintf(['\nERROR difference: %-7.2g > %7.2g test: %s analysis_type: %s sub_analysis_type: %s qmu: %i control: %i control_fit: %s parallel: %i field: %s\n'],... 211 error_diff,tolerance,testname,EnumAsString(analysis_type),EnumAsString(sub_analysis_type),qmu,control,control_fit,parallel,field ));212 error_diff,tolerance,testname,EnumAsString(analysis_type),EnumAsString(sub_analysis_type),qmu,control,control_fit,parallel,fieldname)); 212 213 else 213 214 disp(sprintf(['\nSUCCESS difference: %-7.2g < %7.2g test: %s analysis_type: %s sub_analysis_type: %s qmu: %i control: %i control_fit: %s parallel: %i field: %s\n'],... 214 error_diff,tolerance,testname,EnumAsString(analysis_type),EnumAsString(sub_analysis_type),qmu,control,control_fit,parallel,field ));215 error_diff,tolerance,testname,EnumAsString(analysis_type),EnumAsString(sub_analysis_type),qmu,control,control_fit,parallel,fieldname)); 215 216 end 216 217 end -
issm/trunk/src/m/utils/Nightly/testsgetfields.m
r4254 r4256 6 6 % 7 7 % Usage: 8 % fields=testsgetfields(md,analysis)8 % [field_names field_values]=testsgetfields(md,analysis) 9 9 % 10 10 % Example: 11 % fields=testsgetfields(md,'DiagnosticSolution')11 % [field_names field_values]=testsgetfields(md,'DiagnosticSolution') 12 12 % 13 13 % See also: TESTSGETANALYSIS, TESTGETPACKAGE … … 31 31 else 32 32 field_names={'Vel'}; 33 vx=zeros(md.numberofgrids,1); 34 vx(md.results.DiagnosticAnalysis.Vx.index)=md.results.DiagnosticAnalysis.Vx.value; 35 vy=zeros(md.numberofgrids,1); 36 vy(md.results.DiagnosticAnalysis.Vy.index)=md.results.DiagnosticAnalysis.Vy.value; 37 vel=sqrt(vx.^2+vy.^2); 33 vel=zeros(md.numberofgrids,1); 34 vel(md.results.DiagnosticAnalysis.Vel.index)=md.results.DiagnosticAnalysis.Vel.value; 38 35 field_values={vel}; 39 36 end 40 37 end 41 md.results.DiagnosticAnalysis.Vx.value42 38 43 39 elseif (analysis_type==ThermalSolutionEnum), … … 67 63 fields={'BalancedthicknessSolution.thickness'}; 68 64 69 elseif (analysis_type==Slope computeSolutionEnum),70 fields={'Slope computeSolution.slopex','SlopecomputeSolution.slopey'};65 elseif (analysis_type==SlopeSolutionEnum), 66 fields={'SlopeSolution.slopex','SlopeSolution.slopey'}; 71 67 72 68 else -
issm/trunk/src/m/utils/Nightly/testsgettolerance.m
r3994 r4256 22 22 23 23 else 24 if (analysis_type==Balancedthickness AnalysisEnum),24 if (analysis_type==BalancedthicknessSolutionEnum), 25 25 tolerance=10^-14; 26 26 27 elseif (analysis_type==Slope computeAnalysisEnum),27 elseif (analysis_type==SlopeSolutionEnum), 28 28 tolerance=10^-14; 29 29 30 elseif (analysis_type==Prognostic AnalysisEnum),30 elseif (analysis_type==PrognosticSolutionEnum), 31 31 tolerance=10^-14; 32 32 33 elseif (analysis_type==Prognostic2 AnalysisEnum),33 elseif (analysis_type==Prognostic2SolutionEnum), 34 34 tolerance=10^-14; 35 35 36 elseif (analysis_type==TransientAnalysisEnum), 37 if (md.dim==2), 38 tolerance=10^-11; 39 else 40 if md.isstokes, 41 tolerance=10^-4; 42 elseif any(md.gridonpattyn), 43 tolerance=10^-6; 44 else, 45 tolerance=10^-12; 46 end 36 elseif (analysis_type==Transient2DSolutionEnum), 37 tolerance=10^-11; 38 39 elseif (analysis_type==Transient3DSolutionEnum), 40 if md.isstokes, 41 tolerance=10^-4; 42 elseif any(md.gridonpattyn), 43 tolerance=10^-6; 44 else, 45 tolerance=10^-12; 47 46 end 48 47 49 elseif (analysis_type==Diagnostic AnalysisEnum),48 elseif (analysis_type==DiagnosticSolutionEnum), 50 49 if md.isstokes, 51 50 tolerance=10^-4; … … 58 57 end 59 58 60 elseif (analysis_type==Thermal AnalysisEnum),59 elseif (analysis_type==ThermalSolutionEnum), 61 60 if strncmpi(fliplr(field),fliplr('melting'),7), 62 61 tolerance=10^-6; … … 65 64 end 66 65 67 elseif (analysis_type==Steadystate AnalysisEnum),66 elseif (analysis_type==SteadystateSolutionEnum), 68 67 if md.isstokes | md.control_analysis, 69 68 tolerance=5*10^-4;
Note:
See TracChangeset
for help on using the changeset viewer.