Ich versuche ein Hochwassermodellierungssystem zu erstellen. Das System besteht aus zwei Teilen, hauptsächlich einer Flussüberflutungssimulation und einer Niederschlagsimulation. Dazu verwende ich die neueste Version von GRASS 6.4. Außerdem verwende ich das von CGIAR erhaltene SRTM als mein DEM.
Ich möchte fragen, welche Befehle am besten geeignet sind, um eine Simulation auszuführen. Ex. Terraflow
Ist es auch ratsam, HEC-RAS zu verwenden, da wir Überschwemmungen anhand eines Flusses modellieren ? Es wurde von den gleichen Leuten kreiert, die GRASS gemacht haben. :) :)
Ich bin eher ein Programmierer als ein Ingenieur. Es ist mein erstes Projekt in Simulationssystemen im Rahmen meines Studiums.
Ab sofort Hier ist unser Plan für den Niederschlag (Pseudocode):
int i = 0, j = 0;
int passes, numberOfmesh;
double rainAmount;
double store1[][];
double store2[][];
numberOfmesh = getTotalMeshCells();
passes = computePasses(numberOfmesh());
rainAmount = getRainAmount();
/* rainAmount corresponds to the input of the user in the textfield.
store1 contains the elevation and the number of times an amount of water
has been passed to it (per pixel)
store2 contains the elevation and the total accumulated water (per pixel)
Both store1 and store2 have 'n' number of rows and 2 columns;
ASSUME THAT THE ARRAY HAS ALREADY BEEN POPULATED */
while(i != passes)
{
while(j != numberOfmesh)
{
direct = getDirection(store[j][0]);
/* direct corresponds to the direction of a mesh cell;
I don't know what id the datatype for direct; */
store2[j][6] += rainAmount;
gotoDirection(direct);
}
}
computeAccumulated();
//Here is what gotoDirect is supposed to do:
gotoDirect(direct)
{
/* How can we determine the elevation of the mesh cell to where the
'direct' points to?
In the following code, j refers to the elevation of the mesh cell where
the 'direct' point to.
*/
store1[j][7] += 1;
/* increases the number of times that an amount of water
was passed to it */
}
//Here is what computeAccumulated is supposed to do:
computeAccumulated()
{
while(j != numberOfmesh)
{
store2[j][8] += store1[j][9] * rainAmount;
}
}