|
5 | 5 | "metadata": {}, |
6 | 6 | "source": [ |
7 | 7 | "# ECCOv4 Global Heat Budget Closure\n", |
8 | | - "### Jan-Erik Tesdal$^1$$^{*}$, Ryan Abernathey$^1$ and Ian Fenty$^2$\n", |
9 | | - "**$^1$ Lamont-Doherty Earth Observatory, Columbia University, Palisades, NY, USA**\n", |
10 | | - "\n", |
11 | | - "**$^2$ Jet Propulsion Laboratory, California Institute of Technology, Pasadena, CA, USA**\n", |
12 | | - "\n", |
13 | | - "$^{*}$*Corresponding author*: jt2796@columbia.edu\n", |
| 8 | + "**Jan-Erik Tesdal<sup>1,*</sup>, Ryan Abernathey<sup>1</sup> and Ian Fenty<sup>2</sup>**\n", |
| 9 | + "<br>\n", |
| 10 | + "<sup>1</sup> Lamont-Doherty Earth Observatory, Columbia University, Palisades, NY, USA\n", |
| 11 | + "<br>\n", |
| 12 | + "<sup>2</sup> Jet Propulsion Laboratory, California Institute of Technology, Pasadena, CA, USA\n", |
| 13 | + "<br>\n", |
| 14 | + "<sup>*</sup>*Corresponding author*: jt2796@columbia.edu\n", |
14 | 15 | "\n", |
15 | 16 | "This section demonstrates the closure of the global heat budget in ECCOv4. The steps and Python code has been directly derived from the calculations and MATLAB code in \"*A Note on Practical Evaluation of Budgets in ECCO Version 4 Release 3\"* by Christopher G. Piecuch (https://ecco.jpl.nasa.gov/drive/files/Version4/Release3/doc/v4r3_budgets_howto.pdf)." |
16 | 17 | ] |
|
53 | 54 | "\\underbrace{\\frac{\\partial(s^*\\theta)}{\\partial t}}_{G^{\\theta}_\\textrm{total}} = \\underbrace{-\\nabla_{z^{*}} \\cdot(s^*\\theta\\,\\mathbf{v}_{res}) - \\frac{\\partial(\\theta\\,w_{res})}{\\partial z^{*}}}_{G^{\\theta}_\\textrm{advection}}\\underbrace{- s^* ({\\nabla\\cdot\\mathbf{F}_\\textrm{diff}^{\\theta}})}_{G^{\\theta}_\\textrm{diffusion}} + \\underbrace{s^* {F}_\\textrm{forc}^{\\theta}}_{G^{\\theta}_\\textrm{forcing}}\n", |
54 | 55 | "\\end{equation}\n", |
55 | 56 | "\n", |
56 | | - "where $z^{*} = \\frac{z - \\eta}{H + \\eta}H$ and $\\nabla_{z^{*}}$/$\\frac{\\partial}{\\partial z^{*}}$ are horizontal/vertical divergences in the $z^*$ frame. Also note that the advection is now separated into horizontal ($\\mathbf{v}_{res}$) and vertical ($w_{res}$) components, and there is a scaling factor ($s^* = 1+ \\frac{\\eta}{H}$) applied to the horizontal advection as well as the diffusion term ($G^{\\theta}_\\textrm{diffusion}$) and forcing term ($G^{\\theta}_\\textrm{forcing}$). $s^*$ is a function of $\\eta$ which is the displacement of the ocean surface from its resting position of $z=0$ (i.e., sea height anomaly). $H$ is the ocean depth. $s^{*}$ comes from the coordinate transformation from z to $z^*$ (Campin and Adcroft, 2004; Campin et al., 2004). See `ECCO_v4_Volume_budget_closure.ipynb` for a more detailed explanation of the $z^*$ coordinate system.\n", |
| 57 | + "where $z^{*} = \\frac{z - \\eta}{H + \\eta}H$ and $\\nabla_{z^{*}}$/$\\frac{\\partial}{\\partial z^{*}}$ are horizontal/vertical divergences in the $z^*$ frame. Also note that the advection is now separated into horizontal ($\\mathbf{v}_{res}$) and vertical ($w_{res}$) components, and there is a scaling factor ($s^* = 1+ \\frac{\\eta}{H}$) applied to the horizontal advection as well as the diffusion term ($G^{\\theta}_\\textrm{diffusion}$) and forcing term ($G^{\\theta}_\\textrm{forcing}$). $s^*$ is a function of $\\eta$ which is the displacement of the ocean surface from its resting position of $z=0$ (i.e., sea height anomaly). $H$ is the ocean depth. $s^{*}$ comes from the coordinate transformation from z to $z^*$ (Campin and Adcroft, 2004; Campin et al., 2004). See [ECCOv4 Global Volume Budget Closure](https://ecco-v4-python-tutorial.readthedocs.io/ECCO_v4_Volume_budget_closure.html#ECCOv4-Global-Volume-Budget-Closure) for a more detailed explanation of the $z^*$ coordinate system.\n", |
57 | 58 | "\n", |
58 | 59 | "Note that the velocity terms in the ECCOv4 heat budget equation ($\\mathbf{v}_{res}$ and $w_{res}$) are described as the \"residual mean\" velocities, which contain both the resolved (Eulerian) flow field, as well as the \"GM bolus\" velocity (i.e., parameterizing unresolved eddy effects):\n", |
59 | | - "$$(u_{res},v_{res},w_{res})= (u,v,w)+ (u_b,v_b,w_b),$$\n", |
60 | | - "where $(u_b,v_b,w_b)$ is the bolus velocity parameter, taking into account the correlation between velocity and thickness (also known as the eddy induced transportor the eddy advection term)." |
| 60 | + "\n", |
| 61 | + "$$(u_{res},v_{res},w_{res})= (u,v,w)+ (u_b,v_b,w_b)$$\n", |
| 62 | + "\n", |
| 63 | + "Here $(u_b,v_b,w_b)$ is the bolus velocity parameter, taking into account the correlation between velocity and thickness (also known as the eddy induced transportor the eddy advection term)." |
61 | 64 | ] |
62 | 65 | }, |
63 | 66 | { |
|
84 | 87 | "cell_type": "markdown", |
85 | 88 | "metadata": {}, |
86 | 89 | "source": [ |
87 | | - "## Prepare environment and load ECCOv4 diagnostic output\n", |
| 90 | + "## Prepare environment and load ECCOv4 diagnostic output" |
| 91 | + ] |
| 92 | + }, |
| 93 | + { |
| 94 | + "cell_type": "markdown", |
| 95 | + "metadata": {}, |
| 96 | + "source": [ |
88 | 97 | "### Import relevant Python modules" |
89 | 98 | ] |
90 | 99 | }, |
91 | 100 | { |
92 | 101 | "cell_type": "code", |
93 | | - "execution_count": 1, |
| 102 | + "execution_count": null, |
94 | 103 | "metadata": {}, |
95 | | - "outputs": [ |
96 | | - { |
97 | | - "name": "stderr", |
98 | | - "output_type": "stream", |
99 | | - "text": [ |
100 | | - "/usr/local/lib/python3.6/dist-packages/pandas/compat/_optional.py:107: UserWarning: Pandas requires version '1.2.1' or newer of 'bottleneck' (version '1.2.0' currently installed).\n", |
101 | | - " warnings.warn(msg, UserWarning)\n" |
102 | | - ] |
103 | | - } |
104 | | - ], |
| 104 | + "outputs": [], |
105 | 105 | "source": [ |
106 | | - "import numpy as np\n", |
| 106 | + "# import numpy as np\n", |
107 | 107 | "import xarray as xr" |
108 | 108 | ] |
109 | 109 | }, |
|
2165 | 2165 | "name": "python", |
2166 | 2166 | "nbconvert_exporter": "python", |
2167 | 2167 | "pygments_lexer": "ipython3", |
2168 | | - "version": "3.8.5" |
| 2168 | + "version": "3.6.9" |
2169 | 2169 | } |
2170 | 2170 | }, |
2171 | 2171 | "nbformat": 4, |
|
0 commit comments