def SubConfig(start, i, tiles, run, config, jobdir, shifter=None): runcopy = copy.copy(run) end = start + run['npersubjob'] id = i + 1 sdir = StartJsonDir(run, jobdir, id) run['exitfile'] = os.path.join(sdir, Files.Files.exit) run['startupfile'] = os.path.join(sdir, Files.Files.startupfile) runcopy = copy.copy(run) if shifter is not None: runcopy['outdir'] = NewOutdir(runcopy, shifter) depdir = shifter.jobroot subdir = Files.GetJsonDir(run, depdir, id) runcopy['pos'] = shifter.posroot #runcopy['slr'] = shifter.slrroot runcopy['exitfile'] = os.path.join(subdir, Files.Files.exit) runcopy['startupfile'] = os.path.join(subdir, Files.Files.startupfile) else: depdir = jobdir subdir = sdir runcopy['touchfile'] = os.path.join(depdir, Files.Files.c*k) runcopy['failfile'] = os.path.join(depdir, Files.Files.cfail) runcopy['runlogdir'] = os.path.join(subdir, Files.Files.runlog) runcopy['dupokfile'] = os.path.join(subdir, Files.Files.dupok) runcopy['dupfailfile'] = os.path.join(subdir, Files.Files.dupfail) runcopy['anyfail'] = os.path.join(subdir, Files.Files.anyfail) if i == 0: runcopy['isfirst'] = True else: runcopy['isfirst'] = False config['run'] = runcopy jsonfile = WriteJson(config, sdir, tiles, start, end) if shifter is not None: jsonfile = os.path.join(subdir, 'config.json') return jsonfile, end
def StartJsonDir(run, dirname, id): jdir = Files.GetJsonDir(run, dirname, id) if (not os.path.exists(jdir)): os.makedirs(jdir) return jdir