Earth science often deals with complex systems spanning multiple disciplines. These systems are best described by integrated models built with contributions from specialists of many backgrounds. But building integrated models can be difficult; modular and hierarchical approaches help to manage the increasing complexity of these modeling systems, but there is a need for framework and integration methods and standards to support modularity. Complex models require many data and generate lots of output, so software and standards are required for data handling, model output, data distribution services, and user interfaces. Complex modeling systems must be efficient to be useful, so they require contributions by software engineers to ensure efficient architectures, accurate numerics, and implementation on fast computers. Further, integrated model systems can be difficult to learn and use unless adequate documentation, training, and support are provided.