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

Esmg docs #57

Merged
merged 91 commits into from
Jan 26, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
91 commits
Select commit Hold shift + click to select a range
671c714
Merge pull request #1 from NOAA-EMC/dev/emc
pjpegion May 5, 2020
182ef34
additions for stochastic physics and ePBL perts
May 5, 2020
c2aa2a8
updates from dev/emc
May 5, 2020
3cad1ba
Merge pull request #8 from NOAA-EMC/dev/emc
pjpegion Oct 1, 2020
0a62737
Merge branch 'ocn_stoch' into dev/emc_merge
pjpegion Oct 1, 2020
9896d61
Merge pull request #9 from pjpegion/dev/emc_merge
pjpegion Oct 1, 2020
cd06356
Merge pull request #11 from NOAA-EMC/dev/emc
pjpegion Dec 2, 2020
7de295c
cleanup of code and enhancement of ePBL perts
pjpegion Dec 2, 2020
7212400
Update MOM_diabatic_driver.F90
pjpegion Dec 2, 2020
bd477a9
Update MOM_diabatic_driver.F90
pjpegion Dec 2, 2020
167a62e
Merge pull request #12 from pjpegion/dev/emc
pjpegion Dec 2, 2020
0c15f4c
Update MOM_diabatic_driver.F90
pjpegion Dec 2, 2020
a2a374b
add stochy_restart writing to mom_cap
pjpegion Dec 14, 2020
25ed5ef
additions for stochy restarts
pjpegion Dec 22, 2020
4bd9b9e
clean up debug statements
pjpegion Dec 23, 2020
1dc0f4f
Merge remote-tracking branch 'upstream/dev/emc' into dev/emc
pjpegion Dec 23, 2020
2cba995
Merge branch 'dev/emc' into ocn_stoch
pjpegion Dec 23, 2020
040e1f1
Merge pull request #13 from NOAA-EMC/dev/emc
pjpegion Jan 6, 2021
1d7ffa3
clean up code
pjpegion Jan 6, 2021
6bb9d0b
fix non stochastic ePBL calculation
pjpegion Jan 7, 2021
600ebf9
Merge remote-tracking branch 'upstream/dev/emc' into ocn_stoch
pjpegion Jan 22, 2021
1727d9a
re-write of stochastic code to remove CPP directives
pjpegion Jan 29, 2021
5443f8e
remove blank link in MOM_diagnostics
pjpegion Jan 29, 2021
80f9f44
clean up MOM_domains
pjpegion Jan 29, 2021
85023f8
Merge remote-tracking branch 'upstream/dev/emc' into ocn_stoch
pjpegion Feb 1, 2021
0b99c1f
make stochastics optional
pjpegion Feb 2, 2021
6e3ea1b
correct coupled_driver/ocean_model_MOM.F90 and other cleanup
pjpegion Feb 2, 2021
eb88219
clean up of code for MOM6 coding standards
pjpegion Feb 2, 2021
d984a7e
remove stochastics container
pjpegion Feb 4, 2021
b8d9888
place stochastic array in fluxes container and make SPPT specific arr…
pjpegion Feb 4, 2021
25ed4fc
revert MOM_domains.F90
pjpegion Feb 5, 2021
8afe969
clean up of mom_ocean_model_nuopc.F90
pjpegion Feb 5, 2021
689a73f
remove PE_here from mom_ocean_model_nuopc.F90
pjpegion Feb 5, 2021
a4c0411
Merge remote-tracking branch 'upstream/dev/emc' into ocn_stoch
pjpegion Feb 16, 2021
565e0bb
remove debug statements
pjpegion Feb 26, 2021
61717ee
Merge remote-tracking branch 'origin/dev/emc' into ocn_stoch
pjpegion Feb 26, 2021
202cbd4
update to dev/emc
pjpegion Jul 1, 2021
e4bc007
stochastic physics re-write
pjpegion Jul 26, 2021
a3fa3a1
Merge remote-tracking branch 'upstream/dev/emc' into ocn_stoch_july2021
pjpegion Jul 26, 2021
8bc4acc
move stochastics to external directory
pjpegion Jul 26, 2021
bdf2dc7
doxygen cleanup
pjpegion Jul 26, 2021
c5f2b72
add write_stoch_restart_ocn to MOM_stochastics
pjpegion Jul 26, 2021
5b2040e
add logic to remove incrments from restart if outside IAU window
pjpegion Jul 27, 2021
1b4273d
revert logic wrt increments
pjpegion Jul 28, 2021
237a510
add comments
pjpegion Jul 28, 2021
16e6af0
update to dev/emc
pjpegion Jul 28, 2021
f8a8e4c
update to gfdl 20210806 (#74)
jiandewang Aug 16, 2021
a8577df
Merge branch 'NOAA-EMC:dev/emc' into ocn_stoch_july2021
pjpegion Aug 16, 2021
29016c2
Merge remote-tracking branch 'GFDL/main' into feature/update-to-GFDL-…
jiandewang Sep 14, 2021
6edd3cc
Fussing with zotero.bib.
kshedstrom Sep 20, 2021
14ca4a1
Merge pull request #76 from jiandewang/feature/update-to-GFDL-20210914
jiandewang Sep 21, 2021
c5c469c
Still fussing with zotero.bib
kshedstrom Sep 21, 2021
ca2ae1c
update to dev/emc
pjpegion Sep 21, 2021
56bb41e
Merge branch 'ocn_stoch_july2021' of https://github.com/pjpegion/MOM6…
pjpegion Sep 21, 2021
2d134fa
Several little things, one is making sponge less verbose.
kshedstrom Sep 22, 2021
601833a
Merge remote-tracking branch 'gfdl/dev/gfdl' into esmg-docs
kshedstrom Sep 24, 2021
a9a957e
return a more accurate error message in MOM_stochasics
pjpegion Sep 28, 2021
36f17eb
Merge pull request #72 from pjpegion/ocn_stoch_july2021
jiandewang Sep 30, 2021
cd57d19
Working on boundary layer docs.
kshedstrom Oct 4, 2021
1a1a718
Merge remote-tracking branch 'origin/dev/esmg' into esmg-docs
kshedstrom Oct 4, 2021
152e755
Done with EPBL docs?
kshedstrom Oct 6, 2021
f1515c1
Merge branch 'esmg-docs' of github.com:ESMG/MOM6 into esmg-docs
kshedstrom Oct 6, 2021
1a3d34e
Merge branch 'dev/esmg' into esmg-docs
kshedstrom Oct 6, 2021
f8ab8d6
Merge branch 'esmg-docs' of github.com:ESMG/MOM6 into esmg-docs
kshedstrom Oct 6, 2021
71d9ba9
Undoing some patches from others
kshedstrom Oct 6, 2021
291211c
Cleaning up too-new commits
kshedstrom Oct 7, 2021
36119ee
Merge branch 'esmg-docs' of github.com:ESMG/MOM6 into esmg-docs
kshedstrom Oct 7, 2021
75fe65b
Merge remote-tracking branch 'gfdl/dev/gfdl' into dev/esmg
kshedstrom Oct 12, 2021
79ce0d8
Adding in that SAL commit again.
kshedstrom Oct 12, 2021
9c8af0b
Merge remote-tracking branch 'gfdl/dev-gfdl-main-candidate-2021-10-04…
kshedstrom Oct 14, 2021
9c0651f
Merge remote-tracking branch 'gfdl/dev/gfdl' into dev/esmg
kshedstrom Oct 18, 2021
fd02017
Merge remote-tracking branch 'GFDL/main' into feature/update-to-GFDL-…
jiandewang Oct 20, 2021
3fd09aa
Merge remote-tracking branch 'gfdl/dev/gfdl' into dev/esmg
kshedstrom Oct 20, 2021
d5ac205
Merge branch 'esmg-docs' of github.com:ESMG/MOM6 into esmg-docs
kshedstrom Oct 22, 2021
90d5961
Merge pull request #78 from jiandewang/feature/update-to-GFDL-20211019
jiandewang Oct 28, 2021
8e80a13
correction on type in directory name
jiandewang Oct 28, 2021
da0ed0d
Merge remote-tracking branch 'jiande/EMC-stochastic-candidate-2021102…
kshedstrom Oct 28, 2021
3c69c06
Merge remote-tracking branch 'gfdl/dev/gfdl' into dev/esmg
kshedstrom Nov 12, 2021
8b65f4a
Added some to vertical viscisity doc.
kshedstrom Nov 12, 2021
3d4e4cf
Merge branch 'esmg-docs' of github.com:ESMG/MOM6 into esmg-docs
kshedstrom Nov 12, 2021
a97cbed
Merge remote-tracking branch 'gfdl/dev/gfdl' into dev/esmg
kshedstrom Nov 22, 2021
fd29765
Merge remote-tracking branch 'gfdl/dev/gfdl' into dev/esmg
kshedstrom Dec 1, 2021
d73870f
Cleaned up whitespace leftover from porous topomerge.
adcroft Dec 1, 2021
4f2b1e0
Fix out-of-bounds k index in PPM flux
adcroft Dec 1, 2021
b29cef3
Merge remote-tracking branch 'adcroft/fix-issue-19-porous-face-OOB' i…
kshedstrom Dec 1, 2021
dc491a8
Merge remote-tracking branch 'gfdl/dev/gfdl' into dev/esmg
kshedstrom Jan 3, 2022
a325440
Adding Channel drag figure
kshedstrom Jan 3, 2022
6417769
Merge branch 'dev/esmg' into esmg-docs
kshedstrom Jan 3, 2022
f9942e9
Take cite out of figure caption.
kshedstrom Jan 4, 2022
7f44791
Copyright year 2022
kshedstrom Jan 7, 2022
d256fdb
Merge remote-tracking branch 'gfdl/dev/gfdl' into esmg-docs
kshedstrom Jan 7, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Binary file added docs/images/channel_drag.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion src/parameterizations/vertical/MOM_CVMix_conv.F90
Original file line number Diff line number Diff line change
Expand Up @@ -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, &
Expand Down
2 changes: 1 addition & 1 deletion src/parameterizations/vertical/MOM_set_viscosity.F90
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion src/parameterizations/vertical/_V_diffusivity.dox
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
72 changes: 65 additions & 7 deletions src/parameterizations/vertical/_V_viscosity.dox
Original file line number Diff line number Diff line change
@@ -1,13 +1,26 @@
/*! \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
boundary layer thickness is limited by a combination of stratification and rotation, as
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[
Expand All @@ -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
Expand All @@ -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$.

*/