Skip to content
February 8, 2018 / Damien Irving

Semantic versioning for our major climate reports?

I’m attending the joint AMOS / ICSHMO Conference in Sydney this week, where among other topics there’s been a lively discussion about preliminary plans for the next generation of climate projections for Australia.

In the past, new projections have been released by our major national science agencies (i.e. the Bureau of Meteorology and CSIRO) every 5-10 years: 1992, 1996, 2001, 2007 and 2015 (Whetton et al, 2016). This approach seems appropriate for the 1990s, but with such widespread use of the internet nowadays and the rapid pace of advances in climate research, the custom of publishing a periodical static report (and/or website) seems somewhat dated.

An alternative approach would be to follow the lead of the software development community. After a software package is released, it is common practice to keep track of subsequent updates and improvements via the use of semantic versioning. The convention for labeling each new version release is MAJOR.MINOR.PATCH (e.g. version 2.5.3), where you increment the:

  • MAJOR version when you make incompatible API changes,
  • MINOR version when you add functionality in a backwards-compatible manner, and
  • PATCH version when you make backwards-compatible bug fixes

The authors of the software then update the changelog for the project, which lists the notable changes for each new version. (The new changelog entry is often emailed to users of the software.)

It’s easy to imagine a situation where national climate projections could be posted online (e.g. https://www.climatechangeinaustralia.gov.au), with updates released on an as-needs basis by increments to the:

  • MAJOR version when there is a fundamental change to the projections themselves (e.g. a critical new dataset becomes available, like CMIP6)
  • MINOR version when content is added for a highly topical issue (e.g. an international climate target/agreement is reached, a major climate event occurs such as the warming hiatus)
  • PATCH version when minor research updates are added

The most obvious advantage of this approach is that frequent incremental updates ensure that the projections remain up-to-date with both user demands and the latest science. Most of the work would still get done in the lead up to the release of a new major version, but incremental improvements could be made in the meantime, rather than waiting years for the next report.

Advertisements

One Comment

Leave a Comment
  1. Michael Grose / Feb 9 2018 11:07

    Thanks for engaging with the talk and the subject Damian, it’s great to get your input. I totally agree that the concept of versioning is very useful here, with some tweaks and modification such as the ones you mention. A very useful part of this process would be documenting what is new/different between versions (and why) is a systematic way. Looking forward to discussing it more with you and developing it further 🙂

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s

%d bloggers like this: