A. For the purpose of protecting its inhabitants from damage by flood waters, a municipality may construct and maintain within or without the municipality:

(1)     dikes; (2)     dams;

(3)     embankments; (4)     ditches;

(5)     storm sewers; (6)     structures; or

(7)     excavations necessary to prevent flood waters from damaging property or threatening human lives within the municipality.

B. The municipality may change, extend, widen, deepen and raise the natural channel of any stream within or without the municipality or remove any obstruction in any stream within or without the municipality for the purpose of opening a channel and diverting flood waters.