EAM Top of Model Sponge Layer

EAM has relied in two types of dissipation at the model top. With the lack of a robust non-reflecting boundary condition for the nonlinear dynamics, vertically propagating waves which should leave the model can instead be reflected off the model top. The sponge layer damps these waves to minimize the reflection. It also prevents pileup of KE at the model top.

The first sponge layer is Rayleigh damping, implemented in the physics and turned on in EAMv1 when we transitioned from 30 to 72L.

The second sponger layer is a Laplacian dissipation term implemented in the dycore.

Both approaches are inherited from CAM.

Rayleigh Damping

  • namelist parameter: raytay0 = 5.0 (default starting with v1). This appears to be in units of 1/days (so a damping timescale of 5 days)

  • Algorithm?

Laplacian smoothing:

  • 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, v3, SCREAM). Sponge layer modeled after CAM-FV ( Lauritzen et al., https://doi.org/10.1177/1094342011410088 )

  • New simplified option with namelist control over sponge layer thickness:

    • To address the instabilities seen at high resolution, EAM v3 includes a new sponge layer option controlled by namelist variable tom_sponge_start, specified in mb

    • tom_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

      • tom_sponge_start=1.0 reproduces the E3SMv2 72L sponger layer. tom_sponge_start=20 reproduces the SCREAM 128L

Plots of the CAM-FV / EAMv2 sponge layer profile:

The plot shows the scaling factor, with a cutoff at 8.0. These values, multiplied by nu_top determine the sponge layer Laplacian coefficient as function of model layer k. The cutoff at 0.15 is shown via the black vertical line. The curves are shown extending beyond this in the plot, but in the model values below 0.15 are set to 0, disabling sponge layer in those layers. The “NEW” label shows the simplified option, with the tom_sponge_start=10. If the simplified version is set to start at 1mb (EAMv2) or 20mb (SCREAM), it provides a good approximation to the original formula.

 

 

 

 

 

Experiments

 

atm.log.* output:

EAM V3 80L configuration, Reference pressure for the first 12 levels:

1st column: interface pressure (mb)
2nd column: midpoint pressure (mb)
columns 3-6: A and B hybrid coordinate info

Layer Locations (*1000) 1 0.1000 0.0000 0.1000 0.1236 0.0000 0.1236 2 0.1472 0.0000 0.1472 0.1819 0.0000 0.1819 3 0.2166 0.0000 0.2166 0.2674 0.0000 0.2674 4 0.3183 0.0000 0.3183 0.3924 0.0000 0.3924 5 0.4665 0.0000 0.4665 0.5740 0.0000 0.5740 6 0.6814 0.0000 0.6814 0.8358 0.0000 0.8358 7 0.9902 0.0000 0.9902 1.2093 0.0000 1.2093 8 1.4284 0.0000 1.4284 1.7344 0.0000 1.7344 9 2.0405 0.0000 2.0405 2.4590 0.0000 2.4590 10 2.8776 0.0000 2.8776 3.4356 0.0000 3.4356 11 3.9936 0.0000 3.9936 4.7150 0.0000 4.7150 12 5.4364 0.0000 5.4364 6.3372 0.0000 6.3372

 

V3 default sponge layer with EAM’s 80L configuration, as a function of model level k

sponge layer nu_top viscosity scaling factor nu_scale_top 1 6.32916693361379 nu_scale_top 2 3.71290112422668 nu_scale_top 3 1.96275667155077 nu_scale_top 4 0.975836740648787 nu_scale_top 5 0.471377418464948 nu_scale_top 6 0.225813746829097

 

EAM’s 72L configuration, Reference pressure for the first 6 levels:
1st column: interface pressure (Pa)
2nd column: midpoint pressure (Pa)
3rd column: layer thickness:

1 10.0000 12.3825 4.7651 2 14.7651 18.2829 7.0357 3 21.8008 26.9949 10.3882 4 32.1890 39.8582 15.3383 5 47.5273 58.8509 22.6472 6 70.1745 86.8939 33.4387

 

 

 

V2 sponge layer with EAM’s 72L configuration, as a function of model level k

 

 

72L, tom_sponge_start=1

 

72L, tom_sponge_start=5

 

 

SCREAM's 128L configuration:

 

V2 sponge layer with SCREAM’s 128L configuration, as a function of model level k