Diagnosing spatiotemporal catchment hydrologic behavior via causal inference, information theory, and machine learning