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;
}
}
quelle
Aus der Beschreibung Ihres Projekts ging nicht hervor, ob Sie versuchen, den Durchgang einer Flutwelle durch ein 2-D-Strömungsgitter zu modellieren (dh die Änderung des Überschwemmungsbereichs als Funktion der Zeit, wenn die Flut von stromaufwärts nach fließt stromabwärts) oder ob Ihre Ausgabe die höchste Hochwasserhöhe an einem bestimmten Punkt anzeigen soll, der durch ein einzelnes Hochwasserereignis verursacht wird (wie in den FEMA-Hochwasserversicherungskarten angegeben).
Die von thwllms vorgeschlagene Methode (unter Verwendung der USGS-Regressionsgleichungen für jede Zelle) gibt Ihnen den PEAK-Fluss einer bestimmten Rückkehrperiode (Wahrscheinlichkeit, in einem bestimmten Jahr erreicht oder überschritten zu werden) an einem bestimmten Ort in einem Fluss. Wenn Sie HEC-RAS für den betreffenden Fluss ausführen, erhalten Sie die stationäre Wasseroberflächenhöhe FÜR DIESEN EINFLUSS an einem bestimmten Flussquerschnitt. (HEC-RAS ist meist ein eindimensionales, stationäres "Wasseroberflächenprofil" -Modell.) Die so erhaltenen Wasseroberflächenhöhen werden dann auf eine Papiertopokarte oder auf ein DEM übertragen, um die durch dieses Niveau verursachten Überschwemmungsgebiete abzuleiten Hochwasserfluss. Dies ist die Methode, die traditionell (mit einigen Abweichungen) für die FEMA-Hochwasserversicherungsstudien verwendet wird.
Wenn Ihr Projekt den Durchgang einer einzelnen Flutwelle über die Zeit modellieren soll, sind die Strömungen nicht stationär und HEC-RAS ist möglicherweise nicht das beste Modell. Es gibt andere Modelle, die von USGS, dem Corps of Engineers und dem Bureau of Reclamation (zusammen mit den Ingenieurbüros der Landesregierungen) verwendet werden, um solche Ströme zu modellieren. Leider bin ich mit diesen instationären Modellen nicht sehr vertraut.
Sobald Sie sich für eine Art von Flussflüssen entschieden haben, die Sie modellieren möchten, sollten Sie das geeignete Modell für die Verwendung auswählen. Viel Glück!
quelle
Der Niederschlagsteil wird schnell kompliziert, wenn Sie realistisch sein wollen ... Wie viel Regen sinkt in den Boden? verdunstet? Schneeschmelze verursacht? Wie schnell fließt es über gesättigten Boden? usw. usw. Wenn dies nur eine "Übung" ist, behandeln Sie die ganze Welt als konkret und machen Sie damit fertig.
Konstanter und langfristiger Fluss aus einem Tor ist ein klassischer stationärer Zustand. HEC-RAS ist angemessen.
Andernfalls müssten Sie sich mit einem Ingenieur zusammenschließen, der Sie bei der Anwendung der maßgeblichen Gleichungen für den offenen Kanalfluss unterstützt ... und das Rad völlig neu belebt. Realistisch gesehen würden Sie eine Kanalbathymetrie benötigen, es sei denn, der Fluss ist viel größer, als der Kanal aufnehmen kann. SRTM ist zu grob für eine glaubwürdige Simulation, aber es klingt wieder so, als wäre dies eine Übung in der Codierung .....
quelle
Für die Regensimulation sollten Sie sich unbedingt das iHacres-Modul in SAGA GIS ansehen. Weitere Informationen finden Sie hier: http://www.ufz.de/index.php?en=17175
quelle