| Message/Author |
|
|
|
|
Please see post on: http://www.coulthard.org.uk/discus/messages/45/46.html?1158826354 copied below BUG/IMPROVEMENT - a generic one that applies to all previous CAESAR codes. For thos of you developing: In the routing modules (route_lr(), route_up() etc..) replace the lines: { if(elev[x+1,y-1]<lowest)lowest=elev[x+1,y-1]; if(elev[x+1,y]<lowest)lowest=elev[x+1,y]; if(elev[x+1,y+1]<lowest)lowest=elev[x+1,y+1]; q_out = q_out * ((tot_ht - lowest) / depth[x, y]); if(q_out>discharge[x,y])q_out=0; // line to prevent very very small depths increasing q_out disproportionaltely if(lowest>tot_ht)q_out=0; } with { if(elev[x+1,y-1]<lowest)lowest=elev[x+1,y-1]; if(elev[x+1,y]<lowest)lowest=elev[x+1,y]; if(elev[x+1,y+1]<lowest)lowest=elev[x+1,y+1]; q_out = q_out * ((tot_ht - lowest) / water_depth[x, y]); if(q_out>discharge[x,y])q_out=0; // line to prevent very very small depths increasing q_out disproportionaltely if(lowest>tot_ht)q_out=0; } this means that the volume of water left behind in a cell (if the ones infront are too high) is divided by the max water depth calculated over all the previous scans rather than that scan itself. Also note the line: if(q_out>discharge[x,y])q_out=0; // line to prevent very very small depths increasing q_out disproportionaltely Which is added from some previous versions. There is a post about this bug as well, but I thought it best to highlight it again. WHen operating in catchment mode, this could cause large Q volumes to erroneously enter the system |
|
|
| Back to top |
|