Carving and adaptive drainage enforcement of grid digital elevation models