Skip to content

zhyhou/Viscid

Repository files navigation

Viscid

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)
  • ASCII

There is also preliminary support for reading and plotting AMR datasets from XDMF files.

Documentation

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 Build Status
dev html, test summary Build Status

Install

Dependencies:

  • Required
    • Python 2.7+ or 3.3+
    • Python 2.6 + argparse
    • Numpy >= 1.9
  • Highly Recommended
    • H5py (if reading hdf5 files)
    • Matplotlib >= 1.4 (if you want to make 2d plots using viscid.plot.mpl)
    • Scipy (gives Viscid special powers :))
    • Numexpr (for the calculator.necalc module)
  • Truly Optional
    • Seaborn
    • Mayavi2 (if you want to make 3d plots using viscid.plot.mvi)
    • PyYaml (rc file and plot options can parse using yaml)
  • Optional for developers
    • Cython > 0.17 (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 is intelligent enough not to use a library that is not installed.

The jrrle and fortbin readers depend on compiled Fortran code, and the interpolation and streamline functions depend on compiled Cython (C) code.

For explicit installation instructions, please refer to the Quickstart Documentation.

Development

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).

Packages

No packages published

Languages

  • Jupyter Notebook 61.1%
  • Python 35.7%
  • Shell 2.1%
  • Fortran 0.7%
  • MATLAB 0.2%
  • C 0.1%
  • Other 0.1%