Skip to content

Commit

Permalink
Update README.
Browse files Browse the repository at this point in the history
  • Loading branch information
Shyue Ping Ong committed Mar 27, 2013
1 parent 0d13a82 commit 139d886
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 0 deletions.
12 changes: 12 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -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
Expand All @@ -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
=====================

Expand Down
1 change: 1 addition & 0 deletions custodian/custodian.py
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
8 changes: 8 additions & 0 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit 139d886

Please sign in to comment.