...
namelist parameter: nu_top
Laplacian smoothing applied at the model top with coefficient nu_top*nu_top_scale(k)
preqx dycore (EAM v0,v1). Sponge layer modeled after that used by CAM-EUL
nu_top=2.5e5
nu_top_scale(1:nlev)=4,2,1,0,0,0….. (applied in top 3 model layers)
Laplacian term added to RHS of hyperviscosity operator
Theta dycore (EAM v2, SCREAM). Sponge layer modeled after CAM-FV ( Lauritzen et al., https://doi.org/10.1177/1094342011410088 )
nu_top = Resolution dependent. See https://acme-climate.atlassian.net/wiki/spaces/DOC/pages/1044644202/EAM+s+HOMME+dycore
Laplacian term applied independently from hyperviscosity, and with it’s own timestep controlled by hypervis_subcycle_tom. Default 1.
nu_top_scale(:) uses reference pressure based formula
Formula in terms of reference pressure computed from “eta” coordinate:
p_ratio = eta(1)/eta(k)
nu_top_scale = 16*( 1 ./ ( 1 + (p_ratio)^-2)).
(mathematically equivalent to the 8*(1+ tanh(log(p_ratio))) formula used in CAM-FV)where (nu_top_scale>8) nu_top_scale=8
where (nu_top_scale<0.15) nu_top_scale=0
This formula creates a sponge layer that is active from [ptop/10,ptop]. For EAM’s 72L configuration, ptop=0.1 mb, meaning that the sponge layer starts at 1mb which might be too high. For SCREAM’s L128 configuration, ptop=2mb, so the sponge layer starts an 20mb, which might be too low. At NE256 and 72L, the model is unstable in the sponge layer.
Simplified option with control over sponge layer thickness:
To address the instabilities seen at high resolution, we propose to add namelist variable
tom_sponge_start
, specified in mbtom_sponge_start>0
will replace the default with a simplified version of the above formula that makes it easy to control the sponge layer thickness:p_ratio = (tom_sponge_start/100) / eta(k)
nu_top_scale = .15 * p_ratio^2
git branch: https://github.com/mt5555/E3SM/tree/tom_sponge_start
Plots of the CAM-FV / EAMv2 sponge layer profile:
...