Reorganization of Clawpack 5.0
We still need to finalize what default license to use for Clawpack -- leaning towards BSD.
We plan to move to a new structure where Python will eventually be used for the high level user interface for all variants of Clawpack. In particular:
- Data files such as claw.data (or the older clawNez.data), setprob.data, etc. will be replaced by Python scripts to set parameters,
- IO will be handled by Python, allowing greater flexibility of formats,
- Python graphics can be incorporated more easily to plot on the fly during a computation,
- Python distutils will be used to simplify installation of Clawpack.
$ python setup.py install
in the top directory and it will automatically (1) compile the core Fortran library (as in .so or .dylib) and place it in /usr/local/lib and (2) compile the Python and Cython and install that wrapper to the user's Python install. (/usr/local/lib/python). Just like a Python application!
See also the ToDoList.
Proposed directory structure of kingkong.amath.washington.edu/svn/clawpack
Proposed directory structure for new subversion repositories:
kingkong.amath.washington.edu/svn/claw would be replaced by kingkong.amath.washington.edu/svn/clawpack.
Most users would checkout using
svn co http://kingkong.amath.washington.edu/svn/clawpack/trunk clawpack
and the resulting clawpack directory would have subdirectories src, lib, doc, etc.
clawpack
tags [stable releases]
branches [development work]
trunk
setup.py [to install everything]
README
INSTALL
LICENSE
src
Makefile
classic [original claw/trunk/claw/clawpack]
dim1 [instead of "1d" for consistency with Python versions]
dim2
dim3
amrclaw [original claw/trunk/claw/amrclaw]
dim1 [new specialized driver for 1d case]
dim2
dim3
geoclaw [original claw/trunk/claw/geoclaw]
dim1
dim2xy
eagleclaw [original claw/trunk/claw/eagleclaw]
rplib [various Riemann solvers, Fortran and perhaps Python]
advection
[rp1ad, rp1advc, rpn2ad, rpt2ad, etc]
acoustics
burgers
etc
sharpclaw [previously WENOCLAW]
sageclaw [Sage interface]
lib [compiled libraries]
pyclaw [original claw/trunk/claw/python/pyclaw]
[data.py, grid.py, controller.py, etc.]
io
plotting
data.py [for classes used for plotting]
Iplotclaw.py
etc.
evolve
classic
dim1
dim2
sharpclaw
dim1
dim2
amrclaw [when python version is available]
utilities
[startserver.py, fixfiles.py, etc.]
doc [original claw/trunk/claw/doc]
sphinx
examples [original claw/trunk/claw/examples]
[a few simple illustrative examples]
matlab [original claw/trunk/claw/matlab]
cgi-bin [original claw/trunk/claw/cgi-bin]
[eagle*.py.cgi scripts for EagleClaw]
myclaw
[empty directory for user's working directories]
Applications
Application directories (beyond a few simple examples) will go in a separate repository kingkong.amath.washington.edu/svn/clawapps. Most users will selectively download pieces of this of interest to them. This repository will contain (we hope) contributions from users as well as applications developed locally.
clawapps
extensions [for extensions to the Clawpack code that may be useful for many applications]
advection
dim1
varcoeff
dim2
swirl
dim3
acoustics
dim1
etc
burgers
combustion
debrisflow
elastic
euler
seismic
shallow
traffic
tsunamis
etc.
Related packages
Do we want to include these? Probably not in short term.
- BEARCLAW
- ChomboClaw
