General Code Release Process and Timeline

Code Release follows the General Code Release Timeline process

General Code Release Timeline 

EventWhen (time before release)What happens
science feature freeze for simulations21 months beforeAll PRs for features intended to be released and used in associated simulations posted on github.  Must be complete and ready to integrate.  After integrations are complete, make first alpha tag and start component-level, "standalone" tuning.
Component tuning completed;  coupled tuning begins18 months before

All component level tuning must be done.  Atmosphere-only cases, ocean-only, land-only, etc.  All input files that will be needed for coupled runs finished and on input data server.   Open PRs to add final tuning values/changes.

After PRs are integrated, begin coupled tuning.  Make first beta tag.

After this, the compsets used in coupled simulations must stay bit-for-bit except for bug fixes, tuning updates.

Coupled tuning completed; coupled runs begins15 months beforeStart the coupled simulations to be included with release.
All-science freeze1 month beforeAny science code changes to be in release must have their PR merged to master by this date.   Non-science config/performance changes still allowed.
Code Freeze1 week before

No changes to any executed code.  May still update README's and other documentation. 

Conduct final tests.


vX.Y.0 tag made on master. The releaseNew climate-changing PRs can be merged to master after this.  Maintenance branch for release made.
Announcedays to few weeks after releaseSend emails, update