Skip to content

Add a COSP timestep so diagnostics can be sampled less often#158

Merged
yaswant merged 6 commits intoMetOffice:mainfrom
mo-jmanners:135_cosp_timestep
Feb 3, 2026
Merged

Add a COSP timestep so diagnostics can be sampled less often#158
yaswant merged 6 commits intoMetOffice:mainfrom
mo-jmanners:135_cosp_timestep

Conversation

@mo-jmanners
Copy link
Member

@mo-jmanners mo-jmanners commented Jan 20, 2026

PR Summary

Sci/Tech Reviewer: @Petzi1
Code Reviewer: @yaswant

COSP requires an array of lit points (where the sun is above the horizon) so that SW diagnostics can be appropriately sampled. Currently the lit points are calculated for the model timestep. If COSP diagnostics are sampled less often than every model timestep then it would be more accurate to calculate the lit points based on the "COSP timestep".

A namelist option is added: n_cosp_step

This sets the number of model timesteps over which to calculate lit_fraction_cosp in illuminate_kernel_mod.F90. The lit_fraction_cosp is then passed to cosp_alg_mod.x90 in place of lit_fraction (the lit fraction for the model timestep).

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 Core rose-stem suite
  • If required (e.g. API changes) I have also run the LFRic Apps test suite using this branch
  • 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)

I have run tests using the standard rose-stem climate configuration with n_cosp_step=1 and n_cosp_step=12. The COSP sunlit_mask diagnostic was plotted in each case and correctly showed the increase in sunlit area when n_cosp_step=12.

trac.log

Test Suite Results - lfric_apps - cosp_timestep_test/run1

Suite Information

Item Value
Suite Name cosp_timestep_test/run1
Suite User james.manners
Workflow Start 2026-01-20T10:38:56
Groups Run developer
Dependency Reference Main Like
casim MetOffice/casim@2025.12.1 True
jules MetOffice/jules@2025.12.1 True
lfric_apps mo-jmanners/lfric_apps@cosp_timestep_test False
lfric_core MetOffice/lfric_core@2025.12.1 True
moci MetOffice/moci@2025.12.1 True
SimSys_Scripts MetOffice/SimSys_Scripts@2025.12.1 True
socrates MetOffice/socrates@2025.12.1 True
socrates-spectral MetOffice/socrates-spectral@2025.12.1 True
ukca MetOffice/ukca@2025.12.1 True

Task Information

✅ succeeded tasks - 1106

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

@github-actions github-actions bot added the cla-signed The CLA has been signed as part of this PR - added by GA label Jan 20, 2026
@mo-jmanners mo-jmanners requested a review from Petzi1 January 20, 2026 12:00
@mo-jmanners mo-jmanners added this to the Spring 2026 milestone Jan 20, 2026
@james-bruten-mo james-bruten-mo added the macro This PR contains a metadata upgrade macro label Jan 20, 2026
Copy link

@Petzi1 Petzi1 left a comment

Choose a reason for hiding this comment

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

I am happy with the science changes to enable variable timesteps for calls to cosp with appropriate lit_fractions. Over to @yaswant for a code review.

@yaswant yaswant merged commit e2a2097 into MetOffice:main Feb 3, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla-signed The CLA has been signed as part of this PR - added by GA macro This PR contains a metadata upgrade macro

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add a COSP timestep so diagnostics can be sampled less often

5 participants