pdf: 600KB - Potsdam Institute for Climate Impact Research
pdf: 600KB - Potsdam Institute for Climate Impact Research
pdf: 600KB - Potsdam Institute for Climate Impact Research
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.