The Azimuth Project
Software engineering in climate science

Contents

Idea

Software engineering is the branch of study that is concerned with the overall quality, structure and maintainability of big software systems. When programming is compared to masonry, then software engineering can be compared to architecture.

Details

Quality Management

Verification and Validation

There is an important difference in the meaning of verification and validation in the context of quality management of software systems:

  • verification is about the question if the system does things right,

  • validation is about the question if the system does the right thing.

Example: Let’s say we would like to have a function that computes the price of a book, and we write a specification for that function saying “calculate the price of a book in dollars by multiplying the ISBN with 0.5”.

We employ a programmer who programs the function. We test the function by passing the number “20” into the function, it returns “10 dollars”. Now

  • verification says that the function is okay, because it does exactly what it should do, while

  • validation says that the function and the specification are faulty, because there is no connection of the ISBN of a book and its price whatsoever.

References

An interesting blog is

A history of the development and assessment of the current status of the climate science infrastructure can be found here:

  • Paul N. Edwards: A Vast Machine: Computer Models, Climate Data, and the Politics of Global Warming

category: software, climate