Skip to content
David Ketcheson edited this page Mar 19, 2015 · 4 revisions
Status Active
Author David Ketcheson <dketch@gmail.com>
Created March 19, 2015
Updated March 19, 2015
Discussion
Implementation link to the PR

Motivation

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.

Specification

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.

Questions