source: inundation/ga/storm_surge/pyvolution-parallel/wiki/issues.txt @ 1520

Last change on this file since 1520 was 1104, checked in by ole, 20 years ago

Mainly comments

File size: 5.8 KB
Line 
1
2OPEN ISSUES:
3------------
4Issue: finaltime should be renamed 'duration'
5
6
7Issue (least_squares): The current is-a-point-in-a-triangle algorithm
8is slow if a point is outside of the mesh.  It will check each
9triangle 3 times to see if the point is in that triangle.
10Importance: low
11Suggested Action: Form a polygon of the mesh boundary (by constructing
12the neigbour structure) and throw out points not in the polygon (this
13algorithm is there).
14Who: DSG
15
16Issue (interpolate_sww): Give a warning if points are outside the mesh.
17Importance: Mid
18Who: DSG
19
20Issue (interpolate_sww (new functionality)): Be able to specify at
21what times data is needed e.g. input a start, finish and period.
22Importance: low
23
24Issue (least_squares): Do a test that the number of attribute titles and number
25of attributes match
26Importance: Mid
27Who: DSG
28
29Issue (least_squares): Do a bug report ot sci py
30Importance: low to don't do
31Who: Stephen
32
33Issue (least_squares): datapoints outside the mesh are not used in
34least squares.
35Importance: Mid - low
36Suggested Action: Talk to Steve about including them
37
38Issue (least_squares): Code to not product D matrix (if it isn't
39needed) isn't working.
40Importance: Mid - low
41Suggested Action: Fix
42
43Issue: Get the reservoir example working for the 'new' pyvolution
44Issue: Mid
45Who: DSG
46 
47
48
49Issue: Parameters specified in config.py must be tranferred to C code
50and it should be possible to override them when setting up a domain.
51Background: N/A
52Importance: Mid
53Suggested Action:
54          1: Let domain read the config file to provide default values.
55          2: Write getters and setters to override them.
56          3: Pass pertinent values from domain into the c-extensions.
57Status: Largely resolved. action 2 ongoing
58
59
60Issue: Checkpointing - needs to respect changes in script.
61Importance: Low
62
63
64Issue: Adding unknown quantities cause a KeyError.  Known quantities
65are given in the list other_quantities, in shallow_water.  Do we want
66unknown quantities attached to domain in the future?  If so, it
67shouldn't cause a key error.
68Importance: low
69Suggested Action:
70Who: OLE
71
72
73Issue: The water level can not be less than the bed elevation, as an
74assert. 
75Importance: Medium
76Suggested Action: How about having the functionality that water levels are set
77to == the bed elevation, if level < bed elevation.  This will make
78setting things up easier.  A following suggestion is don't initialise
79quantities without values, eg in quantity __init__.
80Status: resolved.  Needs unit test though
81
82Issue: Transmissive boundary condition can cause unphysical momentums if
83material is not moving out of the domain.
84Importance: Med
85Suggested Action: Comment in transmissive boundary code.  look into
86sponge boundary.
87
88
89
90       
91CLOSED ISSUES:
92--------------
93
94
95Issue (Malpasset example):
96Pmesh no longer takes care of attributes but still accepts xya with attributes.
97
98Background:
99Chris imported xya file into pmesh. It contained x, y, bed elevation
100The tsh thus generated did add bed elevation, but didn't produce the proper
101tsh file.
102
103Importance: mid
104Suggested actions: Either spit out an error message or generate a proper
105tsh-header.
106Status:  The story of this is wrong.  Pmesh does produce a proper tsh file
107
108Issue: Second order limiters may cause numerical problems
109manifesting themselves as QNAN (Quiet NANs_ or INF)
110Background: The second order gradient limiter is not robust enough -
111especially with shallow water depths. Heighs and momentum are
112limited independently and high speeds may result.
113Importance: Mid
114Suggested Action:
115          1: Try to incorporate a weighted averaging process between
116          shallow depths and large depths as in the first order scheme.
117          2: Look at limiting height and momentum together, by keeping
118          an eye on the speeds
119          (e.g make speed constant across a volume and recompute momentum)
120          3: Catch errors resulting from these instabilities as early
121          as possibly and produce and throw an appropriate exception
122          4: Make small example that reveals this bug.
123Status: 1 succesfully implemented by Ole and Stephen 12/5/4.
124        2 Didn't work but using the weighted average for momentums seemed
125        to work well.
126        3 and 4 not done.
127        June 2004: With the new limiter (item 1 and 2) 3 and 4 are probably
128        not necessary now.
129
130
131
132Issue: Tags for specifying boundary conditions should be arbitrary
133Background: Domain has the functionality for using arbitrary keys
134when associating boundary objects to boundary values.
135Triangle, which pmesh is based on, uses integers only.
136It would be nice to have mnemonic names for boundaries throughout.
137Importance: Mid
138Status: Duncan resolved this in early June.
139
140
141
142
143
144Issue: Checkpointing - needs to always back one timestep up in
145       case output wasn't written
146Background:
147       Data at latest checkpoint may be incomplete or even corrupted
148       depending on when and how program was stopped.
149Importance: Mid
150Suggested Action: Always try second latest checkpoint first.
151Status: Done (Ole 14/5/4)
152             
153
154               
155Issue: interpolated_conserved_quantities in shallow_water.py
156Background: Was computed by flux functions and used by bed_slope.
157It turns out to be unneccessary as conserved quantities at centroid works just as well.
158Importance: Mid
159Suggested Action: Get rid of it everywhere
160Status: Was done when whole things was refactored in April 2004 by OMN
161
162
163Issue: Exceptions thrown by Python functions called from C don't get caughts
164Background: Have a look at gravity in shallow_water. It calls a C function, gradient, which may throw an exception if arguments are scalars.
165However, it doesn't get caught becuase gravity itself is called from within C
166Importance: Low
167Suggested Action: Have a look at the calling convention from C (David Beasley)
168Status: Unresolved - but no longer relevant as we don't call Python from C
169
Note: See TracBrowser for help on using the repository browser.