Skip to content
Snippets Groups Projects
Commit 9cbbbb0b authored by Yngve Levinsen's avatar Yngve Levinsen
Browse files

fixing tracewin_errorstudy script for python3

parent 648a2e68
No related branches found
No related tags found
No related merge requests found
......@@ -8,7 +8,7 @@ initialdir = {args.calc_dir}/Local_TraceWin_$(Process)
transfer_input_files = {input_files}
requirements = ( OpSys == "LINUX" || OpSys == "OSX" )
log = condor.log
executable = TraceWin_exe/tracewin.$$(OpSys).$$(Arch)
executable = TraceWin/exe/tracewin.$$(OpSys).$$(Arch)
"""
HEAD_MULTI_TEMPLATE = """
universe = Vanilla
......@@ -16,7 +16,7 @@ universe = Vanilla
should_transfer_files = yes
requirements = ( OpSys == "LINUX" || OpSys == "OSX" )
log = condor.log
executable = TraceWin_exe/tracewin.$$(OpSys).$$(Arch)
executable = TraceWin/exe/tracewin.$$(OpSys).$$(Arch)
"""
QUEUE_TEMPLATE = """
......
......@@ -20,10 +20,10 @@ def define_and_handle_args():
def setup_exec_folder():
import os,shutil
orig_path=os.path.join(os.environ.get("HOME"),"TraceWin_exe")
orig_path=os.path.join(os.environ.get("HOME"),"TraceWin/exe")
if not os.path.isdir(orig_path):
raise ValueError("Cannot find tracewin executables in "+orig_path+" yet")
os.makedirs("TraceWin_exe")
os.makedirs("TraceWin/exe")
o=dict(LINUX="lx",OSX="mac")
a=dict(INTEL="",X86_64="64")
......@@ -31,7 +31,7 @@ def setup_exec_folder():
for OpSys in ["LINUX", "OSX"]:
for Arch in ["INTEL", "X86_64"]:
shutil.copy(os.path.join(orig_path,"trace"+o[OpSys]+a[Arch]),
os.path.join("TraceWin_exe","tracewin.%s.%s" % (OpSys,Arch)))
os.path.join("TraceWin/exe","tracewin.%s.%s" % (OpSys,Arch)))
def create_and_copy_lattice(args, calc_dir, commented=[], extra_line=''):
'''
......@@ -45,20 +45,21 @@ def create_and_copy_lattice(args, calc_dir, commented=[], extra_line=''):
if os.path.exists(args.settings):
# Create the lattice file from template:
lattice_settings=yaml.load(file(args.settings,'r').read())
lattice_settings=yaml.load(open(args.settings,'r').read())
lattice_settings['extra_line']=extra_line
lattice_template=file(args.lattice+'.tmp','r').read()
lattice_template=open(args.lattice+'.tmp','r').read()
for cmd in commented:
lattice_template=lattice_template.replace(cmd.lower(),';'+cmd)
lattice_template=lattice_template.replace(cmd.upper(),';'+cmd)
file(os.path.join(calc_dir,args.lattice),'w').write(lattice_template.format(**lattice_settings))
open(os.path.join(calc_dir,args.lattice),'w').write(lattice_template.format(**lattice_settings))
shutil.copy(args.settings, calc_dir)
else:
shutil.copy(args.lattice,os.path.join(calc_dir,args.lattice))
if calc_dir != '.':
shutil.copy(args.lattice, os.path.join(calc_dir, args.lattice))
for folder in os.listdir(calc_dir):
if folder[0:15]=="Local_TraceWin_":
......@@ -113,10 +114,10 @@ def setup_multi(args):
num_jobs=0
new_folders=[]
for njob in xrange(args.num_jobs):
for njob in range(args.num_jobs):
folder='Local_TraceWin_{}'.format(njob)
if os.path.isfile(os.path.join(args.calc_dir,folder,'Error_Datas.txt')):
for mjob in xrange(args.multi):
if os.path.isfile( os.path.join(args.calc_dir, folder, 'Error_Datas.txt')):
for mjob in range(args.multi):
num_jobs+=1
if mjob==int(folder.split('_')[-1]):
continue
......@@ -126,19 +127,19 @@ def setup_multi(args):
delete_output_files(args,newfolder)
create_and_copy_lattice(args, os.path.join(args.calc_dir,newfolder), commented=['ERROR_CAV_CPL_DYN', 'ERROR_CAV_NCPL_DYN'], extra_line='ERROR_DYN_FILE Error_Datas.txt')
if not os.path.isdir("TraceWin_exe"):
if not os.path.isdir("TraceWin/exe"):
setup_exec_folder()
# Get random seeds from previously run jobs:
seeds=[]
for l in file(os.path.join(args.calc_dir,'submit.job')):
for l in open(os.path.join(args.calc_dir,'submit.job'), 'r'):
if len(l.strip()) and l.split()[0]=='arguments':
seeds.append(l.split()[-1])
head_template=__queue_templates__.get_head_multi_template()
queue_template=__queue_templates__.get_queue_multi_template()
with file(args.calc_dir+"/multi.job","w") as out:
with open(args.calc_dir+"/multi.job","w") as out:
out.write(head_template.format(**locals()))
for job_folder in new_folders:
......@@ -176,7 +177,7 @@ def setup(args):
# Create extra folders if needed..
if args.num_jobs>num_jobs:
for n in xrange(num_jobs,args.num_jobs):
for n in range(num_jobs,args.num_jobs):
folder_name='Local_TraceWin_{n}'.format(**locals())
create_extra_folder(args.calc_dir,'Local_TraceWin_0',folder_name)
num_jobs=args.num_jobs
......@@ -186,12 +187,12 @@ def setup(args):
create_and_copy_lattice(args, args.calc_dir)
if not os.path.isdir("TraceWin_exe"):
if not os.path.isdir("TraceWin/exe"):
setup_exec_folder()
if args.seed!=None:
random.seed(args.seed)
rand_lst=[random.randint(1e5,1e9) for i in xrange(num_jobs)]
rand_lst=[random.randint(1e5,1e9) for i in range(num_jobs)]
#rand_lst=file('rand.dat','r').read().split()
# Get file list:
......@@ -203,10 +204,10 @@ def setup(args):
head_template=__queue_templates__.get_head_template()
queue_template=__queue_templates__.get_queue_template()
with file(args.calc_dir+"/submit.job","w") as out:
with open(args.calc_dir + "/submit.job", "w") as out:
out.write(head_template.format(**locals()))
for i in xrange(num_jobs):
for i in range(num_jobs):
q_priority=max(-5,args.priority-i/100)
rand=rand_lst[i]
out.write(queue_template.format(**locals()))
......@@ -215,7 +216,7 @@ def ask(args):
print("You have now set up an error study running {} jobs in folder {}".format(args.num_jobs,args.calc_dir))
if args.multi>1:
print("This is a multi-error study")
answer=raw_input("Do you want to submit the jobs immediately? (yes/no) ")
answer = input("Do you want to submit the jobs immediately? (yes/no) ")
if answer=='yes':
return 0
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment