Data-driven catchment classification: application to the PUB problem