From 65998cd3158cb68d65c41a01296266af712e472f Mon Sep 17 00:00:00 2001 From: Kate Hedstrom Date: Wed, 26 Jan 2022 09:27:59 -0900 Subject: [PATCH] Esmg docs (#57) * additions for stochastic physics and ePBL perts * cleanup of code and enhancement of ePBL perts * Update MOM_diabatic_driver.F90 remove conflict with dev/emc * Update MOM_diabatic_driver.F90 further resolve conflict * Update MOM_diabatic_driver.F90 put id_sppt_wts, etc back. * add stochy_restart writing to mom_cap * additions for stochy restarts * clean up debug statements * clean up code * fix non stochastic ePBL calculation * re-write of stochastic code to remove CPP directives * remove blank link in MOM_diagnostics * clean up MOM_domains * make stochastics optional * correct coupled_driver/ocean_model_MOM.F90 and other cleanup * clean up of code for MOM6 coding standards * remove stochastics container * revert MOM_domains.F90 * clean up of mom_ocean_model_nuopc.F90 * remove PE_here from mom_ocean_model_nuopc.F90 * remove debug statements * stochastic physics re-write * move stochastics to external directory * doxygen cleanup * add write_stoch_restart_ocn to MOM_stochastics * add logic to remove incrments from restart if outside IAU window * revert logic wrt increments * add comments * update to gfdl 20210806 (#74) * remove white space and fix comment * Update MOM_oda_incupd.F90 remove unused index bounds, and fix sum_h2 loop. Co-authored-by: pjpegion Co-authored-by: Marshall Ward * Fussing with zotero.bib. Getting a warning about a repeated bibliography entry for adcroft2004. Rob thinks this is a hash failure. * Still fussing with zotero.bib - it was complaining about the (unused) Kasahara reference. * Several little things, one is making sponge less verbose. - Pointing to OBC wiki file from the lateral parameterizations doc. - Using the MOM6 verbosity to control the time_interp verbosity. - Making the check for negative water depths more informative. * return a more accurate error message in MOM_stochasics * Working on boundary layer docs. * Done with EPBL docs? * Undoing some patches from others * Cleaning up too-new commits * Adding in that SAL commit again. * correction on type in directory name * Added some to vertical viscisity doc. * Cleaned up whitespace leftover from porous topomerge. - Spacing within expressions was uneven and made multiplation look like POW functions. Leftover from merging NOAA-GFDL/MOM6#3. - No answer changes. * Fix out-of-bounds k index in PPM flux - An errant use of the porous face area led to an out-of-bounds k-index reported in NOAA-GFDL/MOM6#19. - Closes #19 * Adding Channel drag figure * Take cite out of figure caption. * Copyright year 2022 --- docs/conf.py | 2 +- docs/images/channel_drag.png | Bin 0 -> 13890 bytes .../vertical/MOM_CVMix_conv.F90 | 2 +- .../vertical/MOM_set_viscosity.F90 | 2 +- .../vertical/_V_diffusivity.dox | 2 +- .../vertical/_V_viscosity.dox | 72 ++++++++++++++++-- 6 files changed, 69 insertions(+), 11 deletions(-) create mode 100644 docs/images/channel_drag.png diff --git a/docs/conf.py b/docs/conf.py index 5d84b3c37a..4407d88356 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -159,7 +159,7 @@ def latexPassthru(name, rawtext, text, lineno, inliner, options={}, content=[]): # General information about the project. project = u'MOM6' -copyright = u'2017-2021, MOM6 developers' +copyright = u'2017-2022, MOM6 developers' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the diff --git a/docs/images/channel_drag.png b/docs/images/channel_drag.png new file mode 100644 index 0000000000000000000000000000000000000000..a665034ff08f7fd6dea72ef1d085704cafcc4abc GIT binary patch literal 13890 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 BAUFU3 literal 0 HcmV?d00001 diff --git a/src/parameterizations/vertical/MOM_CVMix_conv.F90 b/src/parameterizations/vertical/MOM_CVMix_conv.F90 index fd2fe78907..7371ba7009 100644 --- a/src/parameterizations/vertical/MOM_CVMix_conv.F90 +++ b/src/parameterizations/vertical/MOM_CVMix_conv.F90 @@ -101,7 +101,7 @@ logical function CVMix_conv_init(Time, G, GV, US, param_file, diag, CS) call get_param(param_file, mdl, 'KD_CONV', CS%kd_conv_const, & "Diffusivity used in convective regime. Corresponding viscosity "//& - "(KV_CONV) will be set to KD_CONV * PRANDTL_TURB.", & + "(KV_CONV) will be set to KD_CONV * PRANDTL_CONV.", & units='m2/s', default=1.00) call get_param(param_file, mdl, 'BV_SQR_CONV', CS%bv_sqr_conv, & diff --git a/src/parameterizations/vertical/MOM_set_viscosity.F90 b/src/parameterizations/vertical/MOM_set_viscosity.F90 index 350f73d164..fb969953c4 100644 --- a/src/parameterizations/vertical/MOM_set_viscosity.F90 +++ b/src/parameterizations/vertical/MOM_set_viscosity.F90 @@ -911,7 +911,7 @@ subroutine set_viscous_BBL(u, v, h, tv, visc, G, GV, US, CS, pbv) else ; L(K) = L(K)*pbv%por_layer_widthV(i,J,K); endif ! Determine the drag contributing to the bottom boundary layer - ! and the Raleigh drag that acts on each layer. + ! and the Rayleigh drag that acts on each layer. if (L(K) > L(K+1)) then if (vol_below < bbl_thick) then BBL_frac = (1.0-vol_below/bbl_thick)**2 diff --git a/src/parameterizations/vertical/_V_diffusivity.dox b/src/parameterizations/vertical/_V_diffusivity.dox index 8c4c8ce7aa..f3b7ed5962 100644 --- a/src/parameterizations/vertical/_V_diffusivity.dox +++ b/src/parameterizations/vertical/_V_diffusivity.dox @@ -278,7 +278,7 @@ The original version concentrates buoyancy work in regions of strong stratificat The shape of the \cite danabasoglu2012 background mixing has a uniform background value, with a dip at the equator and a bump at \f$\pm 30^{\circ}\f$ degrees latitude. The form is shown in this figure -\image html background_varying.png "Form of the vertically uniform background mixing in \cite danabasoglu2012. The values are symmetric about the equator." +\image html background_varying.png "Form of the vertically uniform background mixing in Danabasoglu [2012]. The values are symmetric about the equator." \imagelatex{background_varying.png,Form of the vertically uniform background mixing in \cite danabasoglu2012. The values are symmetric about the equator.,\includegraphics[width=\textwidth\,height=\textheight/2\,keepaspectratio=true]} Some parameters of this curve are set in the input file, some are hard-coded in calculate_bkgnd_mixing. diff --git a/src/parameterizations/vertical/_V_viscosity.dox b/src/parameterizations/vertical/_V_viscosity.dox index cc59e83457..e40123386f 100644 --- a/src/parameterizations/vertical/_V_viscosity.dox +++ b/src/parameterizations/vertical/_V_viscosity.dox @@ -1,4 +1,19 @@ -/*! \page Vertical_Viscosity Viscous Bottom Boundary Layer +/*! \page Vertical_Viscosity Vertical Viscosity + +The vertical viscosity is composed of several components. + +-# The vertical diffusivity computations for the background and shear +mixing all save contributions to the viscosity with an assumed turbulent +Prandtl number of 1.0, though this can be changed with the PRANDTL_BKGND and +PRANDTL_TURB parameters, respectively. +-# If the ePBL scheme is used, it contributes to the vertical viscosity +with a Prandtl number of PRANDTL_EPBL. +-# If the CVMix scheme is used, it contributes to the vertical viscosity +with a Prandtl number of PRANDTL_CONV. +-# If the tidal mixing scheme is used, it contributes to the vertical +viscosity with a Prandtl number of PRANDTL_TIDAL. + +\section set_viscous_BBL Viscous Bottom Boundary Layer A drag law is used, either linearized about an assumed bottom velocity or using the actual near-bottom velocities combined with an assumed unresolved velocity. The bottom @@ -6,8 +21,6 @@ boundary layer thickness is limited by a combination of stratification and rotat in the paper of \cite killworth1999. It is not necessary to calculate the thickness and viscosity every time step; instead previous values may be used. -\section set_viscous_BBL Viscous Bottom Boundary Layer - If set_visc_CS\%bottomdraglaw is True then a bottom boundary layer viscosity and thickness are calculated so that the bottom stress is \f[ @@ -31,7 +44,7 @@ thin upwind cells helps increase the effect of viscosity and inhibits flow out o thin cells. After diagnosing \f$|U_{bbl}|\f$ over a fixed depth an active viscous boundary layer -thickness is found using the ideas of Killworth and Edwards, 1999 (hereafter KW99). +thickness is found using the ideas of \cite killworth1999 (hereafter KW99). KW99 solve the equation \f[ \left( \frac{h_{bbl}}{h_f} \right)^2 + \frac{h_{bbl}}{h_N} = 1 @@ -56,9 +69,54 @@ If a Richardson number dependent mixing scheme is being used, as indicated by set_visc_CS\%rino_mix, then the boundary layer thickness is bounded to be no larger than a half of set_visc_CS\%hbbl . -\todo Channel drag needs to be explained - A BBL viscosity is calculated so that the no-slip boundary condition in the vertical -viscosity solver implies the stress \f$\mathbf{\tau}_b\f$. +viscosity solver implies the stress \f$\mathbf{\tau}_b\f$: + +\f[ + K_{bbl} = \frac{1}{2} h_{bbl} \sqrt{C_{drag}} \, u^\ast +\f] + +\section section_Channel_drag Channel Drag + +The channel drag is an extra Rayleigh drag applied to those layers +within the bottom boundary layer. It is called channel drag because it +accounts for curvature of the bottom, applying the drag proportionally +to how much of each cell is within the bottom boundary layer. +The bottom shape is approximated as locally parabolic. The +bottom drag is applied to each layer with a factor \f$R_k\f$, the sum +of which is 1 over all the layers. + +\image html channel_drag.png "Example of layers intersecting a sloping bottom, with the blue showing the fraction of the cell over which bottom drag is applied." +\imagelatex{channel_drag.png,Example of layers intersecting a sloping bottom\, with the blue showing the fraction of the cell over which bottom drag is applied.,\includegraphics[width=\textwidth\,height=\textheight/2\,keepaspectratio=true]} + +The velocity that is actually subject to the bottom drag may be +substantially lower than the mean layer velocity, especially if only +a small fraction of the layer's width is subject to the bottom drag. + +The code begins by finding the arithmetic mean of the water depths to +find the depth at the velocity points. It then uses these to construct +a parabolic bottom shape, valid for \f$I - \frac{1}{2}\f$ to \f$I + +\frac{1}{2}\f$. The parabola is: + +\f[ + D(x) = a x^2 + b x + D - \frac{a}{12} +\f] + +For sufficiently small curvature \f$a\f$, one can drop the quadratic +term and assume a linear function instead. We want a form that matches +the traditional bottom drag when the bottom is flat. + +We defined the open fraction of each cell as \f$l(k) \equiv L(k)/L_{Tot}\f$, +where terms of order \f$l^2\f$ will be dropped. + +Hallberg (personal communication) shows how they came up with the form used in the code, in which the +\f$R_k\f$ above are set to: + +\f[ + R_k = \gamma_k l_{k-1/2} \left[ \frac{12 c_{Smag} h_k}{12 c_{Smag} k_k + c_d \gamma_k (1 - \gamma_k) + (1 - \frac{3}{2} \gamma_k) l^2_{k-1/2} L_{Tot}} \right] +\f] +with the definition \f$\gamma_k \equiv (l_{k-1/2} - l_{k+1/2})/l_{k-1/2}\f$. This ensures that \f$\sum^N_{k=1} +\gamma_k l_{k-1/2} = 1\f$ since \f$l_{1/2} = 1\f$ and \f$l_{N+1/2} = 0\f$. */