Estou tentando criar um sistema de modelagem de inundação. O sistema consiste em duas partes, principalmente uma simulação de inundação de rio e simulação de chuva. Para fazer isso, estou executando a versão mais recente do GRASS 6.4. Também estou usando o SRTM obtido do CGIAR como meu DEM.
Gostaria de perguntar quais são os comandos mais apropriados para executar uma simulação. Ex. Terraflow
Também como estamos modelando inundações com base em um rio, é aconselhável usar o HEC-RAS ? Foi criado pelas mesmas pessoas que fizeram o GRASS. :)
Sou mais um programador do que um engenheiro. É o meu primeiro empreendimento em sistemas de simulação como parte do meu diploma.
A partir de agora Aqui está o nosso plano para a precipitação (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;
}
}