Agronomy Journal Grow Your Career With ASA
HOME HELP FEEDBACK SUBSCRIPTIONS ARCHIVE SEARCH TABLE OF CONTENTS
 QUICK SEARCH:   [advanced]


     


This Article
Right arrow Abstract Freely available
Right arrow Figures Only
Right arrow Full Text (PDF) Free
Right arrow Alert me when this article is cited
Right arrow Alert me if a correction is posted
Services
Right arrow Similar articles in this journal
Right arrow Similar articles in Web of Science
Right arrow Alert me to new issues of the journal
Right arrow Download to citation manager
Right arrow reprints & permissions
Citing Articles
Right arrow Citing Articles via HighWire
Right arrow Citing Articles via Web of Science (17)
Right arrow Citing Articles via Google Scholar
Google Scholar
Right arrow Articles by Fila, G.
Right arrow Articles by Acutis, M.
Right arrow Search for Related Content
PubMed
Right arrow Articles by Fila, G.
Right arrow Articles by Acutis, M.
Agricola
Right arrow Articles by Fila, G.
Right arrow Articles by Acutis, M.
Related Collections
Right arrow Software
Published in Agron. J. 95:1330-1333 (2003).
© American Society of Agronomy
677 S. Segoe Rd., Madison, WI 53711 USA

NOTES & UNIQUE PHENOMENA

IRENE_DLL

A CLASS LIBRARY FOR EVALUATING NUMERICAL ESTIMATES

Gianni Fila*,a, Gianni Bellocchia, Marcello Donatellia and Marco Acutisb

a Res. Inst. for Industrial Crops, via di Corticella 133, 40128 Bologna, Italy
b Dep. of Crop Sci., via Celoria 2, 20133 Milan, Italy

* Corresponding author (g.fila{at}isci.it).

Received for publication June 21, 2002.

    ABSTRACT
 TOP
 ABSTRACT
 INTRODUCTION
 Description
 Structure and Basic Concepts
 Application and Availability
 Remarks
 Appendix:
 REFERENCES
 
IRENE_DLL (Integrated Resources for Evaluating Numerical Estimates–Dynamic Link Library) is a Microsoft (MS) COM (component object model) class library providing a set of routines designed to facilitate the implementation of model evaluation techniques. Statistical procedures (difference-based analysis, correlation–regression analysis, probability distributions, pattern analysis, statistics aggregation, and time mismatch analysis) are applied to allow comparing estimates against measurements, either individually taken or replicated. The dynamic link library (DLL) can be easily interfaced with applications developed under a MS Windows programming language. An essential description of the program is given along with the basic concepts of usage.

Abbreviations: DLL, dynamic link library • MS, Microsoft


    INTRODUCTION
 TOP
 ABSTRACT
 INTRODUCTION
 Description
 Structure and Basic Concepts
 Application and Availability
 Remarks
 Appendix:
 REFERENCES
 
THE INCREASING COMPLEXITY of agroecological models has stimulated modular approaches in model development (Acock and Reynolds, 1997; Luo et al., 1997; Kage and Stützel, 1999; Jones et al., 2001). The concept of modularity gained strong momentum with the widespread of the object-oriented techniques in software development (Sequeira et al., 1991; Silvert, 1993), which made easier the realization, even in agroecological models, of modern software engineering principles such as components integration, code reusability, systematic model development, easy documentation and maintenance, and language neutrality (Van Evert and Campbell, 1994; Acock and Reddy, 1997; Reynolds and Acock, 1997; Pan et al., 2000). This trend is finding increasing consensus, and it is evolving toward the standardization of simulation environments based on standard classes and interfaces (Hillyer et al., 2003).

In this context, we approached the issue of evaluating model estimates, which has always been regarded as a crucial step in the complex task of modeling activity in the fields of agrometeorology, soil science, and cropping systems (e.g., Penning de Vries, 1977; Martorana and Bellocchi, 1999; Sinclair and Seligman, 2000). The literature gives a number of statistical techniques on model evaluation; however, a well-grounded standard theory is missing, and careful attention to the modeling concepts and terminology used is required (Oreskes et al., 1994). The availability of dedicated software tools providing extensive, integrated statistical capabilities (e.g., IRENE; Fila et al., 2003) is highly supportive for exploring various aspects of model evaluation. In general, however, crop growth and hydrologic modelers deal with model evaluation by means of simplified statistical procedures incorporated within their own software. The lack of specifically designed libraries makes necessary the implementation of these procedures from the ground every time a software requiring model evaluation is developed, to the detriment of complexity and reliability of routines. To overcome this limitation, we developed a DLL that incorporates the most relevant aspects of statistical evaluation of models and which can be plugged into existing application software running on a MS Windows–based operating system.


    Description
 TOP
 ABSTRACT
 INTRODUCTION
 Description
 Structure and Basic Concepts
 Application and Availability
 Remarks
 Appendix:
 REFERENCES
 
IRENE_DLL is a collection of ready-to-use routines that evaluates models by comparing model estimates against measured data. The present description gives a synthetic overview of the program capabilities and some principles of usage. For the interested reader, a complete, detailed documentation accompanies the software with an extended set of code examples.

Six groups of analysis are implemented in IRENE_DLL and are listed in Table 1.


View this table:
[in this window]
[in a new window]
 
Table 1. Short list of functions implemented in IRENE_DLL.

 
Difference-Based Analysis
Difference-based indices, consisting of simple, absolute, and squared statistics quantify the departure of the model outputs from the measurements (Willmott and Wicks, 1980; Fox, 1981; Loague and Green, 1991; Kobayashi and Salam, 2000; Yang et al., 2000).

When replicates are available, confidence intervals and test statistics are computed (Smith et al., 1997). If estimates and measurements are replicated in pairs, model failure/goodness is evaluated according to two variation sources: experimental error and replication variability (Pitman–Morgan procedure).

Statistical Association–Based Analysis
Measures of statistical association such as correlation and regression coefficients provide quantitative estimates of the statistical covariation between estimated and measured values (Addiscott and Whitmore, 1987).

Regression parameters are calculated according to two methods: ordinary least squares and reduced major axis. Significance tests are applied to both correlation coefficients (Pearson and Spearman) and regression parameters (intercept and slope).

Pattern Analysis
Systematic biases of model residuals against external variables are assessed by means of pattern indices of different type (range-based, F-based; fixed, variable), developed by Donatelli et al. (2000)(unpublished, 2003).

Probability Distributions
Density functions and cumulative probability distributions (i.e., probability of exceedence; Weibull, 1961) are computed for evaluating outputs from models that include stochastic inputs.

Statistics Aggregation
The aggregation of more statistics by fuzzy-based rules was proposed (Bellocchi et al., 2002a, 2002b) to capture inaccuracies of different source into synthetic indices, giving a global score about model performance. The user is required to define the relative importance of each basic index and the limits above and under which it is certainly favorable or unfavorable. Statistics of different type may be aggregated into modules and more modules into indicators (second-level aggregation).

Time Mismatch Analysis
The presence of mismatches in time histories generated by dynamic models can be detected, according to Donatelli et al. (2002). The time mismatch is identified by the time shift (forward or backward) at which the best value of evaluation statistics are reached.


    Structure and Basic Concepts
 TOP
 ABSTRACT
 INTRODUCTION
 Description
 Structure and Basic Concepts
 Application and Availability
 Remarks
 Appendix:
 REFERENCES
 
IRENE_DLL consists of 10 classes, including data services, mathematical routines, and some data analysis procedures. There is not a hierarchical structure, so all classes can be accessed individually by the client code (Fig. 1 ; Table 2). Some naming conventions have been adopted to designate the elements of the program. Classes are prefixed by IRENEobj_, constants and enumerations are prefixed by IRENEconst_, and variable types are marked with IRENEvar_.



View larger version (30K):
[in this window]
[in a new window]
 
Fig. 1. The 10 class modules of IRENE_DLL.

 

View this table:
[in this window]
[in a new window]
 
Table 2. Short description of IRENE_DLL clases content.

 
Working with the DLL involves three steps: formatting input data, calling the functions, and handling outputs. Input data must be loaded into one instance of the IRENEobj_DataObject object. Whenever multiple sets of data are to be handled simultaneously, it is convenient to use the IRENEobj_DataObjects objects, which is a collection of IRENEobj_DataObject objects.

Math functions are grouped in five distinct classes: IRENEobj_Index, IRENEobj_Regression, IRENEobj_Tests, IRENEobj_DistrFunctions, and IRENEobj_Pattern. They accept data in the IRENEobj_DataObject format and return the outputs in specifically designed variable types. The functions for building the module and computing its value are contained in the class IRENEobj_Module. Multiple modules may be aggregated in one more complex index, the Indicator, by the class IRENEobj_Indicator.

All functions accept a shift integer-type parameter, which tells the function to displace the estimated data with respect to the measured data series of a given number of places, before computing the index. By iterating the function over a range of shifts, it is possible to detect time-related model biases.


    Application and Availability
 TOP
 ABSTRACT
 INTRODUCTION
 Description
 Structure and Basic Concepts
 Application and Availability
 Remarks
 Appendix:
 REFERENCES
 
IRENE_DLL was developed within an agroecological modeling background. The intended users are MS Windows programmers (in Visual Basic, C++, Delphi, etc.) needing to incorporate model evaluation procedures into their applications. The Appendix shows some pseudocode examples of how to use IRENE_DLL procedures.

The DLL was developed in MS Visual Basic 6. It runs under MS Windows NT/2000/XP. Installation of the DLL requires about 1 MB free disk space for the DLL file and the help file. IRENE_DLL does not require any external math library to run because all of the algorithms were either developed or customized in house from free code collected over the years. Basic statistical distributions (normal, t, and F) were verified against Snedecor and Cochran's tables (Snedecor and Cochran, 1980).

IRENE_DLL is available free of charge for noncommercial purposes. Both the techniques implemented and the scientific background are fully documented by the help file. The installation package and the stand-alone help file can be downloaded from the Internet at http://www.isci.it/tools/IRENE/IRENE.htm (verified 25 Apr. 2003). Comments about IRENE_DLL may be sent to agronomy{at}isci.it.


    Remarks
 TOP
 ABSTRACT
 INTRODUCTION
 Description
 Structure and Basic Concepts
 Application and Availability
 Remarks
 Appendix:
 REFERENCES
 
The DLL for the computation of model evaluation statistics is part of a large action toward a commonly agreed architecture for agronomic/agrometeorological modeling. It serves as a convenient means to support collaborative model development among a large, distributed network of scientists involved in creating object-oriented models in the agronomy and agrometeorology fields. It can be used in any model that is written in any object-oriented language under MS Windows. Code sharing significantly increases transparency of the underpinning science, and any improvement in the science can be easily transferred into the DLL routines. The developers are committed to enriching its offerings to keep up with evolving statistical methodology.


    Appendix:
 TOP
 ABSTRACT
 INTRODUCTION
 Description
 Structure and Basic Concepts
 Application and Availability
 Remarks
 Appendix:
 REFERENCES
 
pseudocode examples of how to use irene_dll
IRENE_DLL is available with a detailed documentation, which includes a commented MS Visual Basic 6 sample code for each available procedure. The following pseudocode examples are intended to give a general outlook on how the DLL works.

Example 1—Load Input Data into an IRENEobj_DataObject
* Source data stored in two bidimensional arrays

Get array MyEstimates(1 to 365, 1 to 12)

Get array MyMeasures(1 to 365, 1 to 12)

* Start an instance of the IRENEobj_DataObject

Create object MySelection As IRENEobj_DataObject

* Fill the IRENEobj_DataObject object with the source data

For i = 1 to 365

For j = 1 to 12

MySelection.Estimated(i, j) <- MyEstimates (i, j)

MySelection.Measured(i, j) <- MyMeasures (i, j)

Loop j

Loop i

Example 2—Compute Linear Regression by Least-Squares Method
* Get an IRENEobj_DataObject already loaded with input data

Get IRENEobj_DataObject MySelection

* Declare a purposely defined variable for storing results

Declare Variable Regr_results As IRENEvar_ Regression

* Start an instance of the IRENEobj_Regression, which contains the desired function

Create object RegrCalculator As IRENEobj Regression

* Call the desired function from the parent object and write the outputs in the storing variable (other function specifications omitted). This single line does all the work. Regr_results <- RegrCalculator.Regression_ LS(MySelection,,,)

* Display results in an appropriate manner

Display Regr_results

Example 3—Display Results of Example 2
* Get an output variable from a previous computing process

Get Variable Regr_results

* Display all the outputs contained in the variable

Display Regr_results.Slope

Display Regr_results.Slope_StandError

Display Regr_results.Slope_Prob_Tvs0

Display Regr_results.Slope_Prob_Tvs1

Display Regr_results.Intercept

Display Regr_results.Intercept_StandError

Display Regr_results.Intercept_Prob_Tvs0

Display Regr_results.F

Display Regr_results.Prob_F


    ACKNOWLEDGMENTS
 
Research was done under the auspices of the Italian Ministry of Agricultural and Forestry Policies, project SIPEAA (http://www.sipeaa.it), paper no. 9.


    REFERENCES
 TOP
 ABSTRACT
 INTRODUCTION
 Description
 Structure and Basic Concepts
 Application and Availability
 Remarks
 Appendix:
 REFERENCES
 




This article has been cited by other articles:


Home page
Agron. J.Home page
D. W. Meek, T. A. Howell, and C. J. Phene
Concordance Correlation for Model Performance Assessment: An Example with Reference Evapotranspiration Observations
Agron. J., July 7, 2009; 101(4): 1012 - 1018.
[Abstract] [Full Text] [PDF]


Home page
Agron. J.Home page
L. Carlini, G. Bellocchi, and M. Donatelli
A Library to Generate Synthetic Precipitation Data
Agron. J., September 5, 2006; 98(5): 1312 - 1317.
[Abstract] [Full Text] [PDF]


Home page
Agron. J.Home page
M. Donatelli, M. Acutis, G. Bellocchi, and G. Fila
New Indices to Quantify Patterns of Residuals Produced by Model Estimates
Agron. J., May 1, 2004; 96(3): 631 - 645.
[Abstract] [Full Text] [PDF]


This Article
Right arrow Abstract Freely available
Right arrow Figures Only
Right arrow Full Text (PDF) Free
Right arrow Alert me when this article is cited
Right arrow Alert me if a correction is posted
Services
Right arrow Similar articles in this journal
Right arrow Similar articles in Web of Science
Right arrow Alert me to new issues of the journal
Right arrow Download to citation manager
Right arrow reprints & permissions
Citing Articles
Right arrow Citing Articles via HighWire
Right arrow Citing Articles via Web of Science (17)
Right arrow Citing Articles via Google Scholar
Google Scholar
Right arrow Articles by Fila, G.
Right arrow Articles by Acutis, M.
Right arrow Search for Related Content
PubMed
Right arrow Articles by Fila, G.
Right arrow Articles by Acutis, M.
Agricola
Right arrow Articles by Fila, G.
Right arrow Articles by Acutis, M.
Related Collections
Right arrow Software


HOME HELP FEEDBACK SUBSCRIPTIONS ARCHIVE SEARCH TABLE OF CONTENTS
The SCI Journals Crop Science Vadose Zone Journal
Journal of Natural Resources
and Life Sciences Education
Soil Science Society of America Journal
Journal of Plant Registrations Journal of
Environmental Quality
The Plant Genome