source: issm/oecreview/Archive/19101-20495/ISSM-19334-19335.diff@ 20498

Last change on this file since 20498 was 20498, checked in by Mathieu Morlighem, 9 years ago

CHG: done with Archive/19101-20495

File size: 23.2 KB
RevLine 
[20498]1Index: ../trunk-jpl/src/m/solve/solve.py
2===================================================================
3--- ../trunk-jpl/src/m/solve/solve.py (revision 19334)
4+++ ../trunk-jpl/src/m/solve/solve.py (revision 19335)
5@@ -61,17 +61,19 @@
6 ismodelselfconsistent(md)
7
8 #First, build a runtime name that is unique
9- if options.getfieldvalue('runtimename',True):
10- c=datetime.datetime.now()
11- 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())
12+ restart=options.getfieldvalue('restart','')
13+ if restart == 1:
14+ pass #do nothing
15 else:
16- md.private.runtimename=md.miscellaneous.name
17-
18- #If we are restarting, actually use the provided runtime name:
19- restart=options.getfieldvalue('restart','')
20- if restart:
21- md.private.runtimename=restart
22-
23+ if restart:
24+ md.private.runtimename=restart
25+ else:
26+ if options.getfieldvalue('runtimename',True):
27+ c=datetime.datetime.now()
28+ 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())
29+ else:
30+ md.private.runtimename=md.miscellaneous.name
31+
32 #if running qmu analysis, some preprocessing of dakota files using models
33 #fields needs to be carried out.
34 if md.qmu.isdakota:
35@@ -101,15 +103,16 @@
36 return md
37
38 #Upload all required files:
39+ modelname = md.miscellaneous.name
40+ filelist = [modelname+'.bin ',modelname+'.toolkits ',modelname+'.queue ']
41+ if md.qmu.isdakota:
42+ filelist.append(modelname+'.qmu.in')
43+
44 if not restart:
45- modelname = md.miscellaneous.name
46- filelist = [modelname+'.bin ',modelname+'.toolkits ',modelname+'.queue ']
47- if md.qmu.isdakota:
48- filelist.append(modelname+'.qmu.in')
49 cluster.UploadQueueJob(md.miscellaneous.name,md.private.runtimename,filelist)
50
51 #Launch job
52- cluster.LaunchQueueJob(md.miscellaneous.name,md.private.runtimename,filelist)
53+ cluster.LaunchQueueJob(md.miscellaneous.name,md.private.runtimename,filelist,restart)
54
55 #wait on lock
56 if md.settings.waitonlock>0:
57Index: ../trunk-jpl/src/m/solve/loadresultsfromcluster.m
58===================================================================
59--- ../trunk-jpl/src/m/solve/loadresultsfromcluster.m (revision 19334)
60+++ ../trunk-jpl/src/m/solve/loadresultsfromcluster.m (revision 19335)
61@@ -37,7 +37,7 @@
62 delete([md.miscellaneous.name '.outlog']);
63 delete([md.miscellaneous.name '.errlog']);
64 delete([md.miscellaneous.name '.outbin']);
65- if ~ispc(),
66+ if exist([md.private.runtimename '.tar.gz']) & ~ispc(),
67 delete([md.private.runtimename '.tar.gz']);
68 end
69 end
70Index: ../trunk-jpl/src/m/solve/solve.m
71===================================================================
72--- ../trunk-jpl/src/m/solve/solve.m (revision 19334)
73+++ ../trunk-jpl/src/m/solve/solve.m (revision 19335)
74@@ -53,20 +53,22 @@
75 end
76 end
77
78+%If we are restarting, actually use the provided runtime name:
79+restart=getfieldvalue(options,'restart','');
80 %First, build a runtime name that is unique
81-if getfieldvalue(options,'runtimename',true),
82- c=clock;
83- 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'));
84+if restart==1
85+ %Leave the runtimename as is
86 else
87- md.private.runtimename=md.miscellaneous.name;
88+ if ~isempty(restart),
89+ md.private.runtimename=restart;
90+ elseif getfieldvalue(options,'runtimename',true),
91+ c=clock;
92+ 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'));
93+ else
94+ md.private.runtimename=md.miscellaneous.name;
95+ end
96 end
97
98-%If we are restarting, actually use the provided runtime name:
99-restart=getfieldvalue(options,'restart','');
100-if ~isempty(restart),
101- md.private.runtimename=restart;
102-end
103-
104 %if running qmu analysis, some preprocessing of dakota files using models
105 %fields needs to be carried out.
106 if md.qmu.isdakota,
107@@ -106,23 +108,24 @@
108 end
109
110 %Upload all required files
111+modelname = md.miscellaneous.name;
112+filelist = {[modelname '.bin '] [modelname '.toolkits ']};
113+if ispc,
114+ filelist{end+1}=[modelname '.bat '];
115+else
116+ filelist{end+1}=[modelname '.queue '];
117+end
118+
119+if md.qmu.isdakota,
120+ filelist{end+1} = [modelname '.qmu.in'];
121+end
122+
123 if isempty(restart),
124- modelname = md.miscellaneous.name;
125- filelist = {[modelname '.bin '] [modelname '.toolkits ']};
126- if ispc,
127- filelist{end+1}=[modelname '.bat '];
128- else
129- filelist{end+1}=[modelname '.queue '];
130- end
131-
132- if md.qmu.isdakota,
133- filelist{end+1} = [modelname '.qmu.in'];
134- end
135 UploadQueueJob(cluster,md.miscellaneous.name,md.private.runtimename,filelist);
136 end
137
138 %launch queue job:
139-LaunchQueueJob(cluster,md.miscellaneous.name,md.private.runtimename,filelist);
140+LaunchQueueJob(cluster,md.miscellaneous.name,md.private.runtimename,filelist,restart);
141
142 %wait on lock
143 if isnan(md.settings.waitonlock),
144Index: ../trunk-jpl/src/m/classes/clusters/greenplanet.m
145===================================================================
146--- ../trunk-jpl/src/m/classes/clusters/greenplanet.m (revision 19334)
147+++ ../trunk-jpl/src/m/classes/clusters/greenplanet.m (revision 19335)
148@@ -153,11 +153,15 @@
149 issmscpout(cluster.name,cluster.executionpath,cluster.login,cluster.port,{[dirname '.tar.gz']});
150
151 end %}}}
152- function LaunchQueueJob(cluster,modelname,dirname,filelist)% {{{
153+ function LaunchQueueJob(cluster,modelname,dirname,filelist,restart)% {{{
154
155 disp('launching solution sequence on remote cluster');
156- launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ...
157- ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && hostname && qsub ' modelname '.queue '];
158+ if ~isempty(restart)
159+ launchcommand=['cd ' cluster.executionpath ' && cd ' dirname ' && hostname && qsub ' modelname '.queue '];
160+ else
161+ launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ...
162+ ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && hostname && qsub ' modelname '.queue '];
163+ end
164 issmssh(cluster.name,cluster.login,cluster.port,launchcommand);
165 end %}}}
166 function Download(cluster,dirname,filelist)% {{{
167Index: ../trunk-jpl/src/m/classes/clusters/cloud.m
168===================================================================
169--- ../trunk-jpl/src/m/classes/clusters/cloud.m (revision 19334)
170+++ ../trunk-jpl/src/m/classes/clusters/cloud.m (revision 19335)
171@@ -80,16 +80,24 @@
172 issmstscpout(cluster.name,cluster.executionpath,cluster.login,{[dirname '.tar.gz']});
173
174 end %}}}
175- function LaunchQueueJob(cluster,modelname,dirname,filelist)% {{{
176+ function LaunchQueueJob(cluster,modelname,dirname,filelist,restart)% {{{
177
178 if cluster.interactive,
179 disp('sending files to remote cluster. once done, please log into cluster and launch job');
180- launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ...
181- ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz '];
182+ if ~isempty(restart)
183+ launchcommand=['cd ' cluster.executionpath ' && cd ' dirname];
184+ else
185+ launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ...
186+ ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz '];
187+ end
188 else
189 disp('launching solution sequence on remote cluster');
190- launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ...
191- ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && qsub ' modelname '.queue '];
192+ if ~isempty(restart)
193+ launchcommand=['cd ' cluster.executionpath ' && cd ' dirname ' && qsub ' modelname '.queue '];
194+ else
195+ launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ...
196+ ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && qsub ' modelname '.queue '];
197+ end
198 end
199 issmstssh(cluster.name,cluster.login,launchcommand);
200 end %}}}
201Index: ../trunk-jpl/src/m/classes/clusters/pfe.py
202===================================================================
203--- ../trunk-jpl/src/m/classes/clusters/pfe.py (revision 19334)
204+++ ../trunk-jpl/src/m/classes/clusters/pfe.py (revision 19335)
205@@ -168,11 +168,14 @@
206 issmscpout(self.name,self.executionpath,self.login,self.port,[dirname+'.tar.gz'])
207
208 # }}}
209- def LaunchQueueJob(self,modelname,dirname,filelist):
210+ def LaunchQueueJob(self,modelname,dirname,filelist,restart):
211 # {{{
212
213 print 'launching solution sequence on remote cluster'
214- 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)
215+ if restart:
216+ launchcommand='cd %s && cd %s && qsub %s.queue' % (self.executionpath,dirname,modelname)
217+ else:
218+ 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)
219 issmssh(self.name,self.login,self.port,launchcommand)
220
221 # }}}
222Index: ../trunk-jpl/src/m/classes/clusters/gemini.m
223===================================================================
224--- ../trunk-jpl/src/m/classes/clusters/gemini.m (revision 19334)
225+++ ../trunk-jpl/src/m/classes/clusters/gemini.m (revision 19335)
226@@ -86,11 +86,15 @@
227 issmscpout(cluster.name,cluster.executionpath,cluster.login,cluster.port,{[dirname '.tar.gz']});
228
229 end %}}}
230- function LaunchQueueJob(cluster,modelname,dirname,filelist)% {{{
231+ function LaunchQueueJob(cluster,modelname,dirname,filelist,restart)% {{{
232
233 disp('launching solution sequence on remote cluster');
234- launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ...
235- ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && qsub ' modelname '.queue '];
236+ if ~isempty(restart)
237+ launchcommand=['cd ' cluster.executionpath ' && cd ' dirname ' && qsub ' modelname '.queue '];
238+ else
239+ launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ...
240+ ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && qsub ' modelname '.queue '];
241+ end
242 issmssh(cluster.name,cluster.login,cluster.port,launchcommand);
243 end %}}}
244 function Download(cluster,dirname,filelist)% {{{
245Index: ../trunk-jpl/src/m/classes/clusters/generic.py
246===================================================================
247--- ../trunk-jpl/src/m/classes/clusters/generic.py (revision 19334)
248+++ ../trunk-jpl/src/m/classes/clusters/generic.py (revision 19335)
249@@ -175,11 +175,14 @@
250 issmscpout(self.name,self.executionpath,self.login,self.port,[dirname+'.tar.gz'])
251
252 # }}}
253- def LaunchQueueJob(self,modelname,dirname,filelist): # {{{
254+ def LaunchQueueJob(self,modelname,dirname,filelist,restart): # {{{
255
256 print 'launching solution sequence on remote cluster'
257- 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' % \
258- (self.executionpath,dirname,dirname,dirname,dirname,dirname,modelname,modelname)
259+ if restart:
260+ launchcommand='cd %s && cd %s chmod 777 %s.queue && ./%s.queue' % (self.executionpath,dirname,modelname,modelname)
261+ else:
262+ 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' % \
263+ (self.executionpath,dirname,dirname,dirname,dirname,dirname,modelname,modelname)
264 issmssh(self.name,self.login,self.port,launchcommand)
265 # }}}
266 def Download(self,dirname,filelist): # {{{
267Index: ../trunk-jpl/src/m/classes/clusters/hpc.m
268===================================================================
269--- ../trunk-jpl/src/m/classes/clusters/hpc.m (revision 19334)
270+++ ../trunk-jpl/src/m/classes/clusters/hpc.m (revision 19335)
271@@ -147,11 +147,15 @@
272 issmscpout(cluster.name,cluster.executionpath,cluster.login,cluster.port,{[dirname '.tar.gz']});
273
274 end %}}}
275- function LaunchQueueJob(cluster,modelname,dirname,filelist)% {{{
276+ function LaunchQueueJob(cluster,modelname,dirname,filelist,restart)% {{{
277
278 disp('launching solution sequence on remote cluster');
279- launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ...
280- ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && hostname && qsub ' modelname '.queue '];
281+ if ~isempty(restart)
282+ launchcommand=['cd ' cluster.executionpath ' && cd ' dirname ' && hostname && qsub ' modelname '.queue '];
283+ else
284+ launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ...
285+ ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && hostname && qsub ' modelname '.queue '];
286+ end
287 issmssh(cluster.name,cluster.login,cluster.port,launchcommand);
288 end %}}}
289 function Download(cluster,dirname,filelist)% {{{
290Index: ../trunk-jpl/src/m/classes/clusters/pfe.m
291===================================================================
292--- ../trunk-jpl/src/m/classes/clusters/pfe.m (revision 19334)
293+++ ../trunk-jpl/src/m/classes/clusters/pfe.m (revision 19335)
294@@ -268,14 +268,22 @@
295
296 end
297 %}}}
298- function LaunchQueueJob(cluster,modelname,dirname,filelist)% {{{
299+ function LaunchQueueJob(cluster,modelname,dirname,filelist,restart)% {{{
300
301 %lauch command, to be executed via ssh
302 if ~cluster.interactive,
303- launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ...
304- ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && qsub ' modelname '.queue '];
305+ if ~isempty(restart)
306+ launchcommand=['cd ' cluster.executionpath ' && cd ' dirname ' && qsub ' modelname '.queue '];
307+ else
308+ launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ...
309+ ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && qsub ' modelname '.queue '];
310+ end
311 else
312- launchcommand=['cd ' cluster.executionpath '/Interactive' num2str(cluster.interactive) ' && tar -zxf ' dirname '.tar.gz'];
313+ if ~isempty(restart)
314+ launchcommand=['cd ' cluster.executionpath '/Interactive' num2str(cluster.interactive)];
315+ else
316+ launchcommand=['cd ' cluster.executionpath '/Interactive' num2str(cluster.interactive) ' && tar -zxf ' dirname '.tar.gz'];
317+ end
318 end
319
320 disp('launching solution sequence on remote cluster');
321Index: ../trunk-jpl/src/m/classes/clusters/castor.m
322===================================================================
323--- ../trunk-jpl/src/m/classes/clusters/castor.m (revision 19334)
324+++ ../trunk-jpl/src/m/classes/clusters/castor.m (revision 19335)
325@@ -85,11 +85,15 @@
326 issmscpout(cluster.name,cluster.executionpath,cluster.login,cluster.port,{[dirname '.tar.gz']});
327
328 end %}}}
329- function LaunchQueueJob(cluster,modelname,dirname,filelist)% {{{
330+ function LaunchQueueJob(cluster,modelname,dirname,filelist,restart)% {{{
331
332 disp('launching solution sequence on remote cluster');
333- launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ...
334- ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && qsub ' modelname '.queue '];
335+ if ~isempty(restart)
336+ launchcommand=['cd ' cluster.executionpath ' && cd ' dirname ' && qsub ' modelname '.queue '];
337+ else
338+ launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ...
339+ ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && qsub ' modelname '.queue '];
340+ end
341 issmssh(cluster.name,cluster.login,cluster.port,launchcommand);
342 end %}}}
343 function Download(cluster,dirname,filelist)% {{{
344Index: ../trunk-jpl/src/m/classes/clusters/generic.m
345===================================================================
346--- ../trunk-jpl/src/m/classes/clusters/generic.m (revision 19334)
347+++ ../trunk-jpl/src/m/classes/clusters/generic.m (revision 19335)
348@@ -225,7 +225,7 @@
349 issmscpout(cluster.name,cluster.executionpath,cluster.login,cluster.port,{[dirname '.tar.gz']});
350 end
351 end %}}}
352- function LaunchQueueJob(cluster,modelname,dirname,filelist)% {{{
353+ function LaunchQueueJob(cluster,modelname,dirname,filelist,restart)% {{{
354
355 if ~ispc,
356
357@@ -237,12 +237,18 @@
358 end
359
360 if cluster.verbose, disp('launching solution sequence on remote cluster'); end
361- launchcommand=['source ' cluster.etcpath '/environment.' shellext ' && cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ...
362- ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && source ' modelname '.queue '];
363+
364+ if ~isempty(restart)
365+ launchcommand=['source ' cluster.etcpath '/environment.' shellext ' && cd ' cluster.executionpath ' && cd ' dirname ' && source ' modelname '.queue '];
366+ else
367+ launchcommand=['source ' cluster.etcpath '/environment.' shellext ' && cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ...
368+ ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && source ' modelname '.queue '];
369+ end
370 issmssh(cluster.name,cluster.login,cluster.port,launchcommand);
371 else
372 system([modelname '.bat']);
373 end
374+
375 end %}}}
376 function Download(cluster,dirname,filelist)% {{{
377
378Index: ../trunk-jpl/src/m/classes/clusters/discover.m
379===================================================================
380--- ../trunk-jpl/src/m/classes/clusters/discover.m (revision 19334)
381+++ ../trunk-jpl/src/m/classes/clusters/discover.m (revision 19335)
382@@ -162,13 +162,21 @@
383
384 end
385 %}}}
386- function LaunchQueueJob(cluster,modelname,dirname,filelist)% {{{
387+ function LaunchQueueJob(cluster,modelname,dirname,filelist,restart)% {{{
388
389 if ~cluster.interactive,
390- launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ...
391- ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && qsub ' modelname '.queue '];
392+ if ~isempty(restart)
393+ launchcommand=['cd ' cluster.executionpath ' && cd ' dirname ' && qsub ' modelname '.queue '];
394+ else
395+ launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ...
396+ ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && qsub ' modelname '.queue '];
397+ end
398 else
399- launchcommand=['cd ' cluster.executionpath '/Interactive' num2str(cluster.interactive) ' && tar -zxf ' dirname '.tar.gz'];
400+ if ~isempty(restart)
401+ launchcommand=['cd ' cluster.executionpath '/Interactive' num2str(cluster.interactive)];
402+ else
403+ launchcommand=['cd ' cluster.executionpath '/Interactive' num2str(cluster.interactive) ' && tar -zxf ' dirname '.tar.gz'];
404+ end
405 end
406
407 disp('launching solution sequence on remote cluster');
408Index: ../trunk-jpl/src/m/classes/clusters/acenet.m
409===================================================================
410--- ../trunk-jpl/src/m/classes/clusters/acenet.m (revision 19334)
411+++ ../trunk-jpl/src/m/classes/clusters/acenet.m (revision 19335)
412@@ -130,11 +130,15 @@
413 issmscpout(cluster.name,cluster.executionpath,cluster.login,cluster.port,{[dirname '.tar.gz']});
414
415 end %}}}
416- function LaunchQueueJob(cluster,modelname,dirname,filelist)% {{{
417+ function LaunchQueueJob(cluster,modelname,dirname,filelist,restart)% {{{
418
419 disp('launching solution sequence on remote cluster');
420- launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ...
421- ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && qsub ' modelname '.queue '];
422+ if ~isempty(restart)
423+ launchcommand=['cd ' cluster.executionpath ' && cd ' dirname ' && qsub ' modelname '.queue '];
424+ else
425+ launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ...
426+ ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && qsub ' modelname '.queue '];
427+ end
428 issmssh(cluster.name,cluster.login,cluster.port,launchcommand);
429 end %}}}
430 function Download(cluster,dirname,filelist)% {{{
431Index: ../trunk-jpl/src/m/classes/clusters/cosmos.m
432===================================================================
433--- ../trunk-jpl/src/m/classes/clusters/cosmos.m (revision 19334)
434+++ ../trunk-jpl/src/m/classes/clusters/cosmos.m (revision 19335)
435@@ -85,11 +85,15 @@
436 issmscpout(cluster.name,cluster.executionpath,cluster.login,cluster.port,{[dirname '.tar.gz']});
437
438 end %}}}
439- function LaunchQueueJob(cluster,modelname,dirname,filelist)% {{{
440+ function LaunchQueueJob(cluster,modelname,dirname,filelist,restart)% {{{
441
442 disp('launching solution sequence on remote cluster');
443- launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ...
444- ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && qsub ' modelname '.queue '];
445+ if ~isempty(restart)
446+ launchcommand=['cd ' cluster.executionpath ' && cd ' dirname ' && qsub ' modelname '.queue '];
447+ else
448+ launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ...
449+ ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && qsub ' modelname '.queue '];
450+ end
451 issmssh(cluster.name,cluster.login,cluster.port,launchcommand);
452 end %}}}
453 function Download(cluster,dirname,filelist)% {{{
454Index: ../trunk-jpl/src/m/classes/clusters/generic_static.m
455===================================================================
456--- ../trunk-jpl/src/m/classes/clusters/generic_static.m (revision 19334)
457+++ ../trunk-jpl/src/m/classes/clusters/generic_static.m (revision 19335)
458@@ -65,7 +65,7 @@
459
460 %do nothing
461 end %}}}
462- function LaunchQueueJob(cluster,modelname,dirname,filelist)% {{{
463+ function LaunchQueueJob(cluster,modelname,dirname,filelist,restart)% {{{
464
465 if ~ispc,
466
467Index: ../trunk-jpl/src/m/classes/clusters/pollux.m
468===================================================================
469--- ../trunk-jpl/src/m/classes/clusters/pollux.m (revision 19334)
470+++ ../trunk-jpl/src/m/classes/clusters/pollux.m (revision 19335)
471@@ -69,11 +69,15 @@
472
473 end
474 %}}}
475- function LaunchQueueJob(cluster,modelname,dirname,filelist)% {{{
476+ function LaunchQueueJob(cluster,modelname,dirname,filelist,restart)% {{{
477
478 disp('launching solution sequence on remote cluster');
479- launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ...
480- ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && qsub ' modelname '.queue '];
481+ if ~isempty(restart)
482+ launchcommand=['cd ' cluster.executionpath ' && cd ' dirname ' && qsub ' modelname '.queue '];
483+ else
484+ launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' dirname ' && mkdir ' dirname ...
485+ ' && cd ' dirname ' && mv ../' dirname '.tar.gz ./ && tar -zxf ' dirname '.tar.gz && qsub ' modelname '.queue '];
486+ end
487 issmssh(cluster.name,cluster.login,cluster.port,launchcommand);
488 end %}}}
489 function UploadQueueJob(cluster,modelname,dirname,filelist)% {{{
Note: See TracBrowser for help on using the repository browser.