MetOffice / MetOffice/lfric_apps
Import of high order turbulence closure scheme
- Dominant language
- Fortran
- Stars
- 31
- Forks
- 118
- Avg merge
- 2d 4h
- Merged PRs (30d)
- 8
Description
### Contact Details
shusuke.nishimoto@metoffice.gov.uk
### Are there any linked Issues or Pull Requests?
#734
### Brief description
This issue imports high order turbulence closure scheme (3DTE Mk1 scheme) in UM to LFRic.
### Development branch
https://github.com/mo-snishimoto/lfric_apps/tree/3dte_mk1
### Documentation
- Namelists and diagnostics added in this branch : [Namelist_and_diagnostics.pdf](https://github.com/user-attachments/files/31386515/Namelist_and_diagnostics.pdf)
- Details of the code change : [Code_change_detail.pdf](https://github.com/user-attachments/files/31386454/Code_change_detail.pdf)
- 6 sections in this document correspond to the first 6 revisions of the branch, respectively.
- Details of the new matrix solver added in this branch : [heptadiag/equation.pdf](https://github.com/mo-snishimoto/personal-document/blob/6d4a3ba163d3463452f8d7f3d495edc5b2237c8b/heptadiag/equation.pdf)
- Performed tests : [Tests_performed.pdf](https://github.com/user-attachments/files/31386973/Tests_performed.pdf)
### Description of the change
- To implement 3DTE scheme in LFRic, following modifications were added to the UM's legacy source code.
- Elimination of UM’s unique (and not available in LFRic) subroutines or functionality
- Elimination of global array variables
- Fix of obvious bugs
- Removal of redundant options (same change as #101)
- Code style change along with the LFRic's coding rule
- Real precision change (`r_umphys` -> `r_bl`) and necessary changes so that 3DTE scheme can work in single precision
- Implementation of new length scale and TKE-based dynamical leonard term coefficient option, which are not included in the UM's trunk but necessary for complete 3DTE Mk1 scheme
- Tracer transport scheme is modified so that one of the prognostic variables (`cov`) is transported appropriately.
- Current transport scheme assumes positive tracer and corrects every tracer 0 or greater after the calculation.
- Since `cov` can be both positive and negative, this correction causes a problem.
- After the consultation with people in Dynamic research team, we decided to consolidate current ‘advective’ and ‘consistent’ tracers
into a single ‘positive’ tracer and to create a new ‘general’ tracer -capable of taking negative values- to handle the transport of `cov`.
- In the latest science configuration, ‘advective’ and ‘consistent’ tracers have an identical configuration. So, this consolidation doesn't affect.
Please refer [Code_change_detail.pdf](https://github.com/user-attachments/files/31386454/Code_change_detail.pdf) for more details.
- A new regional nesting suite, using 3DTE scheme (`run_lfric_atm_3dte-seuk_MG`) is added in the rose-stem suite so that least performance will be guaranteed in the future.
### KGO changes
- Checksum files for new tests (`run_lfric_atm_3dte-seuk_MG`) are added.
- Checksum file for `run_lfric_coupled_nwp_gal9-C48_ex1a_cce_fast-debug-64bit` has changed.
- This job still uses old tracer transport configuration (i.e. `equation_form=2`) for advective tracers (an oversight when making changes in ticket#845 in trac?).
- Since in this branch, ‘advective’ and ‘consistent’ tracers are consolidated into a single 'positive' tracer, which has the latest scientific configuration (i.e. `equation_form=3`) , the result changes.
### Supplement
Currently, 3DTE scheme cannot work with:
- bimodal or PC2 cloud scheme
- Comorph convection scheme
- TKE based RHc option (`cloud:rh_crit_opt='tke'`)
- Microphysics option to consider mixed phase cloud production by turbulence (`microphysics:turb_gen_mixph`)
because necessary inputs for them are not calculated in this scheme.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.