24.05.2014 Views

pdf: 600KB - Potsdam Institute for Climate Impact Research

pdf: 600KB - Potsdam Institute for Climate Impact Research

pdf: 600KB - Potsdam Institute for Climate Impact Research

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

65<br />

Restriction to scientific freedom<br />

It may be considered that the development of a standard modelling language restricts scientific<br />

freedom: researchers should be free to adopt whatever method they choose <strong>for</strong> implementing their<br />

models.<br />

There are several issues here. First, as presented in Section 3, numerous groups are now<br />

developing integrating modelling frameworks. By their very nature, these require standards on<br />

how modules (components) are interfaced, and thus also serve to constrain the methods that<br />

modellers can adopt.<br />

Second, there are already several examples of standards-development within ecosystem research,<br />

and many examples in other disciplines. For example, there are many initiatives to develop<br />

metadata standards (such as the LTER metadata initiative [see URLs]), and these are seen as<br />

fundamental to the progress of ecosystem research in the internet age. It certainly restricts the<br />

types of data and metadata that can be captured, but is being adopted because of the huge benefits<br />

in shareability that it brings about.<br />

Third, there will always be some models that cannot be implemented in a declarative language,<br />

regardless of how expressive it is. No-one, I think, would argue that the conceptual design of a<br />

model - a genuine scientific issue - should <strong>for</strong>cibly be changed to fit into some standard<br />

framework. However, the situation is rather different if the model could been expressed within a<br />

standard declarative language. In this case, it is much harder to argue that scientific freedom is<br />

being compromised.<br />

Fourth, the existence of a standard does not mean that everyone is obliged to use it. It could still<br />

be up to each group to decide to implement a model through programming, even if the model was<br />

capable of being represented in a standard language, and even if this took much longer and meant<br />

that they couldn't use widely-available submodels and tools. People should want to use a<br />

standard because of the benefits it brings.<br />

Fifth, there is an issue of value-<strong>for</strong>-money <strong>for</strong> the taxpayer. Certainly, one would hope that<br />

researchers would want to use a standard, rather than be <strong>for</strong>ced to. But funding bodies have a<br />

legitimate concern with 'bang-<strong>for</strong>-buck': the return they get in return <strong>for</strong> the funding they put in.<br />

If a group insists on using time-consuming methods, which fail to make use of existing resources<br />

(models and tools), and which produce a product that is much less shareable with the rest of the<br />

community, then they surely need to justify this to the funding body. This justification should be<br />

more than just a claim to scientific freedom, or the fact that the research assistant employed<br />

happens to be familiar with a certain programming language.<br />

The problem of legacy code<br />

There are already many ecosystem or part-ecosystem models in use, <strong>for</strong> example, in <strong>for</strong>est<br />

science, agronomy, or hydrology. <strong>Research</strong>ers are familiar with their code, and unwilling to<br />

contemplate re-casting the models in some other notation. This is one of the main drivers behind<br />

the current development of a component-based modelling framework by several groups: such<br />

frameworks enable (in principle) existing legacy code to be wrapped up as a component and<br />

integrated with other components, perhaps even implemented in other programming languages.<br />

This is a valid concern. However, it is worth making two points. First, I believe (having<br />

investigated the conversion of several programmed models into Simile) that the ef<strong>for</strong>t required to<br />

convert a programmed model into a declarative <strong>for</strong>mat is less than supposed. This is especially the<br />

case if the model was well programmed in the first place, particularly with clear separation of rate<br />

and state calculations, and sound implementation of numerical integration procedures. Second,<br />

legacy models can be wrapped up as a DLL, and embedded within a declaratively-represented<br />

model, as discussed below.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!