ABSTRACT

The development of cyber-infrastructure in the field of Environmental Fluid Dynamics has been long, and tortuous. With the proliferation of acceptable core university courses in the sciences and engineering, in the 1960s and 1970s, and the reduction of core credits needed for graduation, a knowledge gulf has been growing between computational scientists and software engineers (Wilson and Lumsdaine 2008). Yet Computational Science and Engineering (CSE) has been growing rapidly at most research universities, particularly in the 1990s and 2000s, penetrating to some extent most of science and engineering disciplines (McMail 2008). Large codes by their nature involved more than one environmental domain, for example, wind-driven currents and wave dynamics in oceanography, or channelized flow overland flow and groundwater flow in hydrology. As these codes grew in source lines, so did diversity of experts needed in their development, and thus the birth of community modeling. Models require readily available data and data systems, and community-modeling efforts both supported and directed

new field campaigns and observational systems (e.g., satellites, ships, planes, telecommunication). Inevitably, when the codes reached a certain size (say 50,000 lines of code), they became modeling frameworks. Too large for individuals to understand the rigid framework, developers would pass on their process modules to be implemented by a master(s) of the code. As these large framework models were to be linked to other framework models, such as between an ocean general circulation model (GCM) and an atmospheric GCM, they were so rigid that flux couplers unique to the domains being coupled were required. Great attention to the details to grid meshing, time stepping, computational  precision,  and  data  I/O  made  these  couplers  rigid themselves. Meanwhile the field of software engineering had been changing rapidly, developing new standards for data exchange, model interfaces, and ways to employ varied computational platforms (laptop, server, high-performance computing clusters, distributed and cloud computing). This chapter is written by a combination of software engineers and scientists behind four representative cyberinfrastructure projects involved in the field of environmental community modeling. Each project faced

28.1 Introduction ............................................................................................................................ 399 28.2 Principles .................................................................................................................................. 400

28.4 Major Challenges .................................................................................................................... 409 References .............................................................................................................................................410