MetOffice / MetOffice/lfric_apps

Import of high order turbulence closure scheme

Open
#46 1 comment 0 reactions 1 assignee Claimed by @mo-snishimoto View on GitHub
enhancement KGO Linked Apps macro
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.