Skip to content
Browse files

Update README.

  • Loading branch information...
1 parent 0d13a82 commit 139d886357113bf76c0c7a6512a894f847182fd1 Shyue Ping Ong committed Mar 27, 2013
Showing with 21 additions and 0 deletions.
  1. +12 −0 README.rst
  2. +1 −0 custodian/custodian.py
  3. +8 −0 docs/index.rst
View
12 README.rst
@@ -4,6 +4,11 @@ perform error checking, job management and error recovery. It has a simple
plugin framework that allows you to develop specific job management workflows
for different applications.
+Error recovery is an important aspect of many *high-throughput* projects that
+generate data on a large scale. When you are running on the order of hundreds
+of thousands of jobs, even an error-rate of 1% would mean thousands of errored
+jobs that would be impossible to deal with on a case-by-case basis.
+
The specific use case for custodian is for long running jobs, with potentially
random errors. For example, there may be a script that takes several days to
run on a server, with a 1% chance of some IO error causing the job to fail.
@@ -70,6 +75,9 @@ concrete implementation of the abstract base classes custodian.custodian.Job
and custodian.custodian.ErrorHandler. An very simple example implementation is
given in the custodian_examples.py script in the scripts directory.
+Electronic structure calculations
+---------------------------------
+
Other specific examples for electronic structure calculations based on the
Vienna Ab Initio Simulation Package (VASP) are implemented in the
custodian.vasp package. A simple example of a script using Custodian to run a
@@ -91,6 +99,10 @@ The above will gracefully deal with many VASP errors encountered during
relaxation. For example, it will correct ISMEAR to 0 if there are
insufficient KPOINTS to use ISMEAR = -5.
+Using custodian, you can even setup potentially indefinite jobs,
+e.g. kpoints convergence jobs with a target energy. Please see the
+converge_kpoints scripts for an example.
+
How to cite custodian
=====================
View
1 custodian/custodian.py
@@ -151,6 +151,7 @@ def from_dict(d):
raise NotImplementedError("ErrorHandler objects must implement a "
"from_dict static method.")
+
class Job(object):
"""
Abstract base class defining the interface for a Job.
View
8 docs/index.rst
@@ -4,6 +4,11 @@ perform error checking, job management and error recovery. It has a simple
plugin framework that allows you to develop specific job management workflows
for different applications.
+Error recovery is an important aspect of many *high-throughput* projects that
+generate data on a large scale. When you are running on the order of hundreds
+of thousands of jobs, even an error-rate of 1% would mean thousands of errored
+jobs that would be impossible to deal with on a case-by-case basis.
+
The specific use case for custodian is for long running jobs, with potentially
random errors. For example, there may be a script that takes several days to
run on a server, with a 1% chance of some IO error causing the job to fail.
@@ -77,6 +82,9 @@ concrete implementation of the abstract base classes custodian.custodian.Job
and custodian.custodian.ErrorHandler. An very simple example implementation is
given in the custodian_examples.py script in the scripts directory.
+Electronic structure calculations
+---------------------------------
+
Other specific examples for electronic structure calculations based on the
Vienna Ab Initio Simulation Package (VASP) are implemented in the
custodian.vasp package. A simple example of a script using Custodian to run a

0 comments on commit 139d886

Please sign in to comment.
Something went wrong with that request. Please try again.