A modular distributed model of catchment dynamics.