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;
}
}