A high-level interface for curvilinear-orthogonal grid generation, manipulation, and visualization.
Depends heavily on gridgen and pygridgen
The full documentation for this for library is here.
conda-forge generously maintains Linux and Mac OS X conda builds of pygridtools.
Install with
conda install pygridtools --channel=conda-forge
Building (gridgen-c
) on Windows has been a tough nut to crack and help is very much wanted in that department. Until we figure that out, you can do the following in the source directory.
conda install seaborn geopandas
pip install -e .
You won't be able to generate new grids, but you should be able to manipulate existing grids.
The remaining python depedencies are the following:
- numpy
- matplotlib
- pandas (for easy data I/O and manipulation)
- geopandas (for shapfile I/O)
If you wish to generate new grids from scratch, you'll need pygridgen, which is also available through the conda-forge channel.
conda install pygridgen --channel=conda-forge
The documentation pygridgen has a more detailed tutorial on generating new grids.
Tests are written using the pytest package. From the source tree, run them simply with by invoking pytest
in a terminal. If you're editing the source code, it helps to have pytest-pep8 installed to check code style.
Alternatively, from the source tree you can run python check_pygridtools.py --strict
to run the units tests, style checker, and doctests.
Building the HTML documentation requires:
- sphinx
- sphinx_rtd_theme
- numpydoc
- jupyter-notebook
- nbsphinx
- pandas
- seaborn
The source code is available on Github at Geosyntec/pygridtools.
Please report bugs, issues, and ideas there.
- Feedback is a huge contribution
- Get in touch by creating an issue to make sure we don't duplicate work
- Fork this repo
- Submit a PR in a separate branch
- Write a test (or two (or three))
- Stick to PEP8-ish -- I'm lenient on the 80 chars thing (<100 is probably a smart move though).