Design and implementation of a general software library for using NSGA-II with SWAT for multi-objective model calibration. (October 2016)