The DHARMA domain-specific middleware system is intended to allow hydrologic field engineers to tackle water-management problems on a scale previously impossible without sophisticated computational management systems. DHARMA provides automatic data acquisition via the Internet; data fusion from online, local, and cached resources: smart caching of intermediate results; parallel process execution; automatic transformation and piping of data between different hydrologic simulation models; and interfaces with existing metacomputing systems. Our target watershed model, WEPP, is limited to very small watersheds with current computer technology. A revolutionary change in hydrologic modeling on the watershed scale is being brought about by applying various watershed models to large watersheds, such as the Lake Decatur Watershed which covers 925 square miles. Even with unlimited hardware, the current version of WEPP can not be applied directly to the Lake Decatur Watershed because WEPP is limited to a maximum of 75 hillslopes. To address this issue, we have integrated support for heterogeneous simulation models in our software; for example, we can use WEPP to model individual hillslopes and SITES to model the connecting channels (reaches) and dams structures, playing to the strengths of both models. In this paper, we discuss the evolving software architecture of DHARMA and its interaction with the cluster and Grid infrastructures. We also present experimental results showing the performance of DHARMA using Globus over three Beowulf clusters.