Current Design of the Climate ADx

Submitted by Ben Smith | published 19th Jul 2011 | last updated 19th Jul 2011

Schematic diagram of ADx.

The schematic diagram explains the overall pictures of ADx. As shown in the diagram, the main components are namely:

  • Potential adaptation options: may be applicable to a situation a user is interested,
  • Inputs: including climate information as well as socio-economic factors, vulnerability, etc. ,
  • Shell: as a mechanism to select appropriate engines and present ouputs,
  • Engines: as potential methods and approaches.

Potential adaptation options and input information are fed into the shell of ADx. The shell selects an appropriate engine or multiple engines if necessary. Then, the appropriate adaptation options, which match to the context of its user's case will be displayed and explored after they are selected by the selected engines. Potential adaptation options will be selected from existing early cases; otherwise, new options can be suggested by experts or stakeholders. Input information will including pre-dominants, exogenous uncertainties, policy levers of a target case (Lempert, Popper et al. 2003, Postma, Liebl 2005)and these are stored as XML for flexibility and future extension as it allows its users to define their own elements in the data structure.

The shell is the user face of ADx so that the shell read input information and pass it to appropriate engines for the data and present adaptation options in a way that a user can explore them. So, normally users do not need to know the functionalities of ADx underneath the shell. Engines will be modularised, so adding new engine or removing excising engines will not affect the overall functionalities of the ADx. In other words, additional engines will be included into ADx later as the tool is developed.

One successful and similar example of this relationship between modularised engines and the shell is R programming language and environment. R is not only a programming language but also environment where you can load numerous packages to carry out various analytical studies. The user can submit and load packages, which allow specialized statistical techniques, graphical devices, as well as other functions. Notable packages are listed along with comments on the official R pages. Adding or removing packages does not affect fundamental functionalities of R environment, but adding extra packages enables users to use another types of analysis. Hence, the relationship between the shell and engines of ADx is similar to the relationship between the environment and packages of R. Having said that, one significant difference of ADx from R is that the environment of R does not select appropriate packages for your analysis, but ADx does.


Expert system to select appropriate adaptation engines in the Shell:

We should not confuse this with Elimination by aspects as an engine. The approach can be similar, but the shell only select the engine/methods. Elimination by aspects as selection of options should be written in different places.

The selection of appropriate tools/approaches is multi attribute decision making as the selection should be decided based on its context such as the type of input data, users, geographical location, etc. The multi attribute decision making can be categories by rational/irrational and optimaised/unoptimised. The rational approach is based on the assumption of utility maximisation, and there are approaches do not assume it (von Neumann, Morgenstern 1947). If an approach is based on optimisation, its algorithm will try to find the absolute bast answer within given constraints.

As discussed above, climate change is a area of deep uncertainties, so that it is better to keep an approach as robust as possible. Selecting an absolute engine may be optimal and efficient if it works; however, it will be difficult to make sure the judgement by only one criteria such as maximising the utility. Therefore, the ADx does not at least assume rationality in the shell and will be more robust if we designed it as a non-optimal approach.

One of the promising approaches in this category is elimination by aspects. In the approach, a decision maker pays attention to some attributes one by one and rounds down choices that fall below the threshold about each attribute from the choices set (Tversky 1972). Therefore, the approach clearly includes more than one criteria to select option and is possible to deal with both concious and unconscious decision making processes. If ADx adopts an optimal approach, the chosen engine will be the last one remained in the process. If non-optimal approach is used, more than one engines can be chosen and they are chosen based on the some thresholds, i.e. multiple satisfactory measurements (Rosenhead, Elton et al. 1972). The latter approach is currently focused more in this version and will be the appropriate approach for the nature of study.

More specifically, accounting for differing socio-economic contextual variables would enable such a model to be more useful in its application. Differing goals of subsistence, income, technology and productivity requirements could be included using Gladwin's 'elimination by aspects' methodology. This would allow customisation to include the constraints of in the data format and purpose of the studies. Different adaptation decision making process in different geographic locations involve different sets of socio-economic and cultural constraints.

Therefore, the selection of engine will be established by presenting the user with a series of yes/no ('elimination by aspects') questions from a set of engines; these will be filtered to a smaller set based on the responses given and the expert system will produce an ordering of engines as a result. These could be linked to other relevant databases of shared experiences and expertise in climate adaptation. Then, the shell will run the engine(s) to produce adaptation option(s) as a result of ADx.

In addition, ADx will always keep the option of self-selection by a user. A wizard will allow a user to select engines and/or to accept recommendations based on user responses to series of questions. This may not be a recommended option in the future, but the wizard will give another degree of flexibility and will be useful to test ADx and engines.


Developing environment of the shell

This section explains the technical aspects of the shell. ADx aims to support multiple operation systems such as Windows, Mac OS and Linux, or even we may develop its web-based application. Therefore, as the first prototype, we decided to develop the shell in the Java programming language and environment, which is independent from platforms such as hardware/operation system and possible to integrate into a web page displayed in a web browser.

The algorithm of elimination by aspects will be implemented by an expert system of Java Expert System Shell (Jess) or similar in the first version. The ADx will be used to analyse a specific case. The expert system of the ADx will then filter 'context-specific' in a specific case by using elimination by aspects. As Jess may have some licensing problem after ADx is launched officially and distributed to public openly and also the shell probably needs only a small subset of entire Jess functionalities, it will not necessary to use Jess to select engines. Therefore, the subset of Jess will be cloned in open-sourced language such as LispPrologScala, or implemented as a pure Java program.