.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "api/gallery/oceanography/plot_11_rossby_adjustment_radius.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code or to run this example in your browser via JupyterLite. .. rst-class:: sphx-glr-example-title .. _sphx_glr_api_gallery_oceanography_plot_11_rossby_adjustment_radius.py: Rossby's adjustment radius (1938) ================================= Carl-Gustaf Rossby asked what happens when a disturbance in a rotating fluid is released. Gravity waves carry the imbalance away, but rotation stops them after a distance equal to the wave speed divided by ``f``: the deformation radius. In the stratified ocean the first baroclinic radius is a few tens of kilometres at mid-latitudes, the size of ocean eddies, and grows toward the equator. .. GENERATED FROM PYTHON SOURCE LINES 12-35 .. image-sg:: /api/gallery/oceanography/images/sphx_glr_plot_11_rossby_adjustment_radius_001.png :alt: Rossby radius of deformation :srcset: /api/gallery/oceanography/images/sphx_glr_plot_11_rossby_adjustment_radius_001.png :class: sphx-glr-single-img .. code-block:: Python import matplotlib.pyplot as plt import numpy as np from earthsciencekit.atmosphere import coriolis_parameter from earthsciencekit.constants import GRAVITY from earthsciencekit.oceanography import internal_wave_speed, reduced_gravity, rossby_radius buoyancy, depth = 3e-3, 4000.0 latitude = np.radians(np.linspace(5, 80, 151)) f = coriolis_parameter(latitude) radius = rossby_radius(buoyancy, depth, f) np.testing.assert_allclose(radius * f, buoyancy * depth / np.pi) assert 20e3 < rossby_radius(buoyancy, depth, coriolis_parameter(np.radians(45))) < 60e3 two_layer = internal_wave_speed(reduced_gravity(2, 1027, GRAVITY), 500, 3500) / f fig, ax = plt.subplots() ax.semilogy(np.degrees(latitude), radius / 1e3, label="constant N, first mode") ax.semilogy(np.degrees(latitude), two_layer / 1e3, "--", label="two layers, 2 kg/m^3 jump") ax.set(xlabel="latitude [degrees]", ylabel="deformation radius [km]", title="Rossby radius of deformation") ax.legend() plt.show() .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.130 seconds) .. _sphx_glr_download_api_gallery_oceanography_plot_11_rossby_adjustment_radius.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: lite-badge .. image:: images/jupyterlite_badge_logo.svg :target: ../../../lite/lab/index.html?path=api/gallery/oceanography/plot_11_rossby_adjustment_radius.ipynb :alt: Launch JupyterLite :width: 150 px .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_11_rossby_adjustment_radius.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_11_rossby_adjustment_radius.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: plot_11_rossby_adjustment_radius.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_