def copy_specfem_stuff(specfemdir, targetdir): dir_list = ["DATA", "OUTPUT_FILES", "bin"] # copy DATA for _dir in dir_list: fromdir = os.path.join(specfemdir, _dir) todir = os.path.join(targetdir, _dir) cleantree(todir) copytree(fromdir, todir)
def prepare_dir(): with open("./config.yml") as fh: config = yaml.load(fh) # copy specfem stuff copy_files() # perturb cmt files generate_deriv_cmt = config["generate_deriv_cmt"] if generate_deriv_cmt: cmtdir = "cmtfile" dmoment_tensor = config["dmoment_tensor"] ddepth = config["ddepth"] dlatitude = config["dlatitude"] dlongitude = config["dlongitude"] perturb_cmt(cmtdir, dmoment_tensor, dlatitude, dlongitude, ddepth) # create job pbs files nevents_per_job = config["nevents_per_job"] walltime_per_simulation = config["walltime_per_simulation"] deriv_cmt_list = config["deriv_cmt_list"] create_job_pbs(nevents_per_job, walltime_per_simulation, deriv_cmt_list) njobs = len(glob.glob("job_solver_bundle.pbs.*")) if njobs < 1: raise ValueError("No job scripts") # clean up temp data archive if not os.path.exists("data"): os.makedirs("data") if len(glob.glob("data/*")) > 0: print("Data exists: ", glob.glob("data/*")) print("Data will be removed; Make sure there is nothing left") answer = get_permission() if answer: cleantree("data") else: sys.exit(0) print("*" * 30) print("Please check related files and then submit jobs") print("Use: ./submit.bash") print("*" * 30)
def prepare_dir(): with open("./config.yml") as fh: config = yaml.load(fh) # copy specfem stuff copy_files() # perturb cmt files generate_deriv_cmt = config["generate_deriv_cmt"] if generate_deriv_cmt: cmtdir = "cmtfile" dmoment_tensor = config["dmoment_tensor"] ddepth = config["ddepth"] dlatitude = config["dlatitude"] dlongitude = config["dlongitude"] perturb_cmt(cmtdir, dmoment_tensor, dlatitude, dlongitude, ddepth) # create job pbs files nevents_per_job = config["nevents_per_job"] walltime_per_simulation = config["walltime_per_simulation"] deriv_cmt_list = config["deriv_cmt_list"] create_job_pbs(nevents_per_job, walltime_per_simulation, deriv_cmt_list) njobs = len(glob.glob("job_solver_bundle.pbs.*")) if njobs < 1: raise ValueError("No job scripts") # clean up temp data archive if not os.path.exists("data"): os.makedirs("data") if len(glob.glob("data/*")) > 0: print("Data exists: ", glob.glob("data/*")) print("Data will be removed; Make sure there is nothing left") answer = get_permission() if answer: cleantree("data") else: sys.exit(0) print("*"*30) print("Please check related files and then submit jobs") print("Use: ./submit.bash") print("*"*30)
def check_job_folder_exist(targetdir_list): clean_status = 1 for targetdir in targetdir_list: if os.path.exists(targetdir): print("job folder exists: %s" % targetdir) clean_status = 0 if clean_status == 0: answer = raw_input("Remove[Y/n]:") if answer == "Y": print("Removing all...") for _dir in targetdir_list: if not os.path.exists(_dir): os.makedirs(_dir) else: cleantree(_dir) elif answer == "n": raise ValueError("Quit as requested") else: raise ValueError("Incorrect input")