Difference between revisions of "GEOS-Chem version numbering system"
(→GEOS-Chem alphanumeric version number system (now retired)) |
(→GEOS-Chem alphanumeric version number system (now retired)) |
||
Line 3: | Line 3: | ||
== GEOS-Chem alphanumeric version number system (now retired) == | == GEOS-Chem alphanumeric version number system (now retired) == | ||
− | GEOS-Chem versions [[GEOS-Chem v9-02|v9-02]] through [[GEOS-Chem v11-02|v11-02]] have used an alphanumeric system to denote major versions as opposed to intermediate checkpoint versions | + | GEOS-Chem versions [[GEOS-Chem v9-02|v9-02]] through [[GEOS-Chem v11-02|v11-02]] have used an alphanumeric version number system to denote major versions as opposed to intermediate checkpoint versions. The table below lists several previous GEOS-Chem versions that used the alphanumeric version number system. |
''NOTE: All intermediate checkpoint versions were validated with a 1-month benchmark. Some intermediate checkpoint versions were validated with 1-month and 1-year benchmarks. For clarity, we have not denoted the checkpoint releases for which 1-year benchmarks were also done.'' | ''NOTE: All intermediate checkpoint versions were validated with a 1-month benchmark. Some intermediate checkpoint versions were validated with 1-month and 1-year benchmarks. For clarity, we have not denoted the checkpoint releases for which 1-year benchmarks were also done.'' | ||
Line 61: | Line 61: | ||
|'''v11-02-final | |'''v11-02-final | ||
+ | |} | ||
− | Prior to [ | + | |
+ | |||
+ | Prior to [[GEOS-Chem v11-02]], intermediate checkpoint versions were not made available to GEOS-Chem users. Because of this, the last version in a series was always denoted as the "public" release (e.g '''v9-02-public''', '''v10-01-public''', etc.). This made sense at the time, because the "public" version was the version that GEOS-Chem users would would be able to download. The [http://manual.geos-chem.org GEOS-Chem manual] was only updated for each "public" release. | ||
We have since discontinued the term "public release", as GEOS-Chem users are now invited to download any intermediate checkpoint release when starting a research project. The last version in the v11-02 series will now be named '''v11-02-final'''. | We have since discontinued the term "public release", as GEOS-Chem users are now invited to download any intermediate checkpoint release when starting a research project. The last version in the v11-02 series will now be named '''v11-02-final'''. |
Revision as of 20:42, 14 June 2018
File:Page is under construction.jpg
Contents
GEOS-Chem alphanumeric version number system (now retired)
GEOS-Chem versions v9-02 through v11-02 have used an alphanumeric version number system to denote major versions as opposed to intermediate checkpoint versions. The table below lists several previous GEOS-Chem versions that used the alphanumeric version number system.
NOTE: All intermediate checkpoint versions were validated with a 1-month benchmark. Some intermediate checkpoint versions were validated with 1-month and 1-year benchmarks. For clarity, we have not denoted the checkpoint releases for which 1-year benchmarks were also done.
Action | Resulting version # |
---|---|
GEOS-Chem 10 public release | v10-01-public |
First intermediate checkpoint of v11-01
|
v11-01a |
Second intermediate checkpoint of v11-01
|
v11-01b |
...etc Intermediate checkpoint versions... | v11-02c thru v11-01k |
v11-01 "provisional" release
|
v11-01-provisional |
GEOS-Chem v11-01 "public" release | v11-01-public |
First intermediate checkpoint version of v11-02
|
v11-02a |
Second intermediate checkpoint version of v11-02
|
v11-02b |
...etc intermediate checkpoint versions ... | v11-02c thru v11-01f |
v11-02 "release candidate"
|
v11-02-release-candidate |
GEOS-Chem v11-02 final release
|
v11-02-final |
Prior to GEOS-Chem v11-02, intermediate checkpoint versions were not made available to GEOS-Chem users. Because of this, the last version in a series was always denoted as the "public" release (e.g v9-02-public, v10-01-public, etc.). This made sense at the time, because the "public" version was the version that GEOS-Chem users would would be able to download. The GEOS-Chem manual was only updated for each "public" release.
We have since discontinued the term "public release", as GEOS-Chem users are now invited to download any intermediate checkpoint release when starting a research project. The last version in the v11-02 series will now be named v11-02-final.
The practice of issuing a "provisional" or "release candidate" version immediately prior to the "final" release in a series began with GEOS-Chem v9-02. This was intended as a way of allowing users to take the "release candidate" version for a test-drive and to report any bugs or issues to the GEOS-Chem Support Team. The GCST would then be able to fix the issues for the "final" release.
While this versioning system worked well, it is not in line with accepted software industry best practice. Also the change in terminology from "public" to "final" and "provisional" to "release candidate", while well-intentioned, can lead to confusion. Furthermore, an intermediate checkpoint version number such as v11-02c does not distinguish between the addition of new features as opposed to bug fixes. For these reasons, we are migrating to a purely numeric version numbering system, as discussed in the following section.
--Bob Yantosca (talk) 20:39, 14 June 2018 (UTC)
GEOS-Chem numeric version number system
In order to transition between the alphanumeric and numeric versioning systems, the upcoming GEOS-Chem release v11-02-final will also carry the version number 12.0.0.
In order to conform more closely to industry-standard software versioning protocol, we are introducing a new system for GEOS-Chem version labelling. This system is loosely based on Semantic Versioning.
Overview
We will retire the alphanumeric versioning system (e.g. v11-02a, v11-02b, v11-02c, ...) and instead using 3 numbers of form X.Y.Z, as described in the table below.
Digit | Description | When is this digit incremented? |
---|---|---|
X | Major version number.
|
X is incremented when we introduce an update that immediately breaks backward compatibility with the previous series of GEOS-Chem versions.
Examples:
|
Y | Benchmark number (aka feature number)
|
Y changes when a new set of features is validated with a 1-month benchmark.
NOTE: Any change to a GEOS-Chem run directory (that is, modifying input.geos, HEMCO_Config.rc, HISTORY.rc, etc.) necessitates that Y be incremented. |
Z | Bug fix number (aka patch number) | Z changes when the following types of updates are added to the code:
NOTE: All patched X.Y.Z versions of GEOS-Chem will remain compatible with the run directories from the last benchmarked version (X.Y.0). |
--Bob Yantosca (talk) 18:59, 14 June 2018 (UTC)
Example
The numeric versioning system is illustrated in the table below.
NOTE: The 12.Y.Z version numbers listed in the table below are just for the purposes of illustration. They do not correspond to actual versions that have been released.
Action | Resulting version # |
---|---|
The GEOS-Chem v11-02 major release is issued | v11-02-final, aka 12.0.0 |
A bug is fixed, but does not break backwards compatibility | 12.0.1 |
Several new features are added and tested with a 1-month benchmark | 12.1.0 |
Fixed a bug identified during the benchmark | 12.1.1 |
Fixed a second bug identified during the benchmark | 12.1.2 |
More new features are added and tested with a 1-month benchmark | 12.2.0 |
Fixed a bug identified during the benchmark | 12.2.1 |
...etc. | 12.Y.Z |
Issued the next GEOS-Chem "release candidate";
|
12.N.0 (N is TBD) |
The next major version of GEOS-Chem is released | 13.0.0 |
--Bob Yantosca (talk) 18:59, 14 June 2018 (UTC)
Documentation
The GEOS-Chem manual will be rewritten for each "major" release X.0.0. But the GEOS-Chem wiki will be updated for each benchmark and patch version X.Y.Z. Since GEOS-Chem v11-01, much of the GEOS-Chem manual now points to information on the GEOS-Chem wiki.
GEOS-Chem users will no longer need to wait for a major release (X.0.0), but instead can download the most recent version (X.Y.Z) when starting a new research project.
--Bob Yantosca (talk) 18:59, 14 June 2018 (UTC)