Changeset 27317
- Timestamp:
- 10/20/22 09:29:37 (3 years ago)
- Location:
- issm/branches/trunk-larour-SLPS2022
- Files:
-
- 5 added
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/branches/trunk-larour-SLPS2022/src/m/classes/clusters/pfe.m
r27228 r27317 51 51 disp(sprintf(' queue: %s',cluster.queue)); 52 52 disp(sprintf(' time: %i',cluster.time)); 53 disp(sprintf(' processor: %s n',cluster.processor));53 disp(sprintf(' processor: %s',cluster.processor)); 54 54 disp(sprintf(' srcpath: %s',cluster.srcpath)); 55 55 disp(sprintf(' extpkgpath: %s',cluster.extpkgpath)); -
issm/branches/trunk-larour-SLPS2022/src/m/classes/dslmme.m
r27091 r27317 38 38 return; 39 39 end 40 nt=length(self.global_average_thermosteric_sea_level); 40 41 for i=1:length(self.global_average_thermosteric_sea_level), 41 42 md = checkfield(md,'field',self.global_average_thermosteric_sea_level{i},'NaN',1,'Inf',1); … … 50 51 51 52 %check time stamps: they should all be in seconds 52 %global_average_thermosteric_sea_level {{{ 53 for i=1:nt, 54 h=self.global_average_thermosteric_sea_level{i}; 55 times=h(end,:); 56 avgtime=mean(times); 57 if(avgtime<10000) 58 error('dslmme checkconsistency error messages: time tags for global_average_thermosteric_sea_level should be in seconds!'); 59 end 60 end %}}} 61 %sea_surface_height_above_geoid {{{ 62 for i=1:nt, 63 h=self.sea_surface_height_above_geoid{i}; 64 times=h(end,:); 65 avgtime=mean(times) 66 if(avgtime<10000) 67 error('dslmme checkconsistency error messages: time tags for sea_surface_height_above_geoid should be in seconds!'); 68 end 69 end %}}} 70 %sea_water_pressure_at_sea_floor {{{ 71 for i=1:nt, 72 h=self.sea_water_pressure_at_sea_floor{i}; 73 times=h(end,:); 74 avgtime=mean(times) 75 if(avgtime<10000) 76 error('dslmme checkconsistency error messages: time tags for sea_water_pressure_at_sea_floor should be in seconds!'); 77 end 78 end %}}} 79 53 checkseconds=0; 54 if checkseconds, 55 %global_average_thermosteric_sea_level {{{ 56 for i=1:nt, 57 h=self.global_average_thermosteric_sea_level{i}; 58 times=h(end,:); 59 avgtime=mean(times); 60 if(avgtime<10000) 61 error('dslmme checkconsistency error messages: time tags for global_average_thermosteric_sea_level should be in seconds!'); 62 end 63 end %}}} 64 %sea_surface_height_above_geoid {{{ 65 for i=1:nt, 66 h=self.sea_surface_height_above_geoid{i}; 67 times=h(end,:); 68 avgtime=mean(times) 69 if(avgtime<10000) 70 error('dslmme checkconsistency error messages: time tags for sea_surface_height_above_geoid should be in seconds!'); 71 end 72 end %}}} 73 %sea_water_pressure_at_sea_floor {{{ 74 for i=1:nt, 75 h=self.sea_water_pressure_at_sea_floor{i}; 76 times=h(end,:); 77 avgtime=mean(times) 78 if(avgtime<10000) 79 error('dslmme checkconsistency error messages: time tags for sea_water_pressure_at_sea_floor should be in seconds!'); 80 end 81 end %}}} 82 end 80 83 end % }}} 81 84 function disp(self) % {{{ -
issm/branches/trunk-larour-SLPS2022/src/m/classes/mmeofflinesolidearthsolution.m
r27248 r27317 51 51 52 52 %check time stamps: they should all be in seconds 53 checkseconds=0; 54 if checkseconds, 53 55 %displacementup {{{ 54 56 for i=1:sup, … … 57 59 avgtime=mean(times); 58 60 if(avgtime<10000) 59 error(' dslmmecheckconsistency error messages: time tags for displacementup should be in seconds!');61 error('mmeofflinesolidearthsolution checkconsistency error messages: time tags for displacementup should be in seconds!'); 60 62 end 61 63 end %}}} … … 87 89 end 88 90 end %}}} 89 91 end 90 92 end % }}} 91 93 function disp(self) % {{{ … … 99 101 function marshall(self,prefix,md,fid) % {{{ 100 102 WriteData(fid,prefix,'data',4,'name','md.solidearth.external.nature','format','Integer'); %code 4 for mmeofflinesolidearthsolution class 101 WriteData(fid,prefix,'data',self.modelid,'name','md.solidearth.external.modelid','format',' Integer');103 WriteData(fid,prefix,'data',self.modelid,'name','md.solidearth.external.modelid','format','Double'); 102 104 nummodels=length(self.displacementeast); 103 105 WriteData(fid,prefix,'name','md.solidearth.external.nummodels','data',nummodels,'format','Integer'); -
issm/branches/trunk-larour-SLPS2022/src/m/classes/modellist.m
r19040 r27317 8 8 models = cell(0,1); 9 9 cluster = generic(); 10 name = ''; 11 end 12 properties (SetAccess=public) 13 runtimename = ''; 10 14 end 11 15 methods … … 122 126 123 127 end % }}} 124 function self = modellist( varargin) % {{{128 function self = modellist(name,cluster,varargin) % {{{ 125 129 126 130 %initialize list 127 131 if nargin==0, 128 132 %Do nothing, 129 elseif nargin==1, 130 if ~isa(varargin{1},'cell'), 131 error('not supported yet'); 132 end 133 133 else 134 135 self.name=name; 136 self.cluster=cluster; 134 137 celllist=varargin{1}; 135 138 … … 145 148 end 146 149 end 147 148 150 self.models = celllist; 149 self.cluster = self.models{1}.cluster;150 151 end 151 152 end % }}} … … 208 209 delete('ModelResults.tar.gz'); 209 210 end % }}} 210 function self = solve(self, varargin)% {{{211 function self = solve(self,solutiontype,varargin)% {{{ 211 212 %SOLVE - apply solution sequence for a list of models. Used in batch mode. 212 213 % 213 214 % Usage: 214 % self=solve(self, varargin)215 % self=solve(self,solutiontype,varargin) 215 216 % where varargin is a lit of paired arguments. 216 % arguments can be: 'analysis_type': 'stressbalance','thermal','masstransport','transient'217 217 % 218 218 % Examples: 219 % self=solve(self,'analysis_type','stressbalance'); 220 219 % self=solve(self,'tr','batch','yes'); 220 221 disp('Starting multiple solve'); 222 223 224 %come up with a run time name: 225 c=clock; 226 self.runtimename=sprintf('%s-%02i-%02i-%04i-%02i-%02i-%02i-%i',self.name,c(2),c(3),c(1),c(4),c(5),floor(c(6)),feature('GetPid')); 227 228 221 229 %recover options 222 options=pairoptions(varargin{:}); 223 224 %add default options 225 options=process_solve_options(options); 230 options=pairoptions(varargin{:},'solutionstring',solutiontype); 226 231 227 232 %length of list 228 233 nummodels=length(self.models); 229 234 230 %name of queue: to make it unique, add a time stamp 231 name=[self.name '-' datestr(now,1) '-' datestr(now,'HH-MM-SS') ]; 232 233 %name of cluster will be first name of list 234 cluster=self.cluster; 235 236 %Figure out parameters for this particular cluster 237 cluster_rc_location=which('cluster.rc'); 238 [codepath,executionpath]=ClusterParameters(cluster,cluster_rc_location); 239 235 %come up with unique names for all our models: 236 for i=1:nummodels, 237 self.models{i}.miscellaneous.name=sprintf('%s%i',self.models{i}.miscellaneous.name,i); 238 end 239 240 names={}; 241 240 242 %solve in batch mode: 241 243 for i=1:nummodels, … … 244 246 mdex=self.models{i}; 245 247 246 %recover some fields247 mdex.analysis_type=options.analysis_type;248 249 mdex.name=[name '-' num2str(i) 'vs' num2str(nummodels)];250 mdex.time=self.time;251 mdex.queue=self.queue;252 mdex.cluster=self.cluster;253 if ~isnan(self.np),254 mdex.np=self.np;255 end256 257 248 %call solve in batch mode: 258 if strcmpi(cluster,oshostname), 249 disp(sprintf(' marshalling model %i/%i',i,nummodels)); 250 if strcmpi(self.cluster,oshostname), 259 251 mdex=solve(mdex,varargin{:}); 260 252 else 261 mdex=solve(mdex, varargin{:},'batch','yes','directory',name);253 mdex=solve(mdex,solutiontype,varargin{:},'batch','yes'); 262 254 end 263 255 264 256 %feed back 265 257 self.models{i}=mdex; 258 259 %record name: 260 names{end+1}=sprintf('%s.tar.gz',mdex.private.runtimename); 266 261 end 267 262 268 263 %locally, we are done. 269 if strcmpi( cluster,oshostname),264 if strcmpi(self.cluster,oshostname), 270 265 return 271 266 end 272 273 %now, tar all the files and then erase them. 274 eval(['!find -iname ''' name '-*'' > file_list.txt']); 275 !tar zcvf ModelList.tar.gz --files-from file_list.txt 276 !rm -rf *.bin *.queue file_list.txt 267 268 %tar files: 269 tar('ModelList.tar.gz',names); 277 270 278 271 %still have to build a launching script. 279 BuildMultipleQueueingScript(cluster,name,executionpath,codepath); 272 self.BuildQueueingScript(solutiontype); 273 274 %upload data 275 self.UploadQueueJob(); 280 276 281 277 %launch jobs on remote cluster 282 LaunchMultipleQueueJob(cluster,name,executionpath);278 self.LaunchQueueJob(); 283 279 284 280 %erase files: 285 delete([name '.queue']);286 281 delete('ModelList.tar.gz'); 287 282 288 %save name:289 self.name=name;290 283 end % }}} 284 function self = loadresults(self) % {{{ 285 286 nummodels=length(self.models); 287 cluster=self.cluster; 288 289 %solve in batch mode: 290 directory=sprintf('%s/Interactive%i',cluster.executionpath,cluster.interactive); 291 filelist={}; 292 for i=1:nummodels, 293 filelist{end+1}= sprintf('%s/%s.outbin',self.models{i}.private.runtimename,self.models{i}.miscellaneous.name); 294 end 295 issmscpin(cluster.name,cluster.login,cluster.port,directory,filelist); 296 297 %load results: 298 for i=1:nummodels, 299 self.models{i}=loadresultsfromdisk(self.models{i},sprintf('%s.outbin',self.models{i}.miscellaneous.name)); 300 end 301 302 end %}}} 303 function num= nummodels(self) % {{{ 304 num=length(self.models); 305 end %}}} 306 function BuildQueueingScript(self,solution)% {{{ 307 308 scriptname=[self.runtimename '.queue']; 309 cluster=self.cluster; 310 dirname=self.runtimename; 311 modelname=self.name; 312 nummodels=length(self.models); 313 314 %recover and process solve options %{{{ 315 if strcmpi(solution,'sb') || strcmpi(solution,'Stressbalance') 316 solution = 'StressbalanceSolution'; 317 elseif strcmpi(solution,'mt') || strcmpi(solution,'Masstransport') 318 solution = 'MasstransportSolution'; 319 elseif strcmpi(solution,'oceant') || strcmpi(solution,'Oceantransport') 320 solution = 'OceantransportSolution'; 321 elseif strcmpi(solution,'th') || strcmpi(solution,'Thermal') 322 solution = 'ThermalSolution'; 323 elseif strcmpi(solution,'ss') || strcmpi(solution,'Steadystate') 324 solution = 'SteadystateSolution'; 325 elseif strcmpi(solution,'tr') || strcmpi(solution,'Transient') 326 solution = 'TransientSolution'; 327 elseif strcmpi(solution,'mc') || strcmpi(solution,'Balancethickness') 328 solution = 'BalancethicknessSolution'; 329 elseif strcmpi(solution,'Balancethickness2') 330 solution = 'Balancethickness2Solution'; 331 elseif strcmpi(solution,'mcsoft') || strcmpi(solution,'BalancethicknessSoft') 332 solution = 'BalancethicknessSoftSolution'; 333 elseif strcmpi(solution,'bv') || strcmpi(solution,'Balancevelocity') 334 solution = 'BalancevelocitySolution'; 335 elseif strcmpi(solution,'bsl') || strcmpi(solution,'BedSlope') 336 solution = 'BedSlopeSolution'; 337 elseif strcmpi(solution,'ssl') || strcmpi(solution,'SurfaceSlope') 338 solution = 'SurfaceSlopeSolution'; 339 elseif strcmpi(solution,'hy') || strcmpi(solution,'Hydrology') 340 solution = 'HydrologySolution'; 341 elseif strcmpi(solution,'da') || strcmpi(solution,'DamageEvolution') 342 solution = 'DamageEvolutionSolution'; 343 elseif strcmpi(solution,'gia') || strcmpi(solution,'Gia') 344 solution = 'GiaSolution'; 345 elseif strcmpi(solution,'lv') || strcmpi(solution,'Love') 346 solution = 'LoveSolution'; 347 elseif strcmpi(solution,'esa') || strcmpi(solution,'Esa') 348 solution = 'EsaSolution'; 349 elseif strcmpi(solution,'smp') || strcmpi(solution,'Sampling') 350 solution = 'SamplingSolution'; 351 else 352 error(['solution ' solution ' not supported!']); 353 end 354 %}}} 355 356 executable='issm.exe'; 357 358 fid=fopen([modelname '.queue'],'w'); 359 fprintf(fid,'#PBS -S /bin/bash\n'); 360 fprintf(fid,'#PBS -l select=%i:ncpus=%i:model=%s\n',cluster.numnodes,cluster.cpuspernode,cluster.processor); 361 fprintf(fid,'#PBS -l walltime=%i\n',cluster.time*60); %walltime is in seconds. 362 fprintf(fid,'#PBS -q %s\n',cluster.queue); 363 fprintf(fid,'#PBS -W group_list=%s\n',cluster.grouplist); 364 fprintf(fid,'#PBS -m e\n'); 365 fprintf(fid,'#PBS -o %s/%s/%s.outlog \n',cluster.executionpath,dirname,modelname); 366 fprintf(fid,'#PBS -e %s/%s/%s.errlog \n\n',cluster.executionpath,dirname,modelname); 367 fprintf(fid,'. /usr/share/modules/init/bash\n\n'); 368 for i=1:numel(cluster.modules), fprintf(fid,['module load ' cluster.modules{i} '\n']); end 369 fprintf(fid,'export PATH="$PATH:."\n\n'); 370 fprintf(fid,'export MPI_LAUNCH_TIMEOUT=520\n'); 371 fprintf(fid,'export MPI_GROUP_MAX=64\n\n'); 372 fprintf(fid,'export ISSM_DIR="%s"\n',cluster.srcpath); %FIXME 373 374 fprintf(fid,'source $ISSM_DIR/etc/environment.sh\n'); %FIXME 375 fprintf(fid,'cd %s/%s/\n\n',cluster.executionpath,dirname); 376 377 for i=1:nummodels, 378 fprintf(fid,'cd %s && mpiexec -np %i /u/scicon/tools/bin/mbind.x %s/%s %s %s/%s/%s && cd ..\n',self.models{i}.private.runtimename,cluster.nprocs(),cluster.codepath,executable,solution,cluster.executionpath,self.runtimename,self.models{i}.private.runtimename); 379 end 380 fclose(fid); 381 382 %in interactive mode, create a run file, and errlog and outlog file 383 if cluster.interactive, 384 fid=fopen([modelname '.run'],'w'); 385 for i=1:nummodels, 386 fprintf(fid,'cd %s && mpiexec -np %i /u/scicon/tools/bin/mbind.x %s/%s %s %s/%s %s && cd ..\n',self.models{i}.private.runtimename,cluster.nprocs(),cluster.codepath,executable,solution,[cluster.executionpath '/Interactive' num2str(cluster.interactive)] ,self.models{i}.private.runtimename,self.models{i}.miscellaneous.name); 387 end 388 fclose(fid); 389 fid=fopen([modelname '.errlog'],'w'); fclose(fid); 390 fid=fopen([modelname '.outlog'],'w'); fclose(fid); 391 end 392 end% }}} 393 function UploadQueueJob(self) % {{{ 394 395 cluster=self.cluster; 396 397 %compress the files into one zip. 398 compressstring=sprintf('tar -zcf %s.tar.gz ModelList.tar.gz %s.queue ',self.name,self.name); 399 if cluster.interactive, 400 compressstring = sprintf('%s %s.run %s.errlog %s.outlog',compressstring, self.name,self.name,self.name); 401 end 402 system(compressstring); 403 404 disp('uploading input file and queueing script'); 405 if cluster.interactive, 406 directory=[cluster.executionpath '/Interactive' num2str(cluster.interactive)]; 407 else 408 directory=cluster.executionpath; 409 end 410 411 issmscpout(cluster.name,directory,cluster.login,cluster.port,{[self.name '.tar.gz']}); 412 413 end 414 %}}} 415 function LaunchQueueJob(self)% {{{ 416 %LAUNCHQUEUEJOB - LAUNCH MULTIPLE QUEUEING SCRIPT ON PFE CLUSTER 417 % 418 % Usage: 419 % LaunchQueueJob(self) 420 421 cluster=self.cluster; 422 modelname=self.name; 423 nummodels=length(self.models); 424 425 disp('uploading inputs files'); 426 if cluster.interactive, 427 launchcommand=sprintf('cd %s/Interactive%i && tar -zxf %s.tar.gz && tar -zxvf ModelList.tar.gz ',cluster.executionpath,cluster.interactive,modelname); 428 for i=1:nummodels, 429 launchcommand=sprintf('%s && mkdir %s && cd %s && mv ../%s.tar.gz ./ && tar -zxvf %s.tar.gz && cd .. ',launchcommand,self.models{i}.private.runtimename, ... 430 self.models{i}.private.runtimename, self.models{i}.private.runtimename, self.models{i}.private.runtimename); 431 end 432 else 433 launchcommand=['cd ' cluster.executionpath ' && mkdir ' self.runtimename... 434 ' && cd ' self.runtimename ' && mv ../' self.runtimename '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && qsub ' modelname '.queue ']; 435 end 436 437 disp('launching solution sequence on remote cluster'); 438 issmssh(cluster.name,cluster.login,cluster.port,launchcommand); 439 end 291 440 end 292 441 end 293 294 function BuildMultipleQueueingScript(cluster,name,executionpath,codepath)% {{{295 %BUILDMULTIPLEQUEUEINGSCRIPT -296 %297 % Usage:298 % BuildMultipleQueueingScript(executionpath,codepath)299 300 disp('building queueing script');301 302 %First try and figure out if there is a special script for this particular cluster303 function_name=['BuildMultipleQueueingScript' cluster]304 305 %some specific treatment of identical cluster, gemini, castor and pollux306 if strcmpi(cluster,'castor') || strcmpi(cluster,'pollux'),307 function_name='BuildMultipleQueueingScriptgemini';308 end309 310 if exist(function_name,'file'),311 %Call this function:312 eval([function_name '(name,executionpath,codepath);']);313 else314 %Call the generic BuildQueueingScript:315 BuildMultipleQueueingScriptGeneric(name,executionpath,codepath);316 end317 end % }}}318 function BuildQueueingScriptgemini(name,executionpath,codepath)% {{{319 %BUILDQUEUEINGSCRIPTGEMINI - ...320 %321 % Usage:322 % BuildQueueingScriptgemini(md,executionpath,codepath)323 324 scriptname=[name '.queue'];325 326 fid=fopen(scriptname,'w');327 if fid==-1,328 error(['BuildQueueingScriptgeminierror message: could not open ' scriptname ' file for ascii writing']);329 end330 331 fprintf(fid,'#!/bin/sh\n');332 fprintf(fid,'cd %s\n',executionpath);333 fprintf(fid,'mkdir %s\n',name);334 fprintf(fid,'cd %s\n',name);335 fprintf(fid,'mv ../ModelList.tar.gz ./\n');336 fprintf(fid,'tar -zxvf ModelList.tar.gz\n');337 fprintf(fid,'foreach i (%s-*vs*.queue)\n',name);338 fprintf(fid,'qsub $i\n');339 fprintf(fid,'end\n');340 fclose(fid);341 end% }}}342 function LaunchMultipleQueueJob(cluster,name,executionpath)% {{{343 %LAUNCHMULTIPLEQUEUEJOB - ...344 %345 % Usage:346 % LaunchMultipleQueueJob(executionpath)347 348 %First try and figure out if there is a special script for thie particular cluster349 function_name=['LaunchMultipleQueueJob' cluster]350 351 %some specific treatment of identical cluster, gemini, castor and pollux352 if strcmpi(cluster,'castor') || strcmpi(cluster,'pollux'),353 function_name='LaunchMultipleQueueJobgemini';354 end355 356 if exist(function_name,'file'),357 %Call this function:358 eval([function_name '(cluster,name,executionpath);']);359 else360 %Call the generic LaunchMultipleQueueJob:361 LaunchMultipleQueueJobGeneric(cluster,name,executionpath);362 end363 end% }}}364 function md=LaunchMultipleQueueJobgemini(cluster,name,executionpath)% {{{365 %LAUNCHMULTIPLEQUEUEJOBGEMINI - Launch multiple queueing script on Gemini cluster366 %367 % Usage:368 % LaunchMultipleQueueJobgemini(cluster,name,executionpath)369 370 %first, check we have the binary file and the queueing script371 if ~exist([ name '.queue'],'file'),372 error('LaunchMultipleQueueJobgemini error message: queueing script issing, cannot go forward');373 end374 375 if ~exist('ModelList.tar.gz','file'),376 error('LaunchMultipleQueueJobgemini error message: inputs models file missing, cannot go forward');377 end378 379 %upload both files to cluster380 disp('uploading input file, queueing script and variables script');381 eval(['!scp ModelList.tar.gz ' name '.queue ' cluster ':' executionpath]);382 383 disp('launching solution sequence on remote cluster');384 issmssh(cluster,login,['"cd ' executionpath ' && source ' name '.queue "']);385 end% }}} -
issm/branches/trunk-larour-SLPS2022/src/m/contrib/larour/glacier_inventory.m
r25758 r27317 183 183 %Go through O2 regions: 184 184 for i=subsetregions, 185 %for i= 33,185 %for i=89:150, 186 186 string=self.boxes(i).RGI_CODE; 187 187 disp(['progressing with region ' num2str(i) ' ' string]); … … 210 210 case 32, radius=60; 211 211 case 33, radius=10; 212 case 36, radius=10; 212 213 case 41, radius=75; 213 214 case 42, radius=45; 215 case 51, radius=10; 214 216 case 61, radius=66; 217 case 63, radius=10; 215 218 case 68, radius=10; 219 case 77, radius=10; 216 220 case 82, radius=30; 221 case 83, radius=20; 222 case 89, radius=20; 223 case 90, radius=10; 224 case 93, radius=10; 217 225 otherwise, 218 226 end % }}} -
issm/branches/trunk-larour-SLPS2022/src/m/plot/applyoptions.m
r27134 r27317 399 399 400 400 %coastlines 401 if (strcmpi(getfieldvalue(options,'coastlines','o ff'),'on') | ...402 strcmpi(getfieldvalue(options,'coastlines','o ff'),'on'))401 if (strcmpi(getfieldvalue(options,'coastlines','on'),'on') | ... 402 strcmpi(getfieldvalue(options,'coastlines','on'),'on')) 403 403 plot_coastlines(md.mesh,options); 404 404 end -
issm/branches/trunk-larour-SLPS2022/src/m/plot/plot_coastlines.m
r25685 r27317 9894 9894 hold on, p=plot(x,y,'k-'); 9895 9895 xlim(xl); ylim(yl); 9896 set(p,'Color',getfieldvalue(options,'coast_color',' k'));9896 set(p,'Color',getfieldvalue(options,'coast_color','w')); 9897 9897 set(p,'LineWidth',getfieldvalue(options,'coast_linewidth',1)); 9898 9898 else … … 9901 9901 [x,y,z]=AboveGround(coastlat,coastlon,mesh.r(1),1000); 9902 9902 hold on, p=plot3(x,y,z,'k-'); 9903 set(p,'Color',getfieldvalue(options,'coast_color',' k'));9903 set(p,'Color',getfieldvalue(options,'coast_color','w')); 9904 9904 set(p,'LineWidth',getfieldvalue(options,'coast_linewidth',1)); 9905 9905 else 9906 9906 hold on, 9907 warning off; 9907 9908 p=polyshape(coastlon,coastlat); 9908 plot(p,'FaceColor','w','FaceAlpha',1); 9909 warning on; 9910 pp=plot(p,'FaceColor',getfieldvalue(options,'coast_color','w'),'FaceAlpha',getfieldvalue(options,'coast_alpha',1),... 9911 'LineWidth',getfieldvalue(options,'coast_linewidth',1),'EdgeColor',getfieldvalue(options,'coast_color','w')); 9909 9912 if strcmpi(getfieldvalue(options,'coordcent','atlantic'),'pacific'), 9910 9913 xlim(getfieldvalue(options,'xlim',[-360 0])); -
issm/branches/trunk-larour-SLPS2022/src/m/plot/processdatalatlong.m
r25758 r27317 24 24 data=[data; extradata]; 25 25 elseif length(data)==length(md.mesh.elements), 26 datatype=1; 26 datatype=2; 27 data=averaging(md,data,0); 28 extradata=griddata(x0,y0,data,xextra,yextra,'nearest'); 29 data=[data; extradata]; 30 27 31 end -
issm/branches/trunk-larour-SLPS2022/test/NightlyRun/test2002.m
r26842 r27317 78 78 %Solution parameters 79 79 md.cluster.np=3; 80 md.cluster.codepath='/Users/larour/issm-trunks/trunk-SLPS/build-dak/bin'; 80 81 md.solidearth.settings.reltol=NaN; 81 82 md.solidearth.settings.abstol=1e-3; -
issm/branches/trunk-larour-SLPS2022/test/NightlyRun/test2090.m
r26809 r27317 121 121 md.solidearth.settings.viscous=1; 122 122 md.solidearth.settings.rotation=1; 123 error; 123 124 md=solve(md,'tr'); 124 125 -
issm/branches/trunk-larour-SLPS2022/test/NightlyRun/test2091.m
r26884 r27317 23 23 defaultoptions={'KeepVertices',0,'MaxCornerAngle',0.0000000001,'NoBoundaryRefinement',1}; 24 24 md2d=bamg(model,'domain',dom,'subdomains',co,'hmin',100e3,'hmax',10000e3,defaultoptions{:}); 25 %hmax a 3000 25 26 26 27 colat=sqrt(md2d.mesh.x.^2+md2d.mesh.y.^2)/re; … … 145 146 %Solution parameters 146 147 md.cluster.np=3; 148 md.cluster.codepath='/Users/larour/issm-trunks/trunk-SLPS/build-dak/bin'; 147 149 md.solidearth.settings.reltol=NaN; 148 150 md.solidearth.settings.abstol=1e-3;
Note:
See TracChangeset
for help on using the changeset viewer.