Submitted to: Environmental Modelling & Software
Publication Type: Peer Reviewed Journal
Publication Acceptance Date: 3/13/2013
Publication Date: 4/28/2013
Citation: Zhang, X., Beeson, P.C., Link, R., Manowitz, D., Izaurralde, R.C., Sadeghi, A.M., Thomson, A.M., Sahajpal, R., Srinivasan, R., Arnold, J.G. 2013. Efficient multi-objective calibration of a computationally intensive hydrologic model with parallel computing software in Python. Environmental Modelling & Software. 46:208-218. Interpretive Summary: Watershed models are increasingly used for national conservation assessment by USDA and environmental assessment by USEPA. Calibration of models of large watersheds can be computationally intensive, sometimes taking days or weeks to run on desktop computers. To decrease computer run time, a method was developed to parallelize and run the Soil and Water Assessment Tool (SWAT) model on a cluster of computer processors. Test results showed that the model could be run 45-109 times faster than on a single computer depending on model complexity. The increase in speed will allow CEAP (Conservation Effects Assessment Project) national simulations for conservation policy planning to be run in minutes instead of days (i.e. from 48 hours to 30 minutes). This capability allows rapid response to questions involving national conservation and environmental policy and planning.
Technical Abstract: 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.