CEP9
Status | Active |
Author | David Ketcheson <dketch@gmail.com> |
Created | March 19, 2015 |
Updated | March 19, 2015 |
Discussion | |
Implementation | link to the PR |
The basic parts of PyClaw (geometry, state, solution, IO) represent a useful component that is not inherently tied to finite volume methods or hyperbolic conservation laws. VisClaw seems to belong with these as part of a package focused on representing time-dependent data on collections of structured, mapped grids. It is proposed that we extract all these pieces into a separate, pure-python module. It may make sense for this module (I'm calling it "Griddle" for the moment, though I'd welcome a better name) to live outside the Clawpack namespace (though it could be convenient to put it under the Clawpack Github organization anyway). Some advantages of this are:
- Griddle may be useful to people who do not use Clawpack.
- Griddle would not require a Fortran compiler, and would not require compilation of PyClaw or Riemann code at install. Thus GeoClaw and AMRClaw installation would not require the compilation of PyClaw solvers.
- It would be easier to avoid unnecessary coupling between the underlying data structures and the solvers, which would hopefully make both of them easier to maintain.
Some potential drawbacks are:
- We already have a lot of packages, and this introduces another one. But it should eventually replace visclaw (along with much of pyclaw), so the number of packages would then be the same.
- We may not want to have non-Clawpackers using our infrastructure code, because they might want to take it in different directions than we do. Hopefully the benefits of having additional user/developers outweighs this.
A detailed specification needs to be developed. The current state is in this repository:
https://github.com/ketch/griddle
which will be moved to the Clawpack organization if this CEP moves forward.
- Should this package be under the Clawpack Python namespace or not?
- Where should it be hosted? Under the Clawpack organization on Github?
- Should we rely on a third-party package for gallery generation? An example using Sigal is here: https://dl.dropboxusercontent.com/u/656693/griddle_gallery/index.html