OPEN ISSUES: ------------ Issue: finaltime should be renamed 'duration' Issue (least_squares): The current is-a-point-in-a-triangle algorithm is slow if a point is outside of the mesh. It will check each triangle 3 times to see if the point is in that triangle. Importance: low Suggested Action: Form a polygon of the mesh boundary (by constructing the neigbour structure) and throw out points not in the polygon (this algorithm is there). Who: DSG Issue (interpolate_sww): Give a warning if points are outside the mesh. Importance: Mid Who: DSG Issue (interpolate_sww (new functionality)): Be able to specify at what times data is needed e.g. input a start, finish and period. Importance: low Issue (least_squares): Do a test that the number of attribute titles and number of attributes match Importance: Mid Who: DSG Issue (least_squares): Do a bug report ot sci py Importance: low to don't do Who: Stephen Issue (least_squares): datapoints outside the mesh are not used in least squares. Importance: Mid - low Suggested Action: Talk to Steve about including them Issue (least_squares): Code to not product D matrix (if it isn't needed) isn't working. Importance: Mid - low Suggested Action: Fix Issue: Get the reservoir example working for the 'new' pyvolution Issue: Mid Who: DSG 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: Largely resolved. action 2 ongoing Issue: Checkpointing - needs to respect changes in script. Importance: Low Issue: Adding unknown quantities cause a KeyError. Known quantities are given in the list other_quantities, in shallow_water. Do we want unknown quantities attached to domain in the future? If so, it shouldn't cause a key error. Importance: low Suggested Action: Who: OLE Issue: The water level can not be less than the bed elevation, as an assert. Importance: Medium Suggested Action: How about having the functionality that water levels are set to == the bed elevation, if level < bed elevation. This will make setting things up easier. A following suggestion is don't initialise quantities without values, eg in quantity __init__. Status: resolved. Needs unit test though Issue: Transmissive boundary condition can cause unphysical momentums if material is not moving out of the domain. Importance: Med Suggested Action: Comment in transmissive boundary code. look into sponge boundary. CLOSED ISSUES: -------------- Issue (Malpasset example): Pmesh no longer takes care of attributes but still accepts xya with attributes. Background: Chris imported xya file into pmesh. It contained x, y, bed elevation The tsh thus generated did add bed elevation, but didn't produce the proper tsh file. Importance: mid Suggested actions: Either spit out an error message or generate a proper tsh-header. Status: The story of this is wrong. Pmesh does produce a proper tsh file 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 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: Low Suggested Action: Have a look at the calling convention from C (David Beasley) Status: Unresolved - but no longer relevant as we don't call Python from C