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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

9<br />

• Programs <strong>for</strong> research-grade models are costly to develop and maintain, often running into<br />

many thousands of lines of code and requiring specialist programming skills.<br />

• Debugging is difficult. It is hard to put probes in a model to (e.g.) plot some arbitrary<br />

variable, and it is difficult to test submodels in isolation.<br />

• Re-use of models, submodels and model support tools is difficult and thus rare.<br />

• Programs, and thus the models they embody, frequently become obsolete at the end of the<br />

research project within which they were developed.<br />

• It can very hard <strong>for</strong> others to comprehend a model from its program.<br />

• There is no en<strong>for</strong>ced correspondence between a model-as-program and the documentation<br />

(e.g. metadata, comment blocks or journal paper) that describes the model. Variables<br />

cannot have metadata attached to them.<br />

• An equation in a conventional programming language is actually an assignment statement.<br />

This means that, while it is possible to write principled programs to implement a model, the<br />

language does not en<strong>for</strong>ce this.<br />

• There is a considerable conceptual gap between the constructs provided by a programming<br />

language, and those in the head of modellers when they design a model<br />

Box 2.1 What's wrong with implementing a model as a computer program?

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

Saved successfully!

Ooh no, something went wrong!