def main(): import re from sys import path as python_path from os.path import exists from argparse import ArgumentParser from pylada import jobfolder from pylada.process.mpi import create_global_comm import pylada # below would go additional imports. parser = ArgumentParser( prog="runone", description = re.sub("\\s+", " ", __doc__[1:])) parser.add_argument('--bugLev', dest="bugLev", default=0, type=int,\ help="Debug level.") parser.add_argument('--testValidProgram', dest="testValidProgram", default=None, type=str, help="testValidProgram") parser.add_argument( "--jobid", dest="names", nargs='+', type=str, \ help="Job name", metavar="N" ) parser.add_argument( "--ppath", dest="ppath", default=None, \ help="Directory to add to python path", metavar="Directory" ) parser.add_argument('--nbprocs', dest="nbprocs", default=pylada.default_comm['n'], type=int,\ help="Number of processors with which to launch job.") parser.add_argument('--ppn', dest="ppn", default=pylada.default_comm['ppn'], type=int,\ help="Number of processors with which to launch job.") parser.add_argument('--timeout', dest="timeout", default=300, type=int,\ help="Time to wait for job-dictionary to becom available " "before timing out (in seconds). A negative or null " "value implies forever. Defaults to 5mn.") parser.add_argument('pickle', metavar='FILE', type=str, help='Path to a job-folder.') try: options = parser.parse_args() except SystemExit: return from pylada.misc import setBugLev setBugLev( options.bugLev) # set global debug level from pylada.misc import bugLev # must import after calling setBugLev from pylada.misc import setTestValidProgram tstPgm = options.testValidProgram if tstPgm.lower() == 'none': tstPgm = None setTestValidProgram( tstPgm) from pylada.misc import testValidProgram # additional path to look into. if options.ppath is not None: python_path.append(options.ppath) if not exists(options.pickle): print "Could not find file {0}.".format(options.pickle) return # Set up mpi processes. pylada.default_comm['ppn'] = options.ppn pylada.default_comm['n'] = options.nbprocs if testValidProgram == None: create_global_comm(options.nbprocs) # Sets pylada.default_comm else: pylada.default_comm = None # use testValidProgram timeout = None if options.timeout <= 0 else options.timeout jobfolder = jobfolder.load(options.pickle, timeout=timeout) print ' ipy/lau/scattered_script: jobfolder: ', jobfolder print ' ipy/lau/scattered_script: options: ', options for name in options.names: if bugLev >= 1: print ' ipy/lau/scattered_script: testValidProgram: %s' \ % ( testValidProgram,) print ' ipy/lau/scattered_script: name: %s' % ( name,) print ' ipy/lau/scattered_script: jobfolder[name]: %s' \ % ( jobfolder[name],) print ' ipy/lau/scattered_script: type(jobfolder[name]): %s' \ % ( type(jobfolder[name]),) print ' ipy/lau/scattered_script: jobfolder[name].compute: %s' \ % ( jobfolder[name].compute,) print ' ipy/lau/scattered_script: type(jobfolder[name].compute): %s' \ % ( type(jobfolder[name].compute),) print ' ipy/lau/scattered_script: before compute for name: %s' \ % ( name,) comm = pylada.default_comm if testValidProgram != None: comm = None jobfolder[name].compute(comm=comm, outdir=name) if bugLev >= 1: print ' ipy/lau/scattered_script: after compute for name: %s' \ % ( name,)
from pylada.misc import bugLev from pylada.misc import setTestValidProgram if bugLev >= 1: print "test/hi/inputCif: entry" useInputCif = True # flag used by test.py vasp = Relax() if bugLev >= 1: print "test/hi/inputCif: === vasp ===\n%s\n=== end vasp ===" % (vasp,) vasp.program = os.path.expanduser("~/pyladaExec.sh") # default vasp program vasp.has_nlep = True setTestValidProgram(None) vasp.prec = "accurate" vasp.ediff = 6.0e-5 # total, not per atom vasp.encut = 340.0 vasp.npar = 8 vasp.ncore = 1 vasp.lplane = True vasp.addgrid = True vasp.ismear = "gaussian" vasp.sigma = 0.01 vasp.isym = 0 vasp.set_symmetries = "off" vasp.kpoints = "\n0\nAuto\n20"