ePSman Overview
ePSman provides tools for setting up, running & packaging ePolyScat (ePS) jobs. For a general overview of the ecosystem, see the ePSdata intro page.
ePSman is designed for:
Client - host architecture, with the remote host machine running the jobs & storing most of the files.
Fabric provides the framework for this.
Jobs are setup and managed from the client machine, with some basic file management also implemented.
The host machine runs ePS, as well as some other local tasks such as archive building.
To be run from a Jupyter Notebook, which provides an easy interface for interactive parts, and for keeping notes on progress & results.
Docs: https://epsman.readthedocs.io
Features
Manage electronic structure files
Basics implemented for Gamess & Molden file handling, built on CCLIB, in ESjob class.
To do:
Gamess setup & run using pyGamess, see the class demo “ePSman ESgamess class notes & demos: molecule and Gamess job handling class”.
Handling for multiple input files, e.g. bond-length scans. (See, e.g. http://jake/jupyter/user/paul/doc/tree/notebooks/epsman_tests/gamess-dev/ESgamess_tests_dev_290321.ipynb, and probably other places.)
Manage input files & directory structure.
Create ePS jobs (most recent example http://jake/jupyter/user/paul/doc/tree/ePS/OCS/epsman2021/OCS_ePS_ePSman_dev_HOMO_Jake_010621-v5-HOMOrun.ipynb ?)
Molecule & batch job structure.
Output files stored in
base/mol/batch, wherebaseis the defined working directory (defaults to ~/ePS).Supplementary output to
base/mol/batch/output, whereoutputis per file type (idy,wavefnetc).
Multi-E job chuncking for large runs.
Basic or wavefunction job creation.
To do:
Machine-specific defaults via settings file (paritally implemented).
Better/automated symmetry handling (currently set manually).
More versatile job structure (?).
Checkpoint files.
Template notebooks.
TODO
Run ePS jobs. NEEDS FIXING.
Post-processing
Batch processing of jobs via ePSproc + template notebooks.
Package repo & upload to repository (Zenodo).
Upload notebooks to web (ePSdata).
Versions
[2]:
import scooby
scooby.Report(additional=['epsman', 'fabric', 'cclib'])
[2]:
| Tue Mar 01 12:21:30 2022 EST | |||||
| OS | Linux | CPU(s) | 64 | Machine | x86_64 |
| Architecture | 64bit | Environment | Jupyter | ||
| Python 3.7.10 (default, Feb 26 2021, 18:47:35) [GCC 7.3.0] | |||||
| epsman | 0.0.1 | fabric | 2.6.0 | cclib | 1.7 |
| numpy | 1.19.2 | scipy | 1.6.1 | IPython | 7.21.0 |
| matplotlib | 3.3.4 | scooby | 0.5.6 | ||
| Intel(R) Math Kernel Library Version 2020.0.2 Product Build 20200624 for Intel(R) 64 architecture applications | |||||
[3]:
# Check current Git commit for local ePSproc version
from pathlib import Path
import epsman as em
!git -C {Path(em.__file__).parent} branch
!git -C {Path(em.__file__).parent} log --format="%H" -n 1
master
* restructure160221
73f10b5bdbf99e97212a639dd390217084ec0c09
[4]:
# Check current remote commits
!git ls-remote --heads git://github.com/phockett/epsman
21b4357a169baf9fa7887c68bd1cf8f92c59642c refs/heads/master
b0eb344462e40b2c1c9fc33a453107b296443017 refs/heads/restructure160221
[ ]: