{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Wavelet analysis\n", "Updated regarding Liz201912 dataset.\n", "* Wenchang Yang (wenchang@prnceton.edu)\n", "* Department of Geosciences, Princeton University" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "ExecuteTime": { "end_time": "2020-04-29T01:42:37.107557Z", "start_time": "2020-04-29T01:42:37.050258Z" }, "code_folding": [], "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "[2020-04-28_21:42:37]: wystart\n", "\n", "[imported]: os.path, sys, os, datetime, glob\n", "[imported]: xarray(0.15.1) as xr, numpy(1.18.1) as np, pandas(1.0.3) as pd, matplotlib(3.1.1) as mpl\n", "[imported]: import matplotlib.pyplot as plt\n", "[imported]: from matplotlib.pyplot import plot, figure, close\n", "[executed]: plt.ion()\n", "[config]: plt.rcParams['figure.dpi'] = 128\n", "[config]: plt.rcParams['figure.figsize'] = [6.4, 6.4*9/16]:\n", "[imported]: import misc.colormaps\n", "[config]: xr.set_options(cmap_sequential=\"parula\")\n", "[config]: xr.set_options(cmap_divergent=\"turbo\")\n", "[iPython config]: InlineBackend.figure_format ='retina'\n", "\n", "[2020-04-28_21:42:37]: wystart done\n", "[time used]: **0** seconds\n" ] } ], "source": [ "# init\n", "import sys\n", "wython = '/home/wenchang/wython'\n", "if wython not in sys.path:\n", " sys.path.append(wython)\n", "%matplotlib inline\n", "%run -im wystart\n", "# https://www.dataquest.io/blog/jupyter-notebook-tips-tricks-shortcuts/\n", "#from IPython.core.interactiveshell import InteractiveShell\n", "#InteractiveShell.ast_node_interactivity = 'last' # options: 'all', 'none'\n", "# https://stackoverflow.com/questions/41125690/matplotlib-notebook-showing-a-blank-histogram\n", "# in case to switch back to the notebook backend, run the 2 lines below, \n", "# reload(plt)\n", "# %matplotlib notebook\n", "\n", "import xlearn\n", "import xfilter\n", "import xaddon" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "ExecuteTime": { "end_time": "2020-04-29T01:42:43.826016Z", "start_time": "2020-04-29T01:42:43.542251Z" } }, "outputs": [], "source": [ "import scaleogram as scg\n", "import pywt\n", "from scipy.signal import detrend" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "ExecuteTime": { "end_time": "2019-12-16T15:51:24.038858Z", "start_time": "2019-12-16T15:51:24.037422Z" } }, "outputs": [], "source": [ "# misc\n", "# from dask.distributed import Client\n", "# client = Client('127.0.0.1:8982')\n", "# client" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### tc_liz" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "ExecuteTime": { "end_time": "2020-04-29T01:42:48.447830Z", "start_time": "2020-04-29T01:42:48.092063Z" } }, "outputs": [ { "data": { "text/html": [ "
| \n", " | normTCcounts | \n", "nopost1700Vieq | \n", "smoothlower | \n", "smoothupper | \n", "
|---|---|---|---|---|
| years | \n", "\n", " | \n", " | \n", " | \n", " |
| 500.0 | \n", "0.017119 | \n", "0.017119 | \n", "0.013608 | \n", "0.020630 | \n", "
| 501.0 | \n", "0.017062 | \n", "0.017062 | \n", "0.013566 | \n", "0.020557 | \n", "
| 502.0 | \n", "0.017003 | \n", "0.017003 | \n", "0.013517 | \n", "0.020488 | \n", "
| 503.0 | \n", "0.016942 | \n", "0.016942 | \n", "0.013462 | \n", "0.020422 | \n", "
| 504.0 | \n", "0.016879 | \n", "0.016879 | \n", "0.013401 | \n", "0.020357 | \n", "
| \n", " | noAbaco | \n", "noAndrosAM4 | \n", "noBelizeLRBH | \n", "noGulf_AppBay | \n", "noGulf_ChoBay | \n", "noLIBHBahamas | \n", "noMidAtl | \n", "noNewEng | \n", "noSoutheast | \n", "noVieqPR | \n", "
|---|---|---|---|---|---|---|---|---|---|---|
| year | \n", "\n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " |
| 500.0 | \n", "0.015263 | \n", "0.013615 | \n", "0.017120 | \n", "0.012612 | \n", "0.014829 | \n", "0.017119 | \n", "0.017744 | \n", "0.016224 | \n", "0.017119 | \n", "0.017377 | \n", "
| 501.0 | \n", "0.015245 | \n", "0.013602 | \n", "0.017062 | \n", "0.012596 | \n", "0.014779 | \n", "0.017062 | \n", "0.017726 | \n", "0.016205 | \n", "0.017062 | \n", "0.017363 | \n", "
| 502.0 | \n", "0.015201 | \n", "0.013572 | \n", "0.017002 | \n", "0.012565 | \n", "0.014728 | \n", "0.017003 | \n", "0.017687 | \n", "0.016161 | \n", "0.017003 | \n", "0.017340 | \n", "
| 503.0 | \n", "0.015132 | \n", "0.013525 | \n", "0.016941 | \n", "0.012521 | \n", "0.014676 | \n", "0.016942 | \n", "0.017628 | \n", "0.016092 | \n", "0.016942 | \n", "0.017309 | \n", "
| 504.0 | \n", "0.015038 | \n", "0.013463 | \n", "0.016878 | \n", "0.012464 | \n", "0.014621 | \n", "0.016879 | \n", "0.017550 | \n", "0.015999 | \n", "0.016879 | \n", "0.017269 | \n", "
| \n", " | noAbaco | \n", "noAndrosAM4 | \n", "noBelizeLRBH | \n", "noGulf_AppBay | \n", "noGulf_ChoBay | \n", "noLIBHBahamas | \n", "noMidAtl | \n", "noNewEng | \n", "noSoutheast | \n", "noVieqPR | \n", "
|---|---|---|---|---|---|---|---|---|---|---|
| year | \n", "\n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " |
| 2011.0 | \n", "0.010410 | \n", "0.017831 | \n", "0.015147 | \n", "0.017225 | \n", "0.015318 | \n", "0.016934 | \n", "0.014896 | \n", "0.017386 | \n", "0.016518 | \n", "0.017229 | \n", "
| 2012.0 | \n", "0.009265 | \n", "0.016243 | \n", "0.013677 | \n", "0.015686 | \n", "0.013880 | \n", "0.015309 | \n", "0.013194 | \n", "0.015857 | \n", "0.015730 | \n", "0.015619 | \n", "
| 2013.0 | \n", "0.008116 | \n", "0.014639 | \n", "0.012194 | \n", "0.014129 | \n", "0.012425 | \n", "0.013665 | \n", "0.011472 | \n", "0.014312 | \n", "0.014928 | \n", "0.013985 | \n", "
| 2014.0 | \n", "0.006971 | \n", "0.013031 | \n", "0.010709 | \n", "0.012566 | \n", "0.010964 | \n", "0.012018 | \n", "0.009746 | \n", "0.012761 | \n", "0.014120 | \n", "0.012342 | \n", "
| 2015.0 | \n", "0.005840 | \n", "0.011432 | \n", "0.009237 | \n", "0.011012 | \n", "0.009510 | \n", "0.010379 | \n", "0.008028 | \n", "0.011218 | \n", "0.013314 | \n", "0.010702 | \n", "
array([0.000e+00, 1.000e+00, 2.000e+00, ..., 1.998e+03, 1.999e+03, 2.000e+03])
array([[2.23274 , 2.302159, 2.114637, ..., 2.195307, 1.951619, 2.211331],\n",
" [2.05741 , 2.230826, 2.039295, ..., 2.016628, 1.947734, 2.168551],\n",
" [2.118747, 2.16829 , 1.908546, ..., 1.976867, 1.837227, 2.042322],\n",
" ...,\n",
" [4.544594, 2.629572, 2.785706, ..., 3.711711, 2.865066, 3.792695],\n",
" [2.763453, 1.974367, 2.247692, ..., 2.430131, 2.097794, 2.915569],\n",
" [2.487313, 1.864687, 1.868301, ..., 2.03079 , 2.174878, 2.252262]])array([[5.736197, 5.854553, 5.620302, ..., 5.797088, 5.207521, 5.690876],\n",
" [5.504568, 5.764055, 5.397893, ..., 5.483886, 5.22331 , 5.637239],\n",
" [5.59549 , 5.600414, 5.048727, ..., 5.38251 , 5.05118 , 5.420993],\n",
" ...,\n",
" [8.436566, 5.49365 , 5.626255, ..., 7.18858 , 5.806344, 7.510372],\n",
" [6.267679, 4.526305, 4.892955, ..., 5.660728, 4.972667, 6.414139],\n",
" [5.733126, 4.411412, 4.384234, ..., 5.061545, 5.126597, 5.405591]])array([[ 8.409513, 8.536735, 8.243009, ..., 8.416924, 7.849579, 8.364582],\n",
" [ 8.12429 , 8.425125, 8.042817, ..., 8.077386, 7.856276, 8.297232],\n",
" [ 8.231063, 8.274212, 7.711871, ..., 7.980848, 7.651937, 8.059768],\n",
" ...,\n",
" [11.482335, 8.547229, 8.73861 , ..., 10.288346, 8.90747 , 10.526996],\n",
" [ 9.128602, 7.418734, 7.877271, ..., 8.513131, 7.816682, 9.32202 ],\n",
" [ 8.600644, 7.251394, 7.23554 , ..., 7.821506, 7.977709, 8.217446]])array([[ 0.004412, 0.026373, -0.072996, ..., -0.060695, -0.075294, 0.001155],\n",
" [-0.086592, -0.009344, -0.059768, ..., -0.124221, -0.087292, -0.021496],\n",
" [-0.057727, -0.005877, -0.052285, ..., -0.125459, -0.142412, -0.066664],\n",
" ...,\n",
" [ 0.728362, 0.491314, 0.568163, ..., 0.643921, 0.557328, 0.588087],\n",
" [ 0.287496, 0.291918, 0.405764, ..., 0.234405, 0.205361, 0.356604],\n",
" [ 0.257893, 0.220809, 0.240324, ..., 0.086564, 0.215679, 0.168769]])array([[-0.022138, -0.015525, -0.079359, ..., -0.088495, -0.031303, -0.019896],\n",
" [-0.078085, -0.037877, -0.04074 , ..., -0.109949, -0.044243, -0.03434 ],\n",
" [-0.062516, -0.015778, 0.010054, ..., -0.098811, -0.072511, -0.049841],\n",
" ...,\n",
" [ 0.384873, 0.450592, 0.50504 , ..., 0.413063, 0.474438, 0.33332 ],\n",
" [ 0.177934, 0.395974, 0.448655, ..., 0.196451, 0.255151, 0.225813],\n",
" [ 0.209529, 0.347987, 0.369858, ..., 0.135094, 0.244523, 0.166876]])array([0.000e+00, 1.000e+00, 2.000e+00, ..., 1.998e+03, 1.999e+03, 2.000e+03])
array([[2.154063, 2.217085, 2.130582, ..., 2.068581, 2.110068, 2.27517 ],\n",
" [2.100413, 2.258461, 2.286937, ..., 2.104978, 2.02951 , 2.34658 ],\n",
" [2.197961, 2.219342, 2.201557, ..., 2.128894, 2.056107, 2.229323],\n",
" ...,\n",
" [5.027723, 2.457666, 3.044528, ..., 2.181816, 3.729937, 3.023816],\n",
" [2.824193, 1.758302, 1.968591, ..., 2.044495, 2.14176 , 2.249332],\n",
" [2.668954, 1.991765, 2.251498, ..., 2.113166, 2.062873, 2.15272 ]])array([[5.648283, 5.714026, 5.786323, ..., 5.489101, 5.578412, 5.79057 ],\n",
" [5.554728, 5.772269, 5.984483, ..., 5.582902, 5.39207 , 5.968911],\n",
" [5.691182, 5.689776, 5.800509, ..., 5.621653, 5.452279, 5.780761],\n",
" ...,\n",
" [9.252954, 5.054784, 6.006675, ..., 4.936107, 7.475011, 6.246309],\n",
" [6.467212, 4.271306, 4.674162, ..., 4.977541, 5.07187 , 5.465867],\n",
" [6.015045, 4.660096, 5.14739 , ..., 5.091163, 4.853767, 5.23455 ]])array([[ 8.292361, 8.383435, 8.35761 , ..., 8.123937, 8.213412, 8.476383],\n",
" [ 8.190846, 8.452013, 8.603798, ..., 8.212017, 8.031047, 8.641029],\n",
" [ 8.354113, 8.370263, 8.424043, ..., 8.255495, 8.090707, 8.434178],\n",
" ...,\n",
" [12.1928 , 8.137015, 9.151427, ..., 7.857089, 10.469362, 9.289699],\n",
" [ 9.291933, 7.065952, 7.514948, ..., 7.777707, 7.91625 , 8.253551],\n",
" [ 8.906818, 7.523928, 8.049661, ..., 7.906513, 7.710369, 8.030538]])array([[-0.041901, -0.002626, -0.126082, ..., -0.067118, -0.059897, 0.025491],\n",
" [-0.060287, 0.015956, -0.042377, ..., -0.067491, -0.068382, 0.024075],\n",
" [-0.01314 , 0.010069, -0.055486, ..., -0.057886, -0.064915, -0.01794 ],\n",
" ...,\n",
" [ 0.740223, 0.535406, 0.616928, ..., 0.314985, 0.560566, 0.506075],\n",
" [ 0.262242, 0.161911, 0.207088, ..., 0.142877, 0.205879, 0.138826],\n",
" [ 0.306049, 0.241734, 0.286724, ..., 0.165277, 0.224871, 0.141203]])array([[-0.054248, -0.026015, -0.146942, ..., -0.058465, -0.062486, -0.009106],\n",
" [-0.060045, -0.015726, -0.092695, ..., -0.069945, -0.047892, -0.030341],\n",
" [-0.032976, -0.011634, -0.084129, ..., -0.065728, -0.052029, -0.047624],\n",
" ...,\n",
" [ 0.334968, 0.545567, 0.506525, ..., 0.360041, 0.311308, 0.379646],\n",
" [ 0.134284, 0.315459, 0.297428, ..., 0.197486, 0.242637, 0.13226 ],\n",
" [ 0.221915, 0.331026, 0.306695, ..., 0.203089, 0.288866, 0.162859]])array([ 850, 851, 852, ..., 2003, 2004, 2005])
array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13])
array([[ 4.791911, 4.572698, 5.141148, ..., 6.207507, 4.858519, 4.814067],\n",
" [ 5.052416, 8.780834, 10.357907, ..., 7.145376, 8.401597, 6.211902],\n",
" [ 6.919912, 5.857036, 6.857201, ..., 7.397202, 9.8741 , 8.509785],\n",
" ...,\n",
" [ 4.190224, 4.960422, 3.412841, ..., 6.067619, 4.930406, 3.639186],\n",
" [ 5.170389, 4.874607, 3.741386, ..., 5.245149, 5.65687 , 3.527408],\n",
" [ 4.499226, 4.540049, 4.648083, ..., 6.246764, 3.974652, 4.977071]])array([[ 7.432037, 7.176897, 7.826026, ..., 8.951797, 7.538941, 7.495673],\n",
" [ 7.808509, 11.41094 , 13.030907, ..., 10.100856, 11.497946, 9.010236],\n",
" [ 9.732254, 8.485795, 9.712521, ..., 10.256208, 12.826676, 11.065353],\n",
" ...,\n",
" [ 6.862494, 7.668712, 5.851412, ..., 8.974112, 7.706326, 6.23723 ],\n",
" [ 7.935736, 7.582501, 6.32617 , ..., 8.069157, 8.478794, 6.060366],\n",
" [ 7.25365 , 7.218238, 7.460012, ..., 9.048218, 6.614936, 7.799917]])array([[1.776837, 1.652392, 1.973866, ..., 2.56695 , 1.850007, 1.833405],\n",
" [2.022068, 4.072897, 5.505804, ..., 3.441993, 4.612178, 2.643907],\n",
" [3.074916, 2.235647, 3.101271, ..., 3.453714, 5.619458, 3.746085],\n",
" ...,\n",
" [1.589885, 1.924953, 1.122422, ..., 2.718564, 1.99432 , 1.337666],\n",
" [2.085241, 1.888892, 1.353833, ..., 2.193529, 2.387107, 1.241627],\n",
" [1.795332, 1.722648, 1.922441, ..., 2.667351, 1.483524, 2.072808]])array([[-0.092632, -0.148612, -0.017698, ..., 0.138622, -0.031872, -0.030626],\n",
" [ 0.080891, 0.375382, 0.678686, ..., 0.482345, 0.772917, 0.205896],\n",
" [ 0.296743, -0.043128, 0.338764, ..., 0.406251, 0.842464, 0.256099],\n",
" ...,\n",
" [-0.026753, 0.010518, -0.342065, ..., 0.32795 , 0.107927, -0.088113],\n",
" [ 0.096742, 0.00869 , -0.127251, ..., 0.180157, 0.194339, -0.186434],\n",
" [ 0.08446 , -0.033977, 0.165257, ..., 0.212937, -0.060328, 0.175228]])array([[ 0.007559, -0.012739, 0.02969 , ..., 0.048421, 0.05393 , 0.06111 ],\n",
" [ 0.131105, 0.036462, 0.204646, ..., 0.269579, 0.428262, 0.109347],\n",
" [ 0.121287, -0.079227, 0.165618, ..., 0.177367, 0.385552, -0.051776],\n",
" ...,\n",
" [ 0.155892, 0.078966, 0.00307 , ..., 0.236179, 0.171848, 0.192596],\n",
" [ 0.130394, 0.088772, 0.138672, ..., 0.197077, 0.160336, 0.123384],\n",
" [ 0.210602, 0.096583, 0.262934, ..., 0.112093, 0.159979, 0.227071]])array([ 1, 2, 3, ..., 998, 999, 1000], dtype=int32)
array([ 80, 98, 88, ..., 97, 105, 95], dtype=int32)
array([14, 8, 8, ..., 7, 8, 2], dtype=int32)
array([ 7, 11, 18, ..., 9, 17, 13], dtype=int32)
array([15, 30, 26, ..., 31, 35, 35], dtype=int32)
array([5, 7, 7, ..., 6, 6, 9], dtype=int32)
array([22, 20, 12, ..., 25, 19, 16], dtype=int32)
array([11, 14, 8, ..., 12, 12, 12], dtype=int32)
array([5, 4, 8, ..., 7, 5, 6], dtype=int32)
array([1, 4, 1, ..., 0, 3, 2], dtype=int32)
array([14, 8, 8, ..., 7, 8, 2], dtype=int32)
array([ 1, 2, 3, ..., 998, 999, 1000], dtype=int32)