Water in sufficient quantity and quality is indispensable for multiple purposes like domestic and industrial use, irrigated agriculture, hydropower generation and ecosystem functioning. In many regions of the world, water availability is limited and even declining. Moreover, water availability is variable in space and time and often does not match with the spatio-temporal demand pattern. To overcome the temporal discrepancy between availability and consumption, reservoirs are constructed. Monitoring and predicting the water available in the reservoirs, the needs of the consumers and the losses throughout the river and water distribution system are necessary requirements to fairly allocate the available water to the different users, prevent floods and ensure sufficient water flow in the river. In this paper, this surface water allocation problem is considered a Network Flow Optimisation Problem (NFOP) solved by spatio-temporal optimisation using linear programming techniques.