Changeset 9625
- Timestamp:
- 09/06/11 14:56:59 (14 years ago)
- Location:
- issm/trunk
- Files:
-
- 2 added
- 1 deleted
- 36 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h
r9622 r9625 34 34 SettingsLowmemEnum, 35 35 SettingsIoGatherEnum, 36 MiscellaneousNameEnum, //FIXME: only used by qmu, should not be marshalled (already in queueing script) 36 37 /*}}}*/ 37 38 /*Datasets {{{1*/ … … 417 418 PrognosticDGEnum, 418 419 PressureloadEnum, 419 NameEnum,420 420 VerticesTypeEnum, 421 421 SpcvzEnum, -
issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp
r9622 r9625 38 38 case SettingsLowmemEnum : return "SettingsLowmem"; 39 39 case SettingsIoGatherEnum : return "SettingsIoGather"; 40 case MiscellaneousNameEnum : return "MiscellaneousName"; 40 41 case ConstraintsEnum : return "Constraints"; 41 42 case ElementsEnum : return "Elements"; … … 360 361 case PrognosticDGEnum : return "PrognosticDG"; 361 362 case PressureloadEnum : return "Pressureload"; 362 case NameEnum : return "Name";363 363 case VerticesTypeEnum : return "VerticesType"; 364 364 case SpcvzEnum : return "Spcvz"; -
issm/trunk/src/c/modules/ModelProcessorx/Qmu/CreateParametersQmu.cpp
r9571 r9625 68 68 if(dakota_analysis){ 69 69 70 iomodel->Constant(&name, NameEnum);70 iomodel->Constant(&name,MiscellaneousNameEnum); 71 71 iomodel->Constant(&numberofresponses,NumberOfResponsesEnum); 72 72 iomodel->Constant(&numberofvertices,NumberOfVerticesEnum); -
issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp
r9622 r9625 36 36 else if (strcmp(name,"SettingsLowmem")==0) return SettingsLowmemEnum; 37 37 else if (strcmp(name,"SettingsIoGather")==0) return SettingsIoGatherEnum; 38 else if (strcmp(name,"MiscellaneousName")==0) return MiscellaneousNameEnum; 38 39 else if (strcmp(name,"Constraints")==0) return ConstraintsEnum; 39 40 else if (strcmp(name,"Elements")==0) return ElementsEnum; … … 358 359 else if (strcmp(name,"PrognosticDG")==0) return PrognosticDGEnum; 359 360 else if (strcmp(name,"Pressureload")==0) return PressureloadEnum; 360 else if (strcmp(name,"Name")==0) return NameEnum;361 361 else if (strcmp(name,"VerticesType")==0) return VerticesTypeEnum; 362 362 else if (strcmp(name,"Spcvz")==0) return SpcvzEnum; -
issm/trunk/src/m/classes/clusters/castor.m
r9614 r9625 58 58 59 59 %retrieve parameters 60 modelname=md. name;60 modelname=md.miscellaneous.name; 61 61 solution_type=md.private.solution; 62 62 … … 93 93 94 94 %compress the files into one zip. 95 compressstring=['tar -zcf ' md.private.runtimename '.tar.gz ' md. name '.bin ' md.name '.queue ' md.name '.petsc '];95 compressstring=['tar -zcf ' md.private.runtimename '.tar.gz ' md.miscellaneous.name '.bin ' md.miscellaneous.name '.queue ' md.miscellaneous.name '.petsc ']; 96 96 if md.dakota_analysis, 97 compressstring=[compressstring md. name '.qmu.in'];97 compressstring=[compressstring md.miscellaneous.name '.qmu.in']; 98 98 end 99 99 system(compressstring); … … 123 123 124 124 %What packages are we picking up from remote cluster 125 packages={[md. name '.outlog'],[md.name '.errlog']};125 packages={[md.miscellaneous.name '.outlog'],[md.miscellaneous.name '.errlog']}; 126 126 if md.dakota_analysis, 127 packages{end+1}=[md. name '.qmu.err'];128 packages{end+1}=[md. name '.qmu.out'];127 packages{end+1}=[md.miscellaneous.name '.qmu.err']; 128 packages{end+1}=[md.miscellaneous.name '.qmu.out']; 129 129 if isfield(md.qmu_params,'tabular_graphics_data'), 130 130 if md.qmu_params.tabular_graphics_data==true, … … 133 133 end 134 134 else 135 packages{end+1}=[md. name '.outbin'];135 packages{end+1}=[md.miscellaneous.name '.outbin']; 136 136 end 137 137 -
issm/trunk/src/m/classes/clusters/cosmos.m
r9614 r9625 58 58 59 59 %retrieve parameters 60 modelname=md. name;60 modelname=md.miscellaneous.name; 61 61 solution_type=md.private.solution; 62 62 … … 92 92 93 93 %compress the files into one zip. 94 compressstring=['tar -zcf ' md.private.runtimename '.tar.gz ' md. name '.bin ' md.name '.queue ' md.name '.petsc '];94 compressstring=['tar -zcf ' md.private.runtimename '.tar.gz ' md.miscellaneous.name '.bin ' md.miscellaneous.name '.queue ' md.miscellaneous.name '.petsc ']; 95 95 if md.dakota_analysis, 96 compressstring=[compressstring md. name '.qmu.in'];96 compressstring=[compressstring md.miscellaneous.name '.qmu.in']; 97 97 end 98 98 system(compressstring); … … 122 122 123 123 %What packages are we picking up from remote cluster 124 packages={[md. name '.outlog'],[md.name '.errlog']};124 packages={[md.miscellaneous.name '.outlog'],[md.miscellaneous.name '.errlog']}; 125 125 if md.dakota_analysis, 126 packages{end+1}=[md. name '.qmu.err'];127 packages{end+1}=[md. name '.qmu.out'];126 packages{end+1}=[md.miscellaneous.name '.qmu.err']; 127 packages{end+1}=[md.miscellaneous.name '.qmu.out']; 128 128 if isfield(md.qmu_params,'tabular_graphics_data'), 129 129 if md.qmu_params.tabular_graphics_data==true, … … 132 132 end 133 133 else 134 packages{end+1}=[md. name '.outbin'];134 packages{end+1}=[md.miscellaneous.name '.outbin']; 135 135 end 136 136 -
issm/trunk/src/m/classes/clusters/gemini.m
r9614 r9625 58 58 59 59 %retrieve parameters 60 modelname=md. name;60 modelname=md.miscellaneous.name; 61 61 solution_type=md.private.solution; 62 62 … … 93 93 94 94 %compress the files into one zip. 95 compressstring=['tar -zcf ' md.private.runtimename '.tar.gz ' md. name '.bin ' md.name '.queue ' md.name '.petsc '];95 compressstring=['tar -zcf ' md.private.runtimename '.tar.gz ' md.miscellaneous.name '.bin ' md.miscellaneous.name '.queue ' md.miscellaneous.name '.petsc ']; 96 96 if md.dakota_analysis, 97 compressstring=[compressstring md. name '.qmu.in'];97 compressstring=[compressstring md.miscellaneous.name '.qmu.in']; 98 98 end 99 99 system(compressstring); … … 123 123 124 124 %What packages are we picking up from remote cluster 125 packages={[md. name '.outlog'],[md.name '.errlog']};125 packages={[md.miscellaneous.name '.outlog'],[md.miscellaneous.name '.errlog']}; 126 126 if md.dakota_analysis, 127 packages{end+1}=[md. name '.qmu.err'];128 packages{end+1}=[md. name '.qmu.out'];127 packages{end+1}=[md.miscellaneous.name '.qmu.err']; 128 packages{end+1}=[md.miscellaneous.name '.qmu.out']; 129 129 if isfield(md.qmu_params,'tabular_graphics_data'), 130 130 if md.qmu_params.tabular_graphics_data==true, … … 133 133 end 134 134 else 135 packages{end+1}=[md. name '.outbin'];135 packages{end+1}=[md.miscellaneous.name '.outbin']; 136 136 end 137 137 -
issm/trunk/src/m/classes/clusters/generic.m
r9622 r9625 72 72 73 73 %retrieve parameters 74 modelname=md. name;74 modelname=md.miscellaneous.name; 75 75 solution_type=md.private.solution; 76 76 isvalgrind=md.debug.valgrind; … … 117 117 %lauch command, to be executed via ssh 118 118 launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' md.private.runtimename ' && mkdir ' md.private.runtimename ... 119 ' && cd ' md.private.runtimename ' && mv ../' md.private.runtimename '.tar.gz ./ && tar -zxf ' md.private.runtimename '.tar.gz && source ' md. name '.queue '];119 ' && cd ' md.private.runtimename ' && mv ../' md.private.runtimename '.tar.gz ./ && tar -zxf ' md.private.runtimename '.tar.gz && source ' md.miscellaneous.name '.queue ']; 120 120 121 121 if ~strcmpi(options.batch,'yes'), 122 122 123 123 %compress the files into one zip. 124 compressstring=['tar -zcf ' md.private.runtimename '.tar.gz ' md. name '.bin ' md.name '.queue ' md.name '.petsc '];124 compressstring=['tar -zcf ' md.private.runtimename '.tar.gz ' md.miscellaneous.name '.bin ' md.miscellaneous.name '.queue ' md.miscellaneous.name '.petsc ']; 125 125 if md.dakota_analysis, 126 compressstring=[compressstring md. name '.qmu.in'];126 compressstring=[compressstring md.miscellaneous.name '.qmu.in']; 127 127 end 128 128 if cluster.interactive, 129 compressstring=[compressstring ' ' md. name '.errlog ' md.name '.outlog '];129 compressstring=[compressstring ' ' md.miscellaneous.name '.errlog ' md.miscellaneous.name '.outlog ']; 130 130 end 131 131 system(compressstring); … … 153 153 154 154 %What packages are we picking up from remote cluster 155 packages={[md. name '.outlog'],[md.name '.errlog']};155 packages={[md.miscellaneous.name '.outlog'],[md.miscellaneous.name '.errlog']}; 156 156 if md.dakota_analysis, 157 packages{end+1}=[md. name '.qmu.err'];158 packages{end+1}=[md. name '.qmu.out'];157 packages{end+1}=[md.miscellaneous.name '.qmu.err']; 158 packages{end+1}=[md.miscellaneous.name '.qmu.out']; 159 159 if isfield(md.qmu_params,'tabular_graphics_data'), 160 160 if md.qmu_params.tabular_graphics_data==true, … … 163 163 end 164 164 else 165 packages{end+1}=[md. name '.outbin'];165 packages{end+1}=[md.miscellaneous.name '.outbin']; 166 166 end 167 167 -
issm/trunk/src/m/classes/clusters/pfe.m
r9622 r9625 108 108 109 109 %retrieve parameters 110 modelname=md. name;110 modelname=md.miscellaneous.name; 111 111 solution_type=md.private.solution; 112 112 isvalgrind=md.debug.valgrind; … … 173 173 if ~cluster.interactive, 174 174 launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' md.private.runtimename ' && mkdir ' md.private.runtimename ... 175 ' && cd ' md.private.runtimename ' && mv ../' md.private.runtimename '.tar.gz ./ && tar -zxf ' md.private.runtimename '.tar.gz && qsub ' md. name '.queue '];175 ' && cd ' md.private.runtimename ' && mv ../' md.private.runtimename '.tar.gz ./ && tar -zxf ' md.private.runtimename '.tar.gz && qsub ' md.miscellaneous.name '.queue ']; 176 176 else 177 177 launchcommand=['cd ' cluster.executionpath '/Interactive' num2str(cluster.interactive) ' && tar -zxf ' md.private.runtimename '.tar.gz']; … … 181 181 182 182 %compress the files into one zip. 183 compressstring=['tar -zcf ' md.private.runtimename '.tar.gz ' md. name '.bin ' md.name '.queue ' md.name '.petsc '];183 compressstring=['tar -zcf ' md.private.runtimename '.tar.gz ' md.miscellaneous.name '.bin ' md.miscellaneous.name '.queue ' md.miscellaneous.name '.petsc ']; 184 184 if md.dakota_analysis, 185 compressstring=[compressstring md. name '.qmu.in '];185 compressstring=[compressstring md.miscellaneous.name '.qmu.in ']; 186 186 end 187 187 if cluster.interactive, 188 compressstring=[compressstring md. name '.run ' md.name '.errlog ' md.name '.outlog '];188 compressstring=[compressstring md.miscellaneous.name '.run ' md.miscellaneous.name '.errlog ' md.miscellaneous.name '.outlog ']; 189 189 end 190 190 system(compressstring); … … 230 230 %What packages are we picking up from remote cluster 231 231 if ~cluster.interactive, 232 packages={[md. name '.outlog'],[md.name '.errlog']};232 packages={[md.miscellaneous.name '.outlog'],[md.miscellaneous.name '.errlog']}; 233 233 else 234 234 packages={}; 235 235 end 236 236 if md.dakota_analysis, 237 packages{end+1}=[md. name '.qmu.err'];238 packages{end+1}=[md. name '.qmu.out'];237 packages{end+1}=[md.miscellaneous.name '.qmu.err']; 238 packages{end+1}=[md.miscellaneous.name '.qmu.out']; 239 239 if isfield(md.qmu_params,'tabular_graphics_data'), 240 240 if md.qmu_params.tabular_graphics_data==true, … … 243 243 end 244 244 else 245 packages{end+1}=[md. name '.outbin'];245 packages{end+1}=[md.miscellaneous.name '.outbin']; 246 246 end 247 247 -
issm/trunk/src/m/classes/clusters/pollux.m
r9614 r9625 58 58 59 59 %retrieve parameters 60 modelname=md. name;60 modelname=md.miscellaneous.name; 61 61 solution_type=md.private.solution; 62 62 … … 93 93 94 94 %compress the files into one zip. 95 compressstring=['tar -zcf ' md.private.runtimename '.tar.gz ' md. name '.bin ' md.name '.queue ' md.name '.petsc '];95 compressstring=['tar -zcf ' md.private.runtimename '.tar.gz ' md.miscellaneous.name '.bin ' md.miscellaneous.name '.queue ' md.miscellaneous.name '.petsc ']; 96 96 if md.dakota_analysis, 97 compressstring=[compressstring md. name '.qmu.in'];97 compressstring=[compressstring md.miscellaneous.name '.qmu.in']; 98 98 end 99 99 system(compressstring); … … 123 123 124 124 %What packages are we picking up from remote cluster 125 packages={[md. name '.outlog'],[md.name '.errlog']};125 packages={[md.miscellaneous.name '.outlog'],[md.miscellaneous.name '.errlog']}; 126 126 if md.dakota_analysis, 127 packages{end+1}=[md. name '.qmu.err'];128 packages{end+1}=[md. name '.qmu.out'];127 packages{end+1}=[md.miscellaneous.name '.qmu.err']; 128 packages{end+1}=[md.miscellaneous.name '.qmu.out']; 129 129 if isfield(md.qmu_params,'tabular_graphics_data'), 130 130 if md.qmu_params.tabular_graphics_data==true, … … 133 133 end 134 134 else 135 packages{end+1}=[md. name '.outbin'];135 packages{end+1}=[md.miscellaneous.name '.outbin']; 136 136 end 137 137 -
issm/trunk/src/m/classes/model/model.m
r9624 r9625 23 23 settings = modelfield('default',0,'marshall',true); 24 24 radaroverlay = modelfield('default',0,'marshall',false); 25 miscellaneous = modelfield('default',0,'marshall',true); 25 26 26 27 %FIXME: all other fields should belong to other classes 27 28 %Model general information29 notes = modelfield('default','','marshall',false);30 name = modelfield('default','','marshall',true,'format','String');31 28 32 29 %Mesh … … 209 206 waitonlock = modelfield('default',0,'marshall',true,'format','Boolean'); 210 207 211 %dummy212 dummy = modelfield('default',NaN,'marshall',false);213 214 208 %qmu 215 209 variables = modelfield('default',struct(),'marshall',false); … … 256 250 257 251 % This is a Matlab bug: all the fields of md have their default value 258 % md.name = {'' [1] 'String'}259 % instead of recovering the saved fields260 %261 252 % Example of error message: 262 253 % Warning: Error loading an object of class 'model': … … 290 281 switch nargin 291 282 case 0 292 293 %set default parameters294 283 md=setdefaultparameters(md); 295 296 284 case 1 297 285 in=varargin{1}; … … 324 312 %name 325 313 disp(sprintf(' Name:')); 326 if isempty(md. name),314 if isempty(md.miscellaneous.name), 327 315 disp(sprintf(' N/A')); 328 316 else 329 disp(sprintf(' %s',md. name));330 end 331 332 %notes: md. notes is a cell array of strings317 disp(sprintf(' %s',md.miscellaneous.name)); 318 end 319 320 %notes: md.miscellaneous.notes is a cell array of strings 333 321 disp(sprintf(' Notes:')); 334 if isempty(md. notes),322 if isempty(md.miscellaneous.notes), 335 323 disp(sprintf(' N/A')); 336 324 else 337 if iscell(md. notes),338 strings=md. notes;325 if iscell(md.miscellaneous.notes), 326 strings=md.miscellaneous.notes; 339 327 for i=1:length(strings), 340 328 string=char(strings(i)); … … 345 333 end 346 334 end 347 elseif ischar(md. notes),348 disp(sprintf(' %s',md. notes));335 elseif ischar(md.miscellaneous.notes), 336 disp(sprintf(' %s',md.miscellaneous.notes)); 349 337 else 350 338 disp('display error message: ''notes'' for model is neither a cell array of string, nor a string. Cannot display.'); … … 430 418 if isfield(structmd,'hydro_CR'), md.hydrology.CR=structmd.hydro_CR; end 431 419 if isfield(structmd,'hydro_kn'), md.hydrology.kn=structmd.hydro_kn; end 420 if isfield(structmd,'name'), md.miscellaneous.name=structmd.name; end 421 if isfield(structmd,'notes'), md.miscellaneous.notes=structmd.notes; end 422 if isfield(structmd,'dummy'), md.miscellaneous.dummy=structmd.dummy; end 432 423 433 424 %Field changes … … 544 535 md.settings=settings; 545 536 md.radaroverlay=radaroverlay; 537 md.miscellaneous=miscellaneous; 546 538 547 539 %Materials parameters -
issm/trunk/src/m/kml/kml_mesh_write.m
r8298 r9625 113 113 114 114 kdoc=kml_document(); 115 kdoc.name =sprintf('ISSM Mesh: %s',md. name);115 kdoc.name =sprintf('ISSM Mesh: %s',md.miscellaneous.name); 116 116 kdoc.open =1; 117 117 ifirst=true; 118 for i=1:numel(md. notes)119 if ~isempty(md. notes{i})118 for i=1:numel(md.miscellaneous.notes) 119 if ~isempty(md.miscellaneous.notes{i}) 120 120 if ~ifirst 121 121 kdoc.descript =[kdoc.descript sprintf('\n')]; 122 122 end 123 123 ifirst=false; 124 kdoc.descript =[kdoc.descript sprintf('%s',md. notes{i})];124 kdoc.descript =[kdoc.descript sprintf('%s',md.miscellaneous.notes{i})]; 125 125 end 126 126 end -
issm/trunk/src/m/model/addnote.m
r9605 r9625 15 15 error('addnote error message: second input argument should be a string'); 16 16 end 17 notes=md. notes;17 notes=md.miscellaneous.notes; 18 18 19 19 if ischar(notes), … … 29 29 end 30 30 31 md. notes=newnotes;31 md.miscellaneous.notes=newnotes; -
issm/trunk/src/m/model/ismodelselfconsistent.m
r9622 r9625 43 43 %}}} 44 44 %NAME{{{1 45 if isempty(md. name),45 if isempty(md.miscellaneous.name), 46 46 message(['model is not correctly configured: missing name!']); 47 47 end … … 111 111 if ~isempty(md.requested_outputs), 112 112 if(size(md.requested_outputs,2)~=1), 113 message(['model ' md. name ' requested outputs should be a column vector']);113 message(['model ' md.miscellaneous.name ' requested outputs should be a column vector']); 114 114 end 115 115 end … … 117 117 %THICKNESS = SURFACE - BED {{{1 118 118 if any((md.thickness-md.surface+md.bed)>tolerance), 119 message(['model not consistent: model ' md. name ' violates the equality thickness=surface-bed!']);119 message(['model not consistent: model ' md.miscellaneous.name ' violates the equality thickness=surface-bed!']); 120 120 end 121 121 %GROUNDING LINE MIGRATION {{{1 122 122 if ~ismember({md.groundingline_migration},{'None' 'AgressiveMigration' 'SoftMigration'}), 123 message(['model not consistent: model ' md. name ' groundingline_migration field should be ''None'' ''AgressiveMigration'' or ''SoftMigration''']);123 message(['model not consistent: model ' md.miscellaneous.name ' groundingline_migration field should be ''None'' ''AgressiveMigration'' or ''SoftMigration''']); 124 124 end 125 125 if ~strcmp(md.groundingline_migration,'None'), 126 126 if (md.dim==3 | strcmpi(md.cluster.name,'none')), 127 message(['model ' md. name ' requesting grounding line migration, but grounding line module only implemented for 2d models and parallel runs!']);127 message(['model ' md.miscellaneous.name ' requesting grounding line migration, but grounding line module only implemented for 2d models and parallel runs!']); 128 128 end 129 129 if isnan(md.bathymetry), 130 message(['model not consistent: model ' md. name ' requesting grounding line migration, but bathymetry is absent!']);130 message(['model not consistent: model ' md.miscellaneous.name ' requesting grounding line migration, but bathymetry is absent!']); 131 131 end 132 132 pos=find(md.nodeonicesheet); 133 133 if any(md.bed(pos)-md.bathymetry(pos)), 134 message(['model not consistent: model ' md. name ' bathymetry not equal to bed on icesheet!']);134 message(['model not consistent: model ' md.miscellaneous.name ' bathymetry not equal to bed on icesheet!']); 135 135 end 136 136 pos=find(md.nodeoniceshelf); 137 137 if any(md.bathymetry(pos)-md.bed(pos)>tolerance), 138 message(['model not consistent: model ' md. name ' bathymetry superior to bed on iceshelf!']);138 message(['model not consistent: model ' md.miscellaneous.name ' bathymetry superior to bed on iceshelf!']); 139 139 end 140 140 … … 152 152 if ~isempty(find(md.segmentmarkers>=2)), 153 153 %We have segments with rift markers, but no rift structure! 154 message(['model not consistent: model ' md. name ' should be processed for rifts (run meshprocessrifts)!']);154 message(['model not consistent: model ' md.miscellaneous.name ' should be processed for rifts (run meshprocessrifts)!']); 155 155 end 156 156 %Check that rifts are filled with proper material … … 170 170 end 171 171 if ~ismember(md.settings.lowmem,[0 1]), 172 message(['model not consistent: model ' md. name ' settings.lowmem field should be 0 or 1']);172 message(['model not consistent: model ' md.miscellaneous.name ' settings.lowmem field should be 0 or 1']); 173 173 end 174 174 if ~ismember(md.time_adapt,[0 1]), 175 message(['model not consistent: model ' md. name ' time_adapt field should be 0 or 1']);175 message(['model not consistent: model ' md.miscellaneous.name ' time_adapt field should be 0 or 1']); 176 176 end 177 177 if ~ismember(md.hydrostatic_adjustment,{'Absolute' 'Incremental'}), 178 message(['model not consistent: model ' md. name ' hydrostatic_adjustment field should be AbsoluteEnum or IncrementalEnum']);178 message(['model not consistent: model ' md.miscellaneous.name ' hydrostatic_adjustment field should be AbsoluteEnum or IncrementalEnum']); 179 179 end 180 180 if ~ismember({md.rheology_law},{'None' 'Paterson' 'Arrhenius'}), 181 message(['model not consistent: model ' md. name ' rheology_law field should be ''none'' ''paterson'' or ''arrhenius''']);181 message(['model not consistent: model ' md.miscellaneous.name ' rheology_law field should be ''none'' ''paterson'' or ''arrhenius''']); 182 182 end 183 183 %}}} … … 204 204 num_costfunc=size(md.cm_responses,2); 205 205 if ~iscell(md.control_type) 206 message(['model not consistent: model ' md. name ' control_type field should be a cell of strings']);206 message(['model not consistent: model ' md.miscellaneous.name ' control_type field should be a cell of strings']); 207 207 end 208 208 if ~ismember(md.control_type,{'Dhdt' 'DragCoefficient' 'RheologyBbar' 'Vx' 'Vy'}); 209 message(['model not consistent: model ' md. name ' control_type field should be ''Dhdt'' ''DragCoefficient'' ''RheologyBbar'' ''Vx'' ''Vy''']);209 message(['model not consistent: model ' md.miscellaneous.name ' control_type field should be ''Dhdt'' ''DragCoefficient'' ''RheologyBbar'' ''Vx'' ''Vy''']); 210 210 end 211 211 … … 243 243 pos=find(md.thickness<=0); 244 244 if any(isnan(md.spcthickness(pos))), 245 message(['model not consistent: model ' md. name ' has some nodes with 0 thickness']);245 message(['model not consistent: model ' md.miscellaneous.name ' has some nodes with 0 thickness']); 246 246 end 247 247 end … … 295 295 end 296 296 if(md.cfl_coefficient>1 | md.cfl_coefficient<0), 297 message(['model not consistent: model ' md. name ' cfl_coefficient field should between 0 and 1']);297 message(['model not consistent: model ' md.miscellaneous.name ' cfl_coefficient field should between 0 and 1']); 298 298 end 299 299 if(md.cfl_coefficient>1 | md.cfl_coefficient<0), 300 message(['model not consistent: model ' md. name ' cfl_coefficient field should between 0 and 1']);300 message(['model not consistent: model ' md.miscellaneous.name ' cfl_coefficient field should between 0 and 1']); 301 301 end 302 302 if ~ismember(md.isdiagnostic,[0 1]), … … 340 340 341 341 if(md.cfl_coefficient>1 | md.cfl_coefficient<0), 342 message(['model not consistent: model ' md. name ' cfl_coefficient field should between 0 and 1']);342 message(['model not consistent: model ' md.miscellaneous.name ' cfl_coefficient field should between 0 and 1']); 343 343 end 344 344 end … … 365 365 %SINGULAR 366 366 if ~any((~isnan(md.spcvx)+~isnan(md.spcvy))==2), 367 message(['model not consistent: model ' md. name ' is not well posed (singular). You need at least one node with fixed velocity!'])367 message(['model not consistent: model ' md.miscellaneous.name ' is not well posed (singular). You need at least one node with fixed velocity!']) 368 368 end 369 369 … … 371 371 %CHECK THAT EACH LINES CONTAINS ONLY NAN VALUES OR NO NAN VALUES 372 372 if any(sum(isnan(md.diagnostic_ref),2)~=0 & sum(isnan(md.diagnostic_ref),2)~=6), 373 message(['model not consistent: model ' md. name ' has problem with rotated spc. Each line of diagnostic_ref should contain either only NaN values or no NaN values']);373 message(['model not consistent: model ' md.miscellaneous.name ' has problem with rotated spc. Each line of diagnostic_ref should contain either only NaN values or no NaN values']); 374 374 end 375 375 %CHECK THAT THE TWO VECTORS PROVIDED ARE ORTHOGONAL … … 378 378 if any(dot(md.diagnostic_ref(pos,1:3),md.diagnostic_ref(pos,4:6))), 379 379 dot(md.diagnostic_ref(pos,1:3),md.diagnostic_ref(pos,4:6)) 380 message(['model not consistent: model ' md. name ' has problem with rotated spc. Vectors in diagnostic_ref (colums 1 to 3 and 4 to 6) must be orthogonal']);380 message(['model not consistent: model ' md.miscellaneous.name ' has problem with rotated spc. Vectors in diagnostic_ref (colums 1 to 3 and 4 to 6) must be orthogonal']); 381 381 end 382 382 … … 386 386 pos=find(sum(isnan(md.diagnostic_ref),2)==0 & md.nodeonmacayeal); 387 387 if any(md.diagnostic_ref(pos,3:5)~=0); 388 message(['model not consistent: model ' md. name ' has problem with rotated spc. The rotation should be in the (x,y) plane for 2D diagnostic models (nodeonmacayeal)']);388 message(['model not consistent: model ' md.miscellaneous.name ' has problem with rotated spc. The rotation should be in the (x,y) plane for 2D diagnostic models (nodeonmacayeal)']); 389 389 end 390 390 end … … 464 464 pos=find(md.thickness<=0); 465 465 if any(isnan(md.spcthickness(pos))), 466 message(['model not consistent: model ' md. name ' has some nodes with 0 thickness']);466 message(['model not consistent: model ' md.miscellaneous.name ' has some nodes with 0 thickness']); 467 467 end 468 468 end … … 493 493 %CHECK THAT WE ARE NOT FULLY CONSTRAINED 494 494 if ~any(~isnan(md.spctemperature)) 495 message(['model not consistent: model ' md. name ' is totally constrained for temperature, no need to solve!']);495 message(['model not consistent: model ' md.miscellaneous.name ' is totally constrained for temperature, no need to solve!']); 496 496 end 497 497 … … 519 519 %CHECK SPCTEMPERATURE that are not NaN are >0. 520 520 if find(any(md.spctemperature(find(~isnan(md.spctemperature(1:md.numberofnodes,:))))<=0)), 521 message(['model not consistent: model ' md. name ' is constrained with negative or nil temperatures!']);521 message(['model not consistent: model ' md.miscellaneous.name ' is constrained with negative or nil temperatures!']); 522 522 end 523 523 … … 718 718 if size(field,1)==md.numberofnodes, 719 719 if ~size(field,2)==1, 720 message(['model not consistent: model ' md. name ': ' fields{i} ' should have only one column as there are md.numberofnodes lines']);720 message(['model not consistent: model ' md.miscellaneous.name ': ' fields{i} ' should have only one column as there are md.numberofnodes lines']); 721 721 end 722 722 elseif size(field,1)==md.numberofnodes+1 723 723 if any(field(end,:)~=sort(field(end,:))), 724 message(['model not consistent: model ' md. name ': ' fields{i} ' columns should be chronological']);724 message(['model not consistent: model ' md.miscellaneous.name ': ' fields{i} ' columns should be chronological']); 725 725 end 726 726 if any(field(end,1:end-1)==field(end,2:end)), 727 message(['model not consistent: model ' md. name ': ' fields{i} ' columns must not contain duplicate timesteps']);727 message(['model not consistent: model ' md.miscellaneous.name ': ' fields{i} ' columns must not contain duplicate timesteps']); 728 728 end 729 729 else 730 message(['model not consistent: model ' md. name ': ' fields{i} ' should have md.numberofnodes or md.numberofnodes+1 lines']);730 message(['model not consistent: model ' md.miscellaneous.name ': ' fields{i} ' should have md.numberofnodes or md.numberofnodes+1 lines']); 731 731 end 732 732 end -
issm/trunk/src/m/model/loadresultsfromcluster.m
r9614 r9625 16 16 17 17 %read log files onto fields 18 if exist([md. name '.errlog'],'file'),19 md.errlog=char(textread([md. name '.errlog'],'%s','delimiter','\n'));18 if exist([md.miscellaneous.name '.errlog'],'file'), 19 md.errlog=char(textread([md.miscellaneous.name '.errlog'],'%s','delimiter','\n')); 20 20 else 21 21 md.errlog=''; 22 22 end 23 23 24 if exist([md. name '.outlog'],'file'),25 md.outlog=char(textread([md. name '.outlog'],'%s','delimiter','\n'));24 if exist([md.miscellaneous.name '.outlog'],'file'), 25 md.outlog=char(textread([md.miscellaneous.name '.outlog'],'%s','delimiter','\n')); 26 26 else 27 27 md.outlog=''; … … 33 33 34 34 %If we are here, no errors in the solution sequence, call loadresultsfromdisk. 35 md=loadresultsfromdisk(md,[md. name '.outbin']);35 md=loadresultsfromdisk(md,[md.miscellaneous.name '.outbin']); 36 36 37 37 %erase the log and output files 38 38 if md.dakota_analysis, 39 delete([['qmu' num2str(feature('GetPid')) '/'] md. name '.outlog']);40 delete([['qmu' num2str(feature('GetPid')) '/'] md. name '.errlog']);39 delete([['qmu' num2str(feature('GetPid')) '/'] md.miscellaneous.name '.outlog']); 40 delete([['qmu' num2str(feature('GetPid')) '/'] md.miscellaneous.name '.errlog']); 41 41 else 42 delete([md. name '.outlog']);43 delete([md. name '.errlog']);44 delete([md. name '.outbin']);42 delete([md.miscellaneous.name '.outlog']); 43 delete([md.miscellaneous.name '.errlog']); 44 delete([md.miscellaneous.name '.outbin']); 45 45 delete([md.private.runtimename '.tar.gz']); 46 46 end … … 50 50 if strcmpi(hostname,cluster.name), 51 51 if md.dakota_analysis, 52 delete([['qmu' num2str(feature('GetPid')) '/'] md. name '.bin']);53 delete([['qmu' num2str(feature('GetPid')) '/'] md. name '.queue']);52 delete([['qmu' num2str(feature('GetPid')) '/'] md.miscellaneous.name '.bin']); 53 delete([['qmu' num2str(feature('GetPid')) '/'] md.miscellaneous.name '.queue']); 54 54 else 55 delete([md. name '.bin']);56 delete([md. name '.queue']);57 delete([md. name '.petsc']);55 delete([md.miscellaneous.name '.bin']); 56 delete([md.miscellaneous.name '.queue']); 57 delete([md.miscellaneous.name '.petsc']); 58 58 end 59 59 end -
issm/trunk/src/m/model/marshall.m
r9597 r9625 8 8 % marshall(md) 9 9 10 disp(['marshalling file ' md. name '.bin']);10 disp(['marshalling file ' md.miscellaneous.name '.bin']); 11 11 12 12 %open file for binary writing 13 fid=fopen([ md. name '.bin'],'wb');13 fid=fopen([ md.miscellaneous.name '.bin'],'wb'); 14 14 if fid==-1, 15 error(['marshall error message: could not open ' [md. name '.bin'],' file for binary writing']);15 error(['marshall error message: could not open ' [md.miscellaneous.name '.bin'],' file for binary writing']); 16 16 end 17 17 … … 26 26 st=fclose(fid); 27 27 if st==-1, 28 error(['marshall error message: could not close file ' [md. name '.bin']]);28 error(['marshall error message: could not close file ' [md.miscellaneous.name '.bin']]); 29 29 end 30 30 -
issm/trunk/src/m/model/parameterization/parameterize.m
r9451 r9625 54 54 55 55 %Name and notes 56 if isempty(md. name),56 if isempty(md.miscellaneous.name), 57 57 [path,root,ext]=fileparts(parametername); 58 md. name=root;58 md.miscellaneous.name=root; 59 59 end 60 60 md=addnote(md,['Model created by using parameter file: ' parametername ' on: ' datestr(now)]); -
issm/trunk/src/m/model/solve.m
r9614 r9625 61 61 62 62 %write a template file for issm to use, in parallel 63 PetscFile(md.solver,[md. name '.petsc']);63 PetscFile(md.solver,[md.miscellaneous.name '.petsc']); 64 64 65 65 %If running in parallel, we have a different way of launching the solution -
issm/trunk/src/m/model/solveparallel.m
r9614 r9625 14 14 %First, build a runtime name that is unique, that we will use to create 15 15 %directories, name jobs, etc ... 16 c=clock; md.private.runtimename=sprintf('%s-%i-%i-%i-%i-%i-%i-%i',md. name,c(2),c(3),c(1),c(4),c(5),floor(c(6)),feature('GetPid'));16 c=clock; md.private.runtimename=sprintf('%s-%i-%i-%i-%i-%i-%i-%i',md.miscellaneous.name,c(2),c(3),c(1),c(4),c(5),floor(c(6)),feature('GetPid')); 17 17 18 18 %Now, we need to build the queuing script, used by the cluster to launch the job. -
issm/trunk/src/m/model/waitonlock.m
r9614 r9625 14 14 port=md.cluster.port; 15 15 timelimit=md.waitonlock; 16 filename=[executionpath '/' md.private.runtimename '/' md. name '.lock'];16 filename=[executionpath '/' md.private.runtimename '/' md.miscellaneous.name '.lock']; 17 17 18 18 %waitonlock will work if the lock is on the same machine only: -
issm/trunk/src/m/qmu/postqmu.m
r9571 r9625 4 4 5 5 % check to see if dakota returned errors in the err file 6 qmuerrfile=[md. name '.qmu.err'];6 qmuerrfile=[md.miscellaneous.name '.qmu.err']; 7 7 8 8 if exist(qmuerrfile,'file') … … 25 25 26 26 %parse inputs and results from dakota 27 qmuinfile=[md. name '.qmu.in'];28 qmuoutfile=[md. name '.qmu.out'];27 qmuinfile=[md.miscellaneous.name '.qmu.in']; 28 qmuoutfile=[md.miscellaneous.name '.qmu.out']; 29 29 30 30 %[method,dvar,dresp_in]=dakota_in_parse(qmuinfile); -
issm/trunk/src/m/qmu/preqmu.m
r9560 r9625 33 33 cd(options.qmudir) 34 34 35 %when running in library mode, the in file needs to be called md. name.qmu.in36 options.qmufile=[md. name ];35 %when running in library mode, the in file needs to be called md.miscellaneous.name.qmu.in 36 options.qmufile=[md.miscellaneous.name ]; 37 37 38 38 %retrieve variables and resposnes for this particular analysis. … … 74 74 %create in file for dakota 75 75 dakota_in_data(md.qmu_method(options.imethod),variables,responses,md.qmu_params(options.iparams),options.qmufile); 76 system(['rm -rf ' md. name '.m']);76 system(['rm -rf ' md.miscellaneous.name '.m']); 77 77 78 78 %build a list of variables and responses descriptors. the list is not expanded. {{{1 -
issm/trunk/src/m/qmu/qmumarshall.m
r9560 r9625 13 13 end 14 14 15 disp(['qmu marshalling file ' md. name '.bin']);15 disp(['qmu marshalling file ' md.miscellaneous.name '.bin']); 16 16 17 17 %open file for binary adding 18 fid=fopen([ md. name '.bin'],'ab');18 fid=fopen([ md.miscellaneous.name '.bin'],'ab'); 19 19 if fid==-1, 20 error(['qmumarshall error message: could not open ' [md. name '.bin'],' file for binary adding']);20 error(['qmumarshall error message: could not open ' [md.miscellaneous.name '.bin'],' file for binary adding']); 21 21 end 22 22 … … 66 66 st=fclose(fid); 67 67 if st==-1, 68 error(['qmumarshall error message: could not close file ' [md. name '.bin']]);68 error(['qmumarshall error message: could not close file ' [md.miscellaneous.name '.bin']]); 69 69 end 70 70 -
issm/trunk/src/m/qmu/qmuname.m
r356 r9625 13 13 14 14 %modify model name by appending number to the name 15 md. name=[md.name num2str(number)];15 md.miscellaneous.name=[md.miscellaneous.name num2str(number)]; -
issm/trunk/src/m/solutions/NewFemModel.m
r9002 r9625 17 17 femmodel.analysis_type_list=analysis_types; 18 18 19 issmprintf(VerboseMProcessor(),'\n reading data from input file %s.bin...',md. name);20 [femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.constraints,femmodel.loads,femmodel.materials,femmodel.parameters]=ModelProcessor([md. name '.bin'],solution_type,femmodel.analysis_type_list);19 issmprintf(VerboseMProcessor(),'\n reading data from input file %s.bin...',md.miscellaneous.name); 20 [femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.constraints,femmodel.loads,femmodel.materials,femmodel.parameters]=ModelProcessor([md.miscellaneous.name '.bin'],solution_type,femmodel.analysis_type_list); 21 21 22 22 %Initialize some fiels with empty celils -
issm/trunk/src/m/solutions/flaim.m
r9605 r9625 80 80 81 81 display('Calling KMLMeshWrite.'); 82 KMLMeshWrite(md. name,md.notes,md.elements,md.nodeconnectivity,md.lat,md.long,md.part,md.flaim.criterion,options.cmap,filekml);82 KMLMeshWrite(md.miscellaneous.name,md.miscellaneous.notes,md.elements,md.nodeconnectivity,md.lat,md.long,md.part,md.flaim.criterion,options.cmap,filekml); 83 83 % for testing 84 84 %filekml='issm-split-geikie1-targets.kml'; -
issm/trunk/src/m/solutions/issm.m
r9594 r9625 19 19 20 20 %process petsc options: 21 femmodel.parameters=ParsePetscOptions(femmodel.parameters,[md. name '.petsc']);21 femmodel.parameters=ParsePetscOptions(femmodel.parameters,[md.miscellaneous.name '.petsc']); 22 22 23 23 %retrieve parameters -
issm/trunk/template
r9623 r9625 63 63 elementonwater 64 64 65 }}}66 rifts{{{67 rifts68 numrifts69 riftproperties70 65 }}} 71 66 materials{{{ … … 82 77 rheology_n 83 78 rheology_law 84 }}}85 friction{{{86 drag_coefficient87 drag_p88 drag_q89 79 }}} 90 80 flowequation{{{ … … 225 215 vwgt -> vertex_weight 226 216 }}} 227 228 cluster{{{229 waitonlock -> cluster dependent to be added to all cluster classes230 -> already exists231 }}}232 217 timestepping{{{ 233 218 dt ->time_step … … 236 221 cfl_coefficient 237 222 }}} 223 224 %To be completed 225 cluster{{{ 226 waitonlock -> cluster dependent to be added to all cluster classes 227 -> already exists 228 }}} 238 229 results{{{ 239 230 results_on_vertices 240 output_frequency241 outlog242 errlog231 output_frequency 232 outlog 233 errlog 243 234 + all model results ??? (DiagnosticSolution and others?) 244 235 }}} 245 constants{{{246 %not material dependent247 g248 yts249 referencetemperature250 }}}251 radaroverlay{{{252 sarpwr %error message if database does not exist253 sarxm254 sarym255 }}}256 miscelaneous {{{257 notes258 name259 dummy260 }}}261 private {{{262 runtimename263 solution_type -> erase and get this from the outbin264 bamg265 }}} -
issm/trunk/test/Miscellaneous/GJM_test1/SquareShelf.par
r8307 r9625 40 40 %Change name so that no test have the same name 41 41 A=dbstack; 42 if (length(A)>2), md. name=A(3).file(1:end-2); end42 if (length(A)>2), md.miscellaneous.name=A(3).file(1:end-2); end -
issm/trunk/test/Par/79North.par
r9611 r9625 47 47 %Change name so that no test have the same name 48 48 A=dbstack; 49 if (length(A)>2), md. name=A(3).file(1:end-2); end49 if (length(A)>2), md.miscellaneous.name=A(3).file(1:end-2); end -
issm/trunk/test/Par/Pig.par
r9610 r9625 43 43 %Change name so that no test have the same name 44 44 A=dbstack; 45 if (length(A)>2), md. name=A(3).file(1:end-2); end45 if (length(A)>2), md.miscellaneous.name=A(3).file(1:end-2); end -
issm/trunk/test/Par/RoundSheetShelf.par
r9611 r9625 89 89 %Change name so that no test have the same name 90 90 A=dbstack; 91 if (length(A)>2), md. name=A(3).file(1:end-2); end91 if (length(A)>2), md.miscellaneous.name=A(3).file(1:end-2); end -
issm/trunk/test/Par/SquareSheetConstrained.par
r9610 r9625 46 46 %Change name so that no test have the same name 47 47 A=dbstack; 48 if (length(A)>2), md. name=A(3).file(1:end-2); end48 if (length(A)>2), md.miscellaneous.name=A(3).file(1:end-2); end -
issm/trunk/test/Par/SquareSheetShelf.par
r9611 r9625 53 53 %Change name so that no test have the same name 54 54 A=dbstack; 55 if (length(A)>2), md. name=A(3).file(1:end-2); end55 if (length(A)>2), md.miscellaneous.name=A(3).file(1:end-2); end -
issm/trunk/test/Par/SquareShelf.par
r9610 r9625 46 46 %Change name so that no test have the same name 47 47 A=dbstack; 48 if (length(A)>2), md. name=A(3).file(1:end-2); end48 if (length(A)>2), md.miscellaneous.name=A(3).file(1:end-2); end -
issm/trunk/test/Par/SquareShelfConstrained.par
r9611 r9625 50 50 %Change name so that no test have the same name 51 51 A=dbstack; 52 if (length(A)>2), md. name=A(3).file(1:end-2); end52 if (length(A)>2), md.miscellaneous.name=A(3).file(1:end-2); end
Note:
See TracChangeset
for help on using the changeset viewer.