Hochwassermodellierung in GRASS?


8

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;       

    }               
}

Antworten:


3

Ich kann nicht viel speziell über GRASS sprechen, aber es sieht so aus, als ob Sie hier versuchen, die Flussrichtung und die Akkumulationsgitter zu entwickeln. Ich bin mir ziemlich sicher, dass GRASS diese Funktionalität bereits integriert hat.

Sobald Sie diese Gitter entwickelt haben, können Sie eine Regressionsgleichung verwenden (das USGS entwickelt diese: http://water.usgs.gov/osw/programs/nss/pubs.html#wv ), um den Fluss in einer bestimmten Zelle zu berechnen und verwenden Sie diese Flows in einem HEC-RAS-Modell. HEC-RAS ist gut für die Hochwassermodellierung geeignet, weist jedoch eine Reihe von Einschränkungen auf: Es ist klobig und es gibt keine Dokumentation zu den Dateistrukturen, die mir bekannt ist. Aber es ist kostenlos und wird von Bauingenieuren sehr häufig verwendet.

Wenn Sie Hydrologie und Hydraulik in einen einzigen Prozess integrieren möchten, sollten Sie sich darauf vorbereiten, viel über die Fluiddynamik zu lesen.



2

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!


Mein Projekt ist die Erstellung einer Hochwassermodellierungssoftware. Ich werde die möglichen Überschwemmungen simulieren, die durch den Abfluss eines Damms verursacht werden. Es ist der Abfluss aus der Öffnung der Dammtore (nicht durch Dammbruch), der entlang eines Flusses geleitet wird. Wird dies als stationärer Zustand betrachtet?
TeamAngat

1
Entschuldigung, habe gerade Ihren Kommentar heute Nachmittag gesehen. Joseph Jones hat Ihre Frage zum Fluss aus einem offenen Tor beantwortet, und ich stimme seiner Antwort zu.
Howard Y

2

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 .....


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.