OPEN ISSUES: ------------ Issue: Exceptions thrown by Python functions called from C don't get caughts Background: Have a look at gravity in shallow_water. It calls a C function, gradient, which may throw an exception if arguments are scalars. However, it doesn't get caught becuase gravity itself is called from within C Importance: Mid Suggested Action: Have a look at the calling convention from C (David Beasley) Status: Unresolved Issue: Parameters specified in config.py must be tranferred to C code and it should be possible to override them when setting up a domain. Background: N/A Importance: Mid Suggested Action: 1: Let domain read the config file to provide default values. 2: Write getters and setters to override them. 3: Pass pertinent values from domain into the c-extensions. Status: Unresolved, D+O agreed to do it this way 18/5 Issue: Checkpointing - needs to respect changes in script. CLOSED ISSUES: -------------- Issue: Second order limiters may cause numerical problems manifesting themselves as QNAN (Quiet NANs_ or INF) Background: The second order gradient limiter is not robust enough - especially with shallow water depths. Heighs and momentum are limited independently and high speeds may result. Importance: Mid Suggested Action: 1: Try to incorporate a weighted averaging process between shallow depths and large depths as in the first order scheme. 2: Look at limiting height and momentum together, by keeping an eye on the speeds (e.g make speed constant across a volume and recompute momentum) 3: Catch errors resulting from these instabilities as early as possibly and produce and throw an appropriate exception 4: Make small example that reveals this bug. Status: 1 succesfully implemented by Ole and Stephen 12/5/4. 2 Didn't work but using the weighted average for momentums seemed to work well. 3 and 4 not done. June 2004: With the new limiter (item 1 and 2) 3 and 4 are probably not necessary now. Issue: Tags for specifying boundary conditions should be arbitrary Background: Domain has the functionality for using arbitrary keys when associating boundary objects to boundary values. Triangle, which pmesh is based on, uses integers only. It would be nice to have mnemonic names for boundaries throughout. Importance: Mid Status: Duncan resolved this in early June. Issue: Checkpointing - needs to always back one timestep up in case output wasn't written Background: Data at latest checkpoint may be incomplete or even corrupted depending on when and how program was stopped. Importance: Mid Suggested Action: Always try second latest checkpoint first. Status: Done (Ole 14/5/4) Issue: interpolated_conserved_quantities in shallow_water.py Background: Was computed by flux functions and used by bed_slope. It turns out to be unneccessary as conserved quantities at centroid works just as well. Importance: Mid Suggested Action: Get rid of it everywhere Status: Was done when whole things was refactored in April 2004 by OMN