ALPINE3D: a detailed model of mountain surface processes and its application to snow hydrology