NCAR / MOM6

NCAR/CESM fork of the Modular Ocean Model v.6 (MOM6)
Other
3 stars 20 forks source link

Corrections to cell-averaged density computation #213

Closed iangrooms closed 2 years ago

iangrooms commented 2 years ago

This PR builds on https://github.com/mom-ocean/MOM6/pull/1156 and https://github.com/mom-ocean/MOM6/pull/1209, implementing a correction to the computation of cell-averaged density in various parts of the model. A description of the parameterization and results can be found in these papers.

The main updates in this PR are the ability to use a new stochastic version of the correction, and the ability to turn on the density correction in the calculation of the mixed layer lateral density gradient in the mixed layer restratification parameterization. In addition, the code related to this parameterization has been re-factored a bit, along with some small bug fixes.

The parameterization can be toggled on/off in different parts of the code using the following flags:

The tunable coefficients of the parameterization are controlled by

gustavo-marques commented 2 years ago

Passing tests in mom_aux and Cheyenne-MOM6-examples.

MOM_input parameters added:

USE_STANLEY_ISO = False         !   [Boolean] default = False
                                ! If true, turn on Stanley SGS T variance parameterization in isopycnal slope
                                ! code.
USE_STANLEY_GM = False          !   [Boolean] default = False
                                ! If true, turn on Stanley SGS T variance parameterization in GM code.
STOCH_EOS = False               !   [Boolean] default = False
                                ! If true, stochastic perturbations are applied to the EOS in the PGF.
STANLEY_COEFF = -1.0            !   [not defined] default = -1.0
                                ! Coefficient correlating the temperature gradient and SGS T variance.
STANLEY_A = 1.0                 !   [not defined] default = 1.0
                                ! Coefficient a which scales chi in stochastic perturbation of the SGS T
                                ! variance.
USE_STANLEY_PGF = False         !   [Boolean] default = False
                               ! If true, turn on Stanley SGS T variance parameterization in PGF code.
USE_STANLEY_ML = False          !   [Boolean] default = False
                                ! If true, turn on Stanley SGS T variance parameterization in ML restrat code.

MOM_input parameters there were removed:

STANLEY_PRM_DET_COEFF = -1.0    !   [nondim] default = -1.0
                                ! The coefficient correlating SGS temperature variance with the mean temperature
                                ! gradient in the deterministic part of the Stanley parameterization. Negative
                                ! values disable the scheme.
PGF_STANLEY_T2_DET_COEFF = -1.0 !   [nondim] default = -1.0
                                ! The coefficient correlating SGS temperature variance with the mean temperature
                                ! gradient in the deterministic part of the Stanley form of the Brankart
                                ! correction. Negative values disable the scheme.