def test_from_spec(self): spec = """jobs: - jb: custodian.vasp.jobs.VaspJob params: final: False suffix: .relax1 - jb: custodian.vasp.jobs.VaspJob params: final: True suffix: .relax2 settings_override: {"file": "CONTCAR", "action": {"_file_copy": {"dest": "POSCAR"}}} jobs_common_params: $vasp_cmd: ["mpirun", "-machinefile", "$PBS_NODEFILE", "-np", "24", "/opt/vasp/5.4.1/bin/vasp"] handlers: - hdlr: custodian.vasp.handlers.VaspErrorHandler - hdlr: custodian.vasp.handlers.AliasingErrorHandler - hdlr: custodian.vasp.handlers.MeshSymmetryErrorHandler validators: - vldr: custodian.vasp.validators.VasprunXMLValidator custodian_params: $scratch_dir: $TMPDIR""" os.environ["TMPDIR"] = "/tmp/random" os.environ["PBS_NODEFILE"] = "whatever" d = yaml.safe_load(spec) c = Custodian.from_spec(d) self.assertEqual(c.jobs[0].vasp_cmd[2], "whatever") self.assertEqual(c.scratch_dir, "/tmp/random") self.assertEqual(len(c.jobs), 2) self.assertEqual(len(c.handlers), 3) self.assertEqual(len(c.validators), 1)
def run(args): FORMAT = '%(asctime)s %(message)s' logging.basicConfig(format=FORMAT, level=logging.INFO, filename="run.log") logging.info("Spec file is %s" % args.spec_file) d = loadfn(args.spec_file[0]) c = Custodian.from_spec(d) c.run()
def run(args): FORMAT = "%(asctime)s %(message)s" logging.basicConfig(format=FORMAT, level=logging.INFO, filename="run.log") logging.info("Spec file is %s" % args.spec_file) d = loadfn(args.spec_file[0]) c = Custodian.from_spec(d) c.run()
def test_from_spec(self): spec = """jobs: - jb: custodian.vasp.jobs.VaspJob params: final: False suffix: .relax1 - jb: custodian.vasp.jobs.VaspJob params: final: True suffix: .relax2 settings_override: {"file": "CONTCAR", "action": {"_file_copy": {"dest": "POSCAR"}}} jobs_common_params: $vasp_cmd: ["mpirun", "-machinefile", "$PBS_NODEFILE", "-np", "24", "/opt/vasp/5.4.1/bin/vasp"] handlers: - hdlr: custodian.vasp.handlers.VaspErrorHandler - hdlr: custodian.vasp.handlers.AliasingErrorHandler - hdlr: custodian.vasp.handlers.MeshSymmetryErrorHandler validators: - vldr: custodian.vasp.validators.VasprunXMLValidator custodian_params: $scratch_dir: $TMPDIR""" import yaml os.environ["TMPDIR"] = "/tmp/random" os.environ["PBS_NODEFILE"] = "whatever" d = yaml.load(spec) c = Custodian.from_spec(d) self.assertEqual(c.jobs[0].vasp_cmd[2], "whatever") self.assertEqual(c.scratch_dir, "/tmp/random") self.assertEqual(len(c.jobs), 2) self.assertEqual(len(c.handlers), 3) self.assertEqual(len(c.validators), 1)