Hello, I have no time to look into this issue right now. Please add a wish ticket to trac "r.lake should support minimum water column depth" and describe how it should work.
Thanks, Maris. 2009/10/19, Martin Schweizer <schweizermar...@students.unibe.ch>: > Hi > > I have the following problem: I have the following formula from > http://grass.osgeo.org/gdp/raster/mapcalc-algebra.pdf on page 12. > > wasser = wasser+eval(x=elev+wasser,\ > > if(x>(y=elev[-1,0]+wasser[-1,0]),\ > -.15*if(elev>y,wasser,x-y),\ > .15*if(elev[-1,0]>x,wasser[-1,0],y-x))+\ > > if(x>(y=elev[1,0]+wasser[1,0]),\ > -.15*if(elev>y,wasser,x-y),\ > .15*if(elev[1,0]>x,wasser[1,0],y-x))+\ > > if(x>(y=elev[0,-1]+wasser[0,-1]),\ > -.15*if(elev>y,wasser,x-y),\ > .15*if(elev[0,-1]>x,wasser[0,-1],y-x))+\ > > if(x>(y=elev[0,1]+wasser[0,1]),\ > -.15*if(elev>y,wasser,x-y),\ > .15*if(elev[0,1]>x,wasser[0,1],y-x))+\ > > if(x>(y=elev[-1,1]+wasser[-1,1]),\ > -.10*if(elev>y,wasser,x-y),\ > .10*if(elev[-1,1]>x,wasser[-1,1],y-x))+\ > > if(x>(y=elev[1,1]+wasser[1,1]),\ > -.10*if(elev>y,wasser,x-y),\ > .10*if(elev[1,1]>x,wasser[1,1],y-x))+\ > > if(x>(y=elev[1,-1]+wasser[1,-1]),\ > -.10*if(elev>y,wasser,x-y),\ > .10*if(elev[1,-1]>x,wasser[1,-1],y-x))+\ > > if(x>(y=elev[-1,-1]+wasser[-1,-1]),\ > -.10*if(elev>y,wasser,x-y),\ > .10*if(elev[-1,-1]>x,wasser[-1,-1],y-x))) > > Now the problem is, that this formula just distribute a given portion of > water over the land. So if you have a flat surface, you get values like > 0,0000001... But what i want is, that the distribution of the water > continues only, if the water has reached a certain level. I have a > elev-raster with e range from -4 to 10000 and I would that the distribution > only continue, if the water has reached the level 0. > So, does anyone see a possiblilty, how i could do this? Could i perhaps > somehow combine the formula above with the formula from r.lake the way I > dont add or lose water (formula above) but only continue to distribute when > a certain level is reached (formula below)?: > > ${seedmap} = if( ${dem}, \ > if( if( isnull(${seedmap}),0,${seedmap}>0), ${wlevel}-${dem}, \ > if( \ > if(isnull(${seedmap}[-1,0]),0, ${seedmap}[-1,0]>0 && ${wlevel}>${dem}) ||\ > if(isnull(${seedmap}[-1,1]),0, ${seedmap}[-1,1]>0 && ${wlevel}>${dem}) ||\ > if(isnull(${seedmap}[0,1]), 0, ${seedmap}[0,1]>0 && ${wlevel}>${dem}) ||\ > if(isnull(${seedmap}[1,1]), 0, ${seedmap}[1,1]>0 && ${wlevel}>${dem}) ||\ > if(isnull(${seedmap}[1,0]), 0, ${seedmap}[1,0]>0 && ${wlevel}>${dem}) ||\ > if(isnull(${seedmap}[1,-1]),0, ${seedmap}[1,-1]>0 && ${wlevel}>${dem}) ||\ > if(isnull(${seedmap}[0,-1]),0, ${seedmap}[0,-1]>0 && ${wlevel}>${dem}) ||\ > if(isnull(${seedmap}[-1,-1]),0, ${seedmap}[-1,-1]>0 && ${wlevel}>${dem}),\ > ${wlevel}-${dem}, null() ))) > > Thanks a lot! And best regards > > Martin > > _______________________________________________ > grass-user mailing list > grass-user@lists.osgeo.org > http://lists.osgeo.org/mailman/listinfo/grass-user > _______________________________________________ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user