Back to home page

darwin3

 
 

    


Warning, /doc/overview/eqn_motion_ocn.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
f67abf1ee3 Jeff*0001 .. _ocean_appendix:
                0002 
                0003 Equations of Motion for the Ocean
                0004 ---------------------------------
                0005 
                0006 We review here the method by which the standard (Boussinesq,
                

** Warning **

Wide character in print at /usr/local/share/lxr/source line 1030, <$git> line 8.

0007 incompressible) HPE’s for the ocean written in :math:`z-`\coordinates are 0008 obtained. The non-Boussinesq equations for oceanic motion are: 0009 0010 .. math:: 0bad585a21 Navi*0011 \frac{D\vec{\mathbf{v}}_{h}}{Dt}+f\hat{\boldsymbol{k}}\times \vec{\mathbf{v}} 0012 _{h}+\frac{1}{\rho } \nabla _{z}p = \vec{\boldsymbol{\mathcal{F}}}_h f67abf1ee3 Jeff*0013 :label: non-boussinesq_horizmom 0014 0015 .. math:: 0bad585a21 Navi*0016 \epsilon _{\rm nh}\frac{Dw}{Dt}+g+\frac{1}{\rho }\frac{\partial p}{\partial z} = \epsilon _{\rm nh}\mathcal{F}_{w} f67abf1ee3 Jeff*0017 :label: non-boussinesq_vertmom 0018 0019 .. math:: 0bad585a21 Navi*0020 \frac{1}{\rho }\frac{D\rho }{Dt}+ \nabla _{z}\cdot \vec{\mathbf{v}} f67abf1ee3 Jeff*0021 _{h}+\frac{\partial w}{\partial z} = 0 0022 :label: eq-zns-cont 0023 0024 .. math:: 0025 \rho = \rho (\theta ,S,p) 0026 :label: eq-zns-eos 0027 0028 .. math:: 0029 \frac{D\theta }{Dt} = \mathcal{Q}_{\theta } 0030 :label: eq-zns-heat 0031 0032 .. math:: 0033 \frac{DS}{Dt} = \mathcal{Q}_{s} 0034 :label: eq-zns-salt 0035 0036 These equations permit acoustics modes, inertia-gravity waves, 0037 non-hydrostatic motions, a geostrophic (Rossby) mode and a thermohaline 0038 mode. As written, they cannot be integrated forward consistently - if we 0039 step :math:`\rho` forward in :eq:`eq-zns-cont`, the answer will not be 0040 consistent with that obtained by stepping :eq:`eq-zns-heat` and 0041 :eq:`eq-zns-salt` and then using :eq:`eq-zns-eos` to yield :math:`\rho`. It 0042 is therefore necessary to manipulate the system as follows. 0043 Differentiating the EOS (equation of state) gives: 0044 0045 .. math:: 0046 \frac{D\rho }{Dt}=\left. \frac{\partial \rho }{\partial \theta }\right| 0047 _{S,p}\frac{D\theta }{Dt}+\left. \frac{\partial \rho }{\partial S}\right| 0048 _{\theta ,p}\frac{DS}{Dt}+\left. \frac{\partial \rho }{\partial p}\right| 0049 _{\theta ,S}\frac{Dp}{Dt} 0050 :label: EOSexpansion 0051 0052 Note that :math:`\frac{\partial \rho }{\partial p}=\frac{1}{c_{s}^{2}}` 0053 is the reciprocal of the sound speed (:math:`c_{s}`) squared. 0054 Substituting into :eq:`eq-zns-cont` gives: 0055 0056 .. math:: 0bad585a21 Navi*0057 \frac{1}{\rho c_{s}^{2}}\frac{Dp}{Dt}+ \nabla _{z}\cdot \vec{\mathbf{ f67abf1ee3 Jeff*0058 v}}+\partial _{z}w\approx 0 0059 :label: eq-zns-pressure 0060 0061 where we have used an approximation sign to indicate that we have 0062 assumed adiabatic motion, dropping the :math:`\frac{D\theta }{Dt}` and 0063 :math:`\frac{DS}{Dt}`. Replacing :eq:`eq-zns-cont` with :eq:`eq-zns-pressure` 0064 yields a system that can be explicitly integrated forward: 0065 0066 .. math:: 0bad585a21 Navi*0067 \frac{D\vec{\mathbf{v}}_{h}}{Dt}+f\hat{\boldsymbol{k}}\times \vec{\mathbf{v}} 0068 _{h}+\frac{1}{\rho } \nabla _{z}p = \vec{\boldsymbol{\mathcal{F}}}_h f67abf1ee3 Jeff*0069 :label: eq-cns-hmom 0070 0071 .. math:: 0bad585a21 Navi*0072 \epsilon _{\rm nh}\frac{Dw}{Dt}+g+\frac{1}{\rho }\frac{\partial p}{\partial z} = \epsilon _{\rm nh}\mathcal{F}_{w} f67abf1ee3 Jeff*0073 :label: eq-cns-hydro 0074 0075 .. math:: 0bad585a21 Navi*0076 \frac{1}{\rho c_{s}^{2}}\frac{Dp}{Dt}+ \nabla _{z}\cdot \vec{\mathbf{v}}_{h}+\frac{\partial w}{\partial z} = 0 f67abf1ee3 Jeff*0077 :label: eq-cns-cont 0078 0079 .. math:: 0080 \rho = \rho (\theta ,S,p) 0081 :label: eq-cns-eos 0082 0083 .. math:: 0084 \frac{D\theta }{Dt} = \mathcal{Q}_{\theta } 0085 :label: eq-cns-heat 0086 0087 .. math:: 0088 \frac{DS}{Dt} = \mathcal{Q}_{s} 0089 :label: eq-cns-salt 0090 0091 Compressible z-coordinate equations 0092 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 0093 0094 Here we linearize the acoustic modes by replacing :math:`\rho` with 0095 :math:`\rho _{o}(z)` wherever it appears in a product (ie. non-linear

** Warning **

Wide character in print at /usr/local/share/lxr/source line 1030, <$git> line 97.

0096 term) - this is the ‘Boussinesq assumption’. The only term that then 0097 retains the full variation in :math:`\rho` is the gravitational 0098 acceleration: 0099 0100 .. math:: 0bad585a21 Navi*0101 \frac{D\vec{\mathbf{v}}_{h}}{Dt}+ f \hat{\boldsymbol{k}} \times \vec{\mathbf{v}} 0102 _{h}+\frac{1}{\rho _{o}} \nabla _{z}p = \vec{\boldsymbol{\mathcal{F}}}_h f67abf1ee3 Jeff*0103 :label: eq-zcb-hmom 0104 0105 .. math:: 0bad585a21 Navi*0106 \epsilon _{\rm nh}\frac{Dw}{Dt}+\frac{g\rho }{\rho _{o}}+\frac{1}{\rho _{o}} 0107 \frac{\partial p}{\partial z} = \epsilon _{\rm nh}\mathcal{F}_{w} f67abf1ee3 Jeff*0108 :label: eq-zcb-hydro 0109 0110 .. math:: 0bad585a21 Navi*0111 \frac{1}{\rho _{o}c_{s}^{2}}\frac{Dp}{Dt}+ \nabla _{z}\cdot \vec{ f67abf1ee3 Jeff*0112 \mathbf{v}}_{h}+\frac{\partial w}{\partial z} = 0 0113 :label: eq-zcb-cont 0114 0115 .. math:: 0116 \rho = \rho (\theta ,S,p) 0117 :label: eq-zcb-eos 0118 0119 .. math:: 0120 \frac{D\theta }{Dt} = \mathcal{Q}_{\theta } 0121 :label: eq-zcb-heat 0122 0123 .. math:: 0124 \frac{DS}{Dt} = \mathcal{Q}_{s} 0125 :label: eq-zcb-salt 0126 0127 These equations still retain acoustic modes. But, because the

** Warning **

Wide character in print at /usr/local/share/lxr/source line 1030, <$git> line 129.

0128 “compressible” terms are linearized, the pressure equation :eq:`eq-zcb-cont` 0129 can be integrated implicitly with ease (the time-dependent term appears 0130 as a Helmholtz term in the non-hydrostatic pressure equation). These are 0131 the *truly* compressible Boussinesq equations. Note that the EOS must 0132 have the same pressure dependency as the linearized pressure term, ie. 0133 :math:`\left. \frac{\partial \rho }{\partial p}\right| _{\theta ,S}=\frac{1}{c_{s}^{2}}`, for consistency. 0134

** Warning **

Wide character in print at /usr/local/share/lxr/source line 1030, <$git> line 136.

0135 ‘Anelastic’ z-coordinate equations 0136 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 0137 0138 The anelastic approximation filters the acoustic mode by removing the 0bad585a21 Navi*0139 time-dependency in the continuity (now pressure) equation f67abf1ee3 Jeff*0140 :eq:`eq-zcb-cont`. This could be done simply by noting that 0141 :math:`\frac{Dp}{Dt}\approx -g\rho _{o} \frac{Dz}{Dt}=-g\rho _{o}w`, 0142 but this leads to an inconsistency between 0143 continuity and EOS. A better solution is to change the dependency on 0144 pressure in the EOS by splitting the pressure into a reference function 0145 of height and a perturbation: 0146 0bad585a21 Navi*0147 .. math:: \rho =\rho \left(\theta ,S,p_{o}(z)+\epsilon _{s}p^{\prime } \right) f67abf1ee3 Jeff*0148 0149 Remembering that the term :math:`\frac{Dp}{Dt}` in continuity comes 0150 from differentiating the EOS, the continuity equation then becomes: 0151 0152 .. math:: 0153 0154 \frac{1}{\rho _{o}c_{s}^{2}}\left( \frac{Dp_{o}}{Dt}+\epsilon _{s}\frac{ 0bad585a21 Navi*0155 Dp^{\prime }}{Dt}\right) + \nabla _{z}\cdot \vec{\mathbf{v}}_{h}+ f67abf1ee3 Jeff*0156 \frac{\partial w}{\partial z}=0 0157 0158 If the time- and space-scales of the motions of interest are longer 0159 than those of acoustic modes, then 0bad585a21 Navi*0160 :math:`\frac{Dp^{\prime }}{Dt}\ll \frac{Dp_{o}}{Dt}, \nabla \cdot \vec{\mathbf{v}}_{h}` f67abf1ee3 Jeff*0161 in the continuity equations and :math:`\left. \frac{\partial \rho }{\partial p}\right| _{\theta ,S}\frac{ 0bad585a21 Navi*0162 Dp^{\prime }}{Dt}\ll \left. \frac{\partial \rho }{\partial p}\right| _{\theta f67abf1ee3 Jeff*0163 ,S}\frac{Dp_{o}}{Dt}` in the EOS :eq:`EOSexpansion`. Thus we set :math:`\epsilon_{s}=0`, removing the 0164 dependency on :math:`p^{\prime }` in the continuity equation and EOS. Expanding 0165 :math:`\frac{Dp_{o}(z)}{Dt}=-g\rho _{o}w` then leads to the anelastic continuity equation: 0166 0167 .. math:: 0bad585a21 Navi*0168 \nabla _{z}\cdot \vec{\mathbf{v}}_{h}+\frac{\partial w}{\partial z}- f67abf1ee3 Jeff*0169 \frac{g}{c_{s}^{2}}w = 0 0170 :label: eq-za-cont1 0171 0172 A slightly different route leads to the quasi-Boussinesq continuity 0173 equation where we use the scaling 0174 :math:`\frac{\partial \rho ^{\prime }}{\partial t}+ 0bad585a21 Navi*0175 \nabla _{3}\cdot \rho ^{\prime }\vec{\mathbf{v}}\ll \nabla f67abf1ee3 Jeff*0176 _{3}\cdot \rho _{o}\vec{\mathbf{v}}` yielding: 0177 0178 .. math:: 0bad585a21 Navi*0179 \nabla _{z}\cdot \vec{\mathbf{v}}_{h}+\frac{1}{\rho _{o}}\frac{ f67abf1ee3 Jeff*0180 \partial \left( \rho _{o}w\right) }{\partial z} = 0 0181 :label: eq-za-cont2 0182 0183 Equations :eq:`eq-za-cont1` and :eq:`eq-za-cont2` are in fact the same equation 0184 if: 0185 0bad585a21 Navi*0186 .. math:: \frac{1}{\rho _{o}}\frac{\partial \rho _{o}}{\partial z} = -\frac{g}{c_{s}^{2}} f67abf1ee3 Jeff*0187 0188 Again, note that if :math:`\rho _{o}` is evaluated from prescribed 0189 :math:`\theta _{o}` and :math:`S_{o}` profiles, then the EOS dependency 0190 on :math:`p_{o}` and the term :math:`\frac{g}{c_{s}^{2}}` in continuity should

** Warning **

Wide character in print at /usr/local/share/lxr/source line 1030, <$git> line 192.

0191 be referred to those same profiles. The full set of ‘quasi-Boussinesq’ or ‘anelastic’ 0192 equations for the ocean are then: 0193 0194 .. math:: 0bad585a21 Navi*0195 \frac{D\vec{\mathbf{v}}_{h}}{Dt}+f\hat{\boldsymbol{k}}\times \vec{\mathbf{v}} 0196 _{h}+\frac{1}{\rho _{o}} \nabla _{z}p = \vec{\boldsymbol{\mathcal{F}}}_h f67abf1ee3 Jeff*0197 :label: eq-zab-hmom 0198 0199 .. math:: 0bad585a21 Navi*0200 \epsilon _{\rm nh}\frac{Dw}{Dt}+\frac{g\rho }{\rho _{o}}+\frac{1}{\rho _{o}} 0201 \frac{\partial p}{\partial z} = \epsilon _{\rm nh}\mathcal{F}_{w} f67abf1ee3 Jeff*0202 :label: eq-zab-hydro 0203 0204 .. math:: 0bad585a21 Navi*0205 \nabla _{z}\cdot \vec{\mathbf{v}}_{h}+\frac{1}{\rho _{o}}\frac{ f67abf1ee3 Jeff*0206 \partial \left( \rho _{o}w\right) }{\partial z} = 0 0207 :label: eq-zab-cont 0208 0209 .. math:: 0bad585a21 Navi*0210 \rho = \rho \left(\theta ,S,p_{o}(z) \right) f67abf1ee3 Jeff*0211 :label: eq-zab-eos 0212 0213 .. math:: 0214 \frac{D\theta }{Dt} = \mathcal{Q}_{\theta } 0215 :label: eq-zab-heat 0216 0217 .. math:: 0218 \frac{DS}{Dt} = \mathcal{Q}_{s} 0219 :label: eq-zab-salt 0220 0221 Incompressible z-coordinate equations 0222 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 0223 0224 Here, the objective is to drop the depth dependence of :math:`\rho _{o}` 0225 and so, technically, to also remove the dependence of :math:`\rho` on

** Warning **

Wide character in print at /usr/local/share/lxr/source line 1030, <$git> line 227.

0226 :math:`p_{o}`. This would yield the “truly” incompressible Boussinesq 0227 equations: 0228 0229 .. math:: 0bad585a21 Navi*0230 \frac{D\vec{\mathbf{v}}_{h}}{Dt}+f\hat{\boldsymbol{k}}\times \vec{\mathbf{v}} 0231 _{h}+\frac{1}{\rho _{c}} \nabla _{z}p = \vec{\boldsymbol{\mathcal{F}}}_h f67abf1ee3 Jeff*0232 :label: eq-ztb-hmom 0233 0234 .. math:: 0bad585a21 Navi*0235 \epsilon _{\rm nh}\frac{Dw}{Dt}+\frac{g\rho }{\rho _{c}}+\frac{1}{\rho _{c}} 0236 \frac{\partial p}{\partial z} = \epsilon _{\rm nh}\mathcal{F}_{w} f67abf1ee3 Jeff*0237 :label: eq-ztb-hydro 0238 0239 .. math:: 0bad585a21 Navi*0240 \nabla _{z}\cdot \vec{\mathbf{v}}_{h}+\frac{\partial w}{\partial z} = 0 f67abf1ee3 Jeff*0241 :label: eq-ztb-cont 0242 0243 .. math:: 0244 \rho = \rho (\theta ,S) 0245 :label: eq-ztb-eos 0246 0247 .. math:: 0248 \frac{D\theta }{Dt} = \mathcal{Q}_{\theta } 0249 :label: eq-ztb-heat 0250 0251 .. math:: 0252 \frac{DS}{Dt} = \mathcal{Q}_{s} 0253 :label: eq-ztb-salt 0254 0255 where :math:`\rho _{c}` is a constant reference density of water. 0256 0257 Compressible non-divergent equations 0258 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 0259

** Warning **

Wide character in print at /usr/local/share/lxr/source line 1030, <$git> line 261.

0260 The above “incompressible” equations are incompressible in both the flow 0261 and the density. In many oceanic applications, however, it is important 0262 to retain compressibility effects in the density. To do this we must 0263 split the density thus: 0264 0265 .. math:: \rho =\rho _{o}+\rho ^{\prime } 0266 0267 We then assert that variations with depth of :math:`\rho _{o}` are 0268 unimportant while the compressible effects in :math:`\rho ^{\prime }` 0269 are: 0270 0271 .. math:: \rho _{o}=\rho _{c} 0272 0273 .. math:: \rho ^{\prime }=\rho (\theta ,S,p_{o}(z))-\rho _{o} 0274 0275 This then yields what we can call the semi-compressible Boussinesq 0276 equations: 0277 0278 .. math:: 0bad585a21 Navi*0279 \frac{D\vec{\mathbf{v}}_{h}}{Dt}+f\hat{\boldsymbol{k}}\times \vec{\mathbf{v}} 0280 _{h}+\frac{1}{\rho _{c}} \nabla _{z}p^{\prime } = \vec{\boldsymbol{\mathcal{F}}}_h f67abf1ee3 Jeff*0281 :label: eq-ocean-mom 0282 0283 .. math:: 0bad585a21 Navi*0284 \epsilon _{\rm nh}\frac{Dw}{Dt}+\frac{g\rho ^{\prime }}{\rho _{c}}+\frac{1}{\rho 0285 _{c}}\frac{\partial p^{\prime }}{\partial z} = \epsilon _{\rm nh}\mathcal{F}_{w} f67abf1ee3 Jeff*0286 :label: eq-ocean-wmom 0287 0288 .. math:: 0bad585a21 Navi*0289 \nabla _{z}\cdot \vec{\mathbf{v}}_{h}+\frac{\partial w}{\partial z} = 0 f67abf1ee3 Jeff*0290 :label: eq-ocean-cont 0291 0292 .. math:: 0293 \rho ^{\prime } = \rho (\theta ,S,p_{o}(z))-\rho _{c} 0294 :label: eq-ocean-eos 0295 0296 .. math:: 0297 \frac{D\theta }{Dt} = \mathcal{Q}_{\theta } 0298 :label: eq-ocean-theta 0299 0300 .. math:: 0301 \frac{DS}{Dt} = \mathcal{Q}_{s} 0302 :label: eq-ocean-salt 0303 0304 Note that the hydrostatic pressure of the resting fluid, including that 0305 associated with :math:`\rho _{c}`, is subtracted out since it has no 0306 effect on the dynamics. 0307 0308 Though necessary, the assumptions that go into these equations are messy 0309 since we essentially assume a different EOS for the reference density 0310 and the perturbation density. Nevertheless, it is the hydrostatic 0bad585a21 Navi*0311 (:math:`\epsilon_{\rm nh}=0`) form of these equations that are used throughout the ocean f67abf1ee3 Jeff*

** Warning **

Wide character in print at /usr/local/share/lxr/source line 1030.

0312 modeling community and referred to as the primitive equations (**HPE**’s).