Skip to content

Minor Version Update Protocols

Erik Kluzek edited this page May 1, 2024 · 11 revisions

Major/Minor Version Update Protocols

Minor version updates are when the second number in the tag changes (i.e. ctsm6.0.176 to ctsm6.1.0). Major version updates are when the first number changes (i.e. ctsm6.5.176 to ctsm7.0.0). Major version updates follow this as well and just add additional requirements.

Required testing

  • Run the following tests: namelist, python, aux_clm, ctsm_sci, fates, mosart, rtm, tools

  • Simulations should be performed and verified at least working up to the final version (normally spinup and transient for standard resolution)

  • Compare namelists between the previous tag and what will become the new minor version update

cd $SCRATCH git clone --origin escomp -b <previous_tag> <giturl>/ESCOMP/CTSM.git <previous_tag> cd bld/unit_testers ./build-namelist_test.pl --generate cd <location_of_clone_for_new_tag> cd bld/unit_testers ./build-namelist_test.pl --generate ./compare_namelists --physicsA <old_physics_version> --physicsB <new_physics_version>

Make sure that the changes appear as expected.

When a new physics version option is added

Compare the new namelists to the older one to make sure the changes are as expected

cd bld/unit_testers ./build-namelist_test.pl ./compare_namelists --physicsA <old_physics_version> --physicsB <new_physics_version>

Required review

  • Review the final version before it comes in as a tag.
  • Review the README files to make sure they are still accurate

Major Version Update Additions

  • Simulations are required to go along with a major version update
  • User's Guide and Technical note need to be updated
Clone this wiki locally