CoMorph convection scheme refactoring#292
CoMorph convection scheme refactoring#292MichaelWhitall wants to merge 41 commits intoMetOffice:mainfrom
Conversation
interfaces/physics_schemes_interface/source/kernel/conv_comorph_kernel_mod.F90
Outdated
Show resolved
Hide resolved
interfaces/physics_schemes_interface/source/kernel/conv_comorph_kernel_mod.F90
Outdated
Show resolved
Hide resolved
|
I have also now upgraded the branch to the newly-released lfric_apps vn3.1 :) I'll rerun the rose-stem tests shortly... |
science/physics_schemes/source/convection/comorph/control/calc_delta_tv.F90
Show resolved
Hide resolved
science/physics_schemes/source/convection/comorph/control/cfl_limit_indep.F90
Show resolved
Hide resolved
science/physics_schemes/source/convection/comorph/control/fields_2d_mod.F90
Outdated
Show resolved
Hide resolved
…eeded to set l_positive flag passed into bad value checking in init_mass_moist_frac.
…eeded to set l_positive flag passed into bad value checking in init_mass_moist_frac.
…eeded to set l_positive flag passed into bad value checking in init_mass_moist_frac.
…eeded to set l_positive flag passed into bad value checking in init_mass_moist_frac.
science/physics_schemes/source/convection/comorph/control/conv_sweep_ctl.F90
Show resolved
Hide resolved
science/physics_schemes/source/convection/comorph/plume_genesis/calc_fields_next.F90
Show resolved
Hide resolved
science/physics_schemes/source/convection/comorph/plume_genesis/normalise_init_parcel.F90
Show resolved
Hide resolved
science/physics_schemes/source/convection/comorph/plume_model/calc_core_mean_ratio.F90
Show resolved
Hide resolved
science/physics_schemes/source/convection/comorph/plume_model/init_sublevs.F90
Outdated
Show resolved
Hide resolved
science/physics_schemes/source/convection/comorph/control/conv_sweep_ctl.F90
Show resolved
Hide resolved
AlisonStirling
left a comment
There was a problem hiding this comment.
This is a long set of changes that will eventually enable new functionality (two-plumes) into CoMorph, and in many instances serve to simplify the previous code.
Clear explanations for the changes accompany this issue, and crucially, and by design, they don't change answers across the range relevant tests.
A significant addition to the new code lines is the inclusion of unit tests on CoMorph's standalone model, which is a very useful, rapid tool for testing the scheme.
We note that in the past day or so there has been an announcement on documentation pages for LFRic APPs. The porting of documentation will be done as a separate issue.
@t00sa I am happy to approve this, and pass to code review.
PR Summary
Sci/Tech Reviewer: @AlisonStirling
Code Reviewer: @t00sa
closes #178
This aims to lodge the first tranch of changes to the CoMorph convection scheme code-base for CoMorph B. In preparation for numerous other tickets yet to come to lodge new science, this one just restructures various things to lay the ground work.
The key aim here is to lodge the numerous changes in code-structure from the comorph_dev branch, independent from the new science and the various changes / fixes which affect KGO. This will allow those subsequent things to be viewed as clean diffs against the trunk, making them easier to review and lodge in subsequent pull requests. While the changes to CoMorph for this pull request may look hideously large and widespread, the key thing is that they don't change answers, so they have identically preserved the existing science and technical implementation of CoMorph.
Please see linked issue #178 for full details. In particular, see these pages linked from there:
Main design changes: Issue-178-Main-Design-Changes
List of minor changes: Issue-178-Minor-Changes
Code Quality Checklist
***********This has been done in the process of rigorously documenting all the changes (see Issue-178-Main-Design-Changes and Issue-178-Minor-Changes). I made several changes to the code after spotting minor issues during this self-review; see recent commits.**The branch was initially created by importing the CoMorph code-base from the equivalent UM branch (where it met the UM coding standard), and then running the LFRic code-styling script to lower-case all the fortran keywords.***I have checked this by viewing the compiler output from the newly-imported CoMorph standalone test, which usesgfortranwith theWallandWextraflags turned on to catch as many issues as possible. This led to me fixing various compiler warnings, including a number that were pre-existing before this change.****Still awaiting thecheck_cr_approvedtest in CI, but presumably this won't complete until the code/system reviewer as approved this PR!Testing
****All rose stem tests pass.**This pull request imports the existing set of unit tests for CoMorph and some of its components, that were already present in the UM copy of CoMorph but hadn't been lodged in LFRic yet. These tests are best run simply at the command-line rather than integrated into rose-stem or CI.trac.log
Test Suite Results - lfric_apps - comorph_refact/run3
Suite Information
Task Information
✅ succeeded tasks - 1249
Security Considerations
Performance Impact
Not expecting a significant impact on performance. In some cases, simplification of the code has allowed the number of calculations to be reduced, but the impact is likely very small.
AI Assistance and Attribution
Not used.
Documentation
Documentation for CoMorph has not yet been migrated to lfric_apps. This will be addressed in another issue / pull-request; see issue #359.
PSyclone Approval
Sci/Tech Review
**The CoMorph documentation will be included in LFRic Apps as a separate issue.(Please alert the code reviewer via a tag when you have approved the SR)
Code Review