Skip to main content
ARS Home » Research » Publications at this Location » Publication #253196

Title: Environmental modeling framework invasiveness: analysis and implications

Author
item LLOYD, WES - Colorado State University
item DAVID, OLAF - Colorado State University
item Ascough Ii, James
item ROJAS, KEN - Natural Resources Conservation Service (NRCS, USDA)
item CARLSON, JACK - Natural Resources Conservation Service (NRCS, USDA)
item LEAVESLEY, GEORGE - Colorado State University
item KRAUSE, PETER - University Of Jena
item Green, Timothy
item Ahuja, Lajpat

Submitted to: Environmental Modeling International Conference Proceedings
Publication Type: Proceedings
Publication Acceptance Date: 5/9/2010
Publication Date: 12/15/2010
Citation: Lloyd, W., David, O., Ascough II, J.C., Rojas, K.W., Carlson, J.R., Leavesley, G.H., Krause, P., Green, T.R., Ahuja, L.R. 2010. Environmental modeling framework invasiveness: analysis and implications. In: Swayne, D.A., Yang, W.,Voinov, A.A., Rizzoli, A., and Fillatova, T. editors. Environmental Modeling International Conference Proceedings. International Modeling and Software Society, Modelling for Environment's Sake, July 5-8, 2010, Ottawa, Canada, p. 1073-1080.

Interpretive Summary: This paper presents results of an investigation on the framework invasiveness of environmental modeling frameworks. Invasiveness is defined as the quantity of dependencies between model code and the modeling framework. This research investigates relationships between invasiveness and the quality of modeling code. We also investigate the relationship between invasiveness and two common framework designs (lightweight vs. heavyweight). Different metrics to measure framework invasiveness were proposed and applied to measure invasiveness between model and framework code of several implementations of the Thornthwaite and Precipitation-Runoff Modeling System (PRMS) hydrological models. Framework invasiveness measurements were compared with existing software metrics with generally positive correlations being found. We found that models with lower framework invasiveness tended to be smaller, less complex, and have lower coupling. In addition, the lightweight framework implementations of the Thornthwaite and PRMS models were less invasive than the heavyweight framework model implementations. Our initial results suggest that framework invasiveness is undesirable for model code quality.

Technical Abstract: Environmental modeling frameworks support scientific model development by providing an Application Programming Interface (API) which model developers use to implement models. This paper presents results of an investigation on the framework invasiveness of environmental modeling frameworks. Invasiveness is defined as the quantity of dependencies between model code and the modeling framework. This research investigates relationships between invasiveness and the quality of modeling code. Additionally, we investigate the relationship between invasiveness and two common framework designs (lightweight vs. heavyweight). Five metrics to measure framework invasiveness were proposed and applied to measure invasiveness between model and framework code of several implementations of Thornthwaite and the Precipitation-Runoff Modeling System (PRMS), two hydrological models. Framework invasiveness measurements were compared with existing software metrics including size (lines of code), cyclomatic complexity, and object-oriented coupling with generally positive correlations being found. We found that models with lower framework invasiveness tended to be smaller, less complex, and have lower coupling. In addition, the lightweight framework implementations of the Thornthwaite and PRMS models were less invasive than the heavyweight framework model implementations. Our initial results suggest that framework invasiveness is undesirable for model code quality and that lightweight frameworks may help reduce invasiveness.