Applications of information theory and machine learning for hydrologic modeling