Efficient multi-objective calibration of a computationally intensive hydrologic model with parallel computing software in Python


With enhanced data availability, distributed watershed models for large areas with high spatial and temporal resolution are increasingly used to understand water budgets and examine effects of human activities and climate change/variability on water resources. Developing parallel computing software to improve calibration efficiency has received growing attention of the watershed modeling community as it is very time demanding to run iteratively complex models for calibration. In this research, we introduce a Python-based parallel computing package, PP-SWAT, for efficient calibration of the Soil and Water Assessment Tool (SWAT) model. This software employs Python, MPI for Python (mpi4py) and OpenMPI to parallelize A Multi-method Genetically Adaptive Multi-objective Optimization Algorithm (AMALGAM), allowing for simultaneously addressing multiple objectives in calibrating SWAT. Test results on a Linux computer cluster showed that PP-SWAT can achieve a speedup of 45-109 depending on model complexity. Increasing the processor count beyond a certain threshold does not necessarily improve efficiency, because intensified resource competition may result in an I/O bottleneck. The efficiency achieved by PP-SWAT also makes it practical to implement multiple parameter adjustment schemes operating at different scales in affordable time, which helps provide SWAT users with a wider range of options of parameter sets to choose from for model(s) selection. PP-SWAT was not designed to address errors associated with other sources (e.g. model structure) and cautious supervision of its power should be exercised in order to attain physically meaningful calibration results.