ffs = [] Ns = [] paramList = [] for file in [ file for file in files if '-E' in file ]: ids = file.split('-') for id in ids: if 'ww' in id: ww = float(id.replace('ww','')) if 'ff' in id: ff = float(id.replace('ff','')) if 'N' in id: N = int(id.replace('N','')) if ww not in wws: wws.append(ww) if ff not in ffs: ffs.append(ff) if N not in Ns: Ns.append(N) p = paramID(args.walls,ww,ff,N,args.nw,files) if p not in paramList: paramList.append(p) # if an parameter isn't given, assume all possible values are wanted if args.ww == []: args.ww = wws if args.ff == []: args.ff = ffs if args.N == []: args.N = Ns # figure label format def figLabel(p,option=''): return '$\eta=' + str(p.ff) + '$' \ + (', $N=' + str(p.N) + '$' if option == 'N' else '') # figure template def newFig(): fig = figure(figsize=(xSize/2.54,ySize/2.54))
args = parser.parse_args() # build monte carlo code exitStatus = sp.call(["scons","-C",projectdir,simname]) if exitStatus != 0: print "Build failed" exit(exitStatus) # store all sets to run paramList = [] for ww in args.ww: for ff in args.ff: for N in args.N: paramList.append( paramID(args.walls,ww,ff,N,args.nw)) for p in paramList: memory = p.N # fixme: better guess jobname = p.name('N') basename = "%s/sw-%s" %(jobdir, jobname) scriptname = basename + '.sh' outname = basename + '.out' errname = basename + '.err' command = "time nice -19 %s/%s" %(projectdir, simname) script = open(scriptname,'w') script.write("#!/bin/bash\n") script.write("#SBATCH --mem-per-cpu=%i\n" % memory) script.write("#SBATCH --output %s\n" % outname)