JAMS - a Software Framework for Integrated Environmental Modelling Sven Kralisch, Peter Krause and Christian Fischer Department of Geoinformatics, Hydrology and Modelling, School of Chemical and Earth Sciences, Friedrich Schiller University, Jena, Germany Email: sven.kralisch@uni-jena.de Abstract The pressures on environmental systems are increasing worldwide due to population growth, socioeconomic development and the consequences of climate change. Therefore, adaptable tools and methods are needed to elaborate information, develop understanding and create strategies for the sustainable use and management of such systems. These tools should assist scientists, natural resource managers and decision makers by providing information about the system’s state and help them to identify suitable management strategies, estimate their performance and quantify the impact of future development scenarios. These objectives are tackled by simulation models that can cope with components and processes of environmental systems, e.g. the hydrological and nutrient cycles. Modelling frameworks and accompanying standards that allow for an easy implementation and extension of such models have therefore gained increasing attention from both model developers and users during the last years. The Jena Adaptable Modelling System (JAMS) is an open-source software framework that has been especially designed to address the demands of process-based environmental model development and various aspects of model application. The model design and implementation stage is supported by (i) the explicit representation of the spatial and temporal domains via appropriate data types, (ii) a strong separation of process simulation components from the description of more complex models, and (iii) the use of annotations to provide detailed meta-information on the purpose of simulation components and the meaning of their input and output data. In addition, JAMS supports the model application stage by providing (i) flexible interfaces for the input and output of environmental data, (ii) powerful parameter optimization and uncertainty analysis methods, (iii) service-oriented runtime environments for remote and grid-based model execution, and (iv) user-friendly functions for the analysis and visualization of environmental data. Graphical user interfaces support JAMS users during all stages of model development and application. A model building and parameterization front-end assists users during the creation of problem-tailored models and with the definition of model-related parameterization interfaces. The calibration of existing models is supported by a special graphical assistant which guides users during the setup and application of different state-of-the-art parameter optimization algorithms. A data explorer finally facilitates the analysis of JAMS models by providing plot and map visualizations of a model's input/result data and with the MCAT5 toolbox that offers powerful functionalities for the sensitivity analysis of environmental simulation models. In addition, a web-based user interface allows the definition and deployment of server-side model simulation and calibration tasks, thus providing easy access to high performance computing facilities. This paper will present the JAMS core concepts and give an introduction to models, simulation components and supporting tools already available for that framework. Sample applications will be used to underline the advantages of component-based model designs and to show how JAMS can be used to address the challenges of integrated environmental modelling. 1 Introduction To tackle problems of integrated water resources management, like e.g. raised by the implementation of the European Water Framework Directive, flexible and powerful simulation models are needed in order to analyse the current state of environmental systems or to project their future dynamics under predefined development scenarios. Especially in cases where domain-specific models cannot easily be extended to meet given modelling requirements, model coupling is a promising approach to create integrated solutions for the detailed consideration of a wide variety of different environmental processes. The systems that have emerged during the last two decades to address this requirement range from pure interface solutions that focus more on coupling of already existing models to simulation frameworks that also cover the creation of problem-tailored simulation components along given requirements. Systems of the first group are usually less focused on specific scientific domains and applications and rather provide standardized interfaces that existing models can be adapted to, allowing for broader and more standardized model coupling approaches. Examples are the Common Component Architecture (CCA), the High Level Architecture (HLA) or the Open Modeling Interface (OpenMI). Systems of the second group usually provide a software architecture (e.g. by means of interfaces and abstract classes) that (i) specifies how modelling components inside the framework need to be structured and how they can interact with each other, and (ii) that controls the creation, linkage and execution of components. While some of them also support the integration of existing, legacy components (e.g. by using code wrapping) these systems usually focus on the implementation of framework-compliant code. Examples are the Modular Modelling System (MMS), the Object Modelling System (OMS), The Invisible Modelling Environment (TIME) or LIQUID, all of them being specialized in the creation of hydrology-related models. An overview of state-of-the-art modelling frameworks can be found in Jagers (2010). The objective of this paper is to present the Jena Adaptable Modelling System (JAMS). Originally developed with a focus on hydrological process simulation, it is a framework for environmental simulation model development and application in general (Kralisch and Krause 2006). JAMS aims on simulating environmental processes at discrete points in time and/or space. Such systems, often referred to as timed event system, are widely-used by many distributed hydrological models applied in current practice. JAMS is developed as open source software under the GNU Lesser General Public License and maintained at the Department for Geoinformatics, Hydrology and Modelling of the Friedrich-Schiller-University of Jena, Germany. Its major focus is not on the coupling of existing, complex environmental models but rather on the creation of problem-tailored models from welldefined, scientifically sound process simulation components. As an example, these components simulate interception, potential evapotranspiration or soil temperature based on physically based algorithms. Depending on the model’s purpose and available input data, a user can choose from the available process implementations that best matches her or his demands. But JAMS is not just a framework for component coupling, but also contains tools and graphical user frontends that support all stages of a model’s design and application lifecycle, like configuration, calibration, sensitivity and uncertainty analysis, and the exploration and visualization of modelling results. Using JAMS, scientists can implement their expert knowledge as simulation components, even if little information about the later application context might be available at this stage (e.g. other components they might be coupled with). While providing a rich set of features useful for the application of simulation models (e.g. saving a models state during simulation for later continuation or providing server based and parallel execution environments), the framework’s invasiveness is minimized as much as possible in order to ensure a fast learning process. Process components implemented for JAMS and models constructed from them mainly focus on the simulation of the hydrological and nutrient cycle (Kralisch et al., 2007). The next section will give an overview of the JAMS architecture, its main concepts, model building blocks and dynamic runtime behaviour. Section 3 is dedicated to introduce various JAMS support tools covering the design and deployment of models as well as their calibration and analysis. Finally, section 4 will give a short overview of currently available JAMS-models and list some example applications. 2 System description 2.1 Framework overview The JAMS framework is structured into three main sections, i.e. (i) the core library, (ii) the runtime system, and (iii) the base component repository. The core library contains the API definition and different global support functions, e.g. for loading models or model data I/O. The application of models is managed by the runtime system, which is responsible for loading and executing JAMS models and provides additional services for event logging or profiling. The base component repository offers standard functions often used in environmental simulation models, e.g. providing geospatial processing capabilities. These central sections are complemented by different support tools and a graphical user frontends that are described in section 3. Interactions and dependencies between JAMS elements are depicted in Figure 1. The core library provides interfaces and data types both for the creation of modeling components and the runtime system. The latter can create and execute a JAMS model by accessing the component repository and a model definition, which is provided as a XML document. The creation of model definitions is supported by graphical user frontends covering the selection, linkage and parameterization of modeling components. Figure 1: JAMS framework elements 2.2 Model building blocks The main building block of any JAMS model is named component. A component is a JAVA class that implements three different methods (i.e. init, run and cleanup) that are triggered at according runtime stages that a JAMS model iterates through. As indicated by their name, these methods are executed at the beginning, in-between and at the end of a component’s lifetime. While the init and clean methods are executed only once, the run method can be invocated multiple times depending on the component’s purpose. Communication with the framework and other components is handled by arbitrary public attributes that fulfil two conditions: (i) they are of a valid JAMS data type and (ii) they are marked by a special JAVA annotation, i.e. a syntactic meta-information. Attribute annotations are used for defining their I/O type (read, write), their default values, physical unit and boundaries (if numeric), and a text describing the attribute’s purpose. This information is used both by the runtime system to setup and interlink attributes and by frontend tools to give support during model design. As an example, a component could calculate potential evapotranspiration (pET), taking wind speed, temperature, humidity, radiation and elevation as input and calculating pET as output. Components are stateless objects, meaning that all processing information has to be provided via attributes at each invocation of the component’s run method. In the case that a spatial state attribute (e.g. a water storage) should be modified by a component, the according value must be presented as an input and provided as an output of the component. The storage of the value till the next invocation of the component is done outside. Although theoretically possible, temporal and spatial iteration is not meant to be done inside of components. Instead, this is subject of the second type of model building blocks, called contexts. A JAMS context is a special component that can nest other components and contexts, named children. A context serves two main purposes: (i) it controls the execution of its children, and (ii) serves as an application context for them. Depending on the purpose of a given context, it might invoke its children multiple times over a number of iterations or only once if some predefined condition is satisfied (Figure 2). Figure 2: Context examples Examples for iterator contexts are the spatial context or the temporal context, iterating over a set of spatial model entities or time steps respectively and invoking their children for each of them (see section 2.4). A typical application of both contexts is shown in Figure 3, with a spatial context nested inside of a temporal context. Using this setup, conceptual models that simulate environmental processes at discrete points in space-time can easily be represented. For spatial contexts, different sets of spatial attributes (each of them representing one spatial model entity) must be stored after each iteration step and restored prior to the next iteration step of the same entity. This task is managed by state objects that are associated to contexts, each of them storing a set of attributes and their values. Depending on whether a context must store its iteration states or not, it can have multiple states (spatial context) or only one (temporal context). Children iteration is done in a context’s run method which it inherits from the component class (Figure 4). Figure 3: Nesting of temporal and spatial contexts Although contexts are stateless like components, they can manage a set of special states. A state is characterized by a dynamic set of attributes, reflecting its components’ inputs and outputs. As a context might iterate over a series of children invocations, one state object might exist for each iteration. The relation between components, contexts and states is shown in Figure 4. , serving as a data proxy for their child are stateful onkecstore their state after Details of the data stage are used to implement specific knowledge as process algorithms whereas the model structure and the components’ execution control are defined by the context components. As a benefit from this approach, an environmental process (e.g. potential evapotranspiration) can be implemented as a JAMS component without any knowledge about its later execution context, e.g. the temporal resolution or the type of spatial discretisation of the modelled area. The only precondition for the later application of a component in conjunction with others is the proper declaration of its desired input data and provided output data by means of metadata in the component's source code. Context components in JAMS define the model structure that is needed to represent the necessary temporal and spatial iteration loops. This can be accomplished by managing the repeated execution of other components while varying their sets of input data. Each set of input data may then represent one point in time (temporal context) or space (spatial context). A context component in JAMS can thus be seen as a scope that defines an environment for the execution of other software components. Together with another context (model context) that manages the execution of the real simulation, the above-mentioned environmental models can easily be produced. Figure 4: Components, contexts and states As JAMS is a JAVA-based framework, components and contexts are implemented as JAVA classes. For ease of use, newly implemented components can be inherited from existing base classes that already provide the necessary interfaces. In order to offer meta-information about components or contexts (e.g. for later use by the runtime system), JAVA annotations are used. They are 2.3 Dynamic behavior 2.3.1 Run stages 2.3.2 Data exchange High level model design Discrete time/space system Timed event system Non-linear Non-autonomous A JAMS simulation component is a software component which is characterized by a tuple (I, O, P) where I is a set of input In contrast to Discrete Event Systems, state transitions of JAMS simulation components are not autonomously triggered by external events. Instead, state transitions and thus the calculation of new output values are explicitly triggered Stateful / stateless context A context’s behavior defines a sequence of states which is traversed during the context’s run stage. A state can be understood as a dynamic, user defined set of attributes. For each context state all of the context’s child components are processed by executing their run method. As the child components input and output slots can be linked to any enclosing context’s state attributes, a context state can be seen as a data proxy that stores a component’s result beyond the components life span. , each of them characterized by a distinct set of attribute values. These attributes can be modified 2.3.3 Data exchange 2.4 Core components 3 Support tools 3.1 Model design and deployment 3.2 Parameter optimization and analysis 3.2.1 Sensitivity analysis and calibration The JAMS-Explorer is offering a powerful toolbox for sensitivity analysis, uncertainty estimation and model identification and visualization based on the Monte Carlo Toolbox Version 5 (MCAT5) developed by Wagener et al. (2007). Although MCAT was designed to meet requirements from the domain of hydrologic modeling, it is suited for most mathematical models as well. The following section provides firstly an overview about data requirements of the toolbox and the associated data-scheme. Secondly, all implemented methods are listed and a selection of three tools is explained in more detail. Most of the methods included in the toolbox require data from a prior Monte Carlo sampling. Monte Carlo sampling relies on repeated simulation of a model with randomly generated or perturbed parameter or input-data. To perform this task, the JAMS Framework includes some random sampler components. Section 4.2.2 gives further information about random sampling. The result from this sampling is the compilation (ensemble) of all the model responses consisting of model-parameters, one or more objectives and some spatial and time series data. Here, objective is specified as any single valued function of the model response, but in almost all cases a goodness-of-fit measure between simulated and observed data is supposed. Because of the huge amount of data, processing of ensembles usually requires a lot of computing power and even more memory capacity. The general concept of JAMS’ data analysis and processing is not suited for this task. Therefore, the demand for a special data-scheme arises, which meets the following requirements: - Efficient data-storage with regard to memory consumption Fast and simple creation of ensembles from raw data Flexibility and extensibility in respect to data-types used in the data-scheme Incorporation of metadata The core of the resulting scheme consists of four classes i) DataSet, ii) Simulation, iii) DataCollection and iv) Ensemble. The root of the scheme is the class DataSet. Therefore each class of the scheme has to be an instance of DataSet. The class Simulation is responsible for storing and enumerating all DataSets associated with a single model simulation. These DataSets are categorized by their name and class. Simulations also containing some metadata and ensure basic data consistency, but for the sake of flexibility they are neither intended to know much about their data nor offering methods for data manipulation. Here the class DataCollection comes into play, which is a powerful container for Simulations. It provides essential operations to search and manipulate DataSets and it is able to work with ensembles. Another feature of DataCollection is creation of Ensembles by simply providing properties of the desired DataSets. Then all DataSets which meet the requirements are retrieved from the collection of simulations and compiled into a new ensemble. Furthermore it is possible to merge multiple DataCollections into a new one, even when there are different temporal extends or different DataSets. The framework is able to handle such request and ensures some degree of data-consistency. Figure 5 shows the structure of the scheme and some of the provided operations. Figure 5 Data scheme in UML notation Method Application Dotty Plot A Posteriori Parameter Estimation Identifiability Plot DYNIA Regional Sensitivity Analysis Regional Sensitivity Analysis II Class Plot GLUE Variable Uncertainty GLUE Output Uncertainty Sensitivity Analysis, Model identification Model identification Model identification Temporal sensitivity analysis of parameters Sensitivity analysis Sensitivity analysis Comparison of behavioral and non-behavioral models Uncertainty estimation of one-valued model outputs Uncertainty estimation of time-series generated by a model Uncertainty estimation of time-series generated by a model based on Pareto estimation of multiple objectives Evaluation of dependencies between different objectives Visualization of the best parameter values with respect to different objectives. Visualization of the best simulation with respect to different objectives Pareto Output Uncertainty Multi-Objective Plots Normalized Parameter Range Plots Best Prediction Plots Table 1 MCAT methods available in JAMS–Explorer for Monte Carlo simulation analysis The next section describes three common challenges that can be addressed with MCAT. 3.2.1.1 Model identification A model is seen as identifiable iff, all the behavioral parameterizations of the model are located in a relative small region of the whole parameter-space. Here we assume that a behavioral parameterization is defined as parameter combination with plausible model response. With other words a model is identifiable if the behavior of the real system is explained only by one kind of parameterization. If a model is identifiable it can directly be used to draw conclusions about the hydrological system, e.g. assign a real physical meaning to some model parameters or using the model for predictions or scenario modeling. It can also provide some deep insight into the hydrological system. A Dotty Plot is special scatter plot for assessing identifiability. Each point represents the value of an objective or variable achieved with a specific parameter combination. To visualize the data the whole parameter space is projected in one dimension by selecting one parameter and ignoring the others. The surface or upper boundary line of the dots represents an estimate for the best model realization achievable for a given value of the selected parameter. If there is a well-defined maximum then the selected parameter could be considered to be well identified. Figure 6 shows the difference in the Dotty Plot between an identifiable parameter and a parameter which is not identifiable. It should be mentioned that many models are not or only partly identifiable, i.e. there are very different parameterizations explaining the system well. This is known as Equifinality. The reason for this is that different internal states of a model can result in similar model responses. It is not often feasible to validate internal model states. Because it is impossible to say which model is correct, no model could be refused. As a logical consequence an ensemble simulation should occur with all possible candidates. This functionality is also supported by JAMS. Figure 6 the left figure shows a parameter which could easily identified, where the parameter in the right picture is not identifiable. 3.2.1.2 Sensitivity Analysis A wide range of applications require identification of dominant parameters and processes of a hydrological model by performing a sensitivity analysis. The Regional Sensitivity Analysis Tool (Spear and Hornberger, 1980) is a method for estimating sensitivity of model parameters, where sensitivity is defined as effect on the entire model performance. This method splits the model simulations into ten groups according to their model performance. Thus the first group consists of the most behavioral simulations (best ten percent) and the last group consists of the most non-behavioral simulations (worst ten percent). For a given parameter, the accumulated distribution of the simulations across the valid range of the parameter is calculated. This is carried out separately for each group. Afterwards each distribution is visualized in a combined plot. A large discrepancy between those distributions indicates parameter-sensitivity where similarity between the distributions indicates weak sensitivity. Figure 7 shows an example for a sensitive and non-sensitive parameter. Applications of sensitivity analysis range from questions of decision support to hydrological – system – analysis. Another field of application is model calibration. It is known, that the effort to calibrate a model increases highly with the number of parameters. Hence it is not recommended to calibrate all model-parameters at once, but to split the calibration process into several subtasks by taking into account only a subset of the parameters. With this approach it is advisable to begin with the most sensitive parameters, because they are also most important in terms of calibration. A further improvement is to identify all identifiable parameters and to assign them to their optimal value. For both tasks MCAT-5 provides the necessary tools. 3.2.1.3 Uncertainty Estimation It is very unusual for hydrological models to exactly simulate reality. Uncertainties in the model structure, inputdata and parameterization leads to some uncertainties in the model response. It is very important to quantify these uncertainties to derive robust predictions and conclusions from a simulation. Uncertainty estimation in JAMS-Explorer is based on the Generalized Likelihood Uncertainty Estimation (GLUE) Framework, which uses Monte – Carlo – Sampling and disturb input-data and parameterization with random errors. This gives an estimate about the effect of real measurement errors and parameter-uncertainty. The basic idea behind GLUE is that the likelihood of simulation is reality is directly related to the value of an objective. Therefore the objective values are linear transformed into a probability distribution. In a preprocessing step non-behavioral simulations are removed from the ensemble. Then the probability distribution is used to generate confidence intervals.Figure 8 shows the confidence intervals generated from parameter uncertainty with the GLUE Uncertainty Estimation Tool. Figure 7 Regional Sensitivity Analysis: The left plot shows a very sensitive parameter. The right plot shows an insensitive parameter. 3.2.1.4 Calibration In order to apply environmental models successfully, it is essential to determine model parameters very carefully. A direct determination of parameter values is often not feasible since they lack a clear physical meaning or field measurements are too expensive. Therefore, estimation of parameters is usually done by fitting model response and observation in a trial and error process. Depending on the model's complexity and the number of calibration parameters, this process can often be very time-consuming. Model calibration with JAMS is supported by some powerful tools for optimization, which have been implemented as JAMS context components. In various studies it was shown that the available algorithms are able to find good and best parameterizations automatically. A noticeable advantage of JAMS is that due to the flexibility of the JAMS framework and the generality of the applied methods, only a minimum of knowledge about the model to be calibrated is needed. Only the relevant model parameters, the objective function(s) and method dependent parameters must be made available to the calibration component. The process of calibration with JAMS consists of several steps as shown in Error! Reference source not found.. i) At first the optimization context is initialized, e.g. optimization parameters are Figure 8 0.95 Confidence intervals, calculated with GLUE read and variables are initialized. ii) The next uncertainty estimation. Nine different parameters of the J2000 iteration is started with generation of a new were disturbed during a Monte - Carlo - Analysis parameter-set 𝑝, according to the rules of the optimization method. iii) With this parameterset 𝑝 a model simulation is carried out. iv) The objective is evaluated. The optimization routines do not contain any functionality for calculating objective values, but the JAMS – Framework is offering some components for model assessment e.g. calculation of the Nash-Sutcliff-Efficiency (𝐸2 ), Coefficient of determination (𝑟 2 ) or absolute volume-error (𝐴𝑉𝐸). To pass the calculated objective to the optimizer the functionality of JAMS – Attributes is used. It is possible to optimize a single objective or multiple objectives at a time or simply performing a random sampling for Monte-Carlo-Analysis. There are significant differences between those options, which are summarized in Table 2. v) Steps ii-v is reiterated until a stopping criterion is fulfilled. Formal description of the set of solutions Random Sampling Single objective optimization Multi objective optimization 𝐿 = 𝑝̃ ⊆ 𝑃, |𝑝̃| = 𝑘 𝐿 = {𝑥: 𝑓(𝑥) = min 𝑓(𝑝)} 𝐿 = {𝑥: ∀𝑦∈𝑃 ∃𝑖=1..𝑚 𝑓𝑖 (𝑥) ≤ 𝑓𝑖 (𝑦)} 𝑝∈𝑃 Number of objectives Description of set of solutions - 1 m Any arbitrary collection of parameter-sets (some) global optimal point(s) Pareto – Front Example of a solution Solvers in JAMS RandomSamper Latin Hyper Cube Random Sampler Random Samplers are performing simply a fixed number of model simulations. To perform multiple simulations with random input error the InputErrorEstimation component could be used, which adds an absolute or relative error to measurement data. Example Shuffeld Complex Evolution DIRECT Simple Branch & Bound Gutmann Method Nelder Mead DIRECT is a typical deterministic optimization routine based on the Branch&Bound paradigm. The class of Branch & Bound algorithms has a long history in mathematical optimization. The common strategy of these methods is to partition the problem into smaller sub problems (Branch), choose one of the sub problems and recursively apply this strategy. As soon as all sub problems have been solved, the solution of the original problem is also known. To speed up this process sub problems are rejected if they are unlikely to contain a global solution (Bound). A detailed explanation of this algorithm is given by Horst et al. (2000). MOCOM NSGA-II MOSCEM NSGA-2 is famous multiobjective optimization routine, which has been attracted a lot of interest in the community of mathematical optimization. NSGA-2 has shown good performance in many studies (Bui et al. 2004, Coello & Sierra, 2003, Zitzler et al., 2000). The algorithm belongs to the class of genetic algorithms, which is a subset of evolutionary algorithms. Solution candidates in evolutionary algorithms are seen as population of individuals. The process of optimization develops this population by creating new generations with common operations like selection, mutation and crossover, which are inspired by biological evolution. Table 2 Properties of single and multiple objective optimizations 3.2.1.5 OPTAS For the calibration of JAMS-models, various adjustments of the model structure are desirable, e.g. selection, insertion and parameterization of the optimization component, removal of visual output components and selection of in- and output data. The software wizard OPTAS provides support in this task and guides the user step by step through the process of calibration and gives assistance whenever possible. As a first step of the calibration setup procedure, the model is loaded and the list of available parameters is presented to the user. Following, feasible value ranges of the selected parameters and one or more objective functions (e.g. Nash-Sutcliffe efficiency) need to be selected from a list. Based on this information, suitable optimization methods are proposed and parameterized with default values. For fine tuning, these parameterizations can be adapted. A comprehensive description of all values helps to choose well-performing parameters. Finally the software wizard automatically generates the calibration environment. In order to maximize runtime performance of the model and accordingly of the calibration procedure, all components that are not needed to ultimately compute the objective function can be removed. In order to identify those components, a dependency analysis of the model is being applied based on the components’ input and output data. Based on the resulting dependency-graph the model structure can be further analyzed. A component which is not connected with the objective function component does neither directly nor indirectly use any data generated by that component. That means such a component has absolute no effect on the objective and is therefore eliminated. Because every component provides information about their attributes this analysis is done fully automatically. Usually, these are components for visualization and data-output. In addition, components can be identified that have influence on the objective function, but are independent of the parameters in calibration, e.g. data-input processes. Under specific circumstances, these processes can be executed only once before calibration starts, thereby saving execution time. In order to make sure that each model starts with identical initial conditions, a snapshot of the complete model is being taken. At each model execution in the course of the optimization procedure, this snapshot is being restored in advance. 4 Applications Simulation components and models available 5 Summary JAMS is developed as open source software licensed under the GNU Lesser General Public License and can be downloaded from http://jams.uni-jena.de. The package includes the JAMS core system, its GUI extensions for model creation and execution, a library with frequently used components (e.g. for creating plots and maps from simulation results), and the J2000 hydrological modelling components. In order to test JAMS, the package also provides a preconfigured, ready-to-run J2000 model with test data. 6 Bibliography Argent, R., Perraud, J., Rahman, J., Grayson, R., & Podger, G. (2009). A new approach to water quality modelling and environmental decision support systems. Environmental Modelling & Software, 24(7), 809-818. Argent, R., Voinov, A., Maxwell, T., Cuddy, S., Rahman, J., Seaton, S., Vertessy, R., et al. (2006). Comparing modelling frameworks – A workshop approach. Environmental Modelling & Software, 21(7), 895-910. Branger, F., Braud, I., Debionne, S., Viallet, P., Dehotin, J., Henine, H., Nedelec, Y., et al. (2010). Towards multi-scale integrated hydrological models using the LIQUID® framework. Overview of the concepts and first application examples. Environmental Modelling & Software, 25(12), 1672-1681. Bui, L.T. and Essam, D. and Abbass, H.A. and Green, D.(2004). Performance analysis of evolutionary multi-objective optimization methods in noisy environments. Proceedings of the 8th Asia Pacific symposium on intelligent and evolutionary systems 29-39 Coello, C. and Sierra, M.R.(2003). A coevolutionary multi-objective evolutionary algorithm. IEEE Congress on Evolutionary Computation, 2003. CEC'03. 482-489 David, O., Markstrom, S. L., Rojas, K. W., Ahuja, L. R., & Schneider, I. W. (2002). The Object Modeling System. In L. Ahuja, L. Ma, & T. A. Howell (Eds.), Agricultural System Models in Field Research and Technology Transfer (pp. 317–31). Lewis Publishers. Fink, M., Krause, P., Kralisch, S., Bende-Michl, U., & Flügel, W. (2007). Development and application of the modelling system J2000-S for the EU-water framework directive. Advances in Geosciences, 11, 123-130. Fischer, C., Kralisch, S., Krause, P., Fink, M., & Flügel, W. (2009). Calibration of hydrological model parameters with the JAMS framework. In R. Anderssen, R. Braddock, & L. Newham (Eds.), Proceedings of the 18th World IMACS Congress and MODSIM09 International Congress on Modelling and Simulation (pp. 866-872). Cairns, Australia. Gregersen, J., Gijsbers, P., & Westen, S. (2007). OpenMI: Open modelling Interface. Journal of Hydroinformatics, 3(9), 175–191. Kralisch, S., Zander, F., & Krause, P. (2009). Coupling the RBIS Environmental Information System and the JAMS Modelling Framework. In R. Anderssen, R. Braddock, & L. Newham (Eds.), Proceedings of the 18th World IMACS Congress and MODSIM09 International Congress on Modelling and Simulation (pp. 902-908). Cairns, Australia. Kralisch, S., Krause, P., Fink, M., Fischer, C., & Flügel, W. (2007). Component based environmental modelling using the JAMS framework. In D. Kulasiri & L. Oxley (Eds.), Proceedings of the MODSIM 2007 International Congress on Modelling and Simulation. Christchurch, New Zealand. Krause, P., Bende-Michl, U., Fink, M., Helmschrot, J., Kralisch, S., & Künne, A. (2009). Parameter sensitivity analysis of the JAMS/J2000-S model to improve water and nutrient transport process simulation - a case study for the Duck catchment in Tasmania. In R. Anderssen, R. Braddock, & L. Newham (Eds.), Proceedings of the 18th World IMACS Congress and MODSIM09 International Congress on Modelling and Simulation (pp. 3179-3186). Cairns, Australia. Krause, P., Kralisch, S., & Flügel, W. (Eds.). (2005). Model Integration and Development of Modular Modelling Systems. Advances in Geosciences (Vol. 4). European Geosciences Union. Krause, P. (2002). Quantifying the impact of land use changes on the water balance of large catchments using the J2000 model. Physics and Chemistry of the Earth, 27(9-10), 663-673. Rahman, J. (2004). Making frameworks more useable: using model introspection and metadata to develop model processing tools. Environmental Modelling & Software, 19(3), 275-284. Rahman, J. M., Seaton, S. P., Perraud, J. M., Hotham, H., Verrelli, D. I., & Coleman, J. R. (2003). It's TIME for a new environmental modelling framework. In MODSIM 2003: International Congress on Modelling and Simulation (pp. 1727-1732). Nedlands, WA, Australia: Univ Western Australia. Spear, R.C., Hornberger, G.M. (1980). Eutrophication in Peel Inlet, 2, Identification of critical uncertainties via Generalised Sensitivity Analysis. Water Research, 14, 43-49 Wagener, T., & Kollat, J. (2007). Numerical and visual evaluation of hydrological and environmental models using the Monte Carlo analysis toolbox. Environmental Modelling & Software, 22(7), 10211033. Dias, A.H.F. & De Vasconcelos, J.A.(2002). Multiobjective genetic algorithms applied to solve optimization problems. IEEE Transactions on Magnetics, 38(2), 1133-1136. CCA HLA OpenMI MMS OMS TIME LIQUID Jagers, H.R.A. (Bert), 2010. Linking Data, Models and Tools: An Overview, in: Swayne, D.A., Yang, W., Voinov, A.A., Rizzoli, A., Filatova, T. (Eds.), Proceedings of the iEMSs Firth Biennial Meeting: International Congress on Environmental Modelling and Software (iEMSs 2010). International Environmental Modelling and Software Society, Ottawa, Canada.