Warning, /doc/examples/advection_in_gyre/advection_in_gyre.rst is written in an unsupported language. File is not indexed.
view on githubraw file Latest commit 0bad585a on 2022-02-16 18:55:09 UTC
1c8cebb321 Jeff*0001 .. _sec_gyre_advection:
d67096e55c Jeff*0002
0003 Ocean Gyre Advection Schemes
0004 ============================
0005
0006 (in directory: :filelink:`verification/tutorial_advection_in_gyre/`)
0007
0008 This set of examples is based on the barotropic and baroclinic gyre
0009 MITgcm configurations, that are described in
0010 :numref:`sec_eg_baro` and :numref:`tutorial_baroclinic_gyre`.
0011 The examples in this section explain how to introduce a passive tracer
0012 into the flow field of the barotropic and baroclinic gyre setups and
0013 looks at how the time evolution of the passive tracer depends on the
0014 advection or transport scheme that is selected for the tracer.
0015
0016 Passive tracers are useful in many numerical experiments. In some cases
0017 tracers are used to track flow pathways, for example in Dutay et al. (2002)
0018 :cite:`dutay:02` a passive tracer is used to track pathways
0019 of CFC-11 in 13 global ocean models, using a numerical configuration
0020 similar to the example described in
0021 :numref:`sec_eg_offline_cfc`). In other cases tracers are used
0022 as a way to infer bulk mixing coefficients for a turbulent flow field,
0023 for example in Marshall et al. (2006) :cite:`marshall:06` a tracer is used to infer
0024 eddy mixing coefficients in the Antarctic Circumpolar Current region. Typically, in
0025 biogeochemical and ecological simulations large numbers of tracers are
0026 used that carry the concentrations of biological nutrients and
0027 concentrations of biological species. When using
0028 tracers for these and other purposes it is useful to have a feel for the
0029 role that the advection scheme employed plays in determining properties
0030 of the tracer distribution. In particular, in a discrete numerical model,
0031 tracer advection only approximates the continuum behavior in space and
0032 time and different advection schemes introduce different approximations
0033 so that the resulting tracer distributions vary. In the following text
0034 we illustrate how to use the different advection schemes available in
0035 MITgcm, and discuss which properties are well represented by each
0036 scheme. The advection schemes selections also apply to active tracers (e.g.,
0037 :math:`T` and :math:`S`) and the character of the schemes also affects
0038 their distributions and behavior.
0039
0040 Advection and tracer transport
0041 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0042
0043 In general, the tracer problem we want to solve can be written
0044
0045 .. math::
0bad585a21 Navi*0046 \frac{\partial C}{\partial t} = -\vec{\bf U} \cdot \nabla C + S
d67096e55c Jeff*0047 :label: eg-adv-gyre-generic-tracer
0048
0bad585a21 Navi*0049 where :math:`C` is the tracer concentration in a model cell, :math:`\vec{\bf U}=(u,v,w)`
d67096e55c Jeff*0050 is the model 3-D flow field. In
0051 :eq:`eg-adv-gyre-generic-tracer`, :math:`S` represents
0052 source, sink and tendency terms not associated with advective transport.
0053 Example of terms in :math:`S` include (i) air-sea fluxes for a dissolved
0054 gas, (ii) biological grazing and growth terms (for a biogeochemical
0055 problem) or (iii) convective mixing and other sub-grid parameterizations
0056 of mixing. In this section we are primarily concerned with
0057
0058 #. how to introduce the tracer term, :math:`C`, into an integration
0059
0bad585a21 Navi*0060 #. the different discretized forms of the :math:`-\vec{\bf U} \cdot \nabla C` term
d67096e55c Jeff*0061 that are available
0062
0063 Introducing a tracer into the flow
0064 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0065
0066 The MITgcm ptracers package (see section :numref:`sub_phys_pkg_ptracers`
0067 for a more complete discussion of the ptracers package and section
0068 :numref:`using_packages` for a
0069 general introduction to MITgcm packages) provides pre-coded support for
0070 a simple passive tracer with an initial distribution at simulation time
0071 :math:`t=0` of :math:`C_0(x,y,z)`. The steps required to use this
0072 capability are
0073
0074 #. **Activating the ptracers package.** This simply requires adding the
0075 line ``ptracers`` to the file :filelink:`code/packages.conf <verification/tutorial_advection_in_gyre/code/packages.conf>`.
0076
0077 #. **Setting an initial tracer distribution.**
0078
0079 Once the two steps above are complete we can proceed to examine how the
0080 tracer we have created is carried by the flow field and what properties
0081 of the tracer distribution are preserved under different advection
0082 schemes.
0083
0084 Selecting an advection scheme
0085 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0086
0087 - flags in :filelink:`input/data <verification/tutorial_advection_in_gyre/input/data>`
0088 and :filelink:`input/data.ptracers <verification/tutorial_advection_in_gyre/input/data.ptracers>`
0089
0090 - overlap width
0091
0092 - ``#define`` CPP option :varlink:`PTRACERS_ALLOW_DYN_STATE` in
0093 :filelink:`code/PTRACERS_OPTIONS.h <verification/tutorial_advection_in_gyre/code/PTRACERS_OPTIONS.h>` as required for SOM case
0094
0095 Comparison of different advection schemes
0096 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0097
0098 #. Conservation
0099
0100 #. Dispersion
0101
0102 #. Diffusion
0103
0104 #. Positive definite
0105
0106 .. figure:: figs/adv_gyre_maps.png
0107 :width: 100%
0108 :align: center
0109 :alt: Dye evolving in double gyre
0110 :name: fig_adv_gyre_maps
0111
0112 Dye evolving in a double gyre with different advection schemes. The
0113 figure shows the dye concentration one year after injection into a
0114 single grid cell near the left boundary.
0115
0116 .. figure:: figs/adv_gyre_stats.png
0117 :width: 100%
0118 :align: center
0119 :alt: Max Min and Std Dev
0120 :name: fig_adv_gyre_stats
0121
0122 Maxima, minima and standard deviation (from left) as a function of
0123 time (in months) for the gyre circulation experiment from
0124 :numref:`fig_adv_gyre_maps`.
0125