Skip to content

Instantly share code, notes, and snippets.

@ashao
Last active December 17, 2018 18:02
Show Gist options
  • Save ashao/768067d9ccf9090e700433ecd030dbfa to your computer and use it in GitHub Desktop.
Save ashao/768067d9ccf9090e700433ecd030dbfa to your computer and use it in GitHub Desktop.
Demonstration of sorting algorithm for neutral diffusion using discontinuous reconstructions
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"%matplotlib inline\n",
"import pandas as pd"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"drds=0.8\n",
"drdt=-1"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"# Initialize variables\n",
"nk = 3\n",
"ns = 3*4\n",
"Tl = np.zeros( (nk,2) )\n",
"Tr = np.zeros( (nk,2) )\n",
"zl = np.zeros( (nk,2) )\n",
"zr = np.zeros( (nk,2) )\n",
"hl = np.ones( nk )*10\n",
"hr = np.ones( nk )*10\n",
"\n",
"zl[0,0] = 0\n",
"zr[0,0] = 0\n",
"zl[0,1] = hl[0]\n",
"zr[0,1] = hr[0]\n",
"\n",
"for k in range(1,nk):\n",
" zl[k,0] = zl[k-1,1]\n",
" zl[k,1] = zl[k,0] + hl[k]\n",
" zr[k,0] = zr[k-1,1]\n",
" zr[k,1] = zr[k,0] + hr[k]"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"def calc_drho( T1, drdt1, T2, drdt2 ):\n",
" if T1 == T2:\n",
" return 0\n",
" else:\n",
" return 0.5*(drdt1 + drdt2)*( T1 - T2 )\n",
"def find_pos(drhoneg, drhopos):\n",
" if drhopos - drhoneg > 0:\n",
" pos = -drhoneg/(drhopos-drhoneg)\n",
" elif drhopos-drhoneg == 0.:\n",
" if drhoneg > 0.:\n",
" pos = 0.\n",
" else:\n",
" pos = 1.\n",
" if (pos < 0) or (pos > 1):\n",
" print(\"SOMETHING WENT WRONG\",pos)\n",
" return pos\n",
"def abs_pos(zl,kl,pos):\n",
" kl = np.int(kl)\n",
" return zl[kl,0]*(1-pos) + zl[kl,1]*pos\n",
"def mark_unstable(Tl,drdt):\n",
" nk = Tl.shape[0]\n",
" stable = np.ones(nk,dtype=bool)\n",
" for k in range(0,nk):\n",
" if drdt*(Tl[k,1]-Tl[k,0])<0:\n",
" stable[k] = False\n",
" return stable\n",
"def increment_interface(kl,ki,searching_this_column,searching_other_column):\n",
" reached_bottom = False\n",
" if (ki == 1):\n",
" if (kl < nk-1):\n",
" kl = kl + 1\n",
" ki = 0\n",
" else:\n",
" reached_bottom = True\n",
" searching_this_column = False\n",
" searching_other_column = True\n",
" else:\n",
" ki = 1\n",
" return kl, ki, searching_this_column, searching_other_column, reached_bottom\n",
"\n",
"def set_position(drhotop, drhobot, ki_other, ksurf):\n",
" if drhotop > 0. or ksurf == 0:\n",
" pos = 0.\n",
" elif drhotop > drhobot:\n",
" pos = 1.\n",
" elif drhotop < 0. and drhobot < 0.:\n",
" pos = 1.\n",
" elif drhotop == 0. and drhobot == 0.:\n",
" pos = ki_other\n",
" else:\n",
" pos = find_pos(drhotop,drhobot)\n",
" return pos"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {},
"outputs": [],
"source": [
"def sorting_algorithm(Tl, Tr, zl, zr, drdt, verbose = False):\n",
" drdp = 1.e-5\n",
" ki_left = 0 ; ki_right = 0\n",
" kl_left = 0 ; kl_right = 0\n",
" reached_bottom = False\n",
" searching_left_column = True\n",
" searching_right_column = True\n",
" PoL = np.zeros( ns )\n",
" PoR = np.zeros( ns )\n",
" KoL = np.zeros( ns )\n",
" KoR = np.zeros( ns )\n",
" point_left = np.zeros( ns, dtype = bool)\n",
" # Label stable/unstable layers\n",
" stable_left = mark_unstable(Tl,drdt)\n",
" stable_right = mark_unstable(Tr,drdt)\n",
" \n",
" for ksurf in range(0,ns):\n",
" if verbose: \n",
" print(\"ksurf: %d kl_left: %d ki_left: %d kl_right: %d ki_right: %d\" %\n",
" (ksurf, kl_left, ki_left, kl_right, ki_right))\n",
"\n",
" # Check to see if the layers we're searching are statically unstable\n",
" if not stable_left[kl_left]:\n",
" if ksurf > 0:\n",
" PoL[ksurf] = ki_left\n",
" KoL[ksurf] = kl_left\n",
" PoR[ksurf] = PoR[ksurf-1] \n",
" PoR[ksurf] = PoR[ksurf-1]\n",
" else:\n",
" PoL[ksurf] = 0.\n",
" KoL[ksurf] = 0\n",
" \n",
" kl_left, ki_left, searching_left_column, searching_right_column, reached_bottom = increment_interface(\n",
" kl_left, ki_left, searching_left_column, searching_right_column)\n",
" elif not stable_right[kl_right]:\n",
" if ksurf > 0:\n",
" PoR[ksurf] = ki_right\n",
" KoR[ksurf] = kl_right\n",
" PoL[ksurf] = PoL[ksurf-1]\n",
" KoL[ksurf] = KoL[ksurf-1]\n",
" else:\n",
" PoR[ksurf] = 0.\n",
" KoR[ksurf] = 0\n",
" \n",
" kl_right, ki_right, searching_right_column, searching_left_column, reached_bottom = increment_interface(\n",
" kl_right, ki_right, searching_right_column, searching_left_column)\n",
" elif ksurf == ns-1:\n",
" KoL[ksurf] = Tl.shape[0]-1\n",
" PoL[ksurf] = 1.\n",
" KoR[ksurf] = Tr.shape[0]-1\n",
" PoR[ksurf] = 1.\n",
" else:\n",
" # Need to check the interfaces of each side to see which direction we should search\n",
" drho = calc_drho(Tr[kl_right,ki_right], drdt, Tl[kl_left,ki_left], drdt)\n",
" if verbose:\n",
" print(\"drho: %f Tl[%d,%d]: %f, Tr[%d,%d]: %f\" % (drho, kl_left,ki_left,Tl[kl_left,ki_left],\n",
" kl_right,ki_right,Tr[kl_right,ki_right]))\n",
"\n",
" if not reached_bottom:\n",
" if drho < 0:\n",
" if verbose:\n",
" print(\"drho < 0: Search left\")\n",
" searching_left_column = True\n",
" searching_right_column = False\n",
" elif drho > 0:\n",
" if verbose:\n",
" print(\"drho > 0: Search right\")\n",
" searching_left_column = False\n",
" searching_right_column = True\n",
" else:\n",
" if (kl_left == 0) and (kl_right == 0) and ((ki_left + ki_right) == 0):\n",
" if verbose:\n",
" print(\"drho = 0: At surface\")\n",
" searching_left_column = True\n",
" searching_right_column = False\n",
" else:\n",
" if verbose:\n",
" print(\"drho = 0: Switch direction\")\n",
" searching_left_column = not searching_left_column\n",
" searching_right_column = not searching_right_column\n",
"\n",
" if searching_left_column:\n",
" # The position of the interface we're searching from is now known\n",
" PoR[ksurf] = ki_right\n",
" KoR[ksurf] = kl_right\n",
"\n",
" # Figure out whether the layer is stable relative to the interface\n",
" T_ref = Tr[kl_right,ki_right]\n",
" drhotop = calc_drho(Tl[kl_left,0], drdt, T_ref, drdt)\n",
" drhobot = calc_drho(Tl[kl_left,1], drdt, T_ref, drdt)\n",
"\n",
" KoL[ksurf] = kl_left\n",
" PoL[ksurf] = set_position(drhotop, drhobot, ki_right, ksurf)\n",
" # Check if we've reached the bottom, otherwise increment the interface/layer\n",
" kl_right, ki_right, searching_left_column, searching_right_column, reached_bottom =increment_interface(\n",
" kl_right,ki_right,searching_left_column,searching_right_column) \n",
" point_left[ksurf] = True\n",
" if verbose:\n",
" print(\"\\tSearch left\")\n",
" print(\"\\t\\t Temp right: %f\" % T_ref)\n",
" print(\"\\t\\t Temp left top: %f\" % Tl[kl_left,0])\n",
" print(\"\\t\\t Temp left bot: %f\" % Tl[kl_left,1])\n",
" print(\"\\t\\t drhotop: %f drhobot: %f\" % (drhotop, drhobot))\n",
" print(\"\\t\\t PoL: %f\" % PoL[ksurf])\n",
"\n",
" elif searching_right_column:\n",
" # The position of the interface we're searching from is now known\n",
" PoL[ksurf] = ki_left\n",
" KoL[ksurf] = kl_left\n",
"\n",
" # Figure out whether the layer is stable relative to the interface\n",
" T_ref = Tl[kl_left,ki_left]\n",
" drhotop = calc_drho(Tr[kl_right,0], drdt, T_ref, drdt)\n",
" drhobot = calc_drho(Tr[kl_right,1], drdt, T_ref, drdt)\n",
"\n",
" KoR[ksurf] = kl_right\n",
" PoR[ksurf] = set_position(drhotop, drhobot, ki_left, ksurf)\n",
" # Check if we've reached the bottom, otherwise increment the interface/layer\n",
"\n",
" kl_left, ki_left, searching_right_column, searching_left_column, reached_bottom = increment_interface(\n",
" kl_left,ki_left,searching_right_column,searching_left_column)\n",
" point_left[ksurf] = False\n",
" if verbose:\n",
" print(\"\\tSearch right\")\n",
" print(\"\\t\\t Temp left: %f\" % T_ref)\n",
" print(\"\\t\\t Temp right top: %f\" % Tr[kl_right,0])\n",
" print(\"\\t\\t Temp right bot: %f\" % Tr[kl_right,1])\n",
" print(\"\\t\\t drhotop: %f drhobot: %f\" % (drhotop, drhobot))\n",
" print(\"\\t\\t PoR: %f\" % PoR[ksurf])\n",
" else:\n",
" print(\"WAAAAAAAAA something really strange happened\")\n",
" return KoL, PoL, KoR, PoR, point_left"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {},
"outputs": [],
"source": [
"def plot_surfaces(KoL, PoL, KoR, PoR, point_left, zl, zr, Tl, Tr, title):\n",
" plt.figure()\n",
" for ks in range(0,ns):\n",
" if point_left[ks] == 1.:\n",
" x0 = 0.25\n",
" y0 = abs_pos( zr, KoR[ks], PoR[ks] )\n",
" x1 = -0.25\n",
" y1 = abs_pos( zl, KoL[ks], PoL[ks] )\n",
" plt.text(x0+0.05,y0,ks)\n",
" plt.plot([x0,x1],[y0,y1],linestyle='-.',color='g')\n",
" else:\n",
" x0 = -0.25\n",
" y0 = abs_pos( zl, KoL[ks], PoL[ks] )\n",
" x1 = 0.25\n",
" y1 = abs_pos( zr, KoR[ks], PoR[ks] )\n",
" plt.text(x0-0.05,y0,ks)\n",
" plt.plot([x0,x1],[y0,y1],linestyle=':',color='c')\n",
" \n",
" plt.xlim((-1, 1.))\n",
" plt.ylim((-5, 35))\n",
" plt.gca().invert_yaxis()\n",
" plt.xticks([])\n",
" plt.yticks([])\n",
" plt.title(title)\n",
" \n",
" # Plot temperatures and interfaces\n",
" for k in range(0,Tl.shape[0]):\n",
" lline_x = [-0.8,-0.4]\n",
" rline_x = [0.4, 0.8]\n",
" toffset = 2\n",
" boffset = -1\n",
" plt.plot(lline_x,[zl[k,0],zl[k,0]],'k')\n",
" plt.plot(lline_x,[zl[k,1],zl[k,1]],'k')\n",
" plt.text(lline_x[0],zl[k,0]+toffset,'T=%d' % Tl[k,0])\n",
" plt.text(lline_x[0],zl[k,1]+boffset,'T=%d' % Tl[k,1])\n",
" \n",
" plt.plot(rline_x,[zr[k,0],zr[k,0]],'k')\n",
" plt.plot(rline_x,[zr[k,1],zr[k,1]],'k')\n",
" plt.text(rline_x[0],zr[k,0]+toffset,'T=%d' % Tr[k,0])\n",
" plt.text(rline_x[0],zr[k,1]+boffset,'T=%d' % Tr[k,1])"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {},
"outputs": [],
"source": [
"def plot_test_case(Tl, Tr, zl, zr, drdt, title):\n",
" KoL, PoL, KoR, PoR, point_left = sorting_algorithm(Tl,Tr,zl,zr,drdt)\n",
" plot_surfaces( KoL, PoL, KoR, PoR, point_left, zl, zr, Tl, Tr, title)\n",
" table = pd.DataFrame( {'KoL':KoL, 'KoR':KoR, 'PoL':PoL, 'PoR':PoR})\n",
" print(table)"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" KoL KoR PoL PoR\n",
"0 0.0 0.0 0.0 0.0\n",
"1 0.0 0.0 0.0 0.0\n",
"2 0.0 0.0 1.0 1.0\n",
"3 0.0 1.0 1.0 0.0\n",
"4 1.0 1.0 0.0 0.0\n",
"5 1.0 1.0 0.0 0.0\n",
"6 1.0 1.0 1.0 1.0\n",
"7 1.0 2.0 1.0 0.0\n",
"8 2.0 2.0 0.0 0.0\n",
"9 2.0 2.0 0.0 0.0\n",
"10 2.0 2.0 1.0 1.0\n",
"11 2.0 2.0 1.0 1.0\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAWQAAAD7CAYAAABdXO4CAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAGjtJREFUeJzt3H9UVPed//HnB1CiEn+gAgH8CWgQpINidJNqsxGjicbEHmt0Y6vRtOZUm+JqtO03JzFtGjUlJm21u7bbbIxucavVaKKxJiaxxGqMVrpRjJrEH4gYBcUgIKB+vn8welAR8QfMZ+D1OIdz5t479973MLxfc/ncO9dYaxEREd8L8HUBIiJSSYEsIuIIBbKIiCMUyCIijlAgi4g4QoEsIuIIBbJcwhjT2RhjjTFBdbT908aYrje5jdeNMS/cqpou2/aHxpgn6mLbIteiQG6EjDEHjDGp9bCfK8LNWhtirf2yjvd7hzHmj8aYPGNMkTHmM2PM88aYFnW5X5GbpUCWBsUYEwpsBpoB/2KtvR0YBLQGYnxZm8i1KJAbOWNMoDEm3RiTb4z5Ehh62fJWVY42c40xLxhjAr3LxhtjPvKuf9IYs98Y84B32S+B/sB87zDFfO98a4yJ9T5uZox52Rhz0BhzyrutZt5ly4wxR73z/2aMSajlS/p3oAgYa609AGCtzbHW/tha+3/ebd9tjPnEu+1PjDF3X+V3M8sYs6TK9CXDOd7/AF4wxvzd+xrfMsa0Ncb8jzHma++2O1dZ3xpjnjTG7PP+vhYYY4x3WawxZqO3pnxjzP/W8vVKA6JAlu8Dw4BkIAUYednyRcBZINb7nPuBqsMQfYE9QDvgJeCPxhhjrf1/QCYwxTtMMaWafacDvYG7gVBgBnDeu+wdIA4IA/4B/E8tX08qsMJae766hd4j6DXAb4C2wDxgjTGmbS23f7nRwHeBKCqPwDcD/03l69kNPHfZ84cBfYBvAKOAwd75vwDWA22AaOC3N1iP+DEFsowCXvUeRZ4AZl9YYIwJBx4A0qy1xdbaY8ArVIbQBQettX+w1p6jMrzvAMKvtVNjTAAwAfixtTbXWnvOWvt3a20ZgLX2NWttkXd6FvANY0yrWryetkBeDcuHAvustYuttWettRnAZ8BDtdh2df7bWvuFtfYUlR8iX1hr37PWngWWUfkhVtUca22htfYQ8AHg8c6vADoBkdbaM9baj26wHvFjCmSJBHKqTB+s8rgT0ATIM8YUGmMKgYVUHrVecPTCA2ttifdhSC322w64Dfji8gXeYZQ5xpgvjDFfAweqrHMtBVR+KFxNJJe+RrzTUbXYdnW+qvK4tJrpy38XR6s8LqmyfAZggK3GmF3GmAk3WI/4MQWy5AEdqkx3rPI4BygD2llrW3t/WlprazueW9OtBPOBM1R/ou3fgIepHH5oBXT2zje12Od7wAjvEXh1jlD5QVNVRyC3mucWA82rTEfUYv83xFp71Fr7fWttJDAJ+N2FsXZpPBTI8mfgKWNMtDGmDfCTCwustXlUjmu+bIxpaYwJMMbEGGO+VcttfwVUe82xd4z3NWCeMSbSe1T8L8aYYOB2Kj8ICqgMxBev4/XMA1oCi4wxnQCMMVHGmHnGmCRgLdDNGPNvxpggY8yjQA/g7Wq2lQUMMMZ09A6X/PQ66rguxpjvGGOivZMnqfwwO1dX+xM3KZDlD8BfgX9SefJsxWXLvwc0BbKpDIrl1DwkUNWvgZHeKwp+U83y6cCnwCfACWAulX+Tb1A5jJDr3e+W2r4Y7zj43VSOyX5sjCkCNgCngM+ttQVUnlibRmXgzwCGWWvzq9nWu8D/Av8HbKf60L5V+njrPQ2spnJsfX8d7k8cZHSDehERN+gIWUTEEQpkERFHKJBFRByhQBYRcYQCWUTEEdd1z9t27drZzp0711EpIiIN0/bt2/Otte2v9bzrCuTOnTuzbdu2G69KRKQRMsZc/nX9amnIQkTEEQpkERFHKJBFRByhQBYRcYQCWUTEEQpkERFHKJBFRByhQBYRcYQCWUTEEQpkERFHKJBFRByhQBYRcYQCWUTEEQpkERFHKJBFRByhQBYRcYQCWUTEEQpkYcKECYSFhZGYmOjrUsRr3bp1dO/endjYWObMmePrcqSeKJCF8ePHs27dOl+XIV7nzp1j8uTJvPPOO2RnZ5ORkUF2dravy5J6oEAWBgwYQGhoqK/LEK+tW7cSGxtL165dadq0KaNHj2bVqlW+LkvqgQJZxDG5ubl06NDh4nR0dDS5ubk+rEjqiwJZxDHW2ivmGWN8UInUNwWyiGOio6PJycm5OH348GEiIyN9WJHUFwWyiGP69OnDvn372L9/P+Xl5SxdupThw4f7uiypB0G+LuB6pKWlkZWV5esynOHxeHj11Vdvejtjxozhww8/JD8/n+joaJ5//nkmTpwIQOt1rxNxOouI01mcJ4BjMTN4Js7DkJZBjFg2hsK4mTwTm4Qn4CQT1zzFzvAxRH39Me1LdlMR0JxdYaOIPvV32pXupTwwhKKYNH7VPZkuNp9x7zxNedw0XurWk+bFnzF146/Y0+5hOp/8gNZlBykJasvedg/R5eQGWpXlUNwkjHMxk1nYI5mKUzt5KvM3BMQ+xe/je5Jz5EOe257Bl6H3E1ewlhYVxzgV3IH9bQbSLf8tmp8toDC4E01jJrG0ZzK7Dr3HMztWEhL3JEsTktjw2VLm7fmIQ62+SY/jy2l67jT5zbpxuNXdJBz7M03Ol3C8eTytYx5n7Td6sXLnEl7a+wlhcU+wNimJ3338Cn/MPUTe7b1IOvoGAZznaIiHoyEePEdfByAvpBd7Rs675vsRFBTE/PnzGTx4MOfOnWPChAkkJCTU6r1Uj1zqVvVIffGrQJa6kZGR4esS5DIPPvggDz74oK/LkHpmqjuBcDUpKSl227ZtdViOiEjDY4zZbq1NudbzNIYsIuIIvwvkgoICPB4PHo+HiIgIoqKiLk6Xl5fXuO7TTz/NnXfeSVJSEiNGjKCwsBCAd999l969e9OzZ0969+7N+++/Xx8vRaROqEf8l18PWcyaNYuQkBCmT59eq+evX7+e++67j6CgIGbOnAnA3Llz2bFjB+Hh4URGRrJz504GDx6sC/GlQVCPuEFDFtW4//77CQqqPI/Zr18/Dh8+DEBycvLF6zwTEhI4c+YMZWVlPqtTxFfUI77VoK6y6N+/P0VFRVfMT09PJzU19ZJ5r732Go8++ugVz/3LX/5CcnIywcHBdVaniK+oR9zWoAI5MzOzVs/75S9/SVBQEI899tgl83ft2sXMmTNZv359XZQn4nPqEbc1qECuzaf/okWLePvtt9mwYcMl9wc4fPgwI0aM4I033iAmJqbeahapT+oRtzWoQL7Wp/+6deuYO3cuGzdupHnz5hfnFxYWMnToUGbPns0999xT12WK+Ix6xG2N6qTelClTKCoqYtCgQXg8Hp588kkA5s+fz+eff84vfvGLi5cHHTt2zMfVitQ/9Yhv+fVlbyIi/kCXvYmI+BkFsoiIIxTIIiKOUCCLiDhCgSwi4ggFsoiIIxTIIiKOUCCLiDhCgSwi4ggFsoiIIxTIIiKOUCCLiDhCgSwi4ggFsoiIIxTIIiKOUCCLiDhCgSwi4ggFsoiIIxTIIiKOUCCLiDhCgSwi4ggFsoiIIxTIIiKOUCCLiDhCgSwi4ggFsoiIIxTIIiKOUCCLiDhCgSwi4gi/C+SCggI8Hg8ej4eIiAiioqIuTpeXl9e47rJly0hISCAgIIBt27ZdnF9RUcG4cePo2bMn8fHxzJ49u65fhkidUY/4ryBfF3C92rZtS1ZWFgCzZs0iJCSE6dOn12rdxMREVqxYwaRJky6Zv2zZMsrKyvj0008pKSmhR48ejBkzhs6dO9/q8kXqnHrEf/ldIN+M+Pj4aucbYyguLubs2bOUlpbStGlTWrZsWc/VifieesS3GlQg9+/fn6Kioivmp6enk5qaetX1Ro4cyapVq7jjjjsoKSnhlVdeITQ0tC5LFfEJ9YjbGlQgZ2Zm3tB6W7duJTAwkCNHjnDy5En69+9PamoqXbt2vcUViviWesRtDSqQb/TT/09/+hNDhgyhSZMmhIWFcc8997Bt2zb9sUmDox5xW4MK5Bv99O/YsSPvv/8+Y8eOpaSkhC1btpCWlnaLq3PXmTNnaNWqFQEBAVhrCQ0N5ciRI74uq9HKycnhe9/7Hnl5eRw8eJCuXbuya9euW7Jt9Yjb/O6yt5uxcuVKoqOj2bx5M0OHDmXw4MEATJ48mdOnT5OYmEifPn14/PHHSUpK8nG19Sc4OJiIiAhycnIoKiqiQ4cObNmyxddlNVpBQUG8/PLL/OAHP2DYsGEcOHCA7Ozsetm3esTHrLW1/undu7eVhqlTp072+PHjtri42CYnJ9stW7b4uqRGLScnx9533312w4YNNjw83K5fv97XJclNALbZWmRsozpClqszxtCxY0duv/122rdvT9++fX1dUqOWlpbGSy+9xLFjxzh16pTej0ZCgSwAbNq0iZKSEj777DM2bdrE66+/7uuSGq23336bsLAwunfvzrPPPktCQoKu+W0kFMgCQGRkJABxcXGkpKSwfPlyH1fUeG3atInVq1fTvn17jh49SnZ2NmPHjvV1WVIP/Ooqi+TkZPbv3+/rMpzRpUsXduzYcdPbOXDgAIGBgXTo0IH8/Hz+8Y9/MG3aNADMW7+nyfEPaH7sHawJojT5P5nYqSdpbaHPawMo77WQSZ0SGMLnPPrm9ym681mafrWGZvkbOdekNae7/YymeatpduIjzjVtS0XSyzwT66F3xW6+83Ya55PmMSs2kVbH1zHto19THJPGbYczCD61g7PNOlHcdTK35Swm+OtPKW8eAwk/5z969OJM7mqmbvkvTMILvNbDw85d83l59wZKO46n2f6FNC35grKWPTnT4bu0+HIBQaUHKWuVTMCdP2GN5y427JhH+t4tNIn/Ke96evOHjdNYkneYsshvE7JvLoHlBZSGfpPyO4YTsvdFAisKKW33LYLjfszOvnfz8/VTWHz8JM26pfF5376MX/5t1p9pQUX7gbTM/hnGnqUk7AEq2v8rrXbNAKAk/CHKH198zffjxRdfJDc3l9DQUB555BHS09NZsmRJrd5L9cilblWP1BcdIQvZ2dl069aNZs2aER0dTZ8+fXjuued8XVajtWnTJhYvXsz777/PE088wd/+9jfWrl3r67KkHpjKE4C1k5KSYqveAUpERK7NGLPdWptyrefpCFlExBEKZBERR/hdIOvm2yI1U4/4L7+6ygJ0822Ra1GP+C+/C+SboZtvi9RMPeJbDSqQdfNtkZqpR9zWoAJZN98WqZl6xG0NKpB1822RmqlH3NagAlk33xapmXrEbX532dvN0M23RWqmHvEtfXVaRKSO6avTIiJ+RoEsIuIIBbKIiCMUyCIijlAgi4g4QoEsIuIIBbKIiCMUyCIijlAgi4g4QoEsIuIIBbKIiCMUyCIijlAgi4g4QoEsIuIIBbKIiCMUyCIijlAgi4g4QoEsIuIIBbKIiCMUyCIijlAgi4g4QoEsIuIIBbKIiCMUyCIijlAgi4g4QoEsIuIIBbKIiCMUyCIijlAgi4g4wu8CuaCgAI/Hg8fjISIigqioqIvT5eXlNa67bNkyEhISCAgIYNu2bVcsP3ToECEhIaSnp9dV+SJ1Tj3iv4J8XcD1atu2LVlZWQDMmjWLkJAQpk+fXqt1ExMTWbFiBZMmTap2+dSpU3nggQduWa0ivqAe8V9+F8g3Iz4+/qrL3nzzTbp27UqLFi3qsSIRt6hHfKtBBXL//v0pKiq6Yn56ejqpqalXXa+4uJi5c+fy7rvv6l8xadDUI25rUIGcmZl5Q+s999xzTJ06lZCQkFtckYhb1CNua1CBfKOf/h9//DHLly9nxowZFBYWEhAQwG233caUKVPqslxn7Nmzh/vuu48TJ05grQVgzpw5pKWl+biyxuvFF19kzpw5lJWVERwczOrVq7n33ntvervqEbc1qEC+0U//qutdOAnSmP7QKioqaNOmDfv27SMwMJCWLVvi8Xh8XVajlZuby+zZs5k7dy4//OEPGTlyJNnZ2bckkNUjbvO7y95uxsqVK4mOjmbz5s0MHTqUwYMH+7okJ+zevZt+/frRvHlzNm7cSHh4OFu3bvV1WY1WUVERpaWlPProo5w9e5YzZ84QGxtbL/tWj/iWufAvam2kpKTY6q5NFP+2e/duHn74YTZv3szUqVPJzMxk2LBh/Pa3v/V1aY1SVlYWw4cPJy8vD2stnTt35p///KeubvBjxpjt1tqUaz2vUR0hS/Xi4+OZOXMmqampZGRkMGDAAIKCGtRoll85ceIEOTk5vPXWW5SWlmKt5bHHHvN1WVIP1HUCwMSJE2nXrh0LFiwgKiqK6OhoX5fUaH3xxRe0aNGCIUOGADB69GiWLFni46qkPugIWQA4duwYGRkZ3H///axYsYIxY8b4uqRGKykpCWstWVlZWGtZs2ZNvY0hi2/51RFycnIy+/fv93UZzujSpQs7duy4JdsaMWIEW7ZsYefOnSxYsIA2bdoAYN76PU2Of0DzY+9gTRClyf/JxE49SWsLfV4bQHmvhUzqlMAQPufRN79P0Z3P0vSrNTTL38i5Jq053e1nNM1bTbMTH3GuaVsqkl7mmVgPvSt285230zifNI9ZsYm0Or6OaR/9muKYNG47nEHwqR2cbdaJ4q6TuS1nMcFff0p58xhI+Dn/0aMXZ3JXM3XLf2ESXuC1Hh527prPy7s3UNpxPM32L6RpyReUtezJmQ7fpcWXCwgqPUhZq2QC7vwJazx3sWHHPNL3bqFJ/E9519ObP2ycxpK8w5RFfpuQfXMJLC+gNPSblN8xnJC9LxJYUUhpu28RHPdjdva9m5+vn8Li4ydp1i2Nz/v2Zfzyb7P+TAsq2g+kZfbPMPYsJWEPUNH+X2m1awYAJeEPUf744mu+F3379mXs2LH069cPgPbt27Nu3bpavY/qkUvdyh6pD34VyFJ3Nm3a5OsSpIqFCxeycOFCX5ch9UxXWYiI1DFdZSEi4mf8LpB1r1eRmqlH/JffjSHrXq8iNVOP+C+/C+SboXu9itRMPeJbDSqQda9XkZqpR9zWoAJZ93oVqZl6xG0NKpB1r1eRmqlH3NagAln3ehWpmXrEbX532dvN0L1eRWqmHvEtfVNPRKSO6Zt6IiJ+RoEsIuIIBbKIiCMUyCIijlAgi4g4QoEsIuIIBbKIiCMUyCIijlAgi4g4QoEsIuIIBbKIiCMUyCIijlAgi4g4QoEsIuIIBbKIiCMUyCIijlAgi4g4QoEsIuIIBbKIiCMUyCIijlAgi4g4QoEsIuIIBbKIiCMUyCIijlAgi4g4QoEsIuIIBbKIiCMUyCIijlAgi4g4wu8CuaCgAI/Hg8fjISIigqioqIvT5eXlNa67bNkyEhISCAgIYNu2bZcsmz17NrGxsXTv3p2//vWvdfkSROqUesR/Bfm6gOvVtm1bsrKyAJg1axYhISFMnz69VusmJiayYsUKJk2adMn87Oxsli5dyq5duzhy5Aipqans3buXwMDAW16/SF1Tj/gvvztCvhnx8fF07979ivmrVq1i9OjRBAcH06VLF2JjY9m6dasPKhTxLfWIb/ndEXJN+vfvT1FR0RXz09PTSU1Nvep6ubm59OvX7+J0dHQ0ubm5dVKjiC+pR9zWoAI5MzPzhtaz1l4xzxhzs+WIOEc94rYGNWTRv3//iycvqv689957Na4XHR1NTk7OxenDhw8TGRlZ1+U6Y8KECYSFhZGYmHhxXk0nd6RuVfd+nDhxgkGDBhEXF8egQYM4efLkDW1bPeK2BhXImZmZZGVlXfFT079iAMOHD2fp0qWUlZWxf/9+9u3bx1133VVPVfve+PHjWbdu3SXzLpzcGTBggI+qaryqez/mzJnDwIED2bdvHwMHDmTOnDk3tG31iNsaVCBfy8qVK4mOjmbz5s0MHTqUwYMHA5CQkMCoUaPo0aMHQ4YMYcGCBY3q7PGAAQMIDQ29ZN7VTu5I3avu/Vi1ahXjxo0DYNy4cbz55pt1sm/1iG+Z6saGriYlJcXq39eG6cCBAwwbNoydO3deMv/ee+8lPT2dlJQUH1XWOF3+frRu3ZrCwsKLy9u0aXPDwxZS/4wx262112yiRnWELCLiMgWyiB8IDw8nLy8PgLy8PMLCwnxckdQFBbKIHxg+fDiLFi0CYNGiRTz88MM+rkjqgl+NIaelpV38SqiAx+Ph1VdfventjBkzhg8//JD8/HzCw8N5/vnnCQ0N5Uc/+hG5X31FYIsmtIy+jcTpHo7FzOCZOA9DWgYxYtkYCuNm8kxsEp6Ak0xc8xQ7w8cQ9fXHtC/ZTUVAc3aFjSL61N9pV7qX8sAQimLS+FX3ZLrYfMa98zTlcdN4qVtPmhd/xtSNv2JPu4fpfPIDWpcdpCSoLXvbPUSXkxtoVZZDcZMwzsVMZmGPZCpO7eSpzN8QEPsUv4/vSc6RD3luewZfht5PXMFaWlQc41RwB/a3GUi3/LdofraAwuBONI2ZxNKeyew69B7P7FhJSNyTLE1IYsNnS5m35yMOtfomPY4vp+m50+Q368bhVneTcOzPNDlfwvHm8bSOeZy13+jFyp1LeGnvJ4TFPcHapCR+9/Er/DH3EHm39yLp6BsEcJ6jIR6OhnjwHH0dgLyQXuwZOe+G3o9HHnmEUaNGcejQITp27MiyZcuuOPEH6pHL3aoeuVm1HUNuUF8MkRuTkZFR7fwRI0bQet3rRJzOIuJ0Fufrua7G6mrvx4YNG+q5EqlvfnWELCLij3SVhYiIn1Egi4g4QoEsIuIIBbKIiCMUyCIijlAgi4g4QoEsIuIIBbKIiCMUyCIijlAgi4g4QoEsIuIIBbKIiCMUyCIijlAgi4g4QoEsIuIIBbKIiCMUyCIijlAgi4g4QoEsIuIIBbKIiCMUyCIijlAgi4g4QoEsIuIIBbKIiCMUyCIijjDW2to/2ZjjwMG6K0dEpEHqZK1tf60nXVcgi4hI3dGQhYiIIxTIIiKOUCCLiDhCgSwi4ggFsoiIIxTIIiKOUCCLiDhCgSwi4ggFsoiII/4/XuM5S4Hg0E8AAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f1fd30f8e80>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"Tl[0,:] = [22,18]\n",
"Tl[1,:] = [18,14]\n",
"Tl[2,:] = [14,10]\n",
"Tr[0,:] = [22,18]\n",
"Tr[1,:] = [18,14]\n",
"Tr[2,:] = [14,10]\n",
"plot_test_case(Tl,Tr,zl,zr,drdt,'Identical Columns')"
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" KoL KoR PoL PoR\n",
"0 0.0 0.0 0.0 0.0\n",
"1 0.0 0.0 0.5 0.0\n",
"2 0.0 0.0 1.0 0.5\n",
"3 1.0 0.0 0.0 0.5\n",
"4 1.0 0.0 0.5 1.0\n",
"5 1.0 1.0 0.5 0.0\n",
"6 1.0 1.0 1.0 0.5\n",
"7 2.0 1.0 0.0 0.5\n",
"8 2.0 1.0 0.5 1.0\n",
"9 2.0 2.0 0.5 0.0\n",
"10 2.0 2.0 1.0 0.5\n",
"11 2.0 2.0 1.0 1.0\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f1fd3c87ef0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"Tl[0,:] = [22,18]\n",
"Tl[1,:] = [18,14]\n",
"Tl[2,:] = [14,10]\n",
"Tr[0,:] = [20,16]\n",
"Tr[1,:] = [16,12]\n",
"Tr[2,:] = [12,8]\n",
"plot_test_case(Tl,Tr,zl,zr,drdt,'Right slightly cooler')"
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" KoL KoR PoL PoR\n",
"0 0.0 0.0 0.0 0.0\n",
"1 0.0 0.0 0.0 0.5\n",
"2 0.0 0.0 0.5 1.0\n",
"3 0.0 1.0 0.5 0.0\n",
"4 0.0 1.0 1.0 0.5\n",
"5 1.0 1.0 0.0 0.5\n",
"6 1.0 1.0 0.5 1.0\n",
"7 1.0 2.0 0.5 0.0\n",
"8 1.0 2.0 1.0 0.5\n",
"9 2.0 2.0 0.0 0.5\n",
"10 2.0 2.0 0.5 1.0\n",
"11 2.0 2.0 1.0 1.0\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f1fd3c86ac8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"Tl[0,:] = [20,16]\n",
"Tl[1,:] = [16,12]\n",
"Tl[2,:] = [12,8]\n",
"Tr[0,:] = [22,18]\n",
"Tr[1,:] = [18,14]\n",
"Tr[2,:] = [14,10]\n",
"plot_test_case(Tl,Tr,zl,zr,drdt,'Left slightly cooler')"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" KoL KoR PoL PoR\n",
"0 0.0 0.0 0.0 0.000000\n",
"1 0.0 0.0 0.0 1.000000\n",
"2 0.0 1.0 0.0 0.000000\n",
"3 0.0 1.0 0.0 0.000000\n",
"4 0.0 1.0 1.0 0.333333\n",
"5 1.0 1.0 0.0 0.666667\n",
"6 1.0 1.0 1.0 1.000000\n",
"7 1.0 2.0 1.0 0.000000\n",
"8 2.0 2.0 0.0 0.000000\n",
"9 2.0 2.0 0.0 0.000000\n",
"10 2.0 2.0 1.0 0.500000\n",
"11 2.0 2.0 1.0 1.000000\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f1fd35dee48>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"Tl[0,:] = [22,20]\n",
"Tl[1,:] = [18,16]\n",
"Tl[2,:] = [14,12]\n",
"Tr[0,:] = [32,24]\n",
"Tr[1,:] = [22,16]\n",
"Tr[2,:] = [14,10]\n",
"plot_test_case(Tl,Tr,zl,zr,drdt,'Right more strongly stratified')"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" KoL KoR PoL PoR\n",
"0 0.0 0.0 0.0 0.0\n",
"1 0.0 0.0 1.0 0.0\n",
"2 1.0 0.0 0.0 0.0\n",
"3 1.0 0.0 1.0 0.0\n",
"4 1.0 0.0 1.0 1.0\n",
"5 2.0 0.0 0.0 1.0\n",
"6 2.0 1.0 0.0 0.0\n",
"7 2.0 1.0 0.0 0.0\n",
"8 2.0 1.0 0.0 1.0\n",
"9 2.0 2.0 0.5 0.0\n",
"10 2.0 2.0 1.0 0.5\n",
"11 2.0 2.0 1.0 1.0\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f1fdc467550>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"Tl[0,:] = [22,18]\n",
"Tl[1,:] = [18,14]\n",
"Tl[2,:] = [14,10]\n",
"Tr[0,:] = [14,14]\n",
"Tr[1,:] = [14,14]\n",
"Tr[2,:] = [12,8]\n",
"plot_test_case(Tl,Tr,zl,zr,drdt,'Deep Mixed layer on the right')"
]
},
{
"cell_type": "code",
"execution_count": 58,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" KoL KoR PoL PoR\n",
"0 0.0 0.0 0.0 0.0\n",
"1 0.0 0.0 0.0 0.0\n",
"2 0.0 0.0 1.0 1.0\n",
"3 0.0 1.0 1.0 1.0\n",
"4 1.0 1.0 0.0 0.0\n",
"5 1.0 1.0 0.0 0.0\n",
"6 1.0 1.0 0.0 1.0\n",
"7 1.0 2.0 0.0 0.0\n",
"8 1.0 2.0 0.0 1.0\n",
"9 1.0 2.0 1.0 1.0\n",
"10 2.0 2.0 0.0 1.0\n",
"11 2.0 2.0 1.0 1.0\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f1fd30611d0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"Tl[0,:] = [14,14]\n",
"Tl[1,:] = [14,12]\n",
"Tl[2,:] = [10,8]\n",
"Tr[0,:] = [14,14]\n",
"Tr[1,:] = [14,14]\n",
"Tr[2,:] = [14,14]\n",
"plot_test_case(Tl,Tr,zl,zr,drdt,'Right unstratified column')"
]
},
{
"cell_type": "code",
"execution_count": 50,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" KoL KoR PoL PoR\n",
"0 0.0 0.0 0.0 0.0\n",
"1 0.0 0.0 0.0 0.0\n",
"2 0.0 0.0 1.0 1.0\n",
"3 0.0 1.0 1.0 0.0\n",
"4 1.0 1.0 0.0 0.0\n",
"5 1.0 1.0 0.0 0.0\n",
"6 1.0 1.0 1.0 1.0\n",
"7 1.0 2.0 1.0 0.0\n",
"8 2.0 2.0 0.0 0.0\n",
"9 2.0 2.0 0.0 0.0\n",
"10 2.0 2.0 1.0 1.0\n",
"11 2.0 2.0 1.0 1.0\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f1fd3cdb6d8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"Tl[0,:] = [14,14]\n",
"Tl[1,:] = [14,10]\n",
"Tl[2,:] = [10,2]\n",
"Tr[0,:] = [14,14]\n",
"Tr[1,:] = [14,10]\n",
"Tr[2,:] = [10,2]\n",
"plot_test_case(Tl,Tr,zl,zr,drdt,'Identical columns with mixed layer')"
]
},
{
"cell_type": "code",
"execution_count": 51,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" KoL KoR PoL PoR\n",
"0 0.0 0.0 0.0 0.0\n",
"1 0.0 0.0 0.0 0.0\n",
"2 0.0 0.0 1.0 1.0\n",
"3 0.0 1.0 1.0 0.0\n",
"4 1.0 1.0 0.0 0.0\n",
"5 1.0 1.0 0.0 0.5\n",
"6 1.0 1.0 1.0 0.5\n",
"7 2.0 1.0 0.0 1.0\n",
"8 2.0 2.0 0.0 0.0\n",
"9 2.0 2.0 0.0 0.0\n",
"10 2.0 2.0 1.0 1.0\n",
"11 2.0 2.0 1.0 1.0\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f1fd321c780>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"Tl[0,:] = [14,12]\n",
"Tl[1,:] = [10,10]\n",
"Tl[2,:] = [8,2]\n",
"Tr[0,:] = [14,12]\n",
"Tr[1,:] = [12,8]\n",
"Tr[2,:] = [8,2]\n",
"plot_test_case(Tl,Tr,zl,zr,drdt,'Left interior unstratified')"
]
},
{
"cell_type": "code",
"execution_count": 52,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" KoL KoR PoL PoR\n",
"0 0.0 0.0 0.00 0.0\n",
"1 0.0 0.0 1.00 0.0\n",
"2 1.0 0.0 0.00 0.0\n",
"3 1.0 0.0 0.50 0.0\n",
"4 1.0 0.0 1.00 0.5\n",
"5 2.0 0.0 0.00 0.5\n",
"6 2.0 0.0 0.25 1.0\n",
"7 2.0 1.0 0.25 0.0\n",
"8 2.0 1.0 0.25 1.0\n",
"9 2.0 2.0 0.25 0.0\n",
"10 2.0 2.0 1.00 1.0\n",
"11 2.0 2.0 1.00 1.0\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f1fd3204160>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"Tl[0,:] = [12,12]\n",
"Tl[1,:] = [12,10]\n",
"Tl[2,:] = [10,6]\n",
"Tr[0,:] = [11,9]\n",
"Tr[1,:] = [10,11]\n",
"Tr[2,:] = [9,6]\n",
"plot_test_case(Tl,Tr,zl,zr,drdt,'Left mixed layer, Right unstable interior')"
]
},
{
"cell_type": "code",
"execution_count": 53,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" KoL KoR PoL PoR\n",
"0 0.0 0.0 0.00 0.00\n",
"1 0.0 0.0 0.00 1.00\n",
"2 0.0 1.0 0.00 0.00\n",
"3 0.0 1.0 0.00 1.00\n",
"4 0.0 2.0 0.00 0.00\n",
"5 0.0 2.0 1.00 0.00\n",
"6 1.0 2.0 0.00 0.00\n",
"7 1.0 2.0 0.00 0.25\n",
"8 1.0 2.0 1.00 0.25\n",
"9 2.0 2.0 0.00 0.25\n",
"10 2.0 2.0 0.75 1.00\n",
"11 2.0 2.0 1.00 1.00\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f1fd348af28>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"Tl[0,:] = [14,14]\n",
"Tl[1,:] = [10,10]\n",
"Tl[2,:] = [10,2]\n",
"Tr[0,:] = [10,14]\n",
"Tr[1,:] = [16,16]\n",
"Tr[2,:] = [12,4]\n",
"plot_test_case(Tl,Tr,zl,zr,drdt,'Left thick mixed layer, Right unstable mixed')"
]
},
{
"cell_type": "code",
"execution_count": 54,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" KoL KoR PoL PoR\n",
"0 0.0 0.0 0.00 0.00\n",
"1 0.0 0.0 1.00 0.00\n",
"2 0.0 0.0 1.00 0.00\n",
"3 0.0 0.0 1.00 1.00\n",
"4 1.0 1.0 0.00 0.00\n",
"5 1.0 1.0 0.00 1.00\n",
"6 1.0 1.0 0.00 1.00\n",
"7 1.0 2.0 0.00 0.00\n",
"8 1.0 2.0 1.00 0.25\n",
"9 2.0 2.0 0.00 0.25\n",
"10 2.0 2.0 0.75 1.00\n",
"11 2.0 2.0 1.00 1.00\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f1fd344f400>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"Tl[0,:] = [8,12]\n",
"Tl[1,:] = [12,10]\n",
"Tl[2,:] = [10,2]\n",
"Tr[0,:] = [10,14]\n",
"Tr[1,:] = [14,12]\n",
"Tr[2,:] = [12,4]\n",
"plot_test_case(Tl,Tr,zl,zr,drdt,'Unstable mixed layers, left cooler')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.3"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment