Index: ../trunk-jpl/src/m/solve/solve.py =================================================================== --- ../trunk-jpl/src/m/solve/solve.py (revision 19334) +++ ../trunk-jpl/src/m/solve/solve.py (revision 19335) @@ -61,17 +61,19 @@ ismodelselfconsistent(md) #First, build a runtime name that is unique - if options.getfieldvalue('runtimename',True): - c=datetime.datetime.now() - md.private.runtimename="%s-%02i-%02i-%04i-%02i-%02i-%02i-%i" % (md.miscellaneous.name,c.month,c.day,c.year,c.hour,c.minute,c.second,os.getpid()) + restart=options.getfieldvalue('restart','') + if restart == 1: + pass #do nothing else: - md.private.runtimename=md.miscellaneous.name - - #If we are restarting, actually use the provided runtime name: - restart=options.getfieldvalue('restart','') - if restart: - md.private.runtimename=restart - + if restart: + md.private.runtimename=restart + else: + if options.getfieldvalue('runtimename',True): + c=datetime.datetime.now() + md.private.runtimename="%s-%02i-%02i-%04i-%02i-%02i-%02i-%i" % (md.miscellaneous.name,c.month,c.day,c.year,c.hour,c.minute,c.second,os.getpid()) + else: + md.private.runtimename=md.miscellaneous.name + #if running qmu analysis, some preprocessing of dakota files using models #fields needs to be carried out. if md.qmu.isdakota: @@ -101,15 +103,16 @@ return md #Upload all required files: + modelname = md.miscellaneous.name + filelist = [modelname+'.bin ',modelname+'.toolkits ',modelname+'.queue '] + if md.qmu.isdakota: + filelist.append(modelname+'.qmu.in') + if not restart: - modelname = md.miscellaneous.name - filelist = [modelname+'.bin ',modelname+'.toolkits ',modelname+'.queue '] - if md.qmu.isdakota: - filelist.append(modelname+'.qmu.in') cluster.UploadQueueJob(md.miscellaneous.name,md.private.runtimename,filelist) #Launch job - cluster.LaunchQueueJob(md.miscellaneous.name,md.private.runtimename,filelist) + cluster.LaunchQueueJob(md.miscellaneous.name,md.private.runtimename,filelist,restart) #wait on lock if md.settings.waitonlock>0: Index: ../trunk-jpl/src/m/solve/loadresultsfromcluster.m =================================================================== --- ../trunk-jpl/src/m/solve/loadresultsfromcluster.m (revision 19334) +++ ../trunk-jpl/src/m/solve/loadresultsfromcluster.m (revision 19335) @@ -37,7 +37,7 @@ delete([md.miscellaneous.name '.outlog']); delete([md.miscellaneous.name '.errlog']); delete([md.miscellaneous.name '.outbin']); - if ~ispc(), + if exist([md.private.runtimename '.tar.gz']) & ~ispc(), delete([md.private.runtimename '.tar.gz']); end end Index: ../trunk-jpl/src/m/solve/solve.m =================================================================== --- ../trunk-jpl/src/m/solve/solve.m (revision 19334) +++ ../trunk-jpl/src/m/solve/solve.m (revision 19335) @@ -53,20 +53,22 @@ end end +%If we are restarting, actually use the provided runtime name: +restart=getfieldvalue(options,'restart',''); %First, build a runtime name that is unique -if getfieldvalue(options,'runtimename',true), - c=clock; - md.private.runtimename=sprintf('%s-%02i-%02i-%04i-%02i-%02i-%02i-%i',md.miscellaneous.name,c(2),c(3),c(1),c(4),c(5),floor(c(6)),feature('GetPid')); +if restart==1 + %Leave the runtimename as is else - md.private.runtimename=md.miscellaneous.name; + if ~isempty(restart), + md.private.runtimename=restart; + elseif getfieldvalue(options,'runtimename',true), + c=clock; + md.private.runtimename=sprintf('%s-%02i-%02i-%04i-%02i-%02i-%02i-%i',md.miscellaneous.name,c(2),c(3),c(1),c(4),c(5),floor(c(6)),feature('GetPid')); + else + md.private.runtimename=md.miscellaneous.name; + end end -%If we are restarting, actually use the provided runtime name: -restart=getfieldvalue(options,'restart',''); -if ~isempty(restart), - md.private.runtimename=restart; -end - %if running qmu analysis, some preprocessing of dakota files using models %fields needs to be carried out. if md.qmu.isdakota, @@ -106,23 +108,24 @@ end %Upload all required files +modelname = md.miscellaneous.name; +filelist = {[modelname '.bin '] [modelname '.toolkits ']}; +if ispc, + filelist{end+1}=[modelname '.bat ']; +else + filelist{end+1}=[modelname '.queue ']; +end + +if md.qmu.isdakota, + filelist{end+1} = [modelname '.qmu.in']; +end + if isempty(restart), - modelname = md.miscellaneous.name; - filelist = {[modelname '.bin '] [modelname '.toolkits ']}; - if ispc, - filelist{end+1}=[modelname '.bat ']; - else - filelist{end+1}=[modelname '.queue ']; - end - - if md.qmu.isdakota, - filelist{end+1} = [modelname '.qmu.in']; - end UploadQueueJob(cluster,md.miscellaneous.name,md.private.runtimename,filelist); end %launch queue job: -LaunchQueueJob(cluster,md.miscellaneous.name,md.private.runtimename,filelist); +LaunchQueueJob(cluster,md.miscellaneous.name,md.private.runtimename,filelist,restart); %wait on lock if isnan(md.settings.waitonlock), Index: ../trunk-jpl/src/m/classes/clusters/greenplanet.m =================================================================== --- ../trunk-jpl/src/m/classes/clusters/greenplanet.m (revision 19334) +++ ../trunk-jpl/src/m/classes/clusters/greenplanet.m (revision 19335) @@ -153,11 +153,15 @@ issmscpout(cluster.name,cluster.executionpath,cluster.login,cluster.port,{[dirname '.tar.gz']}); end %}}} - function LaunchQueueJob(cluster,modelname,dirname,filelist)% {{{ + function LaunchQueueJob(cluster,modelname,dirname,filelist,restart)% {{{ disp('launching solution sequence on remote cluster'); - launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ... - ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && hostname && qsub ' modelname '.queue ']; + if ~isempty(restart) + launchcommand=['cd ' cluster.executionpath ' && cd ' dirname ' && hostname && qsub ' modelname '.queue ']; + else + launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ... + ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && hostname && qsub ' modelname '.queue ']; + end issmssh(cluster.name,cluster.login,cluster.port,launchcommand); end %}}} function Download(cluster,dirname,filelist)% {{{ Index: ../trunk-jpl/src/m/classes/clusters/cloud.m =================================================================== --- ../trunk-jpl/src/m/classes/clusters/cloud.m (revision 19334) +++ ../trunk-jpl/src/m/classes/clusters/cloud.m (revision 19335) @@ -80,16 +80,24 @@ issmstscpout(cluster.name,cluster.executionpath,cluster.login,{[dirname '.tar.gz']}); end %}}} - function LaunchQueueJob(cluster,modelname,dirname,filelist)% {{{ + function LaunchQueueJob(cluster,modelname,dirname,filelist,restart)% {{{ if cluster.interactive, disp('sending files to remote cluster. once done, please log into cluster and launch job'); - launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ... - ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz ']; + if ~isempty(restart) + launchcommand=['cd ' cluster.executionpath ' && cd ' dirname]; + else + launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ... + ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz ']; + end else disp('launching solution sequence on remote cluster'); - launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ... - ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && qsub ' modelname '.queue ']; + if ~isempty(restart) + launchcommand=['cd ' cluster.executionpath ' && cd ' dirname ' && qsub ' modelname '.queue ']; + else + launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ... + ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && qsub ' modelname '.queue ']; + end end issmstssh(cluster.name,cluster.login,launchcommand); end %}}} Index: ../trunk-jpl/src/m/classes/clusters/pfe.py =================================================================== --- ../trunk-jpl/src/m/classes/clusters/pfe.py (revision 19334) +++ ../trunk-jpl/src/m/classes/clusters/pfe.py (revision 19335) @@ -168,11 +168,14 @@ issmscpout(self.name,self.executionpath,self.login,self.port,[dirname+'.tar.gz']) # }}} - def LaunchQueueJob(self,modelname,dirname,filelist): + def LaunchQueueJob(self,modelname,dirname,filelist,restart): # {{{ print 'launching solution sequence on remote cluster' - launchcommand='cd %s && rm -rf ./%s && mkdir %s && cd %s && mv ../%s.tar.gz ./ && tar -zxf %s.tar.gz && qsub %s.queue' % (self.executionpath,dirname,dirname,dirname,dirname,dirname,modelname) + if restart: + launchcommand='cd %s && cd %s && qsub %s.queue' % (self.executionpath,dirname,modelname) + else: + launchcommand='cd %s && rm -rf ./%s && mkdir %s && cd %s && mv ../%s.tar.gz ./ && tar -zxf %s.tar.gz && qsub %s.queue' % (self.executionpath,dirname,dirname,dirname,dirname,dirname,modelname) issmssh(self.name,self.login,self.port,launchcommand) # }}} Index: ../trunk-jpl/src/m/classes/clusters/gemini.m =================================================================== --- ../trunk-jpl/src/m/classes/clusters/gemini.m (revision 19334) +++ ../trunk-jpl/src/m/classes/clusters/gemini.m (revision 19335) @@ -86,11 +86,15 @@ issmscpout(cluster.name,cluster.executionpath,cluster.login,cluster.port,{[dirname '.tar.gz']}); end %}}} - function LaunchQueueJob(cluster,modelname,dirname,filelist)% {{{ + function LaunchQueueJob(cluster,modelname,dirname,filelist,restart)% {{{ disp('launching solution sequence on remote cluster'); - launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ... - ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && qsub ' modelname '.queue ']; + if ~isempty(restart) + launchcommand=['cd ' cluster.executionpath ' && cd ' dirname ' && qsub ' modelname '.queue ']; + else + launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ... + ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && qsub ' modelname '.queue ']; + end issmssh(cluster.name,cluster.login,cluster.port,launchcommand); end %}}} function Download(cluster,dirname,filelist)% {{{ Index: ../trunk-jpl/src/m/classes/clusters/generic.py =================================================================== --- ../trunk-jpl/src/m/classes/clusters/generic.py (revision 19334) +++ ../trunk-jpl/src/m/classes/clusters/generic.py (revision 19335) @@ -175,11 +175,14 @@ issmscpout(self.name,self.executionpath,self.login,self.port,[dirname+'.tar.gz']) # }}} - def LaunchQueueJob(self,modelname,dirname,filelist): # {{{ + def LaunchQueueJob(self,modelname,dirname,filelist,restart): # {{{ print 'launching solution sequence on remote cluster' - launchcommand='cd %s && rm -rf ./%s && mkdir %s && cd %s && mv ../%s.tar.gz ./ && tar -zxf %s.tar.gz && chmod 777 %s.queue && ./%s.queue' % \ - (self.executionpath,dirname,dirname,dirname,dirname,dirname,modelname,modelname) + if restart: + launchcommand='cd %s && cd %s chmod 777 %s.queue && ./%s.queue' % (self.executionpath,dirname,modelname,modelname) + else: + launchcommand='cd %s && rm -rf ./%s && mkdir %s && cd %s && mv ../%s.tar.gz ./ && tar -zxf %s.tar.gz && chmod 777 %s.queue && ./%s.queue' % \ + (self.executionpath,dirname,dirname,dirname,dirname,dirname,modelname,modelname) issmssh(self.name,self.login,self.port,launchcommand) # }}} def Download(self,dirname,filelist): # {{{ Index: ../trunk-jpl/src/m/classes/clusters/hpc.m =================================================================== --- ../trunk-jpl/src/m/classes/clusters/hpc.m (revision 19334) +++ ../trunk-jpl/src/m/classes/clusters/hpc.m (revision 19335) @@ -147,11 +147,15 @@ issmscpout(cluster.name,cluster.executionpath,cluster.login,cluster.port,{[dirname '.tar.gz']}); end %}}} - function LaunchQueueJob(cluster,modelname,dirname,filelist)% {{{ + function LaunchQueueJob(cluster,modelname,dirname,filelist,restart)% {{{ disp('launching solution sequence on remote cluster'); - launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ... - ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && hostname && qsub ' modelname '.queue ']; + if ~isempty(restart) + launchcommand=['cd ' cluster.executionpath ' && cd ' dirname ' && hostname && qsub ' modelname '.queue ']; + else + launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ... + ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && hostname && qsub ' modelname '.queue ']; + end issmssh(cluster.name,cluster.login,cluster.port,launchcommand); end %}}} function Download(cluster,dirname,filelist)% {{{ Index: ../trunk-jpl/src/m/classes/clusters/pfe.m =================================================================== --- ../trunk-jpl/src/m/classes/clusters/pfe.m (revision 19334) +++ ../trunk-jpl/src/m/classes/clusters/pfe.m (revision 19335) @@ -268,14 +268,22 @@ end %}}} - function LaunchQueueJob(cluster,modelname,dirname,filelist)% {{{ + function LaunchQueueJob(cluster,modelname,dirname,filelist,restart)% {{{ %lauch command, to be executed via ssh if ~cluster.interactive, - launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ... - ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && qsub ' modelname '.queue ']; + if ~isempty(restart) + launchcommand=['cd ' cluster.executionpath ' && cd ' dirname ' && qsub ' modelname '.queue ']; + else + launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ... + ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && qsub ' modelname '.queue ']; + end else - launchcommand=['cd ' cluster.executionpath '/Interactive' num2str(cluster.interactive) ' && tar -zxf ' dirname '.tar.gz']; + if ~isempty(restart) + launchcommand=['cd ' cluster.executionpath '/Interactive' num2str(cluster.interactive)]; + else + launchcommand=['cd ' cluster.executionpath '/Interactive' num2str(cluster.interactive) ' && tar -zxf ' dirname '.tar.gz']; + end end disp('launching solution sequence on remote cluster'); Index: ../trunk-jpl/src/m/classes/clusters/castor.m =================================================================== --- ../trunk-jpl/src/m/classes/clusters/castor.m (revision 19334) +++ ../trunk-jpl/src/m/classes/clusters/castor.m (revision 19335) @@ -85,11 +85,15 @@ issmscpout(cluster.name,cluster.executionpath,cluster.login,cluster.port,{[dirname '.tar.gz']}); end %}}} - function LaunchQueueJob(cluster,modelname,dirname,filelist)% {{{ + function LaunchQueueJob(cluster,modelname,dirname,filelist,restart)% {{{ disp('launching solution sequence on remote cluster'); - launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ... - ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && qsub ' modelname '.queue ']; + if ~isempty(restart) + launchcommand=['cd ' cluster.executionpath ' && cd ' dirname ' && qsub ' modelname '.queue ']; + else + launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ... + ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && qsub ' modelname '.queue ']; + end issmssh(cluster.name,cluster.login,cluster.port,launchcommand); end %}}} function Download(cluster,dirname,filelist)% {{{ Index: ../trunk-jpl/src/m/classes/clusters/generic.m =================================================================== --- ../trunk-jpl/src/m/classes/clusters/generic.m (revision 19334) +++ ../trunk-jpl/src/m/classes/clusters/generic.m (revision 19335) @@ -225,7 +225,7 @@ issmscpout(cluster.name,cluster.executionpath,cluster.login,cluster.port,{[dirname '.tar.gz']}); end end %}}} - function LaunchQueueJob(cluster,modelname,dirname,filelist)% {{{ + function LaunchQueueJob(cluster,modelname,dirname,filelist,restart)% {{{ if ~ispc, @@ -237,12 +237,18 @@ end if cluster.verbose, disp('launching solution sequence on remote cluster'); end - launchcommand=['source ' cluster.etcpath '/environment.' shellext ' && cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ... - ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && source ' modelname '.queue ']; + + if ~isempty(restart) + launchcommand=['source ' cluster.etcpath '/environment.' shellext ' && cd ' cluster.executionpath ' && cd ' dirname ' && source ' modelname '.queue ']; + else + launchcommand=['source ' cluster.etcpath '/environment.' shellext ' && cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ... + ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && source ' modelname '.queue ']; + end issmssh(cluster.name,cluster.login,cluster.port,launchcommand); else system([modelname '.bat']); end + end %}}} function Download(cluster,dirname,filelist)% {{{ Index: ../trunk-jpl/src/m/classes/clusters/discover.m =================================================================== --- ../trunk-jpl/src/m/classes/clusters/discover.m (revision 19334) +++ ../trunk-jpl/src/m/classes/clusters/discover.m (revision 19335) @@ -162,13 +162,21 @@ end %}}} - function LaunchQueueJob(cluster,modelname,dirname,filelist)% {{{ + function LaunchQueueJob(cluster,modelname,dirname,filelist,restart)% {{{ if ~cluster.interactive, - launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ... - ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && qsub ' modelname '.queue ']; + if ~isempty(restart) + launchcommand=['cd ' cluster.executionpath ' && cd ' dirname ' && qsub ' modelname '.queue ']; + else + launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ... + ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && qsub ' modelname '.queue ']; + end else - launchcommand=['cd ' cluster.executionpath '/Interactive' num2str(cluster.interactive) ' && tar -zxf ' dirname '.tar.gz']; + if ~isempty(restart) + launchcommand=['cd ' cluster.executionpath '/Interactive' num2str(cluster.interactive)]; + else + launchcommand=['cd ' cluster.executionpath '/Interactive' num2str(cluster.interactive) ' && tar -zxf ' dirname '.tar.gz']; + end end disp('launching solution sequence on remote cluster'); Index: ../trunk-jpl/src/m/classes/clusters/acenet.m =================================================================== --- ../trunk-jpl/src/m/classes/clusters/acenet.m (revision 19334) +++ ../trunk-jpl/src/m/classes/clusters/acenet.m (revision 19335) @@ -130,11 +130,15 @@ issmscpout(cluster.name,cluster.executionpath,cluster.login,cluster.port,{[dirname '.tar.gz']}); end %}}} - function LaunchQueueJob(cluster,modelname,dirname,filelist)% {{{ + function LaunchQueueJob(cluster,modelname,dirname,filelist,restart)% {{{ disp('launching solution sequence on remote cluster'); - launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ... - ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && qsub ' modelname '.queue ']; + if ~isempty(restart) + launchcommand=['cd ' cluster.executionpath ' && cd ' dirname ' && qsub ' modelname '.queue ']; + else + launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ... + ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && qsub ' modelname '.queue ']; + end issmssh(cluster.name,cluster.login,cluster.port,launchcommand); end %}}} function Download(cluster,dirname,filelist)% {{{ Index: ../trunk-jpl/src/m/classes/clusters/cosmos.m =================================================================== --- ../trunk-jpl/src/m/classes/clusters/cosmos.m (revision 19334) +++ ../trunk-jpl/src/m/classes/clusters/cosmos.m (revision 19335) @@ -85,11 +85,15 @@ issmscpout(cluster.name,cluster.executionpath,cluster.login,cluster.port,{[dirname '.tar.gz']}); end %}}} - function LaunchQueueJob(cluster,modelname,dirname,filelist)% {{{ + function LaunchQueueJob(cluster,modelname,dirname,filelist,restart)% {{{ disp('launching solution sequence on remote cluster'); - launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ... - ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && qsub ' modelname '.queue ']; + if ~isempty(restart) + launchcommand=['cd ' cluster.executionpath ' && cd ' dirname ' && qsub ' modelname '.queue ']; + else + launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ... + ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && qsub ' modelname '.queue ']; + end issmssh(cluster.name,cluster.login,cluster.port,launchcommand); end %}}} function Download(cluster,dirname,filelist)% {{{ Index: ../trunk-jpl/src/m/classes/clusters/generic_static.m =================================================================== --- ../trunk-jpl/src/m/classes/clusters/generic_static.m (revision 19334) +++ ../trunk-jpl/src/m/classes/clusters/generic_static.m (revision 19335) @@ -65,7 +65,7 @@ %do nothing end %}}} - function LaunchQueueJob(cluster,modelname,dirname,filelist)% {{{ + function LaunchQueueJob(cluster,modelname,dirname,filelist,restart)% {{{ if ~ispc, Index: ../trunk-jpl/src/m/classes/clusters/pollux.m =================================================================== --- ../trunk-jpl/src/m/classes/clusters/pollux.m (revision 19334) +++ ../trunk-jpl/src/m/classes/clusters/pollux.m (revision 19335) @@ -69,11 +69,15 @@ end %}}} - function LaunchQueueJob(cluster,modelname,dirname,filelist)% {{{ + function LaunchQueueJob(cluster,modelname,dirname,filelist,restart)% {{{ disp('launching solution sequence on remote cluster'); - launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ... - ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && qsub ' modelname '.queue ']; + if ~isempty(restart) + launchcommand=['cd ' cluster.executionpath ' && cd ' dirname ' && qsub ' modelname '.queue ']; + else + launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ... + ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && qsub ' modelname '.queue ']; + end issmssh(cluster.name,cluster.login,cluster.port,launchcommand); end %}}} function UploadQueueJob(cluster,modelname,dirname,filelist)% {{{