Changeset 9853
- Timestamp:
- 09/20/11 11:05:10 (13 years ago)
- Location:
- issm/trunk/src/m
- Files:
-
- 37 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified issm/trunk/src/m/classes/autodiff.m ¶
r9799 r9853 35 35 end 36 36 end % }}} 37 function checkconsistency(obj,md ) % {{{37 function checkconsistency(obj,md,solution,analyses) % {{{ 38 38 39 39 end % }}} -
TabularUnified issm/trunk/src/m/classes/balancethickness.m ¶
r9799 r9853 39 39 40 40 end % }}} 41 function checkconsistency(obj,md ) % {{{41 function checkconsistency(obj,md,solution,analyses) % {{{ 42 42 if ~ismember(md.balancethickness.stabilization,[0 1 3]), 43 43 checkmessage('model not consistent: balancethickness.stabilization should be a scalar (0 or 1 or 3)'); -
TabularUnified issm/trunk/src/m/classes/basalforcings.m ¶
r9799 r9853 35 35 end 36 36 end % }}} 37 function checkconsistency(obj,md ) % {{{37 function checkconsistency(obj,md,solution,analyses) % {{{ 38 38 39 39 fields={'melting_rate','geothermalflux'}; -
TabularUnified issm/trunk/src/m/classes/clusters/castor.m ¶
r9751 r9853 46 46 end 47 47 %}}} 48 function checkconsistency(cluster,md ) % {{{148 function checkconsistency(cluster,md,solution,analyses) % {{{1 49 49 50 50 available_queues={'shortc','longc'}; … … 59 59 %retrieve parameters 60 60 modelname=md.miscellaneous.name; 61 solution _type=md.private.solution;61 solution=md.private.solution; 62 62 63 63 %open file for writing: … … 77 77 fprintf(fid,'cd $PBS_O_WORKDIR\n'); 78 78 fprintf(fid,'export OMP_NUM_THREADS=1\n'); 79 fprintf(fid,'dplace -s1 -c0-%i mpiexec -np %i %s/issm.exe %s %s %s',cluster.np-1,cluster.np,cluster.codepath,EnumToString(solution _type),cluster.executionpath,modelname);79 fprintf(fid,'dplace -s1 -c0-%i mpiexec -np %i %s/issm.exe %s %s %s',cluster.np-1,cluster.np,cluster.codepath,EnumToString(solution),cluster.executionpath,modelname); 80 80 81 81 %close file -
TabularUnified issm/trunk/src/m/classes/clusters/cosmos.m ¶
r9751 r9853 46 46 end 47 47 %}}} 48 function checkconsistency(cluster,md ) % {{{148 function checkconsistency(cluster,md,solution,analyses) % {{{1 49 49 50 50 available_queues={'debug','shortq','longq'}; … … 59 59 %retrieve parameters 60 60 modelname=md.miscellaneous.name; 61 solution _type=md.private.solution;61 solution=md.private.solution; 62 62 63 63 %open file for writing: … … 76 76 fprintf(fid,'ulimit -s unlimited\n'); 77 77 fprintf(fid,'ulimit -c 0\n'); 78 fprintf(fid,'/opt/mpich/gm/intel10.1/bin/mpiexec -np %i %s/issm.exe %s %s %s',cluster.np,cluster.codepath,EnumToString(solution _type),cluster.executionpath,modelname);78 fprintf(fid,'/opt/mpich/gm/intel10.1/bin/mpiexec -np %i %s/issm.exe %s %s %s',cluster.np,cluster.codepath,EnumToString(solution),cluster.executionpath,modelname); 79 79 80 80 %close file -
TabularUnified issm/trunk/src/m/classes/clusters/gemini.m ¶
r9751 r9853 46 46 end 47 47 %}}} 48 function checkconsistency(cluster,md ) % {{{148 function checkconsistency(cluster,md,solution,analyses) % {{{1 49 49 50 50 available_queues={'debug','shortg','longg'}; … … 59 59 %retrieve parameters 60 60 modelname=md.miscellaneous.name; 61 solution _type=md.private.solution;61 solution=md.private.solution; 62 62 63 63 %open file for writing: … … 77 77 fprintf(fid,'cd $PBS_O_WORKDIR\n'); 78 78 fprintf(fid,'export OMP_NUM_THREADS=1\n'); 79 fprintf(fid,'dplace -s1 -c0-%i mpiexec -np %i %s/issm.exe %s %s %s',cluster.np-1,cluster.np,cluster.codepath,EnumToString(solution _type),cluster.executionpath,modelname);79 fprintf(fid,'dplace -s1 -c0-%i mpiexec -np %i %s/issm.exe %s %s %s',cluster.np-1,cluster.np,cluster.codepath,EnumToString(solution),cluster.executionpath,modelname); 80 80 81 81 %close file -
TabularUnified issm/trunk/src/m/classes/clusters/generic.m ¶
r9751 r9853 60 60 end 61 61 %}}} 62 function checkconsistency(cluster,md ) % {{{162 function checkconsistency(cluster,md,solution,analyses) % {{{1 63 63 if cluster.np<1 64 64 checkmessage(['number of processors should be at least 1']); … … 73 73 %retrieve parameters 74 74 modelname=md.miscellaneous.name; 75 solution _type=md.private.solution;75 solution=md.private.solution; 76 76 isvalgrind=md.debug.valgrind; 77 77 isgprof=md.debug.gprof; … … 85 85 if cluster.interactive 86 86 fprintf(fid,'mpiexec -np %i %s/issm.exe %s %s %s ',... 87 cluster.np,cluster.codepath,EnumToString(solution _type),cluster.executionpath,modelname);87 cluster.np,cluster.codepath,EnumToString(solution),cluster.executionpath,modelname); 88 88 else 89 89 fprintf(fid,'mpiexec -np %i %s/issm.exe %s %s %s 2> %s.errlog >%s.outlog ',... 90 cluster.np,cluster.codepath,EnumToString(solution _type),cluster.executionpath,modelname,modelname,modelname);90 cluster.np,cluster.codepath,EnumToString(solution),cluster.executionpath,modelname,modelname,modelname); 91 91 end 92 92 else 93 %fprintf(fid,'LD_PRELOAD=%s mpiexec -np %i %s --leak-check=full --gen-suppressions=all --suppressions=%s %s/issm.exe %s %s %s 2> %s.errlog >%s.outlog ',cluster.valgrindlib,cluster.np,cluster.valgrind,cluster.valgrindsup,cluster.codepath,EnumToString(solution _type),cluster.executionpath,modelname,modelname,modelname);93 %fprintf(fid,'LD_PRELOAD=%s mpiexec -np %i %s --leak-check=full --gen-suppressions=all --suppressions=%s %s/issm.exe %s %s %s 2> %s.errlog >%s.outlog ',cluster.valgrindlib,cluster.np,cluster.valgrind,cluster.valgrindsup,cluster.codepath,EnumToString(solution),cluster.executionpath,modelname,modelname,modelname); 94 94 fprintf(fid,'LD_PRELOAD=%s mpiexec -np %i %s --leak-check=full --suppressions=%s %s/issm.exe %s %s %s 2> %s.errlog >%s.outlog ',... 95 cluster.valgrindlib,cluster.np,cluster.valgrind,cluster.valgrindsup, cluster.codepath,EnumToString(solution _type),cluster.executionpath,modelname,modelname,modelname);95 cluster.valgrindlib,cluster.np,cluster.valgrind,cluster.valgrindsup, cluster.codepath,EnumToString(solution),cluster.executionpath,modelname,modelname,modelname); 96 96 end 97 97 -
TabularUnified issm/trunk/src/m/classes/clusters/none.m ¶
r9751 r9853 30 30 end 31 31 %}}} 32 function checkconsistency(cluster,md ) % {{{132 function checkconsistency(cluster,md,solution,analyses) % {{{1 33 33 end 34 34 %}}} -
TabularUnified issm/trunk/src/m/classes/clusters/pfe.m ¶
r9751 r9853 65 65 end 66 66 %}}} 67 function checkconsistency(cluster,md ) % {{{167 function checkconsistency(cluster,md,solution,analyses) % {{{1 68 68 69 69 available_queues={'long','debug'}; … … 109 109 %retrieve parameters 110 110 modelname=md.miscellaneous.name; 111 solution _type=md.private.solution;111 solution=md.private.solution; 112 112 isvalgrind=md.debug.valgrind; 113 113 … … 138 138 fprintf(fid,'cd $PBS_O_WORKDIR\n\n'); 139 139 140 fprintf(fid,'mpiexec -verbose -np %i %s/issm.exe %s $PBS_O_WORKDIR %s\n',cluster.np,cluster.codepath,EnumToString(solution _type),modelname);140 fprintf(fid,'mpiexec -verbose -np %i %s/issm.exe %s $PBS_O_WORKDIR %s\n',cluster.np,cluster.codepath,EnumToString(solution),modelname); 141 141 142 142 if ~md.settings.io_gather, … … 152 152 fid=fopen([modelname '.run'],'w'); 153 153 if ~isvalgrind, 154 fprintf(fid,'mpiexec -verbose -np %i %s/issm.exe %s $PBS_O_WORKDIR %s\n',cluster.np,cluster.codepath,EnumToString(solution _type),modelname);155 else 156 fprintf(fid,'mpiexec -verbose -np %i valgrind --leak-check=full %s/issm.exe %s $PBS_O_WORKDIR %s\n',cluster.np,cluster.codepath,EnumToString(solution _type),modelname);154 fprintf(fid,'mpiexec -verbose -np %i %s/issm.exe %s $PBS_O_WORKDIR %s\n',cluster.np,cluster.codepath,EnumToString(solution),modelname); 155 else 156 fprintf(fid,'mpiexec -verbose -np %i valgrind --leak-check=full %s/issm.exe %s $PBS_O_WORKDIR %s\n',cluster.np,cluster.codepath,EnumToString(solution),modelname); 157 157 end 158 158 -
TabularUnified issm/trunk/src/m/classes/clusters/pollux.m ¶
r9751 r9853 46 46 end 47 47 %}}} 48 function checkconsistency(cluster,md ) % {{{148 function checkconsistency(cluster,md,solution,analyses) % {{{1 49 49 50 50 available_queues={'shortp','longp'}; … … 59 59 %retrieve parameters 60 60 modelname=md.miscellaneous.name; 61 solution _type=md.private.solution;61 solution=md.private.solution; 62 62 63 63 %open file for writing: … … 77 77 fprintf(fid,'cd $PBS_O_WORKDIR\n'); 78 78 fprintf(fid,'export OMP_NUM_THREADS=1\n'); 79 fprintf(fid,'dplace -s1 -c0-%i mpiexec -np %i %s/issm.exe %s %s %s',cluster.np-1,cluster.np,cluster.codepath,EnumToString(solution _type),cluster.executionpath,modelname);79 fprintf(fid,'dplace -s1 -c0-%i mpiexec -np %i %s/issm.exe %s %s %s',cluster.np-1,cluster.np,cluster.codepath,EnumToString(solution),cluster.executionpath,modelname); 80 80 81 81 %close file -
TabularUnified issm/trunk/src/m/classes/constants.m ¶
r9799 r9853 45 45 46 46 end % }}} 47 function flag = checkconsistency(obj,md ) % {{{47 function flag = checkconsistency(obj,md,solution,analyses) % {{{ 48 48 49 49 fields={'g'}; -
TabularUnified issm/trunk/src/m/classes/diagnostic.m ¶
r9799 r9853 77 77 78 78 end % }}} 79 function checkconsistency(obj,md ) % {{{79 function checkconsistency(obj,md,solution,analyses) % {{{ 80 80 81 81 fields={'restol','maxiter'}; -
TabularUnified issm/trunk/src/m/classes/flaim.m ¶
r9739 r9853 41 41 42 42 end % }}} 43 function checkconsistency(obj,md ) % {{{43 function checkconsistency(obj,md,solution,analyses) % {{{ 44 44 45 if md.private.solution~=FlaimSolutionEnum,45 if solution~=FlaimSolutionEnum, 46 46 return; 47 47 end -
TabularUnified issm/trunk/src/m/classes/flowequation.m ¶
r9799 r9853 41 41 42 42 end % }}} 43 function checkconsistency(obj,md ) % {{{43 function checkconsistency(obj,md,solution,analyses) % {{{ 44 44 45 45 end % }}} -
TabularUnified issm/trunk/src/m/classes/friction.m ¶
r9811 r9853 36 36 37 37 end % }}} 38 function checkconsistency(obj,md ) % {{{38 function checkconsistency(obj,md,solution,analyses) % {{{ 39 39 40 40 fields={'coefficient','p','q'}; -
TabularUnified issm/trunk/src/m/classes/geometry.m ¶
r9811 r9853 38 38 39 39 end % }}} 40 function checkconsistency(obj,md ) % {{{40 function checkconsistency(obj,md,solution,analyses) % {{{ 41 41 fields={'surface','thickness','bed'}; 42 42 checknan(md,'geometry',fields); -
TabularUnified issm/trunk/src/m/classes/groundingline.m ¶
r9820 r9853 42 42 43 43 end % }}} 44 function checkconsistency(obj,md ) % {{{44 function checkconsistency(obj,md,solution,analyses) % {{{ 45 45 46 46 if ~ismember({obj.migration},{'None' 'AgressiveMigration' 'SoftMigration'}), -
TabularUnified issm/trunk/src/m/classes/hydrology.m ¶
r9842 r9853 49 49 obj.stabilization=1; 50 50 end % }}} 51 function checkconsistency(obj,md ) % {{{51 function checkconsistency(obj,md,solution,analyses) % {{{ 52 52 53 53 end % }}} -
TabularUnified issm/trunk/src/m/classes/initialization.m ¶
r9820 r9853 41 41 42 42 end % }}} 43 function checkconsistency(obj,md ) % {{{43 function checkconsistency(obj,md,solution,analyses) % {{{ 44 44 45 45 end % }}} -
TabularUnified issm/trunk/src/m/classes/inversion.m ¶
r9821 r9853 86 86 87 87 end % }}} 88 function checkconsistency(obj,md ) % {{{88 function checkconsistency(obj,md,solution,analyses) % {{{ 89 89 90 90 %Early return … … 124 124 125 125 %OBSERVED VELOCITIES 126 if md.private.solution==BalancethicknessSolutionEnum126 if solution==BalancethicknessSolutionEnum 127 127 fields={'thickness_obs'}; 128 128 checksize(md,'inversion',fields,[md.mesh.numberofvertices 1]); -
TabularUnified issm/trunk/src/m/classes/mask.m ¶
r9749 r9853 39 39 40 40 end % }}} 41 function checkconsistency(obj,md ) % {{{41 function checkconsistency(obj,md,solution,analyses) % {{{ 42 42 43 43 fields=properties('mask'); -
TabularUnified issm/trunk/src/m/classes/materials.m ¶
r9751 r9853 75 75 obj.rheology_law='Paterson'; 76 76 end % }}} 77 function checkconsistency(obj,md ) % {{{77 function checkconsistency(obj,md,solution,analyses) % {{{ 78 78 fields={'rho_ice','rho_water','rheology_B','rheology_n'}; 79 79 checknan(md,'materials',fields); -
TabularUnified issm/trunk/src/m/classes/mesh.m ¶
r9823 r9853 78 78 obj.average_vertex_connectivity=25; 79 79 end % }}} 80 function checkconsistency(obj,md ) % {{{80 function checkconsistency(obj,md,solution,analyses) % {{{ 81 81 82 82 fields={'x','y','z','elements','elementonbed','elementonsurface','vertexonbed','vertexonsurface','elementconnectivity'}; … … 118 118 119 119 %Solution specific checks 120 switch( md.private.solution),120 switch(solution), 121 121 case PrognosticSolutionEnum, 122 122 if md.prognostic.stabilization==3, -
TabularUnified issm/trunk/src/m/classes/miscellaneous.m ¶
r9821 r9853 26 26 end 27 27 end % }}} 28 function checkconsistency(obj,md ) % {{{28 function checkconsistency(obj,md,solution,analyses) % {{{ 29 29 30 30 fields={'name'}; -
TabularUnified issm/trunk/src/m/classes/private.m ¶
r9821 r9853 36 36 37 37 end % }}} 38 function checkconsistency(obj,md ) % {{{38 function checkconsistency(obj,md,solution,analyses) % {{{ 39 39 40 40 end % }}} -
TabularUnified issm/trunk/src/m/classes/prognostic.m ¶
r9821 r9853 46 46 obj.hydrostatic_adjustment='Absolute'; 47 47 end % }}} 48 function checkconsistency(obj,md ) % {{{48 function checkconsistency(obj,md,solution,analyses) % {{{ 49 49 if ~ismember(obj.stabilization,[0 1 3]), 50 50 checkmessage('prognostic.stabilization should be a scalar (0 or 1 or 3)'); -
TabularUnified issm/trunk/src/m/classes/qmu.m ¶
r9821 r9853 48 48 end 49 49 end % }}} 50 function checkconsistency(obj,md ) % {{{50 function checkconsistency(obj,md,solution,analyses) % {{{ 51 51 52 52 %Early return -
TabularUnified issm/trunk/src/m/classes/rifts.m ¶
r9821 r9853 35 35 end 36 36 end % }}} 37 function checkconsistency(obj,md ) % {{{37 function checkconsistency(obj,md,solution,analyses) % {{{ 38 38 if obj.numrifts, 39 39 if ~(md.mesh.dimension==2), -
TabularUnified issm/trunk/src/m/classes/settings.m ¶
r9847 r9853 52 52 obj.waitonlock=Inf; 53 53 end % }}} 54 function checkconsistency(obj,md ) % {{{54 function checkconsistency(obj,md,solution,analyses) % {{{ 55 55 56 56 fields={'lowmem'}; -
TabularUnified issm/trunk/src/m/classes/solver.m ¶
r9822 r9853 27 27 end 28 28 %}}} 29 function checkconsistency(obj,md ) % {{{29 function checkconsistency(obj,md,solution,analyses) % {{{ 30 30 31 31 end % }}} -
TabularUnified issm/trunk/src/m/classes/steadystate.m ¶
r9821 r9853 41 41 obj.reltol=0.01; 42 42 end % }}} 43 function checkconsistency(obj,md ) % {{{43 function checkconsistency(obj,md,solution,analyses) % {{{ 44 44 45 45 %Early return 46 if md.private.solution~=SteadystateSolutionEnum, return; end;46 if solution~=SteadystateSolutionEnum, return; end; 47 47 48 48 if md.timestepping.time_step~=0, -
TabularUnified issm/trunk/src/m/classes/surfaceforcings.m ¶
r9821 r9853 35 35 end 36 36 end % }}} 37 function checkconsistency(obj,md ) % {{{37 function checkconsistency(obj,md,solution,analyses) % {{{ 38 38 39 39 end % }}} -
TabularUnified issm/trunk/src/m/classes/thermal.m ¶
r9821 r9853 50 50 obj.penalty_factor=3; 51 51 end % }}} 52 function checkconsistency(obj,md ) % {{{52 function checkconsistency(obj,md,solution,analyses) % {{{ 53 53 if ~ismember(obj.stabilization,[0 1 2]), 54 54 checkmessage('thermal.stabilization should be a scalar (0 or 1 or 2)'); -
TabularUnified issm/trunk/src/m/classes/timestepping.m ¶
r9821 r9853 46 46 obj.cfl_coefficient=.5; 47 47 end % }}} 48 function checkconsistency(obj,md ) % {{{48 function checkconsistency(obj,md,solution,analyses) % {{{ 49 49 if ~ismember(md.timestepping.time_adapt,[0 1]), 50 50 checkmessage(['model not consistent: model ' md.miscellaneous.name ' time_adapt field should be 0 or 1']); -
TabularUnified issm/trunk/src/m/classes/transient.m ¶
r9821 r9853 44 44 45 45 end % }}} 46 function checkconsistency(obj,md ) % {{{46 function checkconsistency(obj,md,solution,analyses) % {{{ 47 47 if ~ismember(md.transient.isdiagnostic,[0 1]), 48 48 checkmessage('model not consistent: transient.isdiagnostic should be a scalar (1 or 0)'); -
TabularUnified issm/trunk/src/m/classes/verbose.m ¶
r9739 r9853 99 99 end 100 100 %}}} 101 function checkconsistency(obj,md ) % {{{101 function checkconsistency(obj,md,solution,analyses) % {{{ 102 102 103 103 end % }}} -
TabularUnified issm/trunk/src/m/model/ismodelselfconsistent.m ¶
r9751 r9853 8 8 modelconsistency(true); 9 9 10 %Get solution and associated analyses 11 solution=md.private.solution; 12 [analyses,numanalyses]=AnalysisConfiguration(solution); 13 10 14 %Go through al model field check that it is a class and call checkconsistency 11 15 fields=properties(md); 12 16 for i=1:length(fields), 13 17 field=fields{i}; 18 19 %Some properties do not need to be checked 14 20 if ismember(field,{'results' 'debug' 'radaroverlay'}), 15 21 continue; 16 22 end 23 24 %Check that current field is an object 17 25 if ~isobject(md.(field)) 18 26 checkmessage(['field ''' char(field) ''' is not an object']); 19 else20 md.(field).checkconsistency(md);21 27 end 28 29 %Check consistency of the object 30 md.(field).checkconsistency(md,solution,analyses); 22 31 end 23 32
Note:
See TracChangeset
for help on using the changeset viewer.