{ "cells": [ { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "# Eigenvalue Problems -- Shallow Water on the Sphere" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "**Overview:** This notebook describes how to solve an eigenvalue problem to find the fastest growing mode in a shear flow on the sphere, and initialize a simulation with that mode.\n", "\n", "**About Dedalus:** [Dedalus](http://dedalus-project.org) is an open-source Python package for solving partial differential equations (PDEs) using global spectral methods.\n", "These methods provide highly accurate numerical solutions for PDEs with smooth solutions in simple domains like boxes and spheres.\n", "Dedalus implements modern parallel algorithms utilizing sparse polynomial bases, but all with an easy-to-use symbolic interface.\n", "The code is being used in a wide range of fields, often for problems involving fluid dynamics.\n", "\n", "**Author:** [Keaton Burns](http://keaton-burns.com)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "# Setup" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "This cell checks if Dedalus is installed and performs some other basic setup.\n", "\n", "If Dedalus is not installed and you are using Google Colab, it will automatically be installed.\n", "This may take a few minutes the first time you run the notebook, but subsequent sessions during the next day or so should have the installation cached.\n", "No need to worry about the details -- just execute the cell.\n", "\n", "If you are not using Google Colab, follow the installation instructions in the [Dedalus Docs](https://dedalus-project.readthedocs.io/en/latest/pages/installation.html) to install Dedalus locally on your computer.\n", "Installation using conda is typically straightforward for Mac and Linux.\n", "No promises on Windows.\n", "Execute the cell to confirm Dedalus is installed and importable." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "env: OMP_NUM_THREADS=1\n", "env: NUMEXPR_MAX_THREADS=1\n", "Dedalus already installed :)\n" ] } ], "source": [ "# Set environment variables for best performance\n", "%env OMP_NUM_THREADS=1\n", "%env NUMEXPR_MAX_THREADS=1\n", "\n", "# Minimize logging output\n", "import logging\n", "logging.disable(logging.DEBUG)\n", "\n", "# Check if running on google colab\n", "import os\n", "using_google_colab = bool(os.getenv(\"COLAB_RELEASE_TAG\"))\n", "\n", "# Check for Dedalus\n", "try:\n", " import dedalus.public as de\n", " print(\"Dedalus already installed :)\")\n", "except:\n", " print(\"Dedalus not installed yet.\")\n", " if using_google_colab:\n", " print(\"Installing for Google Colab.\")\n", " print()\n", " # Step 1: Install FFTW\n", " !apt-get install libfftw3-dev\n", " !apt-get install libfftw3-mpi-dev\n", " # Step 2: Set paths for Dedalus installation\n", " import os\n", " os.environ['MPI_INCLUDE_PATH'] = \"/usr/lib/x86_64-linux-gnu/openmpi/include\"\n", " os.environ['MPI_LIBRARY_PATH'] = \"/usr/lib/x86_64-linux-gnu\"\n", " os.environ['FFTW_INCLUDE_PATH'] = \"/usr/include\"\n", " os.environ['FFTW_LIBRARY_PATH'] = \"/usr/lib/x86_64-linux-gnu\"\n", " # Step 3: Install Dedalus using pip\n", " !pip3 install cython \"mpi4py<4.0\" numpy setuptools wheel\n", " !CC=mpicc pip3 install --no-cache --no-build-isolation http://github.com/dedalusproject/dedalus/zipball/master/\n", " !pip3 install -q ipympl\n", " # Step 4: Check installation\n", " print()\n", " try:\n", " import dedalus.public as de\n", " print(\"Dedalus successfully installed :)\")\n", " except:\n", " print(\"Error installing Dedalus :(\")\n", " raise\n", " else:\n", " print(\"See website for installation instructions:\")\n", " print(\"https://dedalus-project.readthedocs.io/en/latest/pages/installation.html\")\n", "\n", "# Setup interactive matplotlib\n", "if using_google_colab:\n", " from google.colab import output\n", " output.enable_custom_widget_manager()" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "# Content" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "First let's import everything we need to run the rest of the notebook." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "np.seterr(over=\"raise\")\n", "import matplotlib.pyplot as plt\n", "import dedalus.public as d3\n", "import logging\n", "logger = logging.getLogger(__name__)\n", "%matplotlib widget" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "Let's consider the shallow water equations on the sphere, with $u$ being the horizontal fluid velocity, and the total fluid depth being $H + h$ for constant $H$.\n", "\n", "$$\\partial_t u + u \\cdot \\nabla u = - g \\nabla h - 2 \\Omega \\times u -\\nu \\nabla^4 u$$\n", "$$\\partial_t h + \\nabla \\cdot ((H + h) u) = -\\nu \\nabla^4 h$$\n", "\n", "Here we've adding a regularizing hyperviscosity to both equations.\n", "[Gelewsky et al. (2004)](https://doi.org/10.3402/tellusa.v56i5.14436) is a classic test problem for spherical shallow-water solvers which examines the evolution of a balanced, barotropically unstable, mid-latitude jet under a prescribed perturbation.\n", "Here we'll go a bit farther and find and evolve the most unstable mode of the jet using the eigenvalue problem in Dedalus. \n", "\n", "This will give us three problems in total:\n", "* An LBVP to find the height field balancing the prescribed jet profile.\n", "* An EVP to find the most unstable mode of the jet.\n", "* An IVP to examine the nonlinear evolution of the instability." ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "## 1. Setup domain" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "First let's set some basic parameters and build the domain." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# Simulation units\n", "meter = 1 / 6.37122e6\n", "hour = 1\n", "second = hour / 3600\n", "\n", "# Parameters\n", "Nphi = 256\n", "Ntheta = 128\n", "dealias = (3/2, 3/2)\n", "R = 6.37122e6 * meter\n", "Omega = 7.292e-5 / second\n", "g = 9.80616 * meter / second**2\n", "H = 1e4 * meter\n", "dtype = np.float64" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "Now let's build two bases for the sphere. First, one to just represent zonally constant fields, and second, one to represent full 2D fields on the sphere:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# Bases\n", "coords = d3.S2Coordinates('phi', 'theta')\n", "dist = d3.Distributor(coords, dtype=dtype)\n", "full_basis = d3.SphereBasis(coords, (Nphi, Ntheta), radius=R, dealias=dealias, dtype=dtype)\n", "zonal_basis = d3.SphereBasis(coords, (1, Ntheta), radius=R, dealias=dealias, dtype=dtype)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "## 2. Balanced zonal jet (LBVP)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "We start with prescribing a mid-latitude zonal jet, and solving a zonally-symmetric LBVP to find the height field that balances this jet profile.\n", "This will be the background state of our eigenvalue problem.\n", "\n", "First we build the background fields using the zonally symmetric basis:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "# Backgroudn fields\n", "u0 = dist.VectorField(coords, name='u', bases=zonal_basis)\n", "h0 = dist.Field(name='h', bases=zonal_basis)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "Next let's setup the zonal jet (the details here are from the reference above):" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "# Setup zonal jet\n", "phi, theta = dist.local_grids(zonal_basis)\n", "lat = np.pi / 2 - theta + 0*phi\n", "umax = 80 * meter / second\n", "lat0 = np.pi / 7\n", "lat1 = np.pi / 2 - lat0\n", "en = np.exp(-4 / (lat1 - lat0)**2)\n", "jet = (lat0 <= lat) * (lat <= lat1)\n", "u_jet = umax / en * np.exp(1 / (lat[jet] - lat0) / (lat[jet] - lat1))\n", "u0['g'][0][jet] = u_jet" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "We can now solve for the balancing height field (ignoring hyperdiffusivity).\n", "This comes from taking the divergence of the momentum equation, and using a gauge freedom to fix the mean of $h$ to be 0:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2024-09-27 10:17:56,462 subsystems 0/1 INFO :: Building subproblem matrices 1/1 (~100%) Elapsed: 0s, Remaining: 0s, Rate: 9.9e+01/s\n" ] } ], "source": [ "# Substitutions\n", "zcross = lambda A: d3.MulCosine(d3.skew(A))\n", "\n", "# Find balanced height field\n", "c = dist.Field(name='c')\n", "problem = d3.LBVP([h0, c], namespace=locals())\n", "problem.add_equation(\"g*lap(h0) + c = - div(u0@grad(u0) + 2*Omega*zcross(u0))\")\n", "problem.add_equation(\"ave(h0) = 0\")\n", "solver = problem.build_solver()\n", "solver.solve()" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "Let's plot these backgrounds:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "91cd319f0a074f4abfdd69a23b99b23f", "version_major": 2, "version_minor": 0 }, "image/png": "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RCQJI2AvwwiYiIiInMIIWJEYARMREZEkjICVixEwERERScII2MswAiYiIiKnMAJWJEbAREREJAkjYOViBExERESSMAL2MoyAiYiIyCmMgBWJETARERFJwghYuRgBExERkSSMgOumadOmUKlUFo+XX37ZYpmLFy9iyJAhCAkJQXR0NCZOnIiysrL66SAjYCKywePHLiJyg/qNgP1du3rXmzdvHp577jnz89DQUPP3lZWVGDx4MBo2bIiffvoJOTk5GDFiBIQQWLFihaz9cBQBx+uCZN0WESmfp4xdROQBHEXAukYu2aTiC8CwsDDExcXZfG379u04fvw40tPTkZCQAAB44403MHLkSLz66qsIDw+XrR8hGrXN9mCNog+yEpGLeMrYRUQeICDETrvrTiNTfHXy2muvISoqCh07dsSrr75qEZGkpKSgXbt25gEUAAYMGACDwYBDhw7ZXafBYEBBQYHFozZFZZU224vLjHXYGyLyFXKPXVLGLSLyEOVFdtpdN5FU0UcAJ02ahLvuugsRERH49ddfMWPGDJw/fx4ffPABACArKwuxsbEW74mIiIBGo0FWVpbd9S5atAhz586tU1+qJoFUj4E5CYSIbHHF2CVl3CIiD2GeBFKtivC1SSBz5syxOjm65uPgwYMAgBdffBG9evVChw4d8Oyzz2LVqlVYs2YNcnJyzOtTqWrOzQWEEDbbq8yYMQN6vd78SE9Pl7YznARC5DPcPXbJNm4RkZv4+CSQCRMm4IknnnC4TNOmTW22d+/eHQBw5swZREVFIS4uDr/88ovFMnl5eSgvL7f633V1Wq0WWq22Tv3mJBAi3+busUvKuEVEHoKTQIDo6GhER0dLem9qaioAID4+HgCQnJyMV199FZmZmea27du3Q6vVonPnzvJ0+AZGwES+TaljFxF5ADdEwB5XADorJSUF+/fvR58+faDT6XDgwAG8+OKLeOihh9CkSRMAQP/+/dG2bVsMHz4cS5cuRW5uLqZNm4bnnnuufmbRMQImohoUMXYRkRvwVnBO0Wq12LhxI3r37o22bdvin//8J5577jl8+umn5mXUajW++eYbBAYG4p577sFf/vIXDB06FK+//rrs/eGt4IjIGZ42dhGRB3DDreAUewTwrrvuwv79+2tdrkmTJti6davL+8MImIic4WljFxF5AM4C9jKMgImIiMgpjIAViREwERERSeKGCJgFoEyqIuDqGAETERFRrcwRcDWMgBWMETARERE5hRGwIjECJiIiIkkYASsXI2AiIiKShBGwl2EETERERE5hBKxIjICJiIhIEkbAysUImIiIiCRhBOxlGAETERGRUxgBKxIjYCIiIpKEEbByMQImIiIiSRgBexlGwEREROQURsCKxAiYiIiIJGEErFyMgImIiEgSRsBehhEwEREROYURsCIxAiYiIiJJGAErFyNgIiIikoQRsJdhBExEREROYQSsSIyAiYiISBJGwMrFCJiIiIgkYQTsZRgBExERkVMYASsSI2AiIiKShBGwcoVo1DbbgzX8iImIiMiBgBA77a47jYzViUyKyipttheXGeu5J0RERKQo5UV22l2XIrIAlAkngRAREZEknATiZTgJhIiIiJzCSSCKxEkgREREJAkngSgXI2AiIiKShBGwl2EETERERE5hBKxIjICJiIhIEkbAysUImIiIiCRhBOxlGAETERGRUxgBKxIjYCIiIpKEEbByMQImIiIiSRgBexlGwEREROQURsCKxAiYiIiIJGEErFyMgImIiEgSRsBehhEwEREROYURsCIxAiYiIiJJGAE7b8+ePVCpVDYfBw4cMC9n6/VVq1bJ3h9GwETkDE8bu4jIA7ghAvZ32ZpdrEePHsjMzLRomzVrFnbu3IkuXbpYtK9duxYDBw40P9fpdPXSR0bARFSTIsYuInKD+o2AFVsAajQaxMXFmZ+Xl5fj66+/xoQJE6BSWVbRDRo0sFjWFRxFwPG6IJdum4iUw9PGLiLyAI4iYF0jl2xSsRFwTV9//TWys7MxcuRIq9cmTJiA6OhodO3aFatWrYLRaJR9+4yAiUgKd49dROQBGAFLt2bNGgwYMACJiYkW7fPnz0ffvn0RFBSE77//HlOnTkV2djZeeeUVu+syGAwwGAzm5wUFBdI6xQiYiGoh19gl27hFRG7i47OA58yZY/cE6arHwYMHLd5z6dIlbNu2DWPGjLFa3yuvvILk5GR07NgRU6dOxbx587B06VKHfVi0aBF0Op35UXNgtoWzgIl8m7vHLinjFhF5CDfMAlYJITzqOFV2djays7MdLtO0aVMEBgaan8+fPx8rVqzA5cuXERAQ4PC9P//8M+69915kZWUhNjbW5jK2/iedmJgIvV6P8PBwm+/J1Jegx6JdFkWgSgXse/l+ngNI5MEKCgqg0+kc/n47w91jl5Rxi4g8hP4y8OYdsDjsp1IBk4/ZPQfwVscuj4uAo6OjER0d7fTyQgisXbsWzzzzTK0DKACkpqYiMDAQDRo0sLuMVquFVqt1ug/2O3frqyAiZXD32CXbuEVEbsJZwHWya9cunD9/3maEsmXLFmRlZSE5ORlBQUHYvXs3Zs6cieeff172gZKzgImoLjxl7CIiD+CGWcCKLwDXrFmDHj16oE2bNlavBQQE4J133sGUKVNgNBrRvHlzzJs3D+PHj5e9H1WzgGtGwJwFTES2eMrYRUQewDwLuEYEzFnA9n3yySd2Xxs4cKDFRVTrHSNgIrLDo8cuInIDH58FrFScBUxERESS8F7AysULQRMREZEkbrgQNAtAV2IETERERE5hBKxIjICJiIhIEkbAyhWiUdtsD9bwIyYiIiIHAkLstLvuNDJWJzIpKqu02V5cxpu3ExERkQPlRXbaXZcisgCUCSeBEBERkSScBOJlOAmEiIiInMJJIIrESSBEREQkCSeBKBcjYCIiIpKEEbCXYQRMRERETmEErEiMgImIiEgSRsDKxQiYiIiIJGEE7GUYARMREZFTGAErEiNgIiIikoQRsHIxAiYiIiJJGAF7GUbARERE5BRGwIrECJiIiIgkYQSsXIyAiYiISBJGwF6GETARERE5hRGwIjECJiIiIkkYASsXI2AiIiKShBGwl2EETERERE5hBKxIjICJiIhIEkbAytUsOgR+NY7eqlUqRsBERETkWGQLQFWjJFOpGQErQbwuCIsebQ+1ylQFqlUqLHy0HeJ1QW7uGREREXk0XSNgyFumog8wfR2y3NTuIv4uW7MPGta1Ce5r1RBp2cVoGh3M4o+IiIicc9czQIu+ptg3srlLiz+ABaDs4nVBLPyIiIio7nSNXF74VWEETERERORjWAASERER+RgWgEREREQ+hgUgERERkY9hAUhERETkY1gAEhEREfkYFoBEREREPoYFIBEREZGPYQFIRERE5GNYABIRERH5GBaARERERD6GBSARERGRj/F3dweUQAgBACgoKHBzT4hIblW/11W/596C4xaRd7vVsYsFoBOuX78OAEhMTHRzT4jIVa5fvw6dTufubsiG4xaRb5A6dqmEt/231wWMRiMyMjIQFhYGlUrlcNmCggIkJiYiPT0d4eHh9dRD+XnL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", "text/html": [ "\n", "