SHOC-HOMME 3D Turbulence Coupling
This note documents the EAMxx 3D-turbulence path that couples SHOC and HOMME. It has two main pieces:
- SHOC diagnoses horizontal eddy diffusivities and passes them to HOMME so the dycore can apply horizontal turbulent diffusion.
- HOMME provides horizontal velocity-gradient information back to SHOC so SHOC can use a three-dimensional shear-production term in the TKE equation.
Horizontal Eddy Diffusivity Passed to HOMME
When ctl_nl::do_3d_turbulence=true, SHOC computes horizontal eddy
diffusivities on the physics grid after the main SHOC update. The formulation
is
where the horizontal length scale is
In the current implementation, SHOC obtains \Delta x and \Delta y from the
grid geometry and uses the runtime parameters
shoc::coeff_kh_horiz and shoc::coeff_km_horiz, both of which default to
0.1.
After SHOC computes eddy_diff_heat_horiz and eddy_diff_mom_horiz, EAMxx
forwards those fields to HOMME:
- On the standard physics-grid path, the physics-to-dynamics remapper
registers the SHOC fields with HOMME helper fields
Kh_dynandKm_dyn. - On pgN finite-volume physics grids, the same fields are supplied to
GllFvRemap::run_fv_phys_to_dyn, which remaps them into HOMME's dynamics representation. - HOMME then binds the remapped fields into its derived-state turbulence slots
m_turb_diff_heatandm_turb_diff_mom, which are consumed by the dycore's horizontal turbulent-diffusion machinery.
This split keeps the turbulence closure in SHOC while leaving the actual horizontal diffusion operator in HOMME, where the horizontal discretization and metric terms already live.
Three-Dimensional Shear Production of TKE
In the legacy one-dimensional SHOC path, shear production uses only vertical shear of the horizontal wind. In the 3D-turbulence path, SHOC instead forms the full local strain invariant and uses it in the TKE tendency.
The shear-production contribution is
In code, SHOC stores the bracketed strain invariant as
tke_shear_strain3d = 2 S_{ij}S_{ij} and then advances TKE with
with C_k = 0.1, consistent with the existing SHOC TKE closure.
The calculation is split across HOMME and SHOC:
- After each HOMME dynamics step, HOMME computes horizontal derivatives of the local Cartesian velocity components on the dynamics grid.
- Those derivatives are projected back to the local basis to form the six
horizontal pieces of the velocity-gradient tensor:
du/dx,du/dy,dv/dx,dv/dy,dw/dx, anddw/dy. - EAMxx remaps those six components onto the physics grid as
tke_shear_strain3d_components. - Inside SHOC, vertical derivatives
du/dz,dv/dz, anddw/dzare computed on interface levels and then interpolated to midpoint levels, matching SHOC's native staggered-grid treatment. - SHOC assembles the full symmetric strain tensor and forms the invariant
2 S_{ij}S_{ij}, which is then used in the TKE equation.
The same assembled 3D strain is also converted back to a midpoint shear magnitude for SHOC's cold-surface fallback in the eddy-diffusivity calculation, so the 3D path remains consistent with the rest of the closure.