Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[0.25deg config] Mesoscale parameterisation #179

Open
minghangli-uni opened this issue Jun 25, 2024 · 1 comment
Open

[0.25deg config] Mesoscale parameterisation #179

minghangli-uni opened this issue Jun 25, 2024 · 1 comment

Comments

@minghangli-uni
Copy link
Contributor

minghangli-uni commented Jun 25, 2024

As agreed in the namelist discussion, MEKE, which calculates the evolution of the mesoscale EKE budget and is used to tune eddy parameterisation, was suggested to either be turned off or left as-is.

A preliminary time consumption analysis with and without MEKE can be found here, including a brief discussion on using MEKE for the 0.25 cofig based on GFDL OM4 usage. For reference, the latest GFDL OM5 0.25 config, which includes MEKE parameterisation, is available here.

At the current stage, only GM is turned on and MEKE is turned off.

USE_MEKE = False                !   [Boolean] default = False
                                ! If true, turns on the MEKE scheme which calculates a sub-grid mesoscale eddy
                                ! kinetic energy budget.
KHTH = 0.0                      !   [m2 s-1] default = 0.0
                                ! The background horizontal thickness diffusivity.

! equivalent to the min & max of KHTH of OM2
KHTH_MIN = 1.0                  !   [m2 s-1] default = 0.0
                                ! The minimum horizontal thickness diffusivity.
KHTH_MAX = 200.0                !   [m2 s-1] default = 0.0
                                ! The maximum horizontal thickness diffusivity.
! equivalent to the min & max of KHTH of OM2

! equivalent to the grid scaling of OM2 ! agm grid scaling == .true.
RESOLN_SCALED_KHTH = True       !   [Boolean] default = False 
                                ! If true, the interface depth diffusivity is scaled away when the first
                                ! baroclinic deformation radius is well resolved.
KH_RES_SCALE_COEF = 1.0         !   [nondim] default = 1.0
                                ! A coefficient that determines how KhTh is scaled away if RESOLN_SCALED_... is
                                ! true, as F = 1 / (1 + (KH_RES_SCALE_COEF*Rd/dx)^KH_RES_FN_POWER).
KH_RES_FN_POWER = 2             ! default = 2
                                ! The power of dx/Ld in the Kh resolution function.  Any positive integer may be
                                ! used, although even integers are more efficient to calculate.  Setting this
                                ! greater than 100 results in a step-function being used.
! equivalent to the grid scaling of OM2 ! agm grid scaling == .true.

! slightly different from OM2: flow dependent
USE_VISBECK = True              !   [Boolean] default = False
                                ! If true, use the Visbeck et al. (1997) formulation for
                                ! thickness diffusivity.
KHTH_SLOPE_CFF = 0.01            !   [nondim] default = 0.0
                                ! The nondimensional coefficient in the Visbeck formula for the interface depth
                                ! diffusivity
VISBECK_L_SCALE = 20000         !   [m or nondim] default = 0.0
                                ! The fixed length scale in the Visbeck formula, or if negative a nondimensional
                                ! scaling factor relating this length scale squared to the cell areas.
USE_STORED_SLOPES = True        !   [Boolean] default = False
                                ! If true, the isopycnal slopes are calculated once and stored for re-use. This
                                ! uses more memory but avoids calling the equation of state more times than
                                ! should be necessary.
USE_SIMPLER_EADY_GROWTH_RATE = True !   [Boolean] default = False
                                    ! If true, use a simpler method to calculate the Eady growth rate that avoids
                                    ! division by layer thickness. Recommended.
EADY_GROWTH_RATE_D_SCALE = 2000.0 !   [m] default = 0.0
                                  ! The depth from surface over which to average SN when calculating
                                  ! a 2D Eady growth rate. Zero mean use full depth.
                                  ! slightly different from OM2:flow dependent
EADY_GROWTH_RATE_CROPPING_DISTANCE = 100.0 !   [m] default = 0.0
                                           ! Distance from surface or bottom to filter out outcropped or
                                           ! incropped interfaces for the Eady growth rate calc.
                                           ! Negative values disables cropping.
! slightly different from OM2: flow dependent

! equivalent to OM2: diffusivity is depth independent
KHTH_USE_EBT_STRUCT = False     !   [Boolean] default = False
                                ! If true, uses the equivalent barotropic structure as the vertical structure of
                                ! thickness diffusivity.
! equivalent to OM2: diffusivity is depth independent

If we decide to turn MEKE on for testing or tuning, the existing MEKE parameters are not a suitable starting point, as many parameters lack provenance to track why they were assigned certain values. I suggest adopting the current test parameters of OM5. I will provide documentation for those chosen parameters.

@minghangli-uni
Copy link
Contributor Author

The flow-dependent diffusivity used in OM2 is the product of an Eady growth rate ($\sigma$), a squared length scale ($L^2$), and a grid scaling factor ($\alpha$).

$\kappa = \alpha\sigma L^2$

In OM2, the calculation of $\sigma$ follows Farneti et al. (2010). However, in the current implementation of OM3, an equivalent approach has not been found, so it is evaluated in a manner similar to Visbeck et al. (1997).

For neutral tracer diffusion, the tracer diffusivity follows the same approach as OM2, with a maximum cap of 200 m²/s. Additionally, a resolution function is applied.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant