Skip to main content
Geosciences LibreTexts

15.1: Introduction: Some Words of Caution

  • Page ID
    30159
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)

    Numerical models of ocean currents have many advantages. They simulate flows in realistic ocean basins with a realistic sea floor. They include the influence of viscosity and non-linear dynamics. And they can calculate possible future flows in the ocean. Perhaps, most important, they interpolate between sparse observations of the ocean produced by ships, drifters, and satellites.

    Numerical models are not without problems. “There is a world of difference between the character of the fundamental laws, on the one hand, and the nature of the computations required to breathe life into them, on the other”—Berlinski (1996). The models can never give complete descriptions of the oceanic flows even if the equations are integrated accurately. The problems arise from several sources.

    Discrete equations are not the same as continuous equations.

    In Chapter 7, we wrote down the differential equations describing the motion of a continuous fluid. Numerical models use algebraic approximations to the differential equations. We assume that the ocean basins are filled with a grid of points, and time moves forward in tiny steps. The value of the current, pressure, temperature, and salinity are calculated from their values at nearby points and previous times. Ian Stewart (1992), a noted mathematician, points out that

    Discretization is essential for computer implementation and cannot be dispensed with. The essence of the difficulty is that the dynamics of discrete systems is only loosely related to that of continuous systems—indeed the dynamics of discrete systems is far richer than that of their continuous counterparts—and the approximations involved can create spurious solutions.

    Calculations of turbulence are difficult.

    Numerical models provide information only at grid points of the model. They provide no information about the flow between the points. Yet, the ocean is turbulent, and any oceanic model capable of resolving the turbulence needs grid points spaced millimeters apart, with time steps of milliseconds.

    Practical ocean models have grid points spaced tens to hundreds of kilometers apart in the horizontal, and tens to hundreds of meters apart in the vertical. This means that turbulence cannot be calculated directly, and the influence of turbulence must be parameterized. Holloway (1994) states the problem succinctly:

    Ocean models retain fewer degrees of freedom than the actual ocean (by about 20 orders of magnitude). We compensate by applying ‘eddy-viscous goo’ to squash motion at all but the smallest retained scales. (We also use non-conservative numerics.) This is analogous to placing a partition in a box to prevent gas molecules from invading another region of the box. Our oceanic models cannot invade most of the real oceanic degrees of freedom simply because the models do not include them.

    Given that we cannot do things ‘right’, is it better to do nothing? That is not an option. ‘Nothing’ means applying viscous goo and wishing for the ever-bigger computer. Can we do better? For example, can we guess a higher entropy configuration toward which the eddies tend to drive the ocean (that tendency to compete with the imposed forcing and dissipation)?

    By “degrees of freedom” Holloway means all possible motions from the smallest waves and turbulence to the largest currents. Let’s do a calculation. We know that the ocean is turbulent with eddies as small as a few millimeters. To completely describe the ocean we need a model with grid points spaced 1 mm apart and time steps of about 1 ms. The model must therefore have \(360^{\circ} \times 180^{\circ} \times (111 \ \text{km/degree})^{2} \times 10^{12} \ \text{(mm/km)}^{2} \times 3 \ \text{km} \times 10^{6} \text{(mm/km)} = 2.4 \times 10^{27}\) data points for a 3 km deep ocean covering the globe. The global Parallel Ocean Program Model described in the next section has \(2.2 \times 10^{7}\) points, so we need \(10^{20}\) times more points to describe the real ocean. These are the missing \(10^{20}\) degrees of freedom.

    Practical models must be simpler than the real ocean.

    Models of the ocean must run on available computers. This means oceanographers further simplify their models. We use the hydrostatic and Boussinesq approximations, and we often use equations integrated in the vertical, the shallow-water equations (Haidvogel and Beckmann, 1999: 37). We do this because we cannot yet run the most detailed models of oceanic circulation for thousands of years to understand the role of the ocean in climate.

    Numerical code has errors.

    Do you know of any software without bugs? Numerical models use many subroutines, each with many lines of code which are converted into instructions understood by processors using other software called a compiler. Eliminating all software errors is impossible. With careful testing, the output may be correct, but the accuracy cannot be guaranteed. Plus, numerical calculations cannot be more accurate than the accuracy of the floating-point numbers and integers used by the computer. Round-off errors cannot be ignored. Lawrence et al (1999), examining the output of an atmospheric numerical model, found an error in the code produced by the FORTRAN-90 compiler used on the CRAY Research supercomputer used to run the code. They also found round-off errors in the concentration of tracers calculated from the model. Both errors produced important errors in the output of the model.

    Most models are not well verified or validated (Post & Votta, 2005). Yet, without adequate verification and validation, output from numerical models is not credible.

    Summary

    Despite these many sources of error, most are small in practice. Numerical models of the ocean are giving the most detailed and complete views of the circulation available to oceanographers. Some of the simulations contain unprecedented details of the flow. I included the words of warning not to lead you to believe the models are wrong, but to lead you to accept the output with a grain of salt.


    This page titled 15.1: Introduction: Some Words of Caution is shared under a CC BY-NC-SA 4.0 license and was authored, remixed, and/or curated by Robert H. Stewart via source content that was edited to the style and standards of the LibreTexts platform.