Modelado de inundaciones en GRASS?

8

Estoy tratando de crear un sistema de modelado de inundación. El sistema consta de dos partes, principalmente una simulación de inundación de ríos y simulación de lluvia. Para hacer esto, estoy ejecutando la última versión de GRASS 6.4. También estoy usando el SRTM obtenido de CGIAR como mi DEM.

Me gustaría preguntar cuáles son los comandos más apropiados para ejecutar una simulación. Ex. Terraflow

Además, dado que estamos modelando inundaciones basadas en un río, ¿es aconsejable utilizar HEC-RAS ? Fue creado por las mismas personas que hicieron GRASS. :)

Soy más programador que ingeniero. Es mi primera aventura en sistemas de simulación como parte de mi título.

A partir de ahora Aquí está nuestro plan para la lluvia (pseudocódigo):

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;       

    }               
}
equipoAngat
fuente

Respuestas:

3

No puedo hablar mucho sobre GRASS específicamente, pero parece que lo que está tratando de hacer aquí es desarrollar direcciones de flujo y cuadrículas de acumulación: estoy bastante seguro de que GRASS ya tiene esa funcionalidad incorporada.

Una vez que haya desarrollado esas cuadrículas, puede usar una ecuación de regresión (el USGS desarrolla estas: http://water.usgs.gov/osw/programs/nss/pubs.html#wv ) para calcular el flujo en una celda específica , y use esos flujos en un modelo HEC-RAS. HEC-RAS es bueno para el modelado de inundación, pero tiene una serie de limitaciones, a saber, que es torpe y no hay ninguna documentación que conozca sobre las estructuras de archivos. Pero es gratis y muy utilizado por los ingenieros civiles.

Si lo que está buscando hacer es integrar la hidrología y la hidráulica en un solo proceso, prepárese para leer mucho sobre la dinámica de fluidos.

thwllms
fuente
+1 mucha lectura. books.google.com/…
Kirk Kuykendall
2

La descripción de su proyecto no dejaba claro si estaba tratando de modelar el paso de una onda de inundación a través de una red de flujo bidimensional (es decir, el cambio en el área de inundación en función del tiempo a medida que la inundación pasa de aguas arriba a aguas abajo), o si su resultado es mostrar la elevación de inundación más alta en un punto dado causada por un solo evento de inundación (como lo que se muestra en los mapas de seguro contra inundaciones de FEMA).

El método sugerido por thwllms (usando las ecuaciones de regresión de USGS en cada celda) le daría el flujo PICO de un período de retorno dado (probabilidad de ser igualado o excedido en un año determinado) en una ubicación particular en un río. Ejecutar HEC-RAS para el río en cuestión le dará la elevación de la superficie del agua en estado estable PARA ESE FLUJO en cualquier sección transversal del río. (HEC-RAS es principalmente un modelo unidimensional de "perfil de la superficie del agua" en estado estable). Las elevaciones de la superficie del agua así obtenidas se transfieren a un mapa topográfico de papel o a un DEM para derivar las áreas de inundación causadas por ese nivel de flujo de inundación. Este es el método tradicionalmente utilizado (con algunas variaciones) para los estudios de seguro contra inundaciones de FEMA.

Si su proyecto es modelar el paso de una sola ola de inundación a lo largo del tiempo, entonces los flujos no están en estado estacionario, y HEC-RAS puede no ser el mejor modelo para usar. Hay otros modelos utilizados por el USGS, el Cuerpo de Ingenieros y la Oficina de Recuperación (junto con las agencias de ingeniería de los gobiernos estatales) que modelan tales flujos. Desafortunadamente, no estoy muy familiarizado con estos modelos de estado inestable.

Una vez que haya decidido qué tipo de caudales de río desea modelar, será apropiado buscar el modelo apropiado para usar. ¡Buena suerte!

Howard Y
fuente
Mi proyecto es crear un software de modelado de inundación. Simularé las posibles inundaciones causadas por la salida de una presa. Es el flujo de salida desde la apertura de las puertas de la presa (no por ruptura de la presa) que se canaliza a lo largo de un río. ¿Se considera esto como un estado estacionario?
teamAngat
1
Lo siento, acabo de ver tu comentario esta tarde. Joseph Jones ha respondido a su pregunta sobre el flujo desde una puerta abierta, y estoy de acuerdo con su respuesta.
Howard Y
2

La parte de lluvia se complica rápidamente si quieres ser realista ... ¿Cuánta lluvia se hunde en el suelo? se evapora? causa el deshielo? ¿Qué tan rápido fluye sobre tierra saturada? etc. etc. Si esto es solo un "ejercicio", adelante, trate al mundo entero como concreto y termine de hacerlo.

Fluye fuera de una puerta, constante y a largo plazo es el estado estacionario clásico. HEC-RAS es apropiado.

De lo contrario, necesitaría trabajar en equipo con un ingeniero para guiarlo en la aplicación de las ecuaciones de gobierno para el flujo de canal abierto ... reinventando totalmente la rueda. Siendo realistas, necesitaría batimetría de canal a menos que el flujo sea mucho mayor de lo que el canal puede acomodar. SRTM es demasiado tosco para una simulación creíble, pero nuevamente, parece que este es un ejercicio de codificación .....


fuente