Source code for issm.loadresultsfromcluster

import os
import socket
import platform
from issm.loadresultsfromdisk import loadresultsfromdisk

[docs]def loadresultsfromcluster(md,runtimename=False): """ LOADRESULTSFROMCLUSTER - load results of solution sequence from cluster Usage: md=loadresultsfromcluster(md,runtimename); """ #retrieve cluster, to be able to call its methods cluster=md.cluster if runtimename: md.private.runtimename=runtimename #Download outputs from the cluster filelist=[md.miscellaneous.name+'.outlog',md.miscellaneous.name+'.errlog'] if md.qmu.isdakota: filelist.append(md.miscellaneous.name+'.qmu.err') filelist.append(md.miscellaneous.name+'.qmu.out') if 'tabular_graphics_data' in md.qmu.params: if md.qmu.params['tabular_graphics_data']: filelist.append('dakota_tabular.dat') else: filelist.append(md.miscellaneous.name+'.outbin') cluster.Download(md.private.runtimename,filelist) #If we are here, no errors in the solution sequence, call loadresultsfromdisk. if os.path.getsize(md.miscellaneous.name+'.outbin')>0: md=loadresultsfromdisk(md,md.miscellaneous.name+'.outbin') else: print 'WARNING, outbin file is empty for run '+md.miscellaneous.name #erase the log and output files if md.qmu.isdakota: filename=os.path.join('qmu'+str(os.getpid()),md.miscellaneous.name) else: filename=md.miscellaneous.name TryRem('.outbin',filename) if not platform.system()=='Windows': TryRem('.tar.gz',md.private.runtimename) TryRem('.errlog',filename) TryRem('.outlog',filename) #erase input file if run was carried out on same platform. hostname=socket.gethostname() if hostname==cluster.name: if md.qmu.isdakota: filename=os.path.join('qmu'+str(os.getpid()),md.miscellaneous.name) TryRem('.queue',filename) else: filename=md.miscellaneous.name TryRem('.toolkits',filename) if not platform.system()=='Windows': TryRem('.queue',filename) else: TryRem('.bat',filename) TryRem('.bin',filename) return md
[docs]def TryRem(extension,filename): try: os.remove(filename+extension) except OSError: print 'WARNING, no '+extension+' is present for run '+filename