Skip to content

Release management: version string and components#446

Open
mo-marqh wants to merge 2 commits intoMetOffice:mainfrom
mo-marqh:lfric_apps_version
Open

Release management: version string and components#446
mo-marqh wants to merge 2 commits intoMetOffice:mainfrom
mo-marqh:lfric_apps_version

Conversation

@mo-marqh
Copy link
Copy Markdown
Member

@mo-marqh mo-marqh commented Apr 21, 2026

PR Summary

Sci/Tech Reviewer: Andrew Coughtrie (@andrewcoughtrie)
Code Reviewer: James Bruten (@james-bruten-mo)

version numbering and string return function added to lfric_apps

Code Quality Checklist

  • I have performed a self-review of my own code
  • My code follows the project's style guidelines
  • Comments have been included that aid understanding and enhance the readability of the code
  • My changes generate no new warnings
  • All automated checks in the CI pipeline have completed successfully

Testing

  • I have tested this change locally, using the LFRic Apps rose-stem suite
  • If any tests fail (rose-stem or CI) the reason is understood and acceptable (e.g. kgo changes)
  • I have added tests to cover new functionality as appropriate (e.g. system tests, unit tests, etc.)
  • Any new tests have been assigned an appropriate amount of compute resource and have been allocated to an appropriate testing group (i.e. the developer tests are for jobs which use a small amount of compute resource and complete in a matter of minutes)

trac.log

Test Suite Results - lfric_apps - lfric_apps_version/run4

Suite Information

Item Value
Suite Name lfric_apps_version/run4
Suite User mark.hedley
Workflow Start 2026-04-22T08:06:58
Groups Run developer
Dependency Reference Main Like
casim MetOffice/casim@2026.03.2 True
jules MetOffice/jules@2026.03.2 True
lfric_apps mo-marqh/lfric_apps@lfric_apps_version_m False
lfric_core mo-marqh/lfric_core@4b6d2de True
moci MetOffice/moci@2026.03.2 True
SimSys_Scripts MetOffice/SimSys_Scripts@4387949 True
socrates MetOffice/socrates@2026.03.2 True
socrates-spectral MetOffice/socrates-spectral@2026.03.2 True
ukca MetOffice/ukca@2026.03.2 True

Task Information

✅ succeeded tasks - 1185

Security Considerations

  • I have reviewed my changes for potential security issues
  • Sensitive data is properly handled (if applicable)
  • Authentication and authorisation are properly implemented (if applicable)

Performance Impact

  • Performance of the code has been considered and, if applicable, suitable performance measurements have been conducted

AI Assistance and Attribution

  • Some of the content of this change has been produced with the assistance of Generative AI tool name (e.g., Met Office Github Copilot Enterprise, Github Copilot Personal, ChatGPT GPT-4, etc) and I have followed the Simulation Systems AI policy (including attribution labels)

Documentation

  • Where appropriate I have updated documentation related to this change and confirmed that it builds correctly

PSyclone Approval

  • If you have edited any PSyclone-related code (e.g. PSyKAl-lite, Kernel interface, optimisation scripts, LFRic data structure code) then please contact the TCD Team

Sci/Tech Review

  • I understand this area of code and the changes being added
  • The proposed changes correspond to the pull request description
  • Documentation is sufficient (do documentation papers need updating)
  • Sufficient testing has been completed

(Please alert the code reviewer via a tag when you have approved the SR)

Code Review

  • All dependencies have been resolved
  • Related Issues have been properly linked and addressed
  • CLA compliance has been confirmed
  • Code quality standards have been met
  • Tests are adequate and have passed
  • Documentation is complete and accurate
  • Security considerations have been addressed
  • Performance impact is acceptable

Copy link
Copy Markdown
Contributor

@iboutle iboutle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've certainly no issue with this, but I'm also not sure I should really be the code owner for this - I'm not sure if that means the file is in the wrong place - it doesn't feel like this is a science constant (certainly the science doesn't care about the revision number - in fact we explicitly mandate that the science is independent of the revision number). I'm not sure if there is somewhere else more suitable we should put it?

@mo-marqh mo-marqh requested a review from a team as a code owner April 21, 2026 16:21
@mo-marqh mo-marqh requested review from Yaswant Pradhan (yaswant) and removed request for a team April 21, 2026 16:21
@github-actions github-actions Bot added the cla-modified The CLA has been modified as part of this PR - added by GA label Apr 21, 2026
@mo-marqh mo-marqh force-pushed the lfric_apps_version branch from e6ed88e to 6c96d56 Compare April 22, 2026 08:13
@github-actions github-actions Bot removed the cla-modified The CLA has been modified as part of this PR - added by GA label Apr 22, 2026
@mo-marqh
Copy link
Copy Markdown
Member Author

I've certainly no issue with this, but I'm also not sure I should really be the code owner for this - I'm not sure if that means the file is in the wrong place - it doesn't feel like this is a science constant (certainly the science doesn't care about the revision number - in fact we explicitly mandate that the science is independent of the revision number). I'm not sure if there is somewhere else more suitable we should put it?

I think you're right iboutle, that this code is in the wrong place.

I propose that we move the code to sit alongside space_from_metadata and thus rename science/shared/vector_space to something like science/shared/utilities and reflect this in

@iboutle
Copy link
Copy Markdown
Contributor

iboutle commented Apr 22, 2026

I've certainly no issue with this, but I'm also not sure I should really be the code owner for this - I'm not sure if that means the file is in the wrong place - it doesn't feel like this is a science constant (certainly the science doesn't care about the revision number - in fact we explicitly mandate that the science is independent of the revision number). I'm not sure if there is somewhere else more suitable we should put it?

I think you're right iboutle, that this code is in the wrong place.

I propose that we move the code to sit alongside space_from_metadata and thus rename science/shared/vector_space to something like science/shared/utilities and reflect this in

That seems better - it still seems odd that it's in a top-level location called "science", but we don't really have anything like "control" or "infrastructure" in lfric_apps, which would seem like the more natural place for something like this to sit

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A good change just the one question to answer and perhaps change but nothing major.

integer(i_def), public, parameter :: lfric_apps_patch_version = 1
logical(l_def), public, parameter :: lfric_apps_release_version = .false.
character(2), parameter :: prefix = 'vn'
character(4), parameter :: dev_suffix = '_dev'
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is there any chance there is going to be a need to have incremental dev versions between releases? if so _dev0 might be better that way it is obviously incrementable when needed (is a pretty standard mechanism as well).

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I discussed this with James Bruten (@james-bruten-mo)

there is a follow up activity to document these behaviours in the working practices, that James is going to do as soon as this is approved.

At present there is no _dev working practice, so this is new, and we can agree to do what we think is best. I think the simpler option is to have a singular _dev suffix that is unchanging, and only indicates that this is not a release, it's somewhere in the code commit line between releases, or even on a branch.

I propose that we stick with this singular _dev suffix, and only adopt some sort of increment if we come up with a managed working practice to support it.
At present the only working practice is on releases, and that needs a bit more systems documentation to make facets explicit.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep that's fine, I'm happy to leave it as is if this is the choice we are making 😸

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants