Python framework to visualize scientific data on structured meshes. At the moment, only rectilinear meshes are supported, and support for other mesh types will be added as needed.
File types:
- XDMF + HDF5
- OpenGGCM jrrle (3df, p[xyz], iof)
- OpenGGCM binary (3df, p[xyz], iof)
- Athena (bin, hst, tab)
- VPIC
- ASCII
There is also preliminary support for reading and plotting AMR datasets from XDMF files.
Both the master and dev branches should make every attempt to be usable (thanks to continuous integration), but the obvious caveats exist, i.e. the dev branch has more cool new features but it isn't as tested.
Branch | Docs | Test Status |
---|---|---|
master | html, test summary | |
dev | html, test summary |
Dependencies:
- Required
- Python 2.7+ or 3.3+
- Python 2.6 and argparse
- Numpy >= 1.9
- Recommended
- IPython (better interactive interpreter)
- Matplotlib >= 1.4 (if you want to make 2d plots using viscid.plot.vpyplot)
- Scipy (enables nonlinear interpolation and curve fitting)
- Numexpr (for faster math on large grids)
- H5py (enables hdf5 reader)
- Optional
- Seaborn
- Mayavi2 (if you want to make 3d plots using viscid.plot.vlab)
- PyYaml (rc file and plot options can parse using yaml)
- Optional for developers
- Cython >= 0.28 (if you change pyx / pxd files)
- Sphinx
- sphinx_rtd_theme
- sphinxcontrib-napoleon (if Sphinx is <= version 1.2)
The optional calculator modules (necalc and cycalc) are all dispatched through calculator.calc, and it gracefully falls back to numpy implementations if more advanced libraries are not installed.
The jrrle and fortbin readers depend on compiled Fortran code, and the interpolation and streamline functions depend on compiled Cython (C) code.
Detailed installation instructions are available here.
Please, if you edit the code, use PEP 8 style. Poor style is more than just aesthetic; it tends to lead to bugs that are difficult to spot. Check out the documentation for a more complete developer's guide (inculding exceptions to PEP 8 that are ok).