def write_condor_file(c, master_script, equal_time=False): run = c["run"] job_name = "-".join((run.split("-"))[1:]) condor_job_url = shapesim.get_condor_job_url(run) ns2n = len(c["s2n_vals"]) seconds_per = get_seconds_per_pair() if "desired_err" in c: do_by_noise = True else: do_by_noise = False print condor_job_url njobs = 0 smax = numpy.iinfo("i8").max with open(condor_job_url, "w") as fobj: text = _condor_template_head.format(master_script=master_script, overall_name=job_name) fobj.write(text) # for is2n in reversed(xrange(ns2n)): for is2n in xrange(ns2n): s2n = c["s2n_vals"][is2n] npair, nsplit = get_npair_nsplit(c, is2n) time_hours = npair * seconds_per / 3600.0 if time_hours > MAXTIME_HOURS: raise ValueError( "time is greater than %.2f " "hours: %d*%.2f/3600.0 = %s" % (MAXTIME_HOURS, npair, seconds_per, time_hours) ) print "nsplit:", nsplit, "npair:", npair, "time (hours):", time_hours njobs += nsplit for isplit in xrange(nsplit): output = shapesim.get_output_url(run, 0, is2n, itrial=isplit) logfile = output.replace(".rec", ".log") this_job_name = "%s-%03d-%03d" % (job_name, is2n, isplit) # seed = numpy.random.randint(smax) qdata = _queue_template.format( job_name=this_job_name, s2n=s2n, npair=npair, # seed=seed, output=output, logfile=logfile, ) fobj.write(qdata) print "total jobs:", njobs
def start_new_file(run, filenum, master_script, overall_name, missing=False): condor_job_url=shapesim.get_condor_job_url(run, filenum=filenum, missing=missing) oname='%s-%03d' % (overall_name,filenum) print 'staring new job file:' print condor_job_url fobj=open(condor_job_url,'w') text = _condor_template_head.format(master_script=master_script, overall_name=oname) fobj.write(text) return fobj