wiki:ArchiTecture

IDEAS

Settle dataflows and formats (pts, dem, msh, sww, etc) (Ole)

finaltime to be renamed duration ?

Move test_all.py from pyvolution down to inundation level

Making methods private, using _private or write the API in a separate module.

Introduce create_quantity in domain.py: (Ole)

It will make a new named instance and populate it by calling set_quantity if desired. Create_quantity would be called automatically by shallow_water.

Make stage appear as any other quantity: Either

1: Make stage a subclass of quantity having knowledge of elevation and a special

limiter (or more limiters)

Or

2: Equip each quantity with a limiter class

(Con: A limiter for stage should never be applied to any other quantity)

Also, investigate if Quantity and Conserved_quantity should be one class (Steve).

Finally, reconcile the optimised gradient limiter of Matt's with the more general framework (see wiki:NumericalIssues)

Boundary (Dirichlet): Think about specifying values by quantity name (and having defaults)

Dirichlet(stage = 1.0, ymomentum = 0.2)

Finish MOST2SWW with bathymetry as one script

Make Steve's new boundary spatially dependent (Ole)

Look at matplotlib's verbosity object. It looks great.

Should we remove Python code superseded by C-extensions?

  • Pros: Leaner code and no risk
  • Cons: Less readable algorithms

Move py code into files such as quantity_ext.py and have python wrappers with doc strings for all functions. Name the code in extensions _ext and conditional import as usual.

Generally separate file_format stuff from functionality (and work with a small number of formats)

Have a .tms format for straight timeseries, use sww for f(t,x,y). Modify Interpolation function and file_function accordingly. (Use lwru2.py as test bed) (Done by Ole)

Last modified 19 years ago Last modified on Oct 14, 2005, 6:46:16 AM