diff --git a/analysis/Individual_Isolate_performance.ipynb b/analysis/Individual_Isolate_performance.ipynb index e2a804b6..eeff0473 100644 --- a/analysis/Individual_Isolate_performance.ipynb +++ b/analysis/Individual_Isolate_performance.ipynb @@ -18,6 +18,8 @@ "import numpy as np\n", "import zarr\n", "\n", + "from datetime import timedelta\n", + "\n", "import pandas as pd\n", "\n", "import tqdm\n", @@ -37,6 +39,7 @@ "\n", "GCP_PROJECT_ID = '170771369993'\n", "OISST_GCP = 'oisst/oisst.zarr'\n", + "OISST_S3 = 'mhw-stress/oisst/oisst.zarr'\n", "\n", "%matplotlib inline" ] @@ -63,23 +66,23 @@ "\n", "

Client

\n", "\n", "\n", "\n", "

Cluster

\n", "\n", "\n", "\n", "" ], "text/plain": [ - "" + "" ] }, "execution_count": 3, @@ -100,7 +103,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "m5a.8xlarge" + "m5.2xlarge" ] } ], @@ -466,7 +469,7 @@ " output_dtypes=['float64'],\n", " dask='parallelized', \n", " output_sizes={\"param\": len(SAVED_PARAMS) + 3}, # + 3 for binary MHW detection parameter and climatology\n", - " vectorize=True\n", + "# vectorize=True\n", " )\n", " return(dets.to_dataset(dim='param').rename_vars(dim_idx_mapping))" ] @@ -480,248 +483,22 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ - "fs = gcsfs.GCSFileSystem(project=GCP_PROJECT_ID, token=\"../gc-pangeo.json\")\n", - "oisst = xr.open_zarr(fs.get_mapper(OISST_GCP))\n", + "# moving over to S3 from GCS\n", + "#fs = gcsfs.GCSFileSystem(project=GCP_PROJECT_ID, token=\"../gc-pangeo.json\")\n", + "fs = s3fs.S3FileSystem(client_kwargs=dict(region_name='us-west-2'))\n", + "mapper = s3fs.S3Map(root=OISST_S3, s3=fs, check=False)\n", + "# oisst = xr.open_zarr(fs.get_mapper(OISST_GCP))\n", + "oisst = xr.open_zarr(mapper)\n", "oisst = oisst.assign_coords(lon=(((oisst.lon + 180) % 360) - 180)).sortby('lon')" ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Generate MHW detections for each plankton isolate:" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "isolate_mhws_tasks = {\n", - " x['isolate.code'] : get_nearest_mhw_detections(oisst, x['isolation.latitude'], x['isolation.longitude'])\n", - " for _, x in plankton.iterrows()\n", - "}" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Execute mhw tasks (~1-2 minutes with 32 cores): " - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "CPU times: user 1min 40s, sys: 5.43 s, total: 1min 45s\n", - "Wall time: 10min 2s\n" - ] - } - ], - "source": [ - "%%time\n", - "isolate_mhws = client.compute(isolate_mhws_tasks, sync=True, optimize_graph=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Compute TPCs for each isolate\n", - "\n", - "Here we use the form of the reaction norm published in Thomas et al. 2012. " - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [], - "source": [ - "tpcs = {\n", - " s['isolate.code'] : partial(tpc,\n", - " a=s['mu.alist'], b=s['mu.blist'], z=s['mu.c.opt.list'], w=s['mu.wlist'])\n", - " for _, s in plankton.iterrows()\n", - "}" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Compute performance for each isolate\n", - "\n", - "We use the TPCs above to compute performance both during normal SST and for the climatology in the single grid-cell within 0.25 degrees of the isolate location. " - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [], - "source": [ - "tmax_col = 'tmax'\n", - "tmin_col = 'tmin'\n", - "topt_col = 'mu.g.opt.list'" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "168it [00:03, 46.88it/s]\n" - ] - } - ], - "source": [ - "performance_tasks = {}\n", - "for i, (_, isolate) in tqdm.tqdm(enumerate(plankton.iterrows())):\n", - " \n", - " _tpc = tpcs[isolate['isolate.code']]\n", - " _relevant_sst = oisst.sel(\n", - " lat=isolate['isolation.latitude'], \n", - " lon=isolate['isolation.longitude'],\n", - " method='nearest', tolerance=0.25\n", - " )\n", - " _tmin = isolate[tmin_col]\n", - " _tmax = isolate[tmax_col]\n", - " _topt = isolate[topt_col]\n", - " values = xr.apply_ufunc(\n", - " _tpc,\n", - " _relevant_sst.chunk({'time': -1}),\n", - " input_core_dims=[['time']],\n", - " output_core_dims=[['time']],\n", - " vectorize=True,\n", - " dask='parallelized',\n", - " output_dtypes=['float64']\n", - " ).sst.T\n", - " \n", - " _relevant_mhws = isolate_mhws[isolate['isolate.code']]\n", - " \n", - " \n", - " performance = xr.full_like(_relevant_sst, fill_value=0.).rename_vars({'sst' : \"performance\"})\n", - " performance['performance_clim'] = xr.zeros_like(performance.performance)\n", - " performance['topt'] = xr.zeros_like(performance.performance)\n", - " performance['tmin'] = xr.zeros_like(performance.performance)\n", - " performance['tmax'] = xr.zeros_like(performance.performance)\n", - " performance.attrs = {}\n", - " \n", - " values_clim = xr.apply_ufunc(\n", - " _tpc,\n", - " _relevant_mhws.clim_seas.chunk({'time': -1}),\n", - " input_core_dims=[['time']],\n", - " output_core_dims=[['time']],\n", - " vectorize=True,\n", - " dask='parallelized',\n", - " output_dtypes=['float64']\n", - " ).T\n", - " \n", - " performance['performance'] = values\n", - " \n", - " performance['performance_clim'] = values_clim\n", - " \n", - " performance['topt'] = _topt\n", - " \n", - " performance['tmin'] = _tmin\n", - " \n", - " performance['tmax'] = _tmax\n", - " \n", - " performance_tasks[isolate['isolate.code']] = performance.assign_coords(isolate = isolate['isolate.code'])\n", - " " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Execute computation (~1m, 32 cores)" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "CPU times: user 1min 27s, sys: 4.2 s, total: 1min 31s\n", - "Wall time: 8min 17s\n" - ] - } - ], - "source": [ - "%%time\n", - "isolate_performance = client.compute(performance_tasks, sync=True, optimize_graph=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Merge MHWs and Performance for analysis \n", - "\n", - "We combine into a single xarray Dataset. " - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [], - "source": [ - "isolate_merged_performance = [xr.merge([isolate_mhws[ic], isolate_performance[ic]]) for ic in plankton['isolate.code']]" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [], - "source": [ - "isolate_combined = xr.concat(isolate_merged_performance, dim='isolate')" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "isolate_combined.to_zarr(store='../data/tmax_only_isolate_mhw_performance.zarr', group=\"tmax_only_isolate_mhw_performance.zarr\", mode='w', compute=True)" - ] - }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 9, "metadata": {}, "outputs": [ { @@ -730,13 +507,11 @@ "
\n", "\n", "\n", - "Show/Hide data repr\n", "\n", "\n", "\n", "\n", "\n", - "Show/Hide attributes\n", "\n", "\n", "\n", @@ -759,11 +534,29 @@ " --xr-background-color-row-odd: var(--jp-layout-color2, #eeeeee);\n", "}\n", "\n", + "html[theme=dark],\n", + "body.vscode-dark {\n", + " --xr-font-color0: rgba(255, 255, 255, 1);\n", + " --xr-font-color2: rgba(255, 255, 255, 0.54);\n", + " --xr-font-color3: rgba(255, 255, 255, 0.38);\n", + " --xr-border-color: #1F1F1F;\n", + " --xr-disabled-color: #515151;\n", + " --xr-background-color: #111111;\n", + " --xr-background-color-row-even: #111111;\n", + " --xr-background-color-row-odd: #313131;\n", + "}\n", + "\n", ".xr-wrap {\n", + " display: block;\n", " min-width: 300px;\n", " max-width: 700px;\n", "}\n", "\n", + ".xr-text-repr-fallback {\n", + " /* fallback to plain text repr when CSS is not injected (untrusted notebook) */\n", + " display: none;\n", + "}\n", + "\n", ".xr-header {\n", " padding-top: 6px;\n", " padding-bottom: 6px;\n", @@ -1026,7 +819,8 @@ " grid-template-columns: 125px auto;\n", "}\n", "\n", - ".xr-attrs dt, dd {\n", + ".xr-attrs dt,\n", + ".xr-attrs dd {\n", " padding: 0;\n", " margin: 0;\n", " float: left;\n", @@ -1061,34 +855,1513 @@ " stroke: currentColor;\n", " fill: currentColor;\n", "}\n", - "
xarray.Dataset
    • isolate: 168
    • time: 13636
    • time
      (time)
      datetime64[ns]
      1981-09-01 ... 2018-12-31
      avg_period :
      0000-00-01 00:00:00
      axis :
      T
      delta_t :
      0000-00-01 00:00:00
      long_name :
      Time
      array(['1981-09-01T00:00:00.000000000', '1981-09-02T00:00:00.000000000',\n",
      +       "
      <xarray.Dataset>\n",
      +       "Dimensions:  (lat: 720, lon: 1440, time: 13636)\n",
      +       "Coordinates:\n",
      +       "  * lat      (lat) float32 -89.88 -89.62 -89.38 -89.12 ... 89.38 89.62 89.88\n",
      +       "  * lon      (lon) float32 -179.9 -179.6 -179.4 -179.1 ... 179.4 179.6 179.9\n",
      +       "  * time     (time) datetime64[ns] 1981-09-01 1981-09-02 ... 2018-12-31\n",
      +       "Data variables:\n",
      +       "    sst      (time, lat, lon) float32 dask.array<chunksize=(100, 50, 280), meta=np.ndarray>\n",
      +       "Attributes:\n",
      +       "    Conventions:    CF-1.5\n",
      +       "    comment:        Reynolds, et al., 2007: Daily High-Resolution-Blended Ana...\n",
      +       "    dataset_title:  NOAA Daily Optimum Interpolation Sea Surface Temperature\n",
      +       "    history:        Thu Aug 24 13:34:17 2017: ncatted -O -a References,global...\n",
      +       "    institution:    NOAA/NCDC\n",
      +       "    references:     https://www.esrl.noaa.gov/psd/data/gridded/data.noaa.oiss...\n",
      +       "    source:         NOAA/NCDC  ftp://eclipse.ncdc.noaa.gov/pub/OI-daily-v2/\n",
      +       "    title:          NOAA High-resolution Blended Analysis: Daily Values using...
      • sst
        (time, lat, lon)
        float32
        dask.array<chunksize=(100, 50, 280), meta=np.ndarray>
        dataset :
        NOAA High-resolution Blended Analysis
        level_desc :
        Surface
        long_name :
        Daily Sea Surface Temperature
        parent_stat :
        Individual Observations
        precision :
        2.0
        statistic :
        Mean
        units :
        degC
        valid_range :
        [-3.0, 45.0]
        var_desc :
        Sea Surface Temperature
        \n", + "\n", + "\n", + "\n", + "\n", + "
        \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
        Array Chunk
        Bytes 56.55 GB 10.00 MB
        Shape (13636, 720, 1440) (100, 50, 500)
        Count 14386 Tasks 8220 Chunks
        Type float32 numpy.ndarray
        \n", + "
        \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + "\n", + " \n", + " 1440\n", + " 720\n", + " 13636\n", + "\n", + "
    • Conventions :
      CF-1.5
      comment :
      Reynolds, et al., 2007: Daily High-Resolution-Blended Analyses for Sea Surface Temperature. J. Climate, 20, 5473-5496. Climatology is based on 1971-2000 OI.v2 SST, Satellite data: Navy NOAA17 NOAA18 AVHRR, Ice data: NCEP ice.
      dataset_title :
      NOAA Daily Optimum Interpolation Sea Surface Temperature
      history :
      Thu Aug 24 13:34:17 2017: ncatted -O -a References,global,d,, sst.day.mean.1981.v2.nc\n", + "Version 1.0
      institution :
      NOAA/NCDC
      references :
      https://www.esrl.noaa.gov/psd/data/gridded/data.noaa.oisst.v2.highres.html
      source :
      NOAA/NCDC ftp://eclipse.ncdc.noaa.gov/pub/OI-daily-v2/
      title :
      NOAA High-resolution Blended Analysis: Daily Values using AVHRR only
" + ], + "text/plain": [ + "\n", + "Dimensions: (lat: 720, lon: 1440, time: 13636)\n", + "Coordinates:\n", + " * lat (lat) float32 -89.88 -89.62 -89.38 -89.12 ... 89.38 89.62 89.88\n", + " * lon (lon) float32 -179.9 -179.6 -179.4 -179.1 ... 179.4 179.6 179.9\n", + " * time (time) datetime64[ns] 1981-09-01 1981-09-02 ... 2018-12-31\n", + "Data variables:\n", + " sst (time, lat, lon) float32 dask.array\n", + "Attributes:\n", + " Conventions: CF-1.5\n", + " comment: Reynolds, et al., 2007: Daily High-Resolution-Blended Ana...\n", + " dataset_title: NOAA Daily Optimum Interpolation Sea Surface Temperature\n", + " history: Thu Aug 24 13:34:17 2017: ncatted -O -a References,global...\n", + " institution: NOAA/NCDC\n", + " references: https://www.esrl.noaa.gov/psd/data/gridded/data.noaa.oiss...\n", + " source: NOAA/NCDC ftp://eclipse.ncdc.noaa.gov/pub/OI-daily-v2/\n", + " title: NOAA High-resolution Blended Analysis: Daily Values using..." + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "oisst" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Generate MHW detections for each plankton isolate:" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n", + "[None, None] []\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n", + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:69: FutureWarning: ``output_sizes`` should be given in the ``dask_gufunc_kwargs`` parameter. It will be removed as direct parameter in a future version.\n" + ] + } + ], + "source": [ + "isolate_mhws_tasks = {\n", + " x['isolate.code'] : get_nearest_mhw_detections(oisst, x['isolation.latitude'], x['isolation.longitude'])\n", + " for _, x in plankton.iterrows()\n", + "}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Execute mhw tasks (~1-2 minutes with 32 cores): " + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: user 30.5 s, sys: 2.07 s, total: 32.6 s\n", + "Wall time: 2min 5s\n" + ] + } + ], + "source": [ + "%%time\n", + "isolate_mhws = client.compute(isolate_mhws_tasks, sync=True, optimize_graph=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Compute TPCs for each isolate\n", + "\n", + "Here we use the form of the reaction norm published in Thomas et al. 2012. " + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "tpcs = {\n", + " s['isolate.code'] : partial(tpc,\n", + " a=s['mu.alist'], b=s['mu.blist'], z=s['mu.c.opt.list'], w=s['mu.wlist'])\n", + " for _, s in plankton.iterrows()\n", + "}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Compute performance for each isolate\n", + "\n", + "We use the TPCs above to compute performance both during normal SST and for the climatology in the single grid-cell within 0.25 degrees of the isolate location. " + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "tmax_col = 'tmax'\n", + "tmin_col = 'tmin'\n", + "topt_col = 'mu.g.opt.list'" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "168it [00:02, 56.85it/s]\n" + ] + } + ], + "source": [ + "performance_tasks = {}\n", + "for i, (_, isolate) in tqdm.tqdm(enumerate(plankton.iterrows())):\n", + " \n", + " _tpc = tpcs[isolate['isolate.code']]\n", + " _relevant_sst = oisst.sel(\n", + " lat=isolate['isolation.latitude'], \n", + " lon=isolate['isolation.longitude'],\n", + " method='nearest', tolerance=0.25\n", + " )\n", + " _tmin = isolate[tmin_col]\n", + " _tmax = isolate[tmax_col]\n", + " _topt = isolate[topt_col]\n", + " values = xr.apply_ufunc(\n", + " _tpc,\n", + " _relevant_sst.chunk({'time': -1}),\n", + " input_core_dims=[['time']],\n", + " output_core_dims=[['time']],\n", + " vectorize=True,\n", + " dask='parallelized',\n", + " output_dtypes=['float64']\n", + " ).sst.T\n", + " \n", + " _relevant_mhws = isolate_mhws[isolate['isolate.code']]\n", + " \n", + " \n", + " performance = xr.full_like(_relevant_sst, fill_value=0.).rename_vars({'sst' : \"performance\"})\n", + " performance['performance_clim'] = xr.zeros_like(performance.performance)\n", + " performance['topt'] = xr.zeros_like(performance.performance)\n", + " performance['tmin'] = xr.zeros_like(performance.performance)\n", + " performance['tmax'] = xr.zeros_like(performance.performance)\n", + " performance.attrs = {}\n", + " \n", + " values_clim = xr.apply_ufunc(\n", + " _tpc,\n", + " _relevant_mhws.clim_seas.chunk({'time': -1}),\n", + " input_core_dims=[['time']],\n", + " output_core_dims=[['time']],\n", + " vectorize=True,\n", + " dask='parallelized',\n", + " output_dtypes=['float64']\n", + " ).T\n", + " \n", + " performance['performance'] = values\n", + " \n", + " performance['performance_clim'] = values_clim\n", + " \n", + " performance['topt'] = _topt\n", + " \n", + " performance['tmin'] = _tmin\n", + " \n", + " performance['tmax'] = _tmax\n", + " \n", + " performance_tasks[isolate['isolate.code']] = performance.assign_coords(isolate = isolate['isolate.code'])\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Execute computation (~1m, 32 cores)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: user 27 s, sys: 1.52 s, total: 28.5 s\n", + "Wall time: 1min 43s\n" + ] + } + ], + "source": [ + "%%time\n", + "isolate_performance = client.compute(performance_tasks, sync=True, optimize_graph=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Merge MHWs and Performance for analysis \n", + "\n", + "We combine into a single xarray Dataset. " + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "isolate_merged_performance = [xr.merge([isolate_mhws[ic], isolate_performance[ic]]) for ic in plankton['isolate.code']]" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "isolate_combined = xr.concat(isolate_merged_performance, dim='isolate')" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "isolate_combined.to_zarr(store='../data/tmax_only_isolate_mhw_performance.zarr', group=\"tmax_only_isolate_mhw_performance.zarr\", mode='w', compute=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.Dataset>\n",
+       "Dimensions:               (isolate: 168, time: 13636)\n",
+       "Coordinates:\n",
+       "    lat                   (isolate) float32 -74.88 -66.38 ... -36.12 60.12\n",
+       "    lon                   (isolate) float32 164.6 110.4 -64.12 ... 174.9 5.625\n",
+       "  * time                  (time) datetime64[ns] 1981-09-01 ... 2018-12-31\n",
+       "  * isolate               (isolate) int64 1 3 5 7 8 9 ... 570 571 572 573 603\n",
+       "Data variables:\n",
+       "    intensity_max         (isolate, time) float64 0.0 0.0 0.0 ... 0.0 0.0 0.0\n",
+       "    intensity_cumulative  (isolate, time) float64 0.0 0.0 0.0 ... 0.0 0.0 0.0\n",
+       "    intensity_var         (isolate, time) float64 0.0 0.0 0.0 ... 0.0 0.0 0.0\n",
+       "    intensity_mean        (isolate, time) float64 0.0 0.0 0.0 ... 0.0 0.0 0.0\n",
+       "    rate_onset            (isolate, time) float64 0.0 0.0 0.0 ... 0.0 0.0 0.0\n",
+       "    rate_decline          (isolate, time) float64 0.0 0.0 0.0 ... 0.0 0.0 0.0\n",
+       "    index_start           (isolate, time) float64 0.0 0.0 0.0 ... 0.0 0.0 0.0\n",
+       "    index_end             (isolate, time) float64 0.0 0.0 0.0 ... 0.0 0.0 0.0\n",
+       "    index_peak            (isolate, time) float64 0.0 0.0 0.0 ... 0.0 0.0 0.0\n",
+       "    duration              (isolate, time) float64 0.0 0.0 0.0 ... 0.0 0.0 0.0\n",
+       "    mhw                   (isolate, time) float64 0.0 0.0 0.0 ... 0.0 0.0 0.0\n",
+       "    clim_thresh           (isolate, time) float64 -1.332 -1.332 ... 0.0 0.0\n",
+       "    clim_seas             (isolate, time) float64 -1.473 -1.473 ... 0.0 0.0\n",
+       "    performance           (isolate, time) float64 -0.2485 -0.2504 ... nan nan\n",
+       "    performance_clim      (isolate, time) float64 -0.2468 -0.2468 ... -1.084\n",
+       "    topt                  (isolate) float64 12.6 13.61 3.463 ... 23.02 26.35\n",
+       "    tmin                  (isolate) float64 2.684 1.472 -1.986 ... 10.09 10.42\n",
+       "    tmax                  (isolate) float64 20.0 31.54 7.892 ... 29.99 35.19
  • time
    (time)
    datetime64[ns]
    1981-09-01 ... 2018-12-31
    avg_period :
    0000-00-01 00:00:00
    axis :
    T
    delta_t :
    0000-00-01 00:00:00
    long_name :
    Time
    array(['1981-09-01T00:00:00.000000000', '1981-09-02T00:00:00.000000000',\n",
    +       "       '1981-09-03T00:00:00.000000000', ..., '2018-12-29T00:00:00.000000000',\n",
    +       "       '2018-12-30T00:00:00.000000000', '2018-12-31T00:00:00.000000000'],\n",
    +       "      dtype='datetime64[ns]')
  • isolate
    (isolate)
    int64
    1 3 5 7 8 9 ... 570 571 572 573 603
    array([  1,   3,   5,   7,   8,   9,  10,  11,  12,  13,  14,  15,  18,  24,\n",
            "        26,  30,  33,  34,  36,  37,  38,  45,  47,  49,  50,  51,  52,  53,\n",
            "        54,  55,  56,  57,  58,  61,  62,  63,  65,  68,  69,  77,  78,  79,\n",
            "        81,  82,  83,  86,  87,  89,  90,  91,  93,  94,  97, 105, 106, 107,\n",
    @@ -1127,73 +2403,73 @@
            "       369, 370, 402, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460,\n",
            "       461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474,\n",
            "       475, 476, 477, 538, 542, 543, 544, 545, 546, 548, 551, 552, 553, 554,\n",
    -       "       555, 556, 557, 558, 559, 560, 561, 562, 563, 570, 571, 572, 573, 603])
    • intensity_max
      (isolate, time)
      float64
      0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0
      array([[0., 0., 0., ..., 0., 0., 0.],\n",
      +       "       555, 556, 557, 558, 559, 560, 561, 562, 563, 570, 571, 572, 573, 603])
    • intensity_max
      (isolate, time)
      float64
      0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0
      array([[0., 0., 0., ..., 0., 0., 0.],\n",
              "       [0., 0., 0., ..., 0., 0., 0.],\n",
              "       [0., 0., 0., ..., 0., 0., 0.],\n",
              "       ...,\n",
              "       [0., 0., 0., ..., 0., 0., 0.],\n",
              "       [0., 0., 0., ..., 0., 0., 0.],\n",
      -       "       [0., 0., 0., ..., 0., 0., 0.]])
    • intensity_cumulative
      (isolate, time)
      float64
      0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0
      array([[0., 0., 0., ..., 0., 0., 0.],\n",
      +       "       [0., 0., 0., ..., 0., 0., 0.]])
  • intensity_cumulative
    (isolate, time)
    float64
    0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0
    array([[0., 0., 0., ..., 0., 0., 0.],\n",
            "       [0., 0., 0., ..., 0., 0., 0.],\n",
            "       [0., 0., 0., ..., 0., 0., 0.],\n",
            "       ...,\n",
            "       [0., 0., 0., ..., 0., 0., 0.],\n",
            "       [0., 0., 0., ..., 0., 0., 0.],\n",
    -       "       [0., 0., 0., ..., 0., 0., 0.]])
  • intensity_var
    (isolate, time)
    float64
    0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0
    array([[0., 0., 0., ..., 0., 0., 0.],\n",
    +       "       [0., 0., 0., ..., 0., 0., 0.]])
  • intensity_var
    (isolate, time)
    float64
    0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0
    array([[0., 0., 0., ..., 0., 0., 0.],\n",
            "       [0., 0., 0., ..., 0., 0., 0.],\n",
            "       [0., 0., 0., ..., 0., 0., 0.],\n",
            "       ...,\n",
            "       [0., 0., 0., ..., 0., 0., 0.],\n",
            "       [0., 0., 0., ..., 0., 0., 0.],\n",
    -       "       [0., 0., 0., ..., 0., 0., 0.]])
  • intensity_mean
    (isolate, time)
    float64
    0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0
    array([[0., 0., 0., ..., 0., 0., 0.],\n",
    +       "       [0., 0., 0., ..., 0., 0., 0.]])
  • intensity_mean
    (isolate, time)
    float64
    0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0
    array([[0., 0., 0., ..., 0., 0., 0.],\n",
            "       [0., 0., 0., ..., 0., 0., 0.],\n",
            "       [0., 0., 0., ..., 0., 0., 0.],\n",
            "       ...,\n",
            "       [0., 0., 0., ..., 0., 0., 0.],\n",
            "       [0., 0., 0., ..., 0., 0., 0.],\n",
    -       "       [0., 0., 0., ..., 0., 0., 0.]])
  • rate_onset
    (isolate, time)
    float64
    0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0
    array([[0., 0., 0., ..., 0., 0., 0.],\n",
    +       "       [0., 0., 0., ..., 0., 0., 0.]])
  • rate_onset
    (isolate, time)
    float64
    0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0
    array([[0., 0., 0., ..., 0., 0., 0.],\n",
            "       [0., 0., 0., ..., 0., 0., 0.],\n",
            "       [0., 0., 0., ..., 0., 0., 0.],\n",
            "       ...,\n",
            "       [0., 0., 0., ..., 0., 0., 0.],\n",
            "       [0., 0., 0., ..., 0., 0., 0.],\n",
    -       "       [0., 0., 0., ..., 0., 0., 0.]])
  • rate_decline
    (isolate, time)
    float64
    0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0
    array([[0., 0., 0., ..., 0., 0., 0.],\n",
    +       "       [0., 0., 0., ..., 0., 0., 0.]])
  • rate_decline
    (isolate, time)
    float64
    0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0
    array([[0., 0., 0., ..., 0., 0., 0.],\n",
            "       [0., 0., 0., ..., 0., 0., 0.],\n",
            "       [0., 0., 0., ..., 0., 0., 0.],\n",
            "       ...,\n",
            "       [0., 0., 0., ..., 0., 0., 0.],\n",
            "       [0., 0., 0., ..., 0., 0., 0.],\n",
    -       "       [0., 0., 0., ..., 0., 0., 0.]])
  • index_start
    (isolate, time)
    float64
    0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0
    array([[0., 0., 0., ..., 0., 0., 0.],\n",
    +       "       [0., 0., 0., ..., 0., 0., 0.]])
  • index_start
    (isolate, time)
    float64
    0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0
    array([[0., 0., 0., ..., 0., 0., 0.],\n",
            "       [0., 0., 0., ..., 0., 0., 0.],\n",
            "       [0., 0., 0., ..., 0., 0., 0.],\n",
            "       ...,\n",
            "       [0., 0., 0., ..., 0., 0., 0.],\n",
            "       [0., 0., 0., ..., 0., 0., 0.],\n",
    -       "       [0., 0., 0., ..., 0., 0., 0.]])
  • index_end
    (isolate, time)
    float64
    0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0
    array([[0., 0., 0., ..., 0., 0., 0.],\n",
    +       "       [0., 0., 0., ..., 0., 0., 0.]])
  • index_end
    (isolate, time)
    float64
    0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0
    array([[0., 0., 0., ..., 0., 0., 0.],\n",
            "       [0., 0., 0., ..., 0., 0., 0.],\n",
            "       [0., 0., 0., ..., 0., 0., 0.],\n",
            "       ...,\n",
            "       [0., 0., 0., ..., 0., 0., 0.],\n",
            "       [0., 0., 0., ..., 0., 0., 0.],\n",
    -       "       [0., 0., 0., ..., 0., 0., 0.]])
  • index_peak
    (isolate, time)
    float64
    0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0
    array([[0., 0., 0., ..., 0., 0., 0.],\n",
    +       "       [0., 0., 0., ..., 0., 0., 0.]])
  • index_peak
    (isolate, time)
    float64
    0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0
    array([[0., 0., 0., ..., 0., 0., 0.],\n",
            "       [0., 0., 0., ..., 0., 0., 0.],\n",
            "       [0., 0., 0., ..., 0., 0., 0.],\n",
            "       ...,\n",
            "       [0., 0., 0., ..., 0., 0., 0.],\n",
            "       [0., 0., 0., ..., 0., 0., 0.],\n",
    -       "       [0., 0., 0., ..., 0., 0., 0.]])
  • duration
    (isolate, time)
    float64
    0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0
    array([[0., 0., 0., ..., 0., 0., 0.],\n",
    +       "       [0., 0., 0., ..., 0., 0., 0.]])
  • duration
    (isolate, time)
    float64
    0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0
    array([[0., 0., 0., ..., 0., 0., 0.],\n",
            "       [0., 0., 0., ..., 0., 0., 0.],\n",
            "       [0., 0., 0., ..., 0., 0., 0.],\n",
            "       ...,\n",
            "       [0., 0., 0., ..., 0., 0., 0.],\n",
            "       [0., 0., 0., ..., 0., 0., 0.],\n",
    -       "       [0., 0., 0., ..., 0., 0., 0.]])
  • mhw
    (isolate, time)
    float64
    0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0
    array([[0., 0., 0., ..., 0., 0., 0.],\n",
    +       "       [0., 0., 0., ..., 0., 0., 0.]])
  • mhw
    (isolate, time)
    float64
    0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0
    array([[0., 0., 0., ..., 0., 0., 0.],\n",
            "       [0., 0., 0., ..., 0., 0., 0.],\n",
            "       [0., 0., 0., ..., 0., 0., 0.],\n",
            "       ...,\n",
            "       [0., 0., 0., ..., 0., 0., 0.],\n",
            "       [0., 0., 0., ..., 0., 0., 0.],\n",
    -       "       [0., 0., 0., ..., 0., 0., 0.]])
  • clim_thresh
    (isolate, time)
    float64
    -1.332 -1.332 -1.332 ... 0.0 0.0
    array([[-1.33229026, -1.33196768, -1.3316451 , ...,  0.39767741,\n",
    +       "       [0., 0., 0., ..., 0., 0., 0.]])
  • clim_thresh
    (isolate, time)
    float64
    -1.332 -1.332 -1.332 ... 0.0 0.0
    array([[-1.33229026, -1.33196768, -1.3316451 , ...,  0.39767741,\n",
            "         0.4382258 ,  0.47725805],\n",
            "       [-1.47051607, -1.47083865, -1.47116123, ..., -0.48503224,\n",
            "        -0.47641934, -0.46835483],\n",
    @@ -1205,7 +2481,7 @@
            "       [15.23645134, 15.24470941, 15.25509652, ..., 20.26703172,\n",
            "        20.32116076, 20.37058008],\n",
            "       [ 0.        ,  0.        ,  0.        , ...,  0.        ,\n",
    -       "         0.        ,  0.        ]])
  • clim_seas
    (isolate, time)
    float64
    -1.473 -1.473 -1.474 ... 0.0 0.0
    array([[-1.47299739, -1.4733392 , -1.47350206, ..., -0.46375611,\n",
    +       "         0.        ,  0.        ]])
  • clim_seas
    (isolate, time)
    float64
    -1.473 -1.473 -1.474 ... 0.0 0.0
    array([[-1.47299739, -1.4733392 , -1.47350206, ..., -0.46375611,\n",
            "        -0.4426347 , -0.4222583 ],\n",
            "       [-1.55268285, -1.55254845, -1.55234721, ..., -0.7928489 ,\n",
            "        -0.78594712, -0.77940369],\n",
    @@ -1217,19 +2493,19 @@
            "       [14.49924915, 14.50388601, 14.50968404, ..., 19.0920556 ,\n",
            "        19.13899859, 19.18536512],\n",
            "       [ 0.        ,  0.        ,  0.        , ...,  0.        ,\n",
    -       "         0.        ,  0.        ]])
  • performance
    (isolate, time)
    float64
    -0.2485 -0.2504 -0.2522 ... nan nan
    array([[-0.24849181, -0.25036421, -0.25223762, ..., -0.21679631,\n",
    +       "         0.        ,  0.        ]])
  • performance
    (isolate, time)
    float64
    -0.2485 -0.2504 -0.2522 ... nan nan
    array([[-0.24849181, -0.25036421, -0.25223762, ..., -0.21679631,\n",
            "        -0.2180341 , -0.21865313],\n",
            "       [-0.14338998, -0.14508453, -0.14565061, ..., -0.10270552,\n",
            "        -0.08832647, -0.09649009],\n",
            "       [ 0.03482169,  0.03482169,  0.03561583, ...,  0.09343178,\n",
            "         0.09343178,  0.09272491],\n",
            "       ...,\n",
    -       "       [ 0.14490589,  0.13576591,  0.12872779, ...,  0.42724261,\n",
    +       "       [ 0.14490589,  0.1357659 ,  0.12872779, ...,  0.42724261,\n",
            "         0.43321139,  0.4391385 ],\n",
            "       [ 0.25271145,  0.24213015,  0.23388471, ...,  0.51772404,\n",
            "         0.52203143,  0.52624512],\n",
            "       [        nan,         nan,         nan, ...,         nan,\n",
    -       "                nan,         nan]])
  • performance_clim
    (isolate, time)
    float64
    -0.2468 -0.2468 ... -1.084 -1.084
    array([[-0.24680708, -0.2468284 , -0.24683856, ..., -0.18439495,\n",
    +       "                nan,         nan]])
  • performance_clim
    (isolate, time)
    float64
    -0.2468 -0.2468 ... -1.084 -1.084
    array([[-0.24680708, -0.2468284 , -0.24683856, ..., -0.18439495,\n",
            "        -0.18310163, -0.18185448],\n",
            "       [-0.14636922, -0.1463616 , -0.14635019, ..., -0.10494424,\n",
            "        -0.10458295, -0.10424067],\n",
    @@ -1241,7 +2517,7 @@
            "       [ 0.25677529,  0.25704726,  0.2573873 , ...,  0.49969782,\n",
            "         0.50169442,  0.50365177],\n",
            "       [-1.08392182, -1.08392182, -1.08392182, ..., -1.08392182,\n",
    -       "        -1.08392182, -1.08392182]])
  • topt
    (isolate)
    float64
    12.6 13.61 3.463 ... 23.02 26.35
    array([12.60374739, 13.61144785,  3.46287964, 10.78428942,  3.10454688,\n",
    +       "        -1.08392182, -1.08392182]])
  • topt
    (isolate)
    float64
    12.6 13.61 3.463 ... 23.02 26.35
    array([12.60374739, 13.61144785,  3.46287964, 10.78428942,  3.10454688,\n",
            "        4.54161173,  3.69804854,  4.2487024 ,  3.51437548,  4.51487984,\n",
            "       22.66390315, 21.11438303, 22.65169693, 22.29491187, 15.46532963,\n",
            "       23.58273862, 18.50424672, 22.29850642, 26.80382512, 28.55694943,\n",
    @@ -1274,7 +2550,7 @@
            "       26.67578114, 26.65048809, 19.68540345, 23.45401892, 24.743752  ,\n",
            "       22.25441025, 24.4985318 ,  3.78861039, 27.54945393, 27.86970425,\n",
            "       29.19234884, 28.57219994, 28.7343785 , 19.11257279, 19.35706278,\n",
    -       "       24.37793178, 23.0221637 , 26.35216499])
  • tmin
    (isolate)
    float64
    2.684 1.472 -1.986 ... 10.09 10.42
    array([ 2.68428387e+00,  1.47235992e+00, -1.98631220e+00, -3.84184582e+01,\n",
    +       "       24.37793178, 23.0221637 , 26.35216499])
  • tmin
    (isolate)
    float64
    2.684 1.472 -1.986 ... 10.09 10.42
    array([ 2.68428387e+00,  1.47235992e+00, -1.98631220e+00, -3.84184582e+01,\n",
            "       -2.93101606e+01, -5.04414011e+01, -3.87351242e+01, -1.36472513e+00,\n",
            "       -4.55966146e+01, -4.68585955e+01,  1.00112530e+01, -1.78558909e+00,\n",
            "        5.77225233e+00,  5.23613932e+00,  6.53305639e+00,  8.57159961e+00,\n",
    @@ -1294,8 +2570,7 @@
            "        9.50129919e+00,  1.50342219e+01,  2.26513208e+00,  7.06811230e+00,\n",
            "        7.90698580e+00,  4.58445699e+00, -1.47679631e+01,  1.75479996e+00,\n",
            "        7.76634202e+00, -4.91319663e+01, -4.41072387e+01,  1.08133013e+00,\n",
    -       "       -5.43199752e+01,  4.79303801e+00,  7.94988718e+00,  2.88194974e+00,\n",
    -       "       -1.01230860e+01, -5.63849920e+01,  1.99838017e+00,  3.75253910e+00,\n",
    +       "...\n",
            "        1.47496030e-01, -6.34339942e+01,  4.75637125e+00, -8.51181039e+01,\n",
            "       -2.04332702e+01, -2.88705956e+00,  8.93954395e+00, -2.00854276e+01,\n",
            "        2.60026262e+00, -2.51819093e+00,  3.77960224e+00, -1.26233115e+00,\n",
    @@ -1315,7 +2590,7 @@
            "        5.23339350e+00,  5.11482695e+00,  4.26649113e+00,  1.17278577e+01,\n",
            "       -1.76379714e-01, -3.56352413e+00,  1.62372435e+01,  1.64216057e+01,\n",
            "        2.17691488e+01,  2.18618082e+01,  2.18724486e+01,  5.48037094e+00,\n",
    -       "        6.16200566e+00,  1.12480880e+01,  1.00924359e+01,  1.04153123e+01])
  • tmax
    (isolate)
    float64
    20.0 31.54 7.892 ... 29.99 35.19
    array([20.00002464, 31.54463071,  7.89235609, 16.31455032,  6.959824  ,\n",
    +       "        6.16200566e+00,  1.12480880e+01,  1.00924359e+01,  1.04153123e+01])
  • tmax
    (isolate)
    float64
    20.0 31.54 7.892 ... 29.99 35.19
    array([20.00002464, 31.54463071,  7.89235609, 16.31455032,  6.959824  ,\n",
            "       10.3456113 ,  7.99185887,  9.06639136,  8.04148298,  8.05473922,\n",
            "       30.00053413, 26.53080021, 34.85717079, 30.13725665, 24.93226755,\n",
            "       31.35519631, 24.98802763, 37.26951256, 32.93648015, 34.96834839,\n",
    @@ -1348,340 +2623,901 @@
            "       33.16441891, 33.7958368 , 26.07248184, 33.00726094, 35.04708846,\n",
            "       34.89110837, 34.75936368,  7.8108824 , 34.92924022, 34.95297068,\n",
            "       35.04808138, 35.06023994, 35.05428144, 24.99024176, 24.97960045,\n",
    -       "       29.97900057, 29.99376647, 35.18606825])
  • " + " 29.97900057, 29.99376647, 35.18606825])
  • " ], "text/plain": [ - "\n", - "Dimensions: (isolate: 168, time: 13636)\n", - "Coordinates:\n", - " * time (time) datetime64[ns] 1981-09-01 ... 2018-12-31\n", - " lat (isolate) float32 -74.875 -66.375 ... -36.125 60.125\n", - " lon (isolate) float32 164.625 110.375 ... 174.875 5.625\n", - " * isolate (isolate) int64 1 3 5 7 8 9 ... 570 571 572 573 603\n", - "Data variables:\n", - " intensity_max (isolate, time) float64 0.0 0.0 0.0 ... 0.0 0.0 0.0\n", - " intensity_cumulative (isolate, time) float64 0.0 0.0 0.0 ... 0.0 0.0 0.0\n", - " intensity_var (isolate, time) float64 0.0 0.0 0.0 ... 0.0 0.0 0.0\n", - " intensity_mean (isolate, time) float64 0.0 0.0 0.0 ... 0.0 0.0 0.0\n", - " rate_onset (isolate, time) float64 0.0 0.0 0.0 ... 0.0 0.0 0.0\n", - " rate_decline (isolate, time) float64 0.0 0.0 0.0 ... 0.0 0.0 0.0\n", - " index_start (isolate, time) float64 0.0 0.0 0.0 ... 0.0 0.0 0.0\n", - " index_end (isolate, time) float64 0.0 0.0 0.0 ... 0.0 0.0 0.0\n", - " index_peak (isolate, time) float64 0.0 0.0 0.0 ... 0.0 0.0 0.0\n", - " duration (isolate, time) float64 0.0 0.0 0.0 ... 0.0 0.0 0.0\n", - " mhw (isolate, time) float64 0.0 0.0 0.0 ... 0.0 0.0 0.0\n", - " clim_thresh (isolate, time) float64 -1.332 -1.332 ... 0.0 0.0\n", - " clim_seas (isolate, time) float64 -1.473 -1.473 ... 0.0 0.0\n", - " performance (isolate, time) float64 -0.2485 -0.2504 ... nan nan\n", - " performance_clim (isolate, time) float64 -0.2468 -0.2468 ... -1.084\n", - " topt (isolate) float64 12.6 13.61 3.463 ... 23.02 26.35\n", - " tmin (isolate) float64 2.684 1.472 -1.986 ... 10.09 10.42\n", - " tmax (isolate) float64 20.0 31.54 7.892 ... 29.99 35.19" + "\n", + "Dimensions: (isolate: 168, time: 13636)\n", + "Coordinates:\n", + " lat (isolate) float32 -74.88 -66.38 ... -36.12 60.12\n", + " lon (isolate) float32 164.6 110.4 -64.12 ... 174.9 5.625\n", + " * time (time) datetime64[ns] 1981-09-01 ... 2018-12-31\n", + " * isolate (isolate) int64 1 3 5 7 8 9 ... 570 571 572 573 603\n", + "Data variables:\n", + " intensity_max (isolate, time) float64 0.0 0.0 0.0 ... 0.0 0.0 0.0\n", + " intensity_cumulative (isolate, time) float64 0.0 0.0 0.0 ... 0.0 0.0 0.0\n", + " intensity_var (isolate, time) float64 0.0 0.0 0.0 ... 0.0 0.0 0.0\n", + " intensity_mean (isolate, time) float64 0.0 0.0 0.0 ... 0.0 0.0 0.0\n", + " rate_onset (isolate, time) float64 0.0 0.0 0.0 ... 0.0 0.0 0.0\n", + " rate_decline (isolate, time) float64 0.0 0.0 0.0 ... 0.0 0.0 0.0\n", + " index_start (isolate, time) float64 0.0 0.0 0.0 ... 0.0 0.0 0.0\n", + " index_end (isolate, time) float64 0.0 0.0 0.0 ... 0.0 0.0 0.0\n", + " index_peak (isolate, time) float64 0.0 0.0 0.0 ... 0.0 0.0 0.0\n", + " duration (isolate, time) float64 0.0 0.0 0.0 ... 0.0 0.0 0.0\n", + " mhw (isolate, time) float64 0.0 0.0 0.0 ... 0.0 0.0 0.0\n", + " clim_thresh (isolate, time) float64 -1.332 -1.332 ... 0.0 0.0\n", + " clim_seas (isolate, time) float64 -1.473 -1.473 ... 0.0 0.0\n", + " performance (isolate, time) float64 -0.2485 -0.2504 ... nan nan\n", + " performance_clim (isolate, time) float64 -0.2468 -0.2468 ... -1.084\n", + " topt (isolate) float64 12.6 13.61 3.463 ... 23.02 26.35\n", + " tmin (isolate) float64 2.684 1.472 -1.986 ... 10.09 10.42\n", + " tmax (isolate) float64 20.0 31.54 7.892 ... 29.99 35.19" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "isolate_combined" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Filter to only MHW events**" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "mhws = isolate_combined.where((isolate_combined.mhw != 0))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Convert to Dask dataframe for processing" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [], + "source": [ + "mhws_ddf = mhws.to_dask_dataframe().dropna().repartition(npartitions=20)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Sometimes** performance goes negative, likely due to performance being computed during seasons where species is not typically present (?). To preserve interpretability of metrics later on, we convert these \"negative\" performance values to zeros. \n", + "\n", + "\n", + "*Update from Thomas 5/16: \" Mortality is likely to be very important. I see that you are using a TPC formulation that prevents net growth rates from going negative, and I would be concerned that this would bias your results considerably. Negative population growth rates are incredibly difficult to measure and so we have very little data on how the TPC extends below zero, but we do know that it does happen above Tmax. We haven't published anything explicitly about that (yet) but at least in a simple model, even smaller periods of negative growth rates can have large effects on the probability of population persistence. How large unfortunately depends on the shape of the TPC below zero, which is poorly constrained. The TPC formulation we used allowed for negative growth rates; I suspect that the magnitude of the negative values was unrealistically high over realistic temperature ranges, but I also doubt that the curve becomes completely flat (as in your generalised TPC). If you did allow for these negative growth rates, I expect you’d see some performance ratio values below 1.\"*\n", + "\n", + "With this info I'm thresholding at -1 instead of 0 " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Actually**, what I think we'll do here is scale each of the performance values independently for each isolate" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [], + "source": [ + "def physiological_scaler(physio_data):\n", + " max_performance = physio_data['mu.g.opt.val.list'].item() # max growth rate\n", + " \n", + " def _scaler(data):\n", + " oldmin = -max_performance\n", + " oldmax = max_performance\n", + " newmin = -1\n", + " newmax = 1\n", + " \n", + " return (((data - oldmin) * (newmax - newmin)) / (oldmax - oldmin)) + newmin\n", + " return(newdata)\n", + " return(_scaler)\n", + " \n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:2: FutureWarning: `item` has been deprecated and will be removed in a future version\n", + " \n" + ] + } + ], + "source": [ + "from sklearn.preprocessing import maxabs_scale # between [-1, 1]\n", + "\n", + "def scale_performance(ddf):\n", + " for isolate in ddf.isolate.unique():\n", + " this_scaler = physiological_scaler(plankton[plankton['isolate.code'] == isolate])\n", + " these_isolates = ddf[ddf.isolate == isolate]\n", + " ddf.loc[these_isolates.index, \"performance_scaled\"] = this_scaler(these_isolates.performance.values)\n", + " ddf.loc[these_isolates.index, \"performance_clim_scaled\"] = this_scaler(these_isolates.performance_clim.values)\n", + " return(ddf)\n", + "\n", + "mhws_ddf_p = mhws_ddf.map_partitions(scale_performance)\n", + "# for isolate in mhws_ddf_p.isolate.unique():\n", + "# these_isolates = mhws_ddf_p[mhws_ddf_p.isolate == isolate]\n", + "# mhws_ddf_p.loc[these_isolates.index, \"performance_scaled\"] = maxabs_scale(these_isolates.performance)\n", + "# mhws_ddf_p.loc[these_isolates.index, \"performance_clim_scaled\"] = maxabs_scale(these_isolates.performance_clim)" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [], + "source": [ + "mhws_ddf = mhws_ddf_p.compute()" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "-1.298659000254989" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mhws_ddf.performance_clim_scaled.min()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, since the scaling for minimum values ispretty unconstrained (e.g. we moved from [-P_max, P_max] => [-1, 1, but we dont' really know if -P_max is representative/possible)) we have to truncate all values < -1 to -1. " + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [], + "source": [ + "mhws_ddf.performance_scaled = mhws_ddf.performance_scaled.mask(mhws_ddf.performance_scaled < -1, -1)\n", + "mhws_ddf.performance_clim_scaled = mhws_ddf.performance_clim_scaled.mask(mhws_ddf.performance_clim_scaled < -1, -1)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [], + "source": [ + "# mhws_ddf.performance = mhws_ddf.performance.mask(mhws_ddf.performance < 0,0)\n", + "# mhws_ddf.performance_clim = mhws_ddf.performance_clim.mask(mhws_ddf.performance_clim < 0, 0)" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [], + "source": [ + "from dask import dataframe as dd\n", + "mhws_ddf = dd.from_pandas(mhws_ddf, npartitions=20)" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "-74.875" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mhws_ddf.lat.min().compute()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We need annual mean temperatures for ALL of the lat/lon zones that contain MHWs. Let's materialize this to save some IO. " + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
    \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
    <xarray.Dataset>\n",
    +       "Dimensions:  (lat: 79, lon: 85)\n",
    +       "Coordinates:\n",
    +       "  * lat      (lat) float32 -74.88 -66.38 -64.88 -57.88 ... 66.12 74.62 76.38\n",
    +       "  * lon      (lon) float32 -158.1 -157.9 -154.9 -148.6 ... 168.1 169.6 174.9\n",
    +       "Data variables:\n",
    +       "    sst      (lat, lon) float32 -1.66 -1.66 -1.659 ... -1.453 -1.457 -1.441
    " + ], + "text/plain": [ + "\n", + "Dimensions: (lat: 79, lon: 85)\n", + "Coordinates:\n", + " * lat (lat) float32 -74.88 -66.38 -64.88 -57.88 ... 66.12 74.62 76.38\n", + " * lon (lon) float32 -158.1 -157.9 -154.9 -148.6 ... 168.1 169.6 174.9\n", + "Data variables:\n", + " sst (lat, lon) float32 -1.66 -1.66 -1.659 ... -1.453 -1.457 -1.441" ] }, - "execution_count": 19, + "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "isolate_combined" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**Filter to only MHW events**" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [], - "source": [ - "mhws = isolate_combined.where((isolate_combined.mhw != 0))" + "relevant_annual_mean_sst = oisst.sel(\n", + " lat=np.array(sorted(mhws_ddf.lat.unique())),\n", + " lon=np.array(sorted(mhws_ddf.lon.unique())),\n", + ").groupby('time.year').mean('time').mean('year').compute()\n", + "relevant_annual_mean_sst" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "Convert to Dask dataframe for processing" + "## Compute MHW Performance Metrics\n", + "We do this per grid-cell, isolate, and MHW event. The grid-cell/isolate group should be one-to-one (a single isolate does not exist in more than once grid cell).\n", + "\n", + "**NOTE** the presence of `performance_diff_mean` **and** `performance_diff_unscaled_mean`, which represents the application (or not) of the individual-isolate scaling" ] }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 31, "metadata": {}, "outputs": [], "source": [ - "mhws_ddf = mhws.to_dask_dataframe().dropna().repartition(npartitions=20)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**Sometimes** performance goes negative, likely due to performance being computed during seasons where species is not typically present (?). To preserve interpretability of metrics later on, we convert these \"negative\" performance values to zeros. \n", - "\n", - "\n", - "*Update from Thomas 5/16: \" Mortality is likely to be very important. I see that you are using a TPC formulation that prevents net growth rates from going negative, and I would be concerned that this would bias your results considerably. Negative population growth rates are incredibly difficult to measure and so we have very little data on how the TPC extends below zero, but we do know that it does happen above Tmax. We haven't published anything explicitly about that (yet) but at least in a simple model, even smaller periods of negative growth rates can have large effects on the probability of population persistence. How large unfortunately depends on the shape of the TPC below zero, which is poorly constrained. The TPC formulation we used allowed for negative growth rates; I suspect that the magnitude of the negative values was unrealistically high over realistic temperature ranges, but I also doubt that the curve becomes completely flat (as in your generalised TPC). If you did allow for these negative growth rates, I expect you’d see some performance ratio values below 1.\"*\n", - "\n", - "With this info I'm thresholding at -1 instead of 0 " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**Actually**, what I think we'll do here is scale each of the performance values independently for each isolate" + "def compute_mhw_performance(df):\n", + " isolate_optimal_performance = plankton[plankton['isolate.code'] == df.isolate.min()]['mu.g.opt.val.list'].values[0]\n", + " performance_detriment_mhw = isolate_optimal_performance - df.performance\n", + " performance_detriment_clim = isolate_optimal_performance - df.performance_clim\n", + " return pd.Series({\n", + " 'isolate' : df.isolate.min(),\n", + " 'detriment_sum' : performance_detriment_mhw.sum(),\n", + " 'relative_detriment_mean' : (performance_detriment_mhw / isolate_optimal_performance).mean(),\n", + " 'detriment_mean' : performance_detriment_mhw.mean(),\n", + " 'performance_diff_mean' : (df.performance_scaled - df.performance_clim_scaled).mean(),\n", + " 'performance_diff_unscaled_mean' : (df.performance - df.performance_clim).mean(),\n", + "# 'performance_diff_scaled_mean': (df.performance_scaled.astype('float') - df.performance_clim_scaled.astype('float')).mean(),\n", + " 'performance_ratio_mean' : (df.performance / df.performance_clim).mean(),\n", + " 'intensity_cumulative' : df.intensity_cumulative.min(),\n", + " 'intensity_mean': df.intensity_mean.min(),\n", + " 'duration' : df.duration.min(),\n", + " 'start_doy' : df.time.dt.dayofyear.min(),\n", + " 'peak_doy' : oisst.time[int(df.index_peak.min())].dt.dayofyear.item(),\n", + " 'current_year_sst_mean' : oisst.sel(lat=df.lat.min(), lon = df.lon.min(), time=str(df.time.dt.year.min())).sst.mean(dim='time'),\n", + " \"period_all_time_mean_sst\" : oisst.sel(lat=df.lat.min(), lon=df.lon.min(), time=np.logical_and(oisst['time.dayofyear'] <= df.time.dt.dayofyear.max(), oisst['time.dayofyear'] >= df.time.dt.dayofyear.min())).mean('time').sst,\n", + " 'annual_mean_sst': relevant_annual_mean_sst.sel(lat=df.lat.min(), lon=df.lon.min()).sst,\n", + " 'start_date': df.time.min(),\n", + " 'peak_date': oisst.time[int(df.index_peak.min())].values.item(),\n", + " 'perf_det_ratio' : (performance_detriment_mhw / performance_detriment_clim).mean(),\n", + " })\n" ] }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 32, "metadata": {}, "outputs": [], "source": [ - "def physiological_scaler(physio_data):\n", - " max_performance = physio_data['mu.g.opt.val.list'].item() # max growth rate\n", - " \n", - " def _scaler(data):\n", - " oldmin = -max_performance\n", - " oldmax = max_performance\n", - " newmin = -1\n", - " newmax = 1\n", - " \n", - " return (((data - oldmin) * (newmax - newmin)) / (oldmax - oldmin)) + newmin\n", - " return(newdata)\n", - " return(_scaler)\n", - " \n", - " " + "meta = {\n", + " 'isolate' : 'float',\n", + " 'detriment_sum' : 'float',\n", + " 'relative_detriment_mean' : 'float',\n", + " 'detriment_mean' : 'float',\n", + " 'performance_diff_mean' : 'float',\n", + " 'performance_diff_unscaled_mean' : 'float',\n", + " 'performance_ratio_mean' : 'float',\n", + " 'intensity_cumulative' : 'float',\n", + " 'intensity_mean': 'float',\n", + " 'duration' : 'float',\n", + " 'start_doy' : 'float',\n", + " 'peak_doy' : 'float',\n", + " 'current_year_sst_mean' : 'float',\n", + " 'period_all_time_mean_sst': 'float',\n", + " 'annual_mean_sst': 'float',\n", + " 'start_date': 'datetime64[ns]',\n", + " 'peak_date': 'datetime64[ns]',\n", + " 'perf_det_ratio' : 'float'\n", + "}" ] }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 33, "metadata": {}, "outputs": [ { - "name": "stderr", + "name": "stdout", "output_type": "stream", "text": [ - "/home/ec2-user/miniconda3/envs/notebook/lib/python3.7/site-packages/ipykernel_launcher.py:2: FutureWarning: `item` has been deprecated and will be removed in a future version\n", - " \n" + "CPU times: user 29.9 s, sys: 812 ms, total: 30.7 s\n", + "Wall time: 1min 29s\n" ] } ], "source": [ - "from sklearn.preprocessing import maxabs_scale # between [-1, 1]\n", - "\n", - "def scale_performance(ddf):\n", - " for isolate in ddf.isolate.unique():\n", - " this_scaler = physiological_scaler(plankton[plankton['isolate.code'] == isolate])\n", - " these_isolates = ddf[ddf.isolate == isolate]\n", - " ddf.loc[these_isolates.index, \"performance_scaled\"] = this_scaler(these_isolates.performance.values)\n", - " ddf.loc[these_isolates.index, \"performance_clim_scaled\"] = this_scaler(these_isolates.performance_clim.values)\n", - " return(ddf)\n", - "\n", - "mhws_ddf_p = mhws_ddf.map_partitions(scale_performance)\n", - "# for isolate in mhws_ddf_p.isolate.unique():\n", - "# these_isolates = mhws_ddf_p[mhws_ddf_p.isolate == isolate]\n", - "# mhws_ddf_p.loc[these_isolates.index, \"performance_scaled\"] = maxabs_scale(these_isolates.performance)\n", - "# mhws_ddf_p.loc[these_isolates.index, \"performance_clim_scaled\"] = maxabs_scale(these_isolates.performance_clim)" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [], - "source": [ - "mhws_ddf = mhws_ddf_p.compute()" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "-1.298659000254988" - ] - }, - "execution_count": 27, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "mhws_ddf.performance_clim_scaled.min()" + "%%time\n", + "a = mhws_ddf.groupby(['lat', 'lon', 'isolate', 'mhw']).apply(compute_mhw_performance, meta=meta).compute()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "Now, since the scaling for minimum values ispretty unconstrained (e.g. we moved from [-P_max, P_max] => [-1, 1, but we dont' really know if -P_max is representative/possible)) we have to truncate all values < -1 to -1. " - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [], - "source": [ - "mhws_ddf.performance_scaled = mhws_ddf.performance_scaled.mask(mhws_ddf.performance_scaled < -1, -1)\n", - "mhws_ddf.performance_clim_scaled = mhws_ddf.performance_clim_scaled.mask(mhws_ddf.performance_clim_scaled < -1, -1)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "metadata": {}, - "outputs": [], - "source": [ - "# mhws_ddf.performance = mhws_ddf.performance.mask(mhws_ddf.performance < 0,0)\n", - "# mhws_ddf.performance_clim = mhws_ddf.performance_clim.mask(mhws_ddf.performance_clim < 0, 0)" - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "metadata": {}, - "outputs": [], - "source": [ - "from dask import dataframe as dd\n", - "mhws_ddf = dd.from_pandas(mhws_ddf, npartitions=20)" + "*Materialize sst values from oisst*" ] }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 35, "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "-74.875" - ] - }, - "execution_count": 31, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: user 3 µs, sys: 0 ns, total: 3 µs\n", + "Wall time: 5.96 µs\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "distributed.utils_perf - WARNING - full garbage collections took 11% CPU time recently (threshold: 10%)\n", + "distributed.utils_perf - WARNING - full garbage collections took 12% CPU time recently (threshold: 10%)\n", + "distributed.utils_perf - WARNING - full garbage collections took 13% CPU time recently (threshold: 10%)\n", + "distributed.utils_perf - WARNING - full garbage collections took 14% CPU time recently (threshold: 10%)\n", + "distributed.utils_perf - WARNING - full garbage collections took 14% CPU time recently (threshold: 10%)\n", + "distributed.utils_perf - WARNING - full garbage collections took 15% CPU time recently (threshold: 10%)\n", + "distributed.utils_perf - WARNING - full garbage collections took 16% CPU time recently (threshold: 10%)\n", + "distributed.utils_perf - WARNING - full garbage collections took 17% CPU time recently (threshold: 10%)\n", + "distributed.utils_perf - WARNING - full garbage collections took 20% CPU time recently (threshold: 10%)\n", + "distributed.utils_perf - WARNING - full garbage collections took 22% CPU time recently (threshold: 10%)\n", + "distributed.utils_perf - WARNING - full garbage collections took 20% CPU time recently (threshold: 10%)\n", + "distributed.utils_perf - WARNING - full garbage collections took 17% CPU time recently (threshold: 10%)\n" + ] } - ], - "source": [ - "mhws_ddf.lat.min().compute()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Compute MHW Performance Metrics\n", - "We do this per grid-cell, isolate, and MHW event. The grid-cell/isolate group should be one-to-one (a single isolate does not exist in more than once grid cell)." - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "metadata": {}, - "outputs": [], - "source": [ - "def compute_mhw_performance(df):\n", - " isolate_optimal_performance = plankton[plankton['isolate.code'] == df.isolate.min()]['mu.g.opt.val.list'].values[0]\n", - " performance_detriment_mhw = isolate_optimal_performance - df.performance\n", - " performance_detriment_clim = isolate_optimal_performance - df.performance_clim\n", - " return pd.Series({\n", - " 'isolate' : df.isolate.min(),\n", - " 'detriment_sum' : performance_detriment_mhw.sum(),\n", - " 'relative_detriment_mean' : (performance_detriment_mhw / isolate_optimal_performance).mean(),\n", - " 'detriment_mean' : performance_detriment_mhw.mean(),\n", - " 'performance_diff_mean' : (df.performance_scaled - df.performance_clim_scaled).mean(),\n", - " 'performance_diff_unscaled_mean' : (df.performance - df.performance_clim).mean(),\n", - "# 'performance_diff_scaled_mean': (df.performance_scaled.astype('float') - df.performance_clim_scaled.astype('float')).mean(),\n", - " 'performance_ratio_mean' : (df.performance / df.performance_clim).mean(),\n", - " 'intensity_cumulative' : df.intensity_cumulative.min(),\n", - " 'intensity_mean': df.intensity_mean.min(),\n", - " 'duration' : df.duration.min(),\n", - " 'start_doy' : df.time.dt.dayofyear.min(),\n", - " 'peak_doy' : oisst.time[int(df.index_peak.min())].dt.dayofyear.item(),\n", - " 'current_year_sst_mean' : oisst.sel(lat=df.lat.min(), lon = df.lon.min(), time=str(df.time.dt.year.min())).sst.mean(dim='time'),\n", - " 'start_date': df.time.min(),\n", - " 'peak_date': oisst.time[int(df.index_peak.min())].values.item(),\n", - " 'perf_det_ratio' : (performance_detriment_mhw / performance_detriment_clim).mean(),\n", - " })\n" + ], + "source": [ + "# this is a heavy compute \n", + "%time\n", + "period_sst_values_material = np.vstack(\n", + " client.compute(\n", + " a.period_all_time_mean_sst.values.tolist(),\n", + " optimize_graph=True,\n", + " sync=True\n", + " )\n", + ").squeeze()\n" ] }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 37, "metadata": {}, "outputs": [], "source": [ - "meta = {\n", - " 'isolate' : 'float',\n", - " 'detriment_sum' : 'float',\n", - " 'relative_detriment_mean' : 'float',\n", - " 'detriment_mean' : 'float',\n", - " 'performance_diff_mean' : 'float',\n", - " 'performance_diff_unscaled_mean' : 'float',\n", - " 'performance_ratio_mean' : 'float',\n", - " 'intensity_cumulative' : 'float',\n", - " 'intensity_mean': 'float',\n", - " 'duration' : 'float',\n", - " 'start_doy' : 'float',\n", - " 'peak_doy' : 'float',\n", - " 'current_year_sst_mean' : 'float',\n", - " 'start_date': 'datetime64[ns]',\n", - " 'peak_date': 'datetime64[ns]',\n", - " 'perf_det_ratio' : 'float'\n", - "}" + "a['period_all_time_mean_sst'] = period_sst_values_material" ] }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 38, "metadata": {}, "outputs": [ { - "name": "stdout", + "name": "stderr", "output_type": "stream", "text": [ - "CPU times: user 28.8 s, sys: 349 ms, total: 29.2 s\n", - "Wall time: 1min 14s\n" + "distributed.utils_perf - WARNING - full garbage collections took 17% CPU time recently (threshold: 10%)\n", + "distributed.utils_perf - WARNING - full garbage collections took 14% CPU time recently (threshold: 10%)\n", + "distributed.utils_perf - WARNING - full garbage collections took 14% CPU time recently (threshold: 10%)\n", + "distributed.utils_perf - WARNING - full garbage collections took 14% CPU time recently (threshold: 10%)\n" ] } ], "source": [ - "%%time\n", - "a = mhws_ddf.groupby(['lat', 'lon', 'isolate', 'mhw']).apply(compute_mhw_performance, meta=meta).compute()" + "sst_values_material = np.vstack(client.compute(a.current_year_sst_mean.values.tolist(), optimize_graph=True, sync=True)).squeeze()" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [], + "source": [ + "a['current_year_sst_mean'] = sst_values_material" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": {}, + "outputs": [], + "source": [ + "a['annual_mean_sst'] = a.annual_mean_sst.apply(lambda a: a.values)" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [], + "source": [ + "a = a.rename({'performance_diff_sum':'performance_diff_mean'},axis=1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "*Materialize sst values from oisst*" + "Massage data back into reasonable format; bin latitude and start day of year for plotting" ] }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 43, "metadata": {}, "outputs": [], "source": [ - "sst_values_material = client.compute(a.current_year_sst_mean.values.tolist(), sync=True)" + "a = a.drop('isolate', axis=1).reset_index()" ] }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 44, + "metadata": {}, + "outputs": [], + "source": [ + "a['latbin'] = pd.cut(a['lat'], bins=10, )\n", + "a['doy_bins'] = pd.cut(a['start_doy'], bins=4)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Compute for all weeks of the year the __difference__ between the mean annual temperature and the long-term average of temperature for that single week. " + ] + }, + { + "cell_type": "code", + "execution_count": 50, "metadata": {}, "outputs": [ { @@ -1705,593 +3541,210 @@ " \n", " \n", " \n", - " \n", - " \n", - " \n", + " lat\n", + " lon\n", " isolate\n", + " mhw\n", " detriment_sum\n", " relative_detriment_mean\n", " detriment_mean\n", " performance_diff_mean\n", " performance_diff_unscaled_mean\n", " performance_ratio_mean\n", - " intensity_cumulative\n", - " intensity_mean\n", - " duration\n", + " ...\n", " start_doy\n", " peak_doy\n", " current_year_sst_mean\n", + " period_all_time_mean_sst\n", + " annual_mean_sst\n", " start_date\n", " peak_date\n", " perf_det_ratio\n", - " \n", - " \n", - " lat\n", - " lon\n", - " isolate\n", - " mhw\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " latbin\n", + " doy_bins\n", " \n", " \n", " \n", " \n", - " -74.875\n", - " 164.625\n", - " 1\n", - " 4.0\n", + " 0\n", + " -74.875\n", + " 164.625\n", " 1\n", + " 4.0\n", " 3.433027\n", " 1.303966\n", " 0.429128\n", " 0.237193\n", " 0.078059\n", " 0.561974\n", - " 11.680295\n", - " 1.297811\n", - " 9.0\n", + " ...\n", " 1\n", " 1\n", - " <xarray.DataArray 'sst' ()>\\ndask.array<mean_a...\n", + " -1.202301\n", + " -1.232013\n", + " -1.230659\n", " 1986-12-31\n", " 536457600000000000\n", " 0.846135\n", + " (-75.026, -59.75]\n", + " (0.639, 91.25]\n", " \n", " \n", - " 5.0\n", + " 1\n", + " -74.875\n", + " 164.625\n", " 1\n", + " 5.0\n", " 6.265167\n", " 1.269172\n", " 0.417678\n", " 0.287250\n", " 0.094533\n", " 0.484573\n", - " 24.453109\n", - " 1.528319\n", - " 16.0\n", + " ...\n", " 21\n", " 32\n", - " <xarray.DataArray 'sst' ()>\\ndask.array<mean_a...\n", + " -1.103370\n", + " -0.354829\n", + " -1.230659\n", " 1987-01-21\n", " 539136000000000000\n", " 0.815611\n", + " (-75.026, -59.75]\n", + " (0.639, 91.25]\n", " \n", " \n", - " 11.0\n", + " 2\n", + " -74.875\n", + " 164.625\n", " 1\n", + " 11.0\n", " 9.585366\n", " 1.713322\n", " 0.563845\n", " 0.035686\n", " 0.011744\n", " 0.952364\n", - " 3.379142\n", - " 0.187730\n", - " 18.0\n", + " ...\n", " 232\n", " 244\n", - " <xarray.DataArray 'sst' ()>\\ndask.array<mean_a...\n", + " -1.168743\n", + " -1.479590\n", + " -1.230659\n", " 1988-08-19\n", " 588988800000000000\n", " 0.979598\n", + " (-75.026, -59.75]\n", + " (181.5, 271.75]\n", " \n", " \n", - " 14.0\n", + " 3\n", + " -74.875\n", + " 164.625\n", " 1\n", + " 14.0\n", " 10.139295\n", " 1.711648\n", " 0.563294\n", " 0.033256\n", " 0.010944\n", " 0.955355\n", - " 3.307942\n", - " 0.174102\n", - " 19.0\n", + " ...\n", " 196\n", " 201\n", - " <xarray.DataArray 'sst' ()>\\ndask.array<mean_a...\n", + " -1.181397\n", + " -1.446802\n", + " -1.230659\n", " 1989-07-15\n", " 616896000000000000\n", " 0.980941\n", + " (-75.026, -59.75]\n", + " (181.5, 271.75]\n", " \n", " \n", - " 37.0\n", + " 4\n", + " -74.875\n", + " 164.625\n", " 1\n", + " 37.0\n", " 6.210158\n", " 1.715494\n", " 0.564560\n", " 0.029738\n", " 0.009786\n", " 0.960096\n", - " 1.872364\n", - " 0.156030\n", - " 12.0\n", + " ...\n", " 215\n", " 220\n", - " <xarray.DataArray 'sst' ()>\\ndask.array<mean_a...\n", + " -1.219370\n", + " -1.435676\n", + " -1.230659\n", " 1995-08-03\n", " 807840000000000000\n", " 0.982961\n", - " \n", - " \n", - " 69.0\n", - " 1\n", - " 5.665564\n", - " 1.721560\n", - " 0.566556\n", - " 0.026007\n", - " 0.008559\n", - " 0.965213\n", - " 1.488562\n", - " 0.135324\n", - " 11.0\n", - " 133\n", - " 138\n", - " <xarray.DataArray 'sst' ()>\\ndask.array<mean_a...\n", - " 2004-05-12\n", - " 1084752000000000000\n", - " 0.985119\n", - " \n", - " \n", - " 92.0\n", - " 1\n", - " 3.395107\n", - " 1.719418\n", - " 0.565851\n", - " 0.026697\n", - " 0.008786\n", - " 0.964219\n", - " 0.953959\n", - " 0.136280\n", - " 7.0\n", - " 128\n", - " 131\n", - " <xarray.DataArray 'sst' ()>\\ndask.array<mean_a...\n", - " 2014-05-08\n", - " 1399766400000000000\n", - " 0.984711\n", - " \n", - " \n", - " -66.375\n", - " 110.375\n", - " 3\n", - " 45.0\n", - " 3\n", - " 1.768587\n", - " 1.663937\n", - " 0.353717\n", - " 0.023186\n", - " 0.004929\n", - " 0.966256\n", - " 0.525370\n", - " 0.087562\n", - " 6.0\n", - " 222\n", - " 227\n", - " <xarray.DataArray 'sst' ()>\\ndask.array<mean_a...\n", - " 1996-08-09\n", - " 839980800000000000\n", - " 0.986257\n", - " \n", - " \n", - " 74.0\n", - " 3\n", - " 2.241596\n", - " 1.506398\n", - " 0.320228\n", - " 0.096515\n", - " 0.020517\n", - " 0.839850\n", - " 3.017148\n", - " 0.377144\n", - " 8.0\n", - " 59\n", - " 60\n", - " <xarray.DataArray 'sst' ()>\\ndask.array<mean_a...\n", - " 2006-02-28\n", - " 1141171200000000000\n", - " 0.939779\n", - " \n", - " \n", - " -64.875\n", - " -64.125\n", - " 5\n", - " 6.0\n", - " 5\n", - " 2.886366\n", - " 0.699483\n", - " 0.180398\n", - " 0.129866\n", - " 0.033493\n", - " 1.758161\n", - " 7.470889\n", - " 0.439464\n", - " 17.0\n", - " 192\n", - " 195\n", - " <xarray.DataArray 'sst' ()>\\ndask.array<mean_a...\n", - " 1985-07-11\n", - " 490147200000000000\n", - " 0.843273\n", - " \n", - " \n", - " 24.0\n", - " 5\n", - " 0.471425\n", - " 0.203103\n", - " 0.052381\n", - " 0.195897\n", - " 0.050522\n", - " 1.327146\n", - " 10.076723\n", - " 1.007672\n", - " 10.0\n", - " 88\n", - " 94\n", - " <xarray.DataArray 'sst' ()>\\ndask.array<mean_a...\n", - " 1990-03-29\n", - " 639187200000000000\n", - " 0.510856\n", - " \n", - " \n", - " 49.0\n", - " 5\n", - " 0.089606\n", - " 0.057907\n", - " 0.014934\n", - " 0.165633\n", - " 0.042717\n", - " 1.213321\n", - " 8.322100\n", - " 1.188871\n", - " 7.0\n", - " 41\n", - " 45\n", - " <xarray.DataArray 'sst' ()>\\ndask.array<mean_a...\n", - " 2004-02-10\n", - " 1076716800000000000\n", - " 0.259058\n", - " \n", - " \n", - " 58.0\n", - " 5\n", - " 0.923780\n", - " 0.716382\n", - " 0.184756\n", - " 0.124497\n", - " 0.032108\n", - " 1.782251\n", - " 2.333288\n", - " 0.388881\n", - " 6.0\n", - " 213\n", - " 214\n", - " <xarray.DataArray 'sst' ()>\\ndask.array<mean_a...\n", - " 2009-08-01\n", - " 1249171200000000000\n", - " 0.851938\n", - " \n", - " \n", - " 71.0\n", - " 5\n", - " 2.060113\n", - " 0.499249\n", - " 0.128757\n", - " 0.171166\n", - " 0.044144\n", - " 1.519244\n", - " 11.091540\n", - " 0.652444\n", - " 17.0\n", - " 139\n", - " 140\n", - " <xarray.DataArray 'sst' ()>\\ndask.array<mean_a...\n", - " 2013-05-19\n", - " 1369008000000000000\n", - " 0.743924\n", - " \n", - " \n", - " -57.875\n", - " 62.125\n", - " 7\n", - " 29.0\n", - " 7\n", - " 1.810224\n", - " 0.568881\n", - " 0.452556\n", - " 0.039030\n", - " 0.031049\n", - " 1.099552\n", - " 3.806417\n", - " 0.761283\n", - " 5.0\n", - " 221\n", - " 222\n", - " <xarray.DataArray 'sst' ()>\\ndask.array<mean_a...\n", - " 1994-08-09\n", - " 776476800000000000\n", - " 0.935800\n", - " \n", - " \n", - " 35.0\n", - " 7\n", - " 2.783287\n", - " 0.437338\n", - " 0.347911\n", - " 0.044701\n", - " 0.035561\n", - " 1.086305\n", - " 6.574198\n", - " 0.730466\n", - " 9.0\n", - " 55\n", - " 61\n", - " <xarray.DataArray 'sst' ()>\\ndask.array<mean_a...\n", - " 1998-02-24\n", - " 888796800000000000\n", - " 0.907269\n", + " (-75.026, -59.75]\n", + " (181.5, 271.75]\n", " \n", " \n", "\n", + "

    5 rows × 23 columns

    \n", "" ], "text/plain": [ - " isolate detriment_sum \\\n", - "lat lon isolate mhw \n", - "-74.875 164.625 1 4.0 1 3.433027 \n", - " 5.0 1 6.265167 \n", - " 11.0 1 9.585366 \n", - " 14.0 1 10.139295 \n", - " 37.0 1 6.210158 \n", - " 69.0 1 5.665564 \n", - " 92.0 1 3.395107 \n", - "-66.375 110.375 3 45.0 3 1.768587 \n", - " 74.0 3 2.241596 \n", - "-64.875 -64.125 5 6.0 5 2.886366 \n", - " 24.0 5 0.471425 \n", - " 49.0 5 0.089606 \n", - " 58.0 5 0.923780 \n", - " 71.0 5 2.060113 \n", - "-57.875 62.125 7 29.0 7 1.810224 \n", - " 35.0 7 2.783287 \n", - "\n", - " relative_detriment_mean detriment_mean \\\n", - "lat lon isolate mhw \n", - "-74.875 164.625 1 4.0 1.303966 0.429128 \n", - " 5.0 1.269172 0.417678 \n", - " 11.0 1.713322 0.563845 \n", - " 14.0 1.711648 0.563294 \n", - " 37.0 1.715494 0.564560 \n", - " 69.0 1.721560 0.566556 \n", - " 92.0 1.719418 0.565851 \n", - "-66.375 110.375 3 45.0 1.663937 0.353717 \n", - " 74.0 1.506398 0.320228 \n", - "-64.875 -64.125 5 6.0 0.699483 0.180398 \n", - " 24.0 0.203103 0.052381 \n", - " 49.0 0.057907 0.014934 \n", - " 58.0 0.716382 0.184756 \n", - " 71.0 0.499249 0.128757 \n", - "-57.875 62.125 7 29.0 0.568881 0.452556 \n", - " 35.0 0.437338 0.347911 \n", - "\n", - " performance_diff_mean \\\n", - "lat lon isolate mhw \n", - "-74.875 164.625 1 4.0 0.237193 \n", - " 5.0 0.287250 \n", - " 11.0 0.035686 \n", - " 14.0 0.033256 \n", - " 37.0 0.029738 \n", - " 69.0 0.026007 \n", - " 92.0 0.026697 \n", - "-66.375 110.375 3 45.0 0.023186 \n", - " 74.0 0.096515 \n", - "-64.875 -64.125 5 6.0 0.129866 \n", - " 24.0 0.195897 \n", - " 49.0 0.165633 \n", - " 58.0 0.124497 \n", - " 71.0 0.171166 \n", - "-57.875 62.125 7 29.0 0.039030 \n", - " 35.0 0.044701 \n", - "\n", - " performance_diff_unscaled_mean \\\n", - "lat lon isolate mhw \n", - "-74.875 164.625 1 4.0 0.078059 \n", - " 5.0 0.094533 \n", - " 11.0 0.011744 \n", - " 14.0 0.010944 \n", - " 37.0 0.009786 \n", - " 69.0 0.008559 \n", - " 92.0 0.008786 \n", - "-66.375 110.375 3 45.0 0.004929 \n", - " 74.0 0.020517 \n", - "-64.875 -64.125 5 6.0 0.033493 \n", - " 24.0 0.050522 \n", - " 49.0 0.042717 \n", - " 58.0 0.032108 \n", - " 71.0 0.044144 \n", - "-57.875 62.125 7 29.0 0.031049 \n", - " 35.0 0.035561 \n", - "\n", - " performance_ratio_mean intensity_cumulative \\\n", - "lat lon isolate mhw \n", - "-74.875 164.625 1 4.0 0.561974 11.680295 \n", - " 5.0 0.484573 24.453109 \n", - " 11.0 0.952364 3.379142 \n", - " 14.0 0.955355 3.307942 \n", - " 37.0 0.960096 1.872364 \n", - " 69.0 0.965213 1.488562 \n", - " 92.0 0.964219 0.953959 \n", - "-66.375 110.375 3 45.0 0.966256 0.525370 \n", - " 74.0 0.839850 3.017148 \n", - "-64.875 -64.125 5 6.0 1.758161 7.470889 \n", - " 24.0 1.327146 10.076723 \n", - " 49.0 1.213321 8.322100 \n", - " 58.0 1.782251 2.333288 \n", - " 71.0 1.519244 11.091540 \n", - "-57.875 62.125 7 29.0 1.099552 3.806417 \n", - " 35.0 1.086305 6.574198 \n", - "\n", - " intensity_mean duration start_doy peak_doy \\\n", - "lat lon isolate mhw \n", - "-74.875 164.625 1 4.0 1.297811 9.0 1 1 \n", - " 5.0 1.528319 16.0 21 32 \n", - " 11.0 0.187730 18.0 232 244 \n", - " 14.0 0.174102 19.0 196 201 \n", - " 37.0 0.156030 12.0 215 220 \n", - " 69.0 0.135324 11.0 133 138 \n", - " 92.0 0.136280 7.0 128 131 \n", - "-66.375 110.375 3 45.0 0.087562 6.0 222 227 \n", - " 74.0 0.377144 8.0 59 60 \n", - "-64.875 -64.125 5 6.0 0.439464 17.0 192 195 \n", - " 24.0 1.007672 10.0 88 94 \n", - " 49.0 1.188871 7.0 41 45 \n", - " 58.0 0.388881 6.0 213 214 \n", - " 71.0 0.652444 17.0 139 140 \n", - "-57.875 62.125 7 29.0 0.761283 5.0 221 222 \n", - " 35.0 0.730466 9.0 55 61 \n", - "\n", - " current_year_sst_mean \\\n", - "lat lon isolate mhw \n", - "-74.875 164.625 1 4.0 \\ndask.array\\ndask.array\\ndask.array\\ndask.array\\ndask.array\\ndask.array\\ndask.array\\ndask.array\\ndask.array\\ndask.array\\ndask.array\\ndask.array\\ndask.array\\ndask.array\\ndask.array\\ndask.array\n", + "Xlatlonisolatemhwdetriment_sumrelative_detriment_meandetriment_meanperformance_diff_meanperformance_diff_unscaled_mean...start_doypeak_doycurrent_year_sst_meanperiod_all_time_mean_sstannual_mean_sststart_datepeak_dateperf_det_ratiolatbindoy_bins\n", + "\n", + "\t0 -74.875 164.625 1 4 3.433027 1.303966 0.4291283 0.23719293 0.078058928 ... 1 1 -1.202301 -1.2320130 -1.230659 1986-12-31 5.364576e+17 0.8461350 (-75.026, -59.75](0.639, 91.25] \n", + "\t1 -74.875 164.625 1 5 6.265167 1.269172 0.4176778 0.28725032 0.094532547 ... 21 32 -1.103370 -0.3548288 -1.230659 1987-01-21 5.391360e+17 0.8156109 (-75.026, -59.75](0.639, 91.25] \n", + "\t2 -74.875 164.625 1 11 9.585366 1.713322 0.5638451 0.03568606 0.011744091 ... 232 244 -1.168743 -1.4795898 -1.230659 1988-08-19 5.889888e+17 0.9795979 (-75.026, -59.75](181.5, 271.75] \n", + "\t3 -74.875 164.625 1 14 10.139295 1.711648 0.5632942 0.03325621 0.010944441 ... 196 201 -1.181397 -1.4468017 -1.230659 1989-07-15 6.168960e+17 0.9809409 (-75.026, -59.75](181.5, 271.75] \n", + "\t4 -74.875 164.625 1 37 6.210158 1.715494 0.5645598 0.02973751 0.009786456 ... 215 220 -1.219370 -1.4356755 -1.230659 1995-08-03 8.078400e+17 0.9829606 (-75.026, -59.75](181.5, 271.75] \n", + "\t5 -74.875 164.625 1 69 5.665564 1.721560 0.5665564 0.02600654 0.008558612 ... 133 138 -1.088333 -1.4704324 -1.230659 2004-05-12 1.084752e+18 0.9851187 (-75.026, -59.75](91.25, 181.5] \n", + "\n", + "\n" + ], + "text/latex": [ + "\\begin{tabular}{r|llllllllllllllllllllllll}\n", + " X & lat & lon & isolate & mhw & detriment\\_sum & relative\\_detriment\\_mean & detriment\\_mean & performance\\_diff\\_mean & performance\\_diff\\_unscaled\\_mean & ... & start\\_doy & peak\\_doy & current\\_year\\_sst\\_mean & period\\_all\\_time\\_mean\\_sst & annual\\_mean\\_sst & start\\_date & peak\\_date & perf\\_det\\_ratio & latbin & doy\\_bins\\\\\n", + "\\hline\n", + "\t 0 & -74.875 & 164.625 & 1 & 4 & 3.433027 & 1.303966 & 0.4291283 & 0.23719293 & 0.078058928 & ... & 1 & 1 & -1.202301 & -1.2320130 & -1.230659 & 1986-12-31 & 5.364576e+17 & 0.8461350 & (-75.026, -59.75{]} & (0.639, 91.25{]} \\\\\n", + "\t 1 & -74.875 & 164.625 & 1 & 5 & 6.265167 & 1.269172 & 0.4176778 & 0.28725032 & 0.094532547 & ... & 21 & 32 & -1.103370 & -0.3548288 & -1.230659 & 1987-01-21 & 5.391360e+17 & 0.8156109 & (-75.026, -59.75{]} & (0.639, 91.25{]} \\\\\n", + "\t 2 & -74.875 & 164.625 & 1 & 11 & 9.585366 & 1.713322 & 0.5638451 & 0.03568606 & 0.011744091 & ... & 232 & 244 & -1.168743 & -1.4795898 & -1.230659 & 1988-08-19 & 5.889888e+17 & 0.9795979 & (-75.026, -59.75{]} & (181.5, 271.75{]} \\\\\n", + "\t 3 & -74.875 & 164.625 & 1 & 14 & 10.139295 & 1.711648 & 0.5632942 & 0.03325621 & 0.010944441 & ... & 196 & 201 & -1.181397 & -1.4468017 & -1.230659 & 1989-07-15 & 6.168960e+17 & 0.9809409 & (-75.026, -59.75{]} & (181.5, 271.75{]} \\\\\n", + "\t 4 & -74.875 & 164.625 & 1 & 37 & 6.210158 & 1.715494 & 0.5645598 & 0.02973751 & 0.009786456 & ... & 215 & 220 & -1.219370 & -1.4356755 & -1.230659 & 1995-08-03 & 8.078400e+17 & 0.9829606 & (-75.026, -59.75{]} & (181.5, 271.75{]} \\\\\n", + "\t 5 & -74.875 & 164.625 & 1 & 69 & 5.665564 & 1.721560 & 0.5665564 & 0.02600654 & 0.008558612 & ... & 133 & 138 & -1.088333 & -1.4704324 & -1.230659 & 2004-05-12 & 1.084752e+18 & 0.9851187 & (-75.026, -59.75{]} & (91.25, 181.5{]} \\\\\n", + "\\end{tabular}\n" + ], + "text/markdown": [ + "\n", + "| X | lat | lon | isolate | mhw | detriment_sum | relative_detriment_mean | detriment_mean | performance_diff_mean | performance_diff_unscaled_mean | ... | start_doy | peak_doy | current_year_sst_mean | period_all_time_mean_sst | annual_mean_sst | start_date | peak_date | perf_det_ratio | latbin | doy_bins |\n", + "|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|\n", + "| 0 | -74.875 | 164.625 | 1 | 4 | 3.433027 | 1.303966 | 0.4291283 | 0.23719293 | 0.078058928 | ... | 1 | 1 | -1.202301 | -1.2320130 | -1.230659 | 1986-12-31 | 5.364576e+17 | 0.8461350 | (-75.026, -59.75] | (0.639, 91.25] |\n", + "| 1 | -74.875 | 164.625 | 1 | 5 | 6.265167 | 1.269172 | 0.4176778 | 0.28725032 | 0.094532547 | ... | 21 | 32 | -1.103370 | -0.3548288 | -1.230659 | 1987-01-21 | 5.391360e+17 | 0.8156109 | (-75.026, -59.75] | (0.639, 91.25] |\n", + "| 2 | -74.875 | 164.625 | 1 | 11 | 9.585366 | 1.713322 | 0.5638451 | 0.03568606 | 0.011744091 | ... | 232 | 244 | -1.168743 | -1.4795898 | -1.230659 | 1988-08-19 | 5.889888e+17 | 0.9795979 | (-75.026, -59.75] | (181.5, 271.75] |\n", + "| 3 | -74.875 | 164.625 | 1 | 14 | 10.139295 | 1.711648 | 0.5632942 | 0.03325621 | 0.010944441 | ... | 196 | 201 | -1.181397 | -1.4468017 | -1.230659 | 1989-07-15 | 6.168960e+17 | 0.9809409 | (-75.026, -59.75] | (181.5, 271.75] |\n", + "| 4 | -74.875 | 164.625 | 1 | 37 | 6.210158 | 1.715494 | 0.5645598 | 0.02973751 | 0.009786456 | ... | 215 | 220 | -1.219370 | -1.4356755 | -1.230659 | 1995-08-03 | 8.078400e+17 | 0.9829606 | (-75.026, -59.75] | (181.5, 271.75] |\n", + "| 5 | -74.875 | 164.625 | 1 | 69 | 5.665564 | 1.721560 | 0.5665564 | 0.02600654 | 0.008558612 | ... | 133 | 138 | -1.088333 | -1.4704324 | -1.230659 | 2004-05-12 | 1.084752e+18 | 0.9851187 | (-75.026, -59.75] | (91.25, 181.5] |\n", + "\n" + ], + "text/plain": [ + " X lat lon isolate mhw detriment_sum relative_detriment_mean\n", + "1 0 -74.875 164.625 1 4 3.433027 1.303966 \n", + "2 1 -74.875 164.625 1 5 6.265167 1.269172 \n", + "3 2 -74.875 164.625 1 11 9.585366 1.713322 \n", + "4 3 -74.875 164.625 1 14 10.139295 1.711648 \n", + "5 4 -74.875 164.625 1 37 6.210158 1.715494 \n", + "6 5 -74.875 164.625 1 69 5.665564 1.721560 \n", + " detriment_mean performance_diff_mean performance_diff_unscaled_mean ...\n", + "1 0.4291283 0.23719293 0.078058928 ...\n", + "2 0.4176778 0.28725032 0.094532547 ...\n", + "3 0.5638451 0.03568606 0.011744091 ...\n", + "4 0.5632942 0.03325621 0.010944441 ...\n", + "5 0.5645598 0.02973751 0.009786456 ...\n", + "6 0.5665564 0.02600654 0.008558612 ...\n", + " start_doy peak_doy current_year_sst_mean period_all_time_mean_sst\n", + "1 1 1 -1.202301 -1.2320130 \n", + "2 21 32 -1.103370 -0.3548288 \n", + "3 232 244 -1.168743 -1.4795898 \n", + "4 196 201 -1.181397 -1.4468017 \n", + "5 215 220 -1.219370 -1.4356755 \n", + "6 133 138 -1.088333 -1.4704324 \n", + " annual_mean_sst start_date peak_date perf_det_ratio latbin \n", + "1 -1.230659 1986-12-31 5.364576e+17 0.8461350 (-75.026, -59.75]\n", + "2 -1.230659 1987-01-21 5.391360e+17 0.8156109 (-75.026, -59.75]\n", + "3 -1.230659 1988-08-19 5.889888e+17 0.9795979 (-75.026, -59.75]\n", + "4 -1.230659 1989-07-15 6.168960e+17 0.9809409 (-75.026, -59.75]\n", + "5 -1.230659 1995-08-03 8.078400e+17 0.9829606 (-75.026, -59.75]\n", + "6 -1.230659 2004-05-12 1.084752e+18 0.9851187 (-75.026, -59.75]\n", + " doy_bins \n", + "1 (0.639, 91.25] \n", + "2 (0.639, 91.25] \n", + "3 (181.5, 271.75]\n", + "4 (181.5, 271.75]\n", + "5 (181.5, 271.75]\n", + "6 (91.25, 181.5] " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "mhwPerformance <- read.csv(\"../tmax_only_isolate_performance_withnegative_anddepartures.csv\")\n", + "mhwPerformance = mhwPerformance %>% mutate(isolate = factor(isolate))\n", + "head(mhwPerformance)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
      \n", + "\t
    1. 'X'
    2. \n", + "\t
    3. 'lat'
    4. \n", + "\t
    5. 'lon'
    6. \n", + "\t
    7. 'isolate'
    8. \n", + "\t
    9. 'mhw'
    10. \n", + "\t
    11. 'detriment_sum'
    12. \n", + "\t
    13. 'relative_detriment_mean'
    14. \n", + "\t
    15. 'detriment_mean'
    16. \n", + "\t
    17. 'performance_diff_mean'
    18. \n", + "\t
    19. 'performance_diff_unscaled_mean'
    20. \n", + "\t
    21. 'performance_ratio_mean'
    22. \n", + "\t
    23. 'intensity_cumulative'
    24. \n", + "\t
    25. 'intensity_mean'
    26. \n", + "\t
    27. 'duration'
    28. \n", + "\t
    29. 'start_doy'
    30. \n", + "\t
    31. 'peak_doy'
    32. \n", + "\t
    33. 'current_year_sst_mean'
    34. \n", + "\t
    35. 'period_all_time_mean_sst'
    36. \n", + "\t
    37. 'annual_mean_sst'
    38. \n", + "\t
    39. 'start_date'
    40. \n", + "\t
    41. 'peak_date'
    42. \n", + "\t
    43. 'perf_det_ratio'
    44. \n", + "\t
    45. 'latbin'
    46. \n", + "\t
    47. 'doy_bins'
    48. \n", + "
    \n" + ], + "text/latex": [ + "\\begin{enumerate*}\n", + "\\item 'X'\n", + "\\item 'lat'\n", + "\\item 'lon'\n", + "\\item 'isolate'\n", + "\\item 'mhw'\n", + "\\item 'detriment\\_sum'\n", + "\\item 'relative\\_detriment\\_mean'\n", + "\\item 'detriment\\_mean'\n", + "\\item 'performance\\_diff\\_mean'\n", + "\\item 'performance\\_diff\\_unscaled\\_mean'\n", + "\\item 'performance\\_ratio\\_mean'\n", + "\\item 'intensity\\_cumulative'\n", + "\\item 'intensity\\_mean'\n", + "\\item 'duration'\n", + "\\item 'start\\_doy'\n", + "\\item 'peak\\_doy'\n", + "\\item 'current\\_year\\_sst\\_mean'\n", + "\\item 'period\\_all\\_time\\_mean\\_sst'\n", + "\\item 'annual\\_mean\\_sst'\n", + "\\item 'start\\_date'\n", + "\\item 'peak\\_date'\n", + "\\item 'perf\\_det\\_ratio'\n", + "\\item 'latbin'\n", + "\\item 'doy\\_bins'\n", + "\\end{enumerate*}\n" + ], + "text/markdown": [ + "1. 'X'\n", + "2. 'lat'\n", + "3. 'lon'\n", + "4. 'isolate'\n", + "5. 'mhw'\n", + "6. 'detriment_sum'\n", + "7. 'relative_detriment_mean'\n", + "8. 'detriment_mean'\n", + "9. 'performance_diff_mean'\n", + "10. 'performance_diff_unscaled_mean'\n", + "11. 'performance_ratio_mean'\n", + "12. 'intensity_cumulative'\n", + "13. 'intensity_mean'\n", + "14. 'duration'\n", + "15. 'start_doy'\n", + "16. 'peak_doy'\n", + "17. 'current_year_sst_mean'\n", + "18. 'period_all_time_mean_sst'\n", + "19. 'annual_mean_sst'\n", + "20. 'start_date'\n", + "21. 'peak_date'\n", + "22. 'perf_det_ratio'\n", + "23. 'latbin'\n", + "24. 'doy_bins'\n", + "\n", + "\n" + ], + "text/plain": [ + " [1] \"X\" \"lat\" \n", + " [3] \"lon\" \"isolate\" \n", + " [5] \"mhw\" \"detriment_sum\" \n", + " [7] \"relative_detriment_mean\" \"detriment_mean\" \n", + " [9] \"performance_diff_mean\" \"performance_diff_unscaled_mean\"\n", + "[11] \"performance_ratio_mean\" \"intensity_cumulative\" \n", + "[13] \"intensity_mean\" \"duration\" \n", + "[15] \"start_doy\" \"peak_doy\" \n", + "[17] \"current_year_sst_mean\" \"period_all_time_mean_sst\" \n", + "[19] \"annual_mean_sst\" \"start_date\" \n", + "[21] \"peak_date\" \"perf_det_ratio\" \n", + "[23] \"latbin\" \"doy_bins\" " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "names(mhwPerformance)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "~We need to adjust for the effect of hemisphere to \"align\" seasons and convert to \"season\" factor variables from \"peak_doy\" column:~ we are no longer doing this, in favor of using a departuere from mean temperature to demonstrate seasonality " + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "#mhwPerformance[between(mhwPerformance$lat, -90, 0), 'peak_doy'] = (mhwPerformance[between(mhwPerformance$lat, -90, 0), 'peak_doy'] - 180) %% 365" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "# mhwPerformance = mhwPerformance %>% \n", + "# mutate(season = \n", + "# case_when(\n", + "# (between(peak_doy, 0, 77) | between(peak_doy, 355, 366)) ~ \"winter\", # January 1 - March XX or December XX - December 31\n", + "# between(peak_doy, 78, 170) ~ \"spring\", # March XX - June XX\n", + "# between(peak_doy, 171, 295) ~ \"summer\", # June XX - September XX\n", + "# between(peak_doy, 296, 354) ~ \"fall\" # September XX - December XX\n", + "# )\n", + "# )" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "# head(mhwPerformance %>% select(peak_doy, season))" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "mhwPerformance = mhwPerformance %>% \n", + " mutate(\n", + " seasonal_departure = scale(period_all_time_mean_sst - annual_mean_sst)\n", + " )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We'll clean up by dropping NAs and `Inf`s " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We'll also **scale the input variables** for later, but the initial models will use the raw values: " + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "mhwPerformance = mhwPerformance %>%\n", + " mutate(\n", + " lat_scaled = scale(lat),\n", + " sst_scaled = scale(current_year_sst_mean), \n", + " abslat_scaled = scale(abs(lat)),\n", + " abslat = abs(lat)\n", + " )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Models\n", + "\n", + "Let's define the standard model formulations here:" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "formula <- performance_diff_unscaled_mean ~ (poly(lat_scaled, 2) + seasonal_departure)^2\n", + "formula_unscaled <- performance_diff_unscaled_mean ~ (poly(lat, 2) + seasonal_departure)^2\n", + "\n", + "formula_abslat <- performance_diff_unscaled_mean ~ (abslat_scaled + seasonal_departure)^2\n", + "formula_abslat_unscaled <- performance_diff_unscaled_mean ~ (abslat + seasonal_departure)^2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "And the random effects formulations: " + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "formula_re <- performance_diff_unscaled_mean ~ (poly(lat_scaled, 2) + seasonal_departure)^2 + (1|isolate)\n", + "formula_unscaled_re <- performance_diff_unscaled_mean ~ (poly(lat, 2) + seasonal_departure)^2 + (1|isolate)\n", + "\n", + "formula_abslat_re <- performance_diff_unscaled_mean ~ (abslat_scaled + seasonal_departure)^2 + (1|isolate)\n", + "formula_abslat_unscaled_re <- performance_diff_unscaled_mean ~ (abslat + seasonal_departure)^2 + (1|isolate)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We'll start with a simple linear model with all terms." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + "Call:\n", + "lm(formula = formula, data = mhwPerformance)\n", + "\n", + "Residuals:\n", + " Min 1Q Median 3Q Max \n", + "-1.99701 -0.05109 0.00153 0.06272 0.66382 \n", + "\n", + "Coefficients:\n", + " Estimate Std. Error t value Pr(>|t|)\n", + "(Intercept) 0.021803 0.001473 14.798 < 2e-16\n", + "poly(lat_scaled, 2)1 0.250876 0.144445 1.737 0.0825\n", + "poly(lat_scaled, 2)2 2.146120 0.142368 15.074 < 2e-16\n", + "seasonal_departure -0.063697 0.002253 -28.277 < 2e-16\n", + "poly(lat_scaled, 2)1:seasonal_departure -2.019961 0.314345 -6.426 1.38e-10\n", + "poly(lat_scaled, 2)2:seasonal_departure 3.252175 0.249943 13.012 < 2e-16\n", + " \n", + "(Intercept) ***\n", + "poly(lat_scaled, 2)1 . \n", + "poly(lat_scaled, 2)2 ***\n", + "seasonal_departure ***\n", + "poly(lat_scaled, 2)1:seasonal_departure ***\n", + "poly(lat_scaled, 2)2:seasonal_departure ***\n", + "---\n", + "Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1\n", + "\n", + "Residual standard error: 0.139 on 9164 degrees of freedom\n", + "Multiple R-squared: 0.2406,\tAdjusted R-squared: 0.2402 \n", + "F-statistic: 580.7 on 5 and 9164 DF, p-value: < 2.2e-16\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "simple_lm = lm(formula, data=mhwPerformance)\n", + "summary(simple_lm)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "baseline_hline = geom_hline(yintercept=0, linetype='dashed', color='blue', size=0.6, alpha=0.6)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Simple Model with Random Effects\n", + "\n", + "Only `isolate` as random effect for now: " + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Linear mixed model fit by REML. t-tests use Satterthwaite's method [\n", + "lmerModLmerTest]\n", + "Formula: formula_re\n", + " Data: mhwPerformance\n", + "\n", + "REML criterion at convergence: -14723.7\n", + "\n", + "Scaled residuals: \n", + " Min 1Q Median 3Q Max \n", + "-17.1598 -0.2092 0.0314 0.2837 7.3489 \n", + "\n", + "Random effects:\n", + " Groups Name Variance Std.Dev.\n", + " isolate (Intercept) 0.008585 0.09266 \n", + " Residual 0.011089 0.10531 \n", + "Number of obs: 9170, groups: isolate, 130\n", + "\n", + "Fixed effects:\n", + " Estimate Std. Error df\n", + "(Intercept) 2.234e-02 8.218e-03 1.271e+02\n", + "poly(lat_scaled, 2)1 2.678e-01 8.154e-01 1.269e+02\n", + "poly(lat_scaled, 2)2 2.290e+00 8.195e-01 1.268e+02\n", + "seasonal_departure -6.442e-02 1.721e-03 9.043e+03\n", + "poly(lat_scaled, 2)1:seasonal_departure -1.921e+00 2.400e-01 9.042e+03\n", + "poly(lat_scaled, 2)2:seasonal_departure 3.130e+00 1.914e-01 9.044e+03\n", + " t value Pr(>|t|) \n", + "(Intercept) 2.719 0.00746 ** \n", + "poly(lat_scaled, 2)1 0.328 0.74314 \n", + "poly(lat_scaled, 2)2 2.794 0.00601 ** \n", + "seasonal_departure -37.421 < 2e-16 ***\n", + "poly(lat_scaled, 2)1:seasonal_departure -8.005 1.34e-15 ***\n", + "poly(lat_scaled, 2)2:seasonal_departure 16.356 < 2e-16 ***\n", + "---\n", + "Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1\n", + "\n", + "Correlation of Fixed Effects:\n", + " (Intr) pl(_,2)1 pl(_,2)2 ssnl_d p(_,2)1:\n", + "ply(lt_,2)1 -0.024 \n", + "ply(lt_,2)2 0.051 -0.026 \n", + "sesnl_dprtr 0.017 -0.032 0.013 \n", + "ply(_,2)1:_ -0.023 0.034 -0.019 -0.759 \n", + "ply(_,2)2:_ 0.013 -0.020 0.027 0.339 -0.499 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "simple_re = lmer(\n", + " formula_re,\n", + " data=mhwPerformance\n", + ")\n", + "summary(simple_re)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Model contains splines or polynomial terms. Consider using `terms=\"lat_scaled [all]\"` to get smooth plots. See also package-vignette 'Marginal Effects at Specific Values'.\n", + "Model contains splines or polynomial terms. Consider using `terms=\"seasonal_departure [all]\"` to get smooth plots. See also package-vignette 'Marginal Effects at Specific Values'.\n" + ] + }, + { + "data": { + "text/plain": [ + "NULL" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\nu3fvhhp9+/btdevWIY1G6BqaUufc3FwAwKRJkzZs2NBh1RkQF+iEhARLS8tBgwZNnDgRPtnK\nysrMzMxOnz4Nd6DRaE5OTihFIalAjR48eDAA4M6dO+vWrWtubqbGNNJohGJKSkrUryR1dXUr\nV66ES4aNGTOmg6szICjQ165dmzNnjqWl5a5du/CN5ubmzs7OycnJpPmGaAUul7tr164hQ4YA\nAO7cubN+/Xqk0Qito5G6UVdXt2LFisePHwMAvv76682bN2tq0d22CyGBjomJGTBgwO3bt6Um\nvw8bNuzBgwfkOIaQi5RGo3Y0QrtopFbU19evXLkSqvPo0aM1tdxuW4doyitvb2+4VL8k1tbW\n5eXlJHiF+AgcDmfPnj1ffPEFAODu3bsrV65sbGykxjTSaIQkGqkPjY2Na9euhQkrRo8eHRUV\nhdQZIjertyQikajV1FZv375lsViKj7137158fHxJSQmfzx8zZsysWbPkDWaUt+eVK1diY2Ml\n94yKimo1R2KHgsVibd++PTQ09M8//7x///7q1av37t3L4/EoMI2SgiMgmlLnNWvWwKR6o0aN\nQm1nSQi1oHv37v3nn39KbcQw7Oeff1Y8bCMvLy86Orpv37579+719vZOSUk5c+aMCnsaGhru\nk8De3p6I2+0eFou1bdu2L7/8EgBw//79VatWoXY0gjI0UgeamprWrFmTk5MDABg5cmRUVJTs\nm3pHhpBA+/n5JSUlnThxAt9SV1e3ZMmSu3fv+vv7KzgwJSXFwsJi0aJFNjY2o0eP9vDw+Pnn\nn1sNmCrek8Fg9JQAjRXBkdTov//+e+XKlQ0NDdSYRhrdkdG4Og8bNgypsyyEBDooKGj8+PHz\n5s2D2UV9fX1NTU1jY2OnTJmiOKNBbm4unKMMGThwYFNTE5xZr9SetbW1vr6+s2fPXr9+fWZm\nJhGfOw5Qo4cPHw4AePDgwapVq5BGI0hFI9e9ubl57dq12dnZAAAXF5edO3d+NF6qy1hZWWkw\n+TIOoecVk8m8dOlSbGzsjz/+2NTUVF5e7uTk5Ovru2zZMgWjFDEMq6qqksyHCP+XzbypeE8r\nK6slS5bY2NgIBIKMjIwdO3YEBAS4ubnhOz948EAySB0YGKhsDASeBZfLViVkNwAAIABJREFU\nbTXUrnHodDqGYZq1dfDgwdWrV6elpT148GDNmjWxsbH6+vrg31PT19cnKbNqdXW1tbU1/pHJ\n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", + "text/plain": [ + "plot without title" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAIAAAAAVb93AAAACXBIWXMAABJ0AAASdAHeZh94\nAAAgAElEQVR4nOydd1wUV9fH7+xspSyoiIoUGyqKNcZoQuwNowZNBJFmQaNogiLWJwElPsaC\noEbRKLFQRDCW2DCJwZBg7F2jPGJBaiwoRWBhd+f9477PPptlZpjdZYtwvn/wYe/ee+fM7Mxv\nz5577r0ERVEIAAAAMD94pjYAAAAAoAcEGgAAwEwBgQYAADBTQKABAADMFBBoAAAAMwUEGgAA\nwEwBgQYAADBTQKABAADMlEYl0F27diXUEIvF7dq1CwwMvH79unEMkMvl+LjqhXZ2dgRBVFRU\nGMeGeqE10giY23XQjePHj3/wwQdSqRTfY3fu3DG1Rf/DnG1rZHB/0mk/lOLi4qCgIAcHBz6f\nTxDE/PnzmQ7EN9AJmJAePXrY29sjhF69enX//v3ExMSUlJTExMQpU6aY2jQtsLKyevPmTVVV\nlfGVFGDi1q1bn3zyCULI09OzTZs2CKHmzZub2qj/x5xta7IwfShTp049e/Zsr169PD09BQLB\nhx9+yNgF1Yjo0qULQujgwYOqkufPn3t6eiKEpFLpy5cvDW1AbW0tQkgkEqkX7tixIzY2tqam\nRquuLC0tEUJVVVUNaiBFMRhpBFq0aIEQKi8vN/JxG5CoqCiE0IoVK0xtCA3mbFvjg+OTTvuh\nlJSUIIRatWrFRRMaoQetjp2dXUJCgqOjY1lZ2enTp6dOnWp8Gz777DPjHxQwBHl5eQih9u3b\nm9oQGszZtiZC3Sed9kPBhY6OjgKBoP5OG+orxRyo60Fj3N3dEUJff/01fokQIkmSoqjExMQB\nAwZYW1sjNV+1rKzs3//+d9++fa2trcVicbdu3SIjI8vKyuoe7tq1axMmTGjWrJmFhUWfPn12\n7dpF+71K6zmWlZWtXbu2f//+NjY2YrG4ffv23t7ep0+fpihq+/bttJ9UUVGRevOGNVKDe/fu\nIYRatmxZ90teLpe3atUKIXTnzh1c8vvvv4eGhvbp08fOzk4gEDg4OHh7e1++fFmjocZ1ePz4\nMUKoS5cuGtWqqqoQQpaWlhrlHE/5yZMn8+fP79q1q6WlpZWVlYuLy7hx45KTk1lOFvPo0aPZ\ns2e3a9dOKBTa2toOGTJEvVVkZGTdT8TPz4+lQ3ybKZXKHTt29O7dWyKRNG/efOLEibdu3apb\n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\nGorj+PXr1zWdRTfk5+ffvXv3xYsX7e3tFhYWixcvdnNz03Qobff48eMrV668efNm2LBhCxYs\n4PF4GIZpOpQOGMwnWx8KdHV1dXZ2dl1dHY7jbDaby+VOmDBBdcnUprm5+fjx49OmTXvy5Imm\ns+iMO3fuTJkyxcvLa8iQISKR6PTp01Kp1MPDQ9O5tNezZ88OHz7s4eGxffv22tras2fPyuXy\ngIAATefSAYP5ZKM0xYHj+K5du6Kjo8kfptFoO3fuPHr0qCrjqRyO42FhYZMmTWIwGElJSTCC\n7p+9e/diGHb48GFNB9FeR48effPmzQ8//EBspqSkZGdnX7lypdsrDIASg+pko7QA48SJE8eP\nH/fz87t9+3Z9fX1VVVV6evqMGTMiIyNPnjyp6ogqlZaWJpVK/fz8NB1Et3V0dAwbNkzTKbRa\nZWWlo6OjYtPR0VEsFtfV1Wkwko4aVCcbpQJ99uzZrVu3pqamzp8/38rKauLEicuWLXvw4IGr\nq6tiRKCLSktLb968yefzYSrwc+Tn59fU1MCTz5TAcbypqcnU1FTRQrz+9OmT5kLppMF2slGa\ng3716tXq1as7Nerp6QUEBGzevFkFqVSipKQkPDyceL148WIfH5+YmJht27aR/9mAbnU6dOTb\nid2/fz8uLi44OJjD4WgoHRgsBuHJRqlAm5ubt7a2dm1vbW0dO3bsQEdSFVtb2zNnzhCvjY2N\n6+rqmpqaDh06RLTgOI7jOJfLXb58+cqVKzUXUxt1OnSK9pycnIsXL/L5fOL2s6AnGIYxmczG\nxkZFC/F6+PDhmgulYwbnyUapQPN4vMOHD//yyy/kG9o1NDScOXNmw4YNKss2wBgMxpgxYxSb\nkydPPn36tGLz9u3bN27ciI2NZTKZmkin1TodOkJaWlpmZub+/fsdHBw0kkq32NraPnny5Ntv\nvyU2nzx5wmAwWCyWZlPpikF7slEq0NOmTUtJSZk4ceLq1avZbHZ7e3t5eXlCQsKECRNYLBZ5\n5YMOzQ0xGIzx48crNomJDnILUOLChQu//vprUFCQiYkJ8U2Xvr6+Dv05pX7e3t67du0SCoWL\nFi2qq6vLysricrmwhIOKwXyyUVpmR/07NN29LjErKwuW2VHn7+/f0tJCbjE3Nz9//rym8uiE\nR48eJScnv379mrhQZeXKlfDtNBWD+WSjVKDT09MpdgfP/wYAgIEC9+IAAAAtBXcKBQAALQUF\n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", + "text/plain": [ + "plot without title" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "simple_re_plots = plot_model(simple_re, type='pred')\n", + "simple_re_plots$lat + baseline_hline\n", + "simple_re_plots$current_year_sst_mean + baseline_hline\n", + "simple_re_plots$seasonal_departure + baseline_hline" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Scale for 'y' is already present. Adding another scale for 'y', which will\n", + "replace the existing scale.\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "plot without title" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_model(simple_re, type='re') +\n", + " xlab(\"Isolate ID\") + \n", + " ylab('random effect')+\n", + " ylim(-0.2, 0.2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## More Intense Heatwaves =? Stronger Signal?\n", + "\n", + "There's probably a lot of noise from shorter events here. \n", + "\n", + "Lets take a look at the distribution of heatwaves by intensity: " + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "1.49603433663944" + ], + "text/latex": [ + "1.49603433663944" + ], + "text/markdown": [ + "1.49603433663944" + ], + "text/plain": [ + "[1] 1.496034" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "median(mhwPerformance$intensity_mean)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "`stat_bin()` using `bins = 30`. Pick better value with `binwidth`.\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAMAAAC46dgSAAACwVBMVEUAAAABAQECAgIDAwMF\nBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4QEBARERETExMUFBQVFRUWFhYXFxcYGBgZ\nGRkbGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJycoKCgpKSkqKiorKyss\nLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6Ojo9PT0/Pz9AQEBB\nQUFDQ0NERERGRkZHR0dISEhJSUlLS0tMTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVW\nVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1eXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2do\naGhpaWlqampra2tsbGxtbW1ubm5vb29wcHBxcXFycnJzc3N0dHR1dXV2dnZ5eXl6enp7e3t8\nfHx9fX1+fn5/f3+AgICBgYGCgoKDg4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2O\njo6Pj4+QkJCRkZGSkpKTk5OUlJSVlZWWlpaXl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+h\noaGioqKjo6OkpKSlpaWmpqanp6epqamqqqqrq6usrKytra2urq6vr6+xsbGysrKzs7O0tLS1\ntbW2tra3t7e5ubm6urq7u7u9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTGxsbHx8fIyMjJycnK\nysrLy8vMzMzNzc3Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc3Nzd\n3d3e3t7f39/g4ODh4eHi4uLj4+Pk5OTl5eXn5+fp6enq6urr6+vs7Ozt7e3u7u7v7+/w8PDx\n8fHy8vLz8/P09PT19fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7///+2MGj1AAAACXBI\nWXMAABJ0AAASdAHeZh94AAAOnElEQVR4nO3c/X8UxQHH8QENINFq0bZSQaX4gFAErVpstT5c\nD0wpJiUoYkFpG6Vai1W0NSk+IKDyUEq1JkAbAQullASxFAENiEbQpmB9KjXP4ZJ7mr+iu3t7\nl93bnduZubu93fX7+WFvzdzs7mver1zuTu4IRYGOlPoCUHEDcMADcMADcMADcMADcMADcMAD\n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", + "text/plain": [ + "plot without title" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "ggplot(mhwPerformance, aes(x=intensity_mean)) +\n", + " geom_histogram() + \n", + " geom_vline(xintercept=median(mhwPerformance$intensity_mean)) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can use ~1.5 C as our threshold (median?)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "intensity_threshold = 1.5" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "intenseMhwPerformance = mhwPerformance %>% filter(intensity_mean > intensity_threshold)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\n", + "
    Xlatlonisolatemhwdetriment_sumrelative_detriment_meandetriment_meanperformance_diff_meanperformance_diff_unscaled_mean...start_datepeak_dateperf_det_ratiolatbindoy_binsseasonal_departurelat_scaledsst_scaledabslat_scaledabslat
    1 -74.875 164.625 1 5 6.265167e+00 1.2691721152 0.417677771 0.28725032 0.094532547 ... 1987-01-21 5.391360e+17 8.156109e-01 (-75.026, -59.75](0.639, 91.25] 0.1252877 -2.512773 -2.1110269 2.1837887 74.875
    16 -57.875 62.125 8 37 5.392449e-04 0.0003390084 0.000107849 0.07245528 0.023050252 ... 2000-01-10 9.475488e+17 4.608943e-03 (-59.75, -44.625](0.639, 91.25] 0.1301955 -2.045108 -1.9549025 1.2378394 57.875
    39 -57.875 139.875 558 6 8.048469e-01 0.1441267048 0.047343935 -0.14278485 -0.046903153 ... 1985-01-03 4.737312e+17 3.234330e+04 (-59.75, -44.625](0.639, 91.25] 0.2734778 -2.045108 -1.7193377 1.2378394 57.875
    48 -46.625 -75.875 476 23 7.949110e-02 0.0356370868 0.006624259 0.04883279 0.009077089 ... 1992-01-26 6.971616e+17 4.533502e-01 (-59.75, -44.625](0.639, 91.25] 0.5813154 -1.735625 -0.7799925 0.6118436 46.625
    52 -42.125 169.625 15 58 1.297108e+01 0.1026764027 0.145742523 0.10700543 0.151887292 ... 2016-02-24 1.459382e+18 4.387885e-01 (-44.625, -29.5] (0.639, 91.25] 0.3658507 -1.611831 -0.1946098 0.3614453 42.125
    53 -42.125 169.625 15 67 2.416684e+00 0.3405134209 0.483336812 0.11409630 0.161952336 ... 2018-10-19 1.540253e+18 7.483851e-01 (-44.625, -29.5] (271.75, 362.0] -0.7010545 -1.611831 -0.1955015 0.3614453 42.125
    \n" + ], + "text/latex": [ + "\\begin{tabular}{r|lllllllllllllllllllllllllllll}\n", + " X & lat & lon & isolate & mhw & detriment\\_sum & relative\\_detriment\\_mean & detriment\\_mean & performance\\_diff\\_mean & performance\\_diff\\_unscaled\\_mean & ... & start\\_date & peak\\_date & perf\\_det\\_ratio & latbin & doy\\_bins & seasonal\\_departure & lat\\_scaled & sst\\_scaled & abslat\\_scaled & abslat\\\\\n", + "\\hline\n", + "\t 1 & -74.875 & 164.625 & 1 & 5 & 6.265167e+00 & 1.2691721152 & 0.417677771 & 0.28725032 & 0.094532547 & ... & 1987-01-21 & 5.391360e+17 & 8.156109e-01 & (-75.026, -59.75{]} & (0.639, 91.25{]} & 0.1252877 & -2.512773 & -2.1110269 & 2.1837887 & 74.875 \\\\\n", + "\t 16 & -57.875 & 62.125 & 8 & 37 & 5.392449e-04 & 0.0003390084 & 0.000107849 & 0.07245528 & 0.023050252 & ... & 2000-01-10 & 9.475488e+17 & 4.608943e-03 & (-59.75, -44.625{]} & (0.639, 91.25{]} & 0.1301955 & -2.045108 & -1.9549025 & 1.2378394 & 57.875 \\\\\n", + "\t 39 & -57.875 & 139.875 & 558 & 6 & 8.048469e-01 & 0.1441267048 & 0.047343935 & -0.14278485 & -0.046903153 & ... & 1985-01-03 & 4.737312e+17 & 3.234330e+04 & (-59.75, -44.625{]} & (0.639, 91.25{]} & 0.2734778 & -2.045108 & -1.7193377 & 1.2378394 & 57.875 \\\\\n", + "\t 48 & -46.625 & -75.875 & 476 & 23 & 7.949110e-02 & 0.0356370868 & 0.006624259 & 0.04883279 & 0.009077089 & ... & 1992-01-26 & 6.971616e+17 & 4.533502e-01 & (-59.75, -44.625{]} & (0.639, 91.25{]} & 0.5813154 & -1.735625 & -0.7799925 & 0.6118436 & 46.625 \\\\\n", + "\t 52 & -42.125 & 169.625 & 15 & 58 & 1.297108e+01 & 0.1026764027 & 0.145742523 & 0.10700543 & 0.151887292 & ... & 2016-02-24 & 1.459382e+18 & 4.387885e-01 & (-44.625, -29.5{]} & (0.639, 91.25{]} & 0.3658507 & -1.611831 & -0.1946098 & 0.3614453 & 42.125 \\\\\n", + "\t 53 & -42.125 & 169.625 & 15 & 67 & 2.416684e+00 & 0.3405134209 & 0.483336812 & 0.11409630 & 0.161952336 & ... & 2018-10-19 & 1.540253e+18 & 7.483851e-01 & (-44.625, -29.5{]} & (271.75, 362.0{]} & -0.7010545 & -1.611831 & -0.1955015 & 0.3614453 & 42.125 \\\\\n", + "\\end{tabular}\n" + ], + "text/markdown": [ + "\n", + "| X | lat | lon | isolate | mhw | detriment_sum | relative_detriment_mean | detriment_mean | performance_diff_mean | performance_diff_unscaled_mean | ... | start_date | peak_date | perf_det_ratio | latbin | doy_bins | seasonal_departure | lat_scaled | sst_scaled | abslat_scaled | abslat |\n", + "|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|\n", + "| 1 | -74.875 | 164.625 | 1 | 5 | 6.265167e+00 | 1.2691721152 | 0.417677771 | 0.28725032 | 0.094532547 | ... | 1987-01-21 | 5.391360e+17 | 8.156109e-01 | (-75.026, -59.75] | (0.639, 91.25] | 0.1252877 | -2.512773 | -2.1110269 | 2.1837887 | 74.875 |\n", + "| 16 | -57.875 | 62.125 | 8 | 37 | 5.392449e-04 | 0.0003390084 | 0.000107849 | 0.07245528 | 0.023050252 | ... | 2000-01-10 | 9.475488e+17 | 4.608943e-03 | (-59.75, -44.625] | (0.639, 91.25] | 0.1301955 | -2.045108 | -1.9549025 | 1.2378394 | 57.875 |\n", + "| 39 | -57.875 | 139.875 | 558 | 6 | 8.048469e-01 | 0.1441267048 | 0.047343935 | -0.14278485 | -0.046903153 | ... | 1985-01-03 | 4.737312e+17 | 3.234330e+04 | (-59.75, -44.625] | (0.639, 91.25] | 0.2734778 | -2.045108 | -1.7193377 | 1.2378394 | 57.875 |\n", + "| 48 | -46.625 | -75.875 | 476 | 23 | 7.949110e-02 | 0.0356370868 | 0.006624259 | 0.04883279 | 0.009077089 | ... | 1992-01-26 | 6.971616e+17 | 4.533502e-01 | (-59.75, -44.625] | (0.639, 91.25] | 0.5813154 | -1.735625 | -0.7799925 | 0.6118436 | 46.625 |\n", + "| 52 | -42.125 | 169.625 | 15 | 58 | 1.297108e+01 | 0.1026764027 | 0.145742523 | 0.10700543 | 0.151887292 | ... | 2016-02-24 | 1.459382e+18 | 4.387885e-01 | (-44.625, -29.5] | (0.639, 91.25] | 0.3658507 | -1.611831 | -0.1946098 | 0.3614453 | 42.125 |\n", + "| 53 | -42.125 | 169.625 | 15 | 67 | 2.416684e+00 | 0.3405134209 | 0.483336812 | 0.11409630 | 0.161952336 | ... | 2018-10-19 | 1.540253e+18 | 7.483851e-01 | (-44.625, -29.5] | (271.75, 362.0] | -0.7010545 | -1.611831 | -0.1955015 | 0.3614453 | 42.125 |\n", + "\n" + ], + "text/plain": [ + " X lat lon isolate mhw detriment_sum relative_detriment_mean\n", + "1 1 -74.875 164.625 1 5 6.265167e+00 1.2691721152 \n", + "2 16 -57.875 62.125 8 37 5.392449e-04 0.0003390084 \n", + "3 39 -57.875 139.875 558 6 8.048469e-01 0.1441267048 \n", + "4 48 -46.625 -75.875 476 23 7.949110e-02 0.0356370868 \n", + "5 52 -42.125 169.625 15 58 1.297108e+01 0.1026764027 \n", + "6 53 -42.125 169.625 15 67 2.416684e+00 0.3405134209 \n", + " detriment_mean performance_diff_mean performance_diff_unscaled_mean ...\n", + "1 0.417677771 0.28725032 0.094532547 ...\n", + "2 0.000107849 0.07245528 0.023050252 ...\n", + "3 0.047343935 -0.14278485 -0.046903153 ...\n", + "4 0.006624259 0.04883279 0.009077089 ...\n", + "5 0.145742523 0.10700543 0.151887292 ...\n", + "6 0.483336812 0.11409630 0.161952336 ...\n", + " start_date peak_date perf_det_ratio latbin doy_bins \n", + "1 1987-01-21 5.391360e+17 8.156109e-01 (-75.026, -59.75] (0.639, 91.25] \n", + "2 2000-01-10 9.475488e+17 4.608943e-03 (-59.75, -44.625] (0.639, 91.25] \n", + "3 1985-01-03 4.737312e+17 3.234330e+04 (-59.75, -44.625] (0.639, 91.25] \n", + "4 1992-01-26 6.971616e+17 4.533502e-01 (-59.75, -44.625] (0.639, 91.25] \n", + "5 2016-02-24 1.459382e+18 4.387885e-01 (-44.625, -29.5] (0.639, 91.25] \n", + "6 2018-10-19 1.540253e+18 7.483851e-01 (-44.625, -29.5] (271.75, 362.0]\n", + " seasonal_departure lat_scaled sst_scaled abslat_scaled abslat\n", + "1 0.1252877 -2.512773 -2.1110269 2.1837887 74.875\n", + "2 0.1301955 -2.045108 -1.9549025 1.2378394 57.875\n", + "3 0.2734778 -2.045108 -1.7193377 1.2378394 57.875\n", + "4 0.5813154 -1.735625 -0.7799925 0.6118436 46.625\n", + "5 0.3658507 -1.611831 -0.1946098 0.3614453 42.125\n", + "6 -0.7010545 -1.611831 -0.1955015 0.3614453 42.125" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "head(intenseMhwPerformance)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "4570" + ], + "text/latex": [ + "4570" + ], + "text/markdown": [ + "4570" + ], + "text/plain": [ + "[1] 4570" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "nrow(intenseMhwPerformance)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Simple Model**" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + "Call:\n", + "lm(formula = formula, data = intenseMhwPerformance)\n", + "\n", + "Residuals:\n", + " Min 1Q Median 3Q Max \n", + "-1.99661 -0.06343 0.01187 0.07267 0.65421 \n", + "\n", + "Coefficients:\n", + " Estimate Std. Error t value Pr(>|t|)\n", + "(Intercept) 0.036157 0.002475 14.612 < 2e-16\n", + "poly(lat_scaled, 2)1 0.758990 0.170217 4.459 8.43e-06\n", + "poly(lat_scaled, 2)2 1.124674 0.169763 6.625 3.88e-11\n", + "seasonal_departure -0.077363 0.002395 -32.304 < 2e-16\n", + "poly(lat_scaled, 2)1:seasonal_departure -0.690734 0.296383 -2.331 0.0198\n", + "poly(lat_scaled, 2)2:seasonal_departure 1.564495 0.198953 7.864 4.62e-15\n", + " \n", + "(Intercept) ***\n", + "poly(lat_scaled, 2)1 ***\n", + "poly(lat_scaled, 2)2 ***\n", + "seasonal_departure ***\n", + "poly(lat_scaled, 2)1:seasonal_departure * \n", + "poly(lat_scaled, 2)2:seasonal_departure ***\n", + "---\n", + "Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1\n", + "\n", + "Residual standard error: 0.166 on 4564 degrees of freedom\n", + "Multiple R-squared: 0.2863,\tAdjusted R-squared: 0.2855 \n", + "F-statistic: 366.1 on 5 and 4564 DF, p-value: < 2.2e-16\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "simple_intense_lm = lm(\n", + " formula,\n", + " data=intenseMhwPerformance)\n", + "summary(simple_intense_lm)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Simple Random Effects**" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Linear mixed model fit by REML. t-tests use Satterthwaite's method [\n", + "lmerModLmerTest]\n", + "Formula: formula_re\n", + " Data: intenseMhwPerformance\n", + "\n", + "REML criterion at convergence: -4803.6\n", + "\n", + "Scaled residuals: \n", + " Min 1Q Median 3Q Max \n", + "-13.3208 -0.2530 0.0534 0.3448 5.2801 \n", + "\n", + "Random effects:\n", + " Groups Name Variance Std.Dev.\n", + " isolate (Intercept) 0.00910 0.0954 \n", + " Residual 0.01907 0.1381 \n", + "Number of obs: 4570, groups: isolate, 122\n", + "\n", + "Fixed effects:\n", + " Estimate Std. Error df\n", + "(Intercept) 3.147e-02 9.749e-03 1.065e+02\n", + "poly(lat_scaled, 2)1 8.159e-01 4.976e-01 1.322e+02\n", + "poly(lat_scaled, 2)2 1.348e+00 4.395e-01 1.646e+02\n", + "seasonal_departure -8.039e-02 2.127e-03 4.534e+03\n", + "poly(lat_scaled, 2)1:seasonal_departure -1.186e-01 2.751e-01 4.561e+03\n", + "poly(lat_scaled, 2)2:seasonal_departure 1.188e+00 1.775e-01 4.538e+03\n", + " t value Pr(>|t|) \n", + "(Intercept) 3.228 0.00166 ** \n", + "poly(lat_scaled, 2)1 1.640 0.10343 \n", + "poly(lat_scaled, 2)2 3.066 0.00253 ** \n", + "seasonal_departure -37.795 < 2e-16 ***\n", + "poly(lat_scaled, 2)1:seasonal_departure -0.431 0.66633 \n", + "poly(lat_scaled, 2)2:seasonal_departure 6.693 2.46e-11 ***\n", + "---\n", + "Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1\n", + "\n", + "Correlation of Fixed Effects:\n", + " (Intr) pl(_,2)1 pl(_,2)2 ssnl_d p(_,2)1:\n", + "ply(lt_,2)1 0.235 \n", + "ply(lt_,2)2 -0.040 0.281 \n", + "sesnl_dprtr -0.021 0.047 -0.059 \n", + "ply(_,2)1:_ 0.006 -0.091 0.070 -0.623 \n", + "ply(_,2)2:_ -0.024 0.062 -0.079 0.417 -0.657 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "simple_intense_re = lmer(\n", + " formula_re, \n", + " data=intenseMhwPerformance\n", + ")\n", + "summary(simple_intense_re)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Absolute Latitude instead of Poly(2)" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Linear mixed model fit by REML. t-tests use Satterthwaite's method [\n", + "lmerModLmerTest]\n", + "Formula: formula_abslat_re\n", + " Data: mhwPerformance\n", + "\n", + "REML criterion at convergence: -14656.7\n", + "\n", + "Scaled residuals: \n", + " Min 1Q Median 3Q Max \n", + "-17.1513 -0.2356 0.0321 0.3195 7.3419 \n", + "\n", + "Random effects:\n", + " Groups Name Variance Std.Dev.\n", + " isolate (Intercept) 0.008355 0.0914 \n", + " Residual 0.011151 0.1056 \n", + "Number of obs: 9170, groups: isolate, 130\n", + "\n", + "Fixed effects:\n", + " Estimate Std. Error df t value\n", + "(Intercept) 2.046e-02 8.104e-03 1.280e+02 2.524\n", + "abslat_scaled 2.689e-02 8.149e-03 1.282e+02 3.300\n", + "seasonal_departure -7.944e-02 1.186e-03 9.050e+03 -66.976\n", + "abslat_scaled:seasonal_departure 2.812e-02 1.916e-03 9.046e+03 14.675\n", + " Pr(>|t|) \n", + "(Intercept) 0.01282 * \n", + "abslat_scaled 0.00125 ** \n", + "seasonal_departure < 2e-16 ***\n", + "abslat_scaled:seasonal_departure < 2e-16 ***\n", + "---\n", + "Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1\n", + "\n", + "Correlation of Fixed Effects:\n", + " (Intr) abslt_ ssnl_d\n", + "abslat_scld 0.049 \n", + "sesnl_dprtr 0.001 -0.012 \n", + "abslt_scl:_ -0.005 0.025 -0.326" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "abslat_re = lmer(\n", + " formula_abslat_re, \n", + " data=mhwPerformance\n", + ")\n", + "summary(abslat_re)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Linear mixed model fit by REML. t-tests use Satterthwaite's method [\n", + "lmerModLmerTest]\n", + "Formula: formula_abslat_re\n", + " Data: intenseMhwPerformance\n", + "\n", + "REML criterion at convergence: -4792.8\n", + "\n", + "Scaled residuals: \n", + " Min 1Q Median 3Q Max \n", + "-13.3399 -0.2696 0.0611 0.3435 5.2810 \n", + "\n", + "Random effects:\n", + " Groups Name Variance Std.Dev.\n", + " isolate (Intercept) 0.008806 0.09384 \n", + " Residual 0.019061 0.13806 \n", + "Number of obs: 4570, groups: isolate, 122\n", + "\n", + "Fixed effects:\n", + " Estimate Std. Error df t value\n", + "(Intercept) 3.154e-02 9.269e-03 1.152e+02 3.402\n", + "abslat_scaled 4.136e-02 1.026e-02 1.440e+02 4.033\n", + "seasonal_departure -8.731e-02 1.812e-03 4.483e+03 -48.193\n", + "abslat_scaled:seasonal_departure 2.523e-02 2.957e-03 4.487e+03 8.531\n", + " Pr(>|t|) \n", + "(Intercept) 0.000919 ***\n", + "abslat_scaled 8.91e-05 ***\n", + "seasonal_departure < 2e-16 ***\n", + "abslat_scaled:seasonal_departure < 2e-16 ***\n", + "---\n", + "Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1\n", + "\n", + "Correlation of Fixed Effects:\n", + " (Intr) abslt_ ssnl_d\n", + "abslat_scld 0.007 \n", + "sesnl_dprtr -0.008 -0.021 \n", + "abslt_scl:_ -0.029 -0.004 -0.396" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "abslat_intense_re = lmer(\n", + " formula_abslat_re,\n", + " data=intenseMhwPerformance, \n", + ")\n", + "summary(abslat_intense_re)" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "$abslat_scaled\n", + "\n", + "$seasonal_departure\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAMAAAC46dgSAAADAFBMVEUAAAABAQECAgIDAwME\nBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUW\nFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJyco\nKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6\nOjo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tM\nTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1e\nXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29w\ncHBxcXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGC\ngoKDg4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OU\nlJSVlZWWlpaXl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWm\npqanp6eoqKipqamqqqqrq6usrKytra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4\nuLi5ubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnK\nysrLy8vMzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc\n3Nzd3d3e3t7f39/g4ODh4eHi4uLj4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u\n7u7v7+/w8PDx8fHy8vLz8/P09PT19fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7////i\nsF19AAAACXBIWXMAABJ0AAASdAHeZh94AAAgAElEQVR4nO2dCXwURb7Hi/ByJxxyKirhiNxB\nDkH0IWCUldUIyroBBd1dBeThgnFRdFcNLIcostwgYR+4qxIVgWXJ+gQWERQjh0RAOQ3Je+q6\n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", + "text/plain": [ + "plot without title" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAMAAAC46dgSAAADAFBMVEUAAAABAQECAgIDAwME\nBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUW\nFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJyco\nKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6\nOjo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tM\nTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1e\nXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29w\ncHBxcXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGC\ngoKDg4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OU\nlJSVlZWWlpaXl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWm\npqanp6eoqKipqamqqqqrq6usrKytra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4\nuLi5ubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnK\nysrLy8vMzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc\n3Nzd3d3e3t7f39/g4ODh4eHi4uLj4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u\n7u7v7+/w8PDx8fHy8vLz8/P09PT19fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7////i\nsF19AAAACXBIWXMAABJ0AAASdAHeZh94AAAgAElEQVR4nO2dCXzUVP7Af5Rtp6XlWuQSlHJU\n7iKHHLqKUEFdrYCIHALesiwK4rLgXVhORbQohxYXdhcEtYLryrICf2RBBAWUU0COP/y9cLdS\n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\nAeU6A+E1wjNBAAAAAElFTkSuQmCC", + "text/plain": [ + "plot without title" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_model(abslat_re, type='pred')" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "$abslat_scaled\n", + "\n", + "$seasonal_departure\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAMAAAC46dgSAAADAFBMVEUAAAABAQECAgIDAwME\nBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUW\nFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJyco\nKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6\nOjo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tM\nTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1e\nXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29w\ncHBxcXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGC\ngoKDg4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OU\nlJSVlZWWlpaXl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWm\npqanp6eoqKipqamqqqqrq6usrKytra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4\nuLi5ubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnK\nysrLy8vMzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc\n3Nzd3d3e3t7f39/g4ODh4eHi4uLj4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u\n7u7v7+/w8PDx8fHy8vLz8/P09PT19fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7////i\nsF19AAAACXBIWXMAABJ0AAASdAHeZh94AAAgAElEQVR4nO3dCXgURcI38CK8uUhAELkEJByR\nOwjh1EXArCivRo4sCypBXRYR+QRxeTG6akBIRDELyB38QBcEBRGRYwVeQG5MwOFQQCCQb9Vl\n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", + "text/plain": [ + "plot without title" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAMAAAC46dgSAAADAFBMVEUAAAABAQECAgIDAwME\nBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUW\nFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJyco\nKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6\nOjo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tM\nTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1e\nXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29w\ncHBxcXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGC\ngoKDg4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OU\nlJSVlZWWlpaXl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWm\npqanp6eoqKipqamqqqqrq6usrKytra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4\nuLi5ubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnK\nysrLy8vMzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc\n3Nzd3d3e3t7f39/g4ODh4eHi4uLj4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u\n7u7v7+/w8PDx8fHy8vLz8/P09PT19fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7////i\nsF19AAAACXBIWXMAABJ0AAASdAHeZh94AAAgAElEQVR4nO2dCXwURb7Hi/CSzsW1GA65whFu\nghDkXEWMsvI0JogsqATxZJG3IC5PkFVDngRxkRXkDhp8ckoEdEFWyAYE0YgBgqCAYJa89WB3\n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", + "text/plain": [ + "plot without title" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_model(abslat_intense_re, type='pred')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Produce Plots" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Absolute Latitude\n", + "\n", + "**Coefficient Plots, Simple and Intense**" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Scale for 'y' is already present. Adding another scale for 'y', which will\n", + "replace the existing scale.\n", + "Scale for 'y' is already present. Adding another scale for 'y', which will\n", + "replace the existing scale.\n" + ] + }, + { + "data": { + "text/html": [ + "null device: 1" + ], + "text/latex": [ + "\\textbf{null device:} 1" + ], + "text/markdown": [ + "**null device:** 1" + ], + "text/plain": [ + "null device \n", + " 1 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\nhR8SSqXdTdIJiZIe3R9zPfyESxxNQyKR5OfnHz9+vLKyUqlUdu3adcqUKdymwYMHe3l5paam\npqamkiQZEBDQvXt3ACAIYt68eRs2bDh27JhUKu3ZsyfX7ny0+Ph4mqZ//PFH7ja7hISEIUOG\nOK/NyUSuGDNmjNFofP/998VicVBQ0KhRo6w3cjg6NM5zzz3XsmXLBQsW6PX6yMjI6dOnc6sT\nbhUzcODArKysuXPn6vV67ja7fv365eXlzZ8/n2XZjh07jhw5cuvWrY66O6/QIYKQrV1Dr/u8\n6vsfWLPZ2izu07vZvz+lfX1rH+HZI2jTWvjD9/SSj5irV/9qlcvJKW/I35nVdHXxC+HWWhJC\njWTFihUkSc6dO7epC3EPRVFCodBkMtE0LZfL9YWFxKVLdFGxwMtL/FyMpUULqVRqNptJkjSb\nzXVeg67G0Rp0eXm5W+Oo1Wp3u3Br0GVlZfVcg7bF3rjBZGaBwUAEBhLdnicUCoVCIZX+8SKh\nTqd7DGvQer3+8axBm83mmmvQTpYc8QoaoQZDqNUeNk9QLC4ny7OM6NCB/PMlQVQNBjSqi6Ki\noqlTp9ZsT0xMrHWNGyHkIgxoVBfNmzffs2dPAw5o+249hBAH7+JACCGewoBGCCGewoBGCCGe\nwoBGCCGewoBGCCGewoBGCCGewoBGCCGewoBGCCGewoBGCCGewoBGCCGewoBGCCGewoBGCCGe\nwoBGCCGewoBGCCGewoBGCCGewoBGCCGewoBGCCGewoBGCCGewoBGCCGewoBGCCGewoBGCCGe\nwoBGCCGewoBGCCGewoBGCCGewoBGCCGewoBGCCGewoBGCCGewoBGCCGewoBGCCGewoBGCCGe\nwoBGCCGewoBGCCGewoBGCCGewoBGCCGeEjZ1AQg98apMlm1n864XVeWXVVUYKLVMHOanGNcj\nJKqloqlLa0RZRbpt54tu3a9iWLaNn3zc8wFRQZ717KU308mXim+VGAsrjOV6s1omDvH2GNLZ\nJzq49pEBYOaWjCkvhnT0k9Tc9PekGxO7B9qt8M0N597oFdzBV+zKFI8ZXkEjVF8Vemrr2fzi\nSkOwt6x3e7/mKo9fs8tmb770Q1pOU5fWWNLzNPNSbt28X/VCa1Wfds1ySvULd98+c7e8nr0q\nDZafLhbf1xhDfOTcmbyUW7Fo9+1t5wsdjcmyUKoz222s26baD/4xwitohOrLTylJnhHb0k9l\n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\nUAoJGgCAUr8AyNn7NhZNYZ4AAAAASUVORK5CYII=", + "text/plain": [ + "plot without title" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# png(\"./tmax_only_abslat_compare_coefs_UNSCALED_diff.png\", width=1440, height=950, res=180)\n", + "y_limit = ylim(-1, 1)\n", + "simple_coefs = plot_model(abslat_re, ci.lvl=NA, show.values = TRUE, value.offset=.4) + y_limit + ggtitle(\"A) All MHWs\")\n", + "intense_coefs = plot_model(abslat_intense_re,show.values = TRUE, value.offset=.4, ci.lvl=NA)+ y_limit + theme(axis.text.y = element_blank()) + ggtitle(\"B) Intense MHWs\")\n", + "grid.arrange(simple_coefs, intense_coefs, nrow=1, widths=c(1.7, 1) )\n", + "dev.off()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Coefficient Table**" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [], + "source": [ + "tab_model(\n", + " abslat_re, abslat_intense_re,\n", + " show.stat=TRUE, use.viewer=FALSE, \n", + " dv.labels=c(\"Performance Difference [all events]\", \"Performance Difference [intense events]\"), \n", + " file = \"tmax_only_abslat_coef_compare_table_UNSCALED.html\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Predictions, All MHW**" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Scale for 'y' is already present. Adding another scale for 'y', which will\n", + "replace the existing scale.\n" + ] + }, + { + "data": { + "image/png": "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\nQmCC", + "text/plain": [ + "plot without title" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# png(\"./tmax_only_abslat_preds_UNSCALED_preddiff.png\", width=1440, height=700, res=180)\n", + "\n", + "# y_limit = ylim(-1, 1)\n", + "\n", + "seas = plot(ggeffect(abslat_re, terms='seasonal_departure')) +\n", + " baseline_hline + \n", + " xlab(\"Seasonal Departure\") +\n", + " ylab(\"Performance Difference\") +\n", + " ggtitle(\"A) Seasonal Departure\") + \n", + " y_limit\n", + "\n", + "\n", + "seaslat = plot(ggeffect(abslat_re, terms=c('abslat_scaled', 'season [summer, winter]'))) +\n", + " baseline_hline +\n", + " xlab(\"Absolute Latitude [scaled]\") +\n", + " ylab(\"Performance Difference\") +\n", + " ggtitle(\"B) Latitude\") + \n", + " y_limit\n", + "\n", + " \n", + "\n", + "# grid.arrange(seas, seaslat, nrow=1, widths=c(1,1.3))\n", + "seas" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Predictions, Intense MHW**" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Scale for 'y' is already present. Adding another scale for 'y', which will\n", + "replace the existing scale.\n", + "Scale for 'y' is already present. Adding another scale for 'y', which will\n", + "replace the existing scale.\n" + ] + }, + { + "data": { + "text/html": [ + "null device: 1" + ], + "text/latex": [ + "\\textbf{null device:} 1" + ], + "text/markdown": [ + "**null device:** 1" + ], + "text/plain": [ + "null device \n", + " 1 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAIAAAAAVb93AAAACXBIWXMAABJ0AAASdAHeZh94\nAAAgAElEQVR4nOzdd1xTV/848JNBQsLeggKiOOsCJ7gQ6oKCW9FWW2vtUmsfq7U+rauOtlr1\n0Q5t62OrdW+GilURRMCFFhUHMmQjGiAkZCf398f5PveXJiHcCySE8Hn/4Stczrn35PrJh5tz\nzz2HQRAEAgAAYHmYrd0AAAAAhkGCBgAACwUJGgAALBQkaAAAsFCQoAEAwEJBggYAAAsFCRoA\nACwUJGgAALBQ1pmgNRqNn58fg8Hw9PRUKpX6BUQikYeHx4gRI2jt9sGDB++99163bt34fD6f\nzw8ICBg9evRXX32Vnp7eQg0HFqFnz56Mf3JwcAgODv76669FIpF2ySYEEt75yZMnW7rV/+Du\n7s5gMMRisUmPgqlUKgaDYWtra4ZjtTuENbpw4QL5Bk+dOmWwzNatWxFChw4dorjP//73v2w2\nGyFkb28fFBQUHh7ep08fvGXo0KEt13bQ+nr06IEQ6tu3b0RERERERFhYWPfu3XE49ejR49Wr\nV9qF6QYS3vmJEyea3047OzuEkFQq1f+Vm5sbQkgkElEp3Ez4GojL5bb4noF1JugZM2YghDp2\n7IgQioqKMlhGKpW6ubn5+voqFIpGd1hQUMDhcBBCq1atEovF5HaRSHTs2LHPP/+8xZoOLIDB\nHJqVleXu7o4QWrZsmfZ2WoHU0M6bxkjO3bNnz44dO7SbBAm6LbLCBC0QCLhcLoPBSEtLY7FY\nLBarrKzMYMnFixcjhI4dO9boPnfs2IEQGjhwYEs3FliihnLo5s2bEUIDBgzQ2U49kIzsvAlo\n5VxI0G2RFfZBHzx4UC6Xh4WFjRgxYty4cWq1+sCBAwZLvv322wihn376qdF9VlVVIYT8/Pwo\ntkEkEm3evHngwIGOjo48Hu+1115bt26dTvclQigtLe3TTz8NDg728PDgcDgdO3acNWvWnTt3\ndIoVFRUtWbKkV69e9vb2Dg4OnTt3jo6OPnz4sHaZwsLCDz74ICAggMvluri4jBkzRqcAQojB\nYOA+mePHj4eEhNjb2zs6Oo4bN+7GjRsU31c7hwNA/64G9UCiqNHA2LNnD4PBqK+vRwjxeDyy\nr7yyshIX0O6DNl74+fPnDAajZ8+eOm2QyWQMBsPe3l5n+7179yZNmuTq6mpnZxccHLx3796G\n3gXFTwEwprX/QrS8AQMGIIT2799PEMTx48cRQt27dzdYUqPRuLi4MBgMgUBgfJ+//PILQsjZ\n2Tk/P7/RBhQWFnbr1g0h5ObmFhERERkZ6enpiRDq06ePzoEGDhzIYrH69OkzceLEmJgY3NFp\nY2Nz9uxZssyTJ0+cnJwQQj179pwxY0ZsbOyIESPs7e1Hjx5Nlrl27ZqjoyNCqHPnztOnTw8L\nC8OJeO7cuRqNhiyGEGKxWGvWrGEwGL169ZowYYKvry9CiMvlZmVlNfq+2o+GLnI//fRThND0\n6dN1tlMPJCM719ZoYNy+fXvt2rU2NjYIoS+//HLt/5Cdztp90MYLFxYWIoR69Oih0wapVIoQ\nsrOz0974119/cblchFD//v3nzp07ZswYJpP5ySefIL0raOqfAmCEtSXou3fvIoQcHBzq6+sJ\ngpDL5ThS09LSDJafMGECavhGIqmmpsbLywshxOfz58yZ88svv9y5c0cul+uXVKvVwcHBCKGP\nPvqI7K0Wi8WzZs1CCL311lvahY8fP15eXq695fDhw0wm09PTk/wq+tFHHyGEVq1apV1MIpFk\nZmaSO+/QoQNC6LPPPlOpVHhjVlYWfuN79uwha+E/yS4uLpcuXcJbFArFzJkzEUIxMTHGz0C7\nopND1Wp1SUnJ9u3b2Ww2l8u9ceOGfhWKgaS/c4OoBAbRQjcJqSfouro6/CnYvn07uTE5ORmP\n39BO0LQ+BcAIa0vQixYtQggtWLCA3LJkyRKE0Pz58w2WX7ZsGULoq6++anTPOTk5Q4cO1f7y\nYWtrO2HChHPnzmkXO336NEJoyJAharVaezsej8VisRq9fJg2bRpC6OLFi/jHqVOnIoSuXr3a\nUPlff/0VIRQYGEhmZ2znzp14O7kFN/uHH37QLpafn48QcnR01L7WbudwDtU3atSoW7duGaxC\nPZCa3AetExiE2RM0jrRBgwbplMQfMe0E3fxPAcCsqg9aLpcfOXIEITR//nxyI3594sQJg2NC\nXV1dEUIvXrxodOe9e/e+cePGnTt3Nm7cGBMT4+3tLZPJkpKSoqKi8Fc87Pz58wihqVOnMpn/\nOLf29vZDhw5Vq9VZWVna2xUKRXJy8o8//rhx48Z169atW7cO93c/ffoUFxgyZAhCaOnSpYmJ\nifgzoyM1NRUhNHfuXBaLpb393XffRQjl5eWVlZVpb580aZL2j126dOHxeHV1deYZM9uGDBgw\nYPz/4I7UtLS01atX4/8gHdQDiaJGA8P8cKS9+eabOtvnzp2rs4XupwA0qLX/QrQknJ27deum\nsx33Sv/3v//Vr7Jr1y6E0IwZM5pwuPv370+ZMgWfxvj4eLwxPDzc+Ak/cuQIuYfjx4/jjjl9\nGzduxGVkMtn48ePxRhsbm6CgoGXLlt27d4/cSVhYGELozz//1G8h/kJ68+ZN/CNCiMlk6l8p\n42IvX75swkmwSgYvcsViMf5+1qdPH50vKwSdQKLYxdFoYBBmv4IePXo0Qkj7Bgn28uVL9M8r\naFqfAmAE2/h5bFv27duHEBIKhTpPduHrmn379uGLSm11dXUIIRcXlyYcrm/fvidPnhw8ePDd\nu3dPnToVHR2NEFKr1Qih6dOnv/baawZr9e7dG7/IysqKjY3lcrk//vjjuHHjOnbsiO+w//vf\n//7mm2+I//VIcLncpKSkmzdvnj9/Pj09/caNG/fu3du+ffvq1au//vprhBAuyWAw9I9F6K1n\nhm/fN+HNAjs7u507dx49evThw4dxcXG464nUnEDSQTEwTE2j0RjcTiV+qH8KgHHWk6BLSkqu\nXLmCEKqqqjL4JTQ9PT03N5d8JAwTCAQIoYauVhrFZDKHDx9+9+5d8oh4XAQeUWS87p9//qnR\naL766it8XUZ69uyZfuGhQ4fiHnCFQnHy5Ml3331348aNs2bNeu211zp16oQQwl3J2urr63Gr\n8AM7oPlYLFZAQIBAIHj06JFOgm5mIGmjFRjNh5/A0h/99vz5c50tOJDwFbfxktQ/BcA46+mD\n/v333zUaTUREhMFvCvjZQnyJre3Ro0cIIXzH2QiDE3pgubm5CCEfHx/848SJExFCR44cMdhf\nrA1nT39/f+2NL1++vHz5spFaHA5nzpw5Y8eOJQji/v37CCH8xfPgwYP4soX0xx9/IIQCAwMh\nQbcUlUpVUFCAEMLdBdooBhIV1AMD51aVSkVltw0VxkOtKysrq6urtbfHxcXplMSRpj++/uDB\ngzpbqH8KQCPM15tiShqNpkuXLuh/w5/1xcfHI4S8vb21ew81Go2zszOV4aubN2+ePn36xYsX\nlUoluVEkEq1fvx6fxr/++gtvVCqVffv2RQhNmTKloqJCeyfPnj3THp+0Zs0ahFB4eLhMJiN3\nGBUVhXe4YcMGvPHnn3/Ozc3V3k9FRQX+e5CRkUFoDbNbuXIledP8/v37Hh4eSG+YHYvF0n93\n0Aetw2A3sUgk+vDDD/E5fPLkifavqAdSQzvXRjEwCILAkWZw2J9+H7SRwrjL+P333yfjJyEh\nAT+iot0HLRQKcVDt3LmT3Jiamsrj8dA/+6CpfwqAcVaSoHHnhp2dnXZEalMoFHgihYSEBHLj\nrVu3EEKjRo1qdP8bNmzAHw8+nz948OBx48YNHDiQfMhKZy6OwsLCXr164cIhISGzZs0aO3Ys\n7lrx8vIii5WXl+Nw79ix48yZM6dNm+bm5tahQwc87IT8HPbv3x8h1K1bt6lTp7799tsTJ07k\n8/kIodjYWHJX165dc3BwQAgFBgbGxsaOHTsWP5Vg8EEV/XcHCVqHzmRJERERAwYMwP/dDAbj\n+++/1ylPPZDInXfr1m2oISUlJRQDg/hfKndxcZkxY8aCBQsWLFggFArxr/QTtJHCaWlpOGA6\nd+48YcIE/FQhvvjQeVDlwoUL+Ep8wIABc+fODQ8PZzKZ+sPsCMqfAmCclSTot956C+cjI2Xw\nhAlTpkwht+A+PipTKNTX1587d+6TTz4ZOnRop06dbGxs+Hx+jx493nnnnevXr+uXl0gkO3fu\nHDlypIuLi42Njbe396BBg5YvX56enq5drKSk5O233/b39+dyuX5+fu+//355efnatWu1P4cJ\nCQkffvjhgAED8FdRPz+/cePGnThxQmeEaX5+/sKFC/39/W1sbJycnEaPHn3w4EGdARuQoCnS\nHwfN5XI7d+785ptv6vwPYtQDyeDOtT179oygFhgEQcjl8lWrVnXr1g0nTYQQebmqn6CNFCYI\nIjU1dcyYMfb29nZ2diEhIadOnTL4JCFBEHfu3HnjjTecnZ15PF7//v13797d0FwcFD8FwAgG\nYa6bwpZGKpX6+vry+fz8/Hx8+QBAE0AgAdOxnlEcdP30008CgWDXrl3woQLNAYEETKedXkGL\nRKIuXbp0794dFkMBzQGBBEyqnSZoAACwfNYzDhoAAKwMJGgAALBQkKABAMBCQYIGAAALBQka\nAAAsFCRoAACwUJCgAQDAQkGCBgAACwUJGgAALBQkaAAAsFDWkKArKyufPXumveiJTCYTCoU6\nK4w0SiwW033wvQmLYavVaolEQquKUqkUCoVyuZxWLZlMZmQhGIMkEgmeI5hWLf3Vktqoqqqq\nZ8+e0T3PAJiONSRoqVRaV1envcalSqXCS5/Q2g/FpYO0KZVKukmQIAi6B9JoNEqlsqFFPBui\nVqvpVmnaeaN7BiyWTCarq6uj+3cdANOxhgQNAABWCRI0AABYKEjQAABgoSBBAwCAhYIEDQAA\nFgoSNAAAWCizLhpbWlqanp5eUVFRW1sbHBwcExNjpHBubm5ycvKrV6/4fH5QUFBYWBiDwTBb\nU4Elg0AC7YRZr6CVSqWrq2tERISrq6vxkqWlpUePHvXz81u4cGFERERGRsbVq1fN00hg+SCQ\nQDth1ivogICAgIAAhFCjSyCnp6e7ublFRkYihLy8vAQCwY0bN0aOHAkr2wMEgQTaDbMmaOpK\nSkr69u1L/hgYGHjt2rWKigo/P7+GqsjlcvIROPwwmEKhoPXMnkajkclkdL//EgQhk8loHQUf\niHoV/C5UKhXdWgRB0HosED95KJfLaZ0E/TPAZrPZbIsIrSYEEgCWwyI+RToIghCLxfb29uQW\n/Nr4nA8SiUShUOhsoXvo+vp6ulVwa+nWakIVuVxOd5qIpj2E3YSToPN2eDyeJSTopgUSAJaj\n9T9F1Bm/rOPz+RwOB7+Wy+VKpZLP5zOZNDrZJRIJj8ejdfFYX1/PYDD4fD71KhqNRqFQ2Nra\nUq+Cr525XC6tL+ZyuZzFYtFKlDKZTKVS2dnZ0T0JdnZ22lssITsbATcJQVthiR8kBoNhb2+v\nfVGGX2tfCunjcrlcLhe/xpP+cDgcuunJ1ta2CQmabrZVqVS0qsjlcplMxmazadVSq9VsNps8\nJ1TgryBcLpfuHzZaDTObpgUSAJbDQsdB+/r65uXlkT/m5eVxOBxvb+9WbBJoiyCQQJtm7mF2\nlZWVlZWVSqVSKpXi1/hXOTk5+/btI+81DR8+XCAQnD9//sWLF9nZ2ZmZmcOGDYM77wCDQALt\nhFm7OAQCwZ49e8jXjx8/ZjKZa9asQQiJRKLi4mJy/uJOnTrFxsYmJydnZWXZ2dmFhoaGhYWZ\ns6nAkkEggXaCQXd2dgtUWFhYXV3dp08fsr9VLBbLZDJnZ2dafdC1tbVOTk60+qAFAgGTyXRx\ncaFeRaVSSSQSR0dH6lXkcrlIJLKzs+PxeNRr1dfX0+2DrqurUygUrq6utPqgq6urG31gpE0o\nLi5++fJlr169aN31BcB0LLQPGgAAACRoAACwUJCgAQDAQkGCBgAACwUJGgAALBQkaAAAsFCQ\noAEAwELRSNBqtTovLy8rK6sJs50BQIJAAoAiqgn62rVr8+fPX7Zs2fr160tLSxFC1dXVc+fO\nTUlJMWHrgNWBQAKAOkoJ+u7du9u2bXN3d58/fz650dXVtXPnzhkZGSZrG7A2EEgA0EIpQZ84\ncSIgIGDr1q1RUVHa23v27FlYWGiahgErBIEEAC2UEnR+fn5YWBiLxdLZ7u7uXlNTY4JWAesE\ngQQALZQStEajMThDo1Ao1P+wAdAQCCQAaKGUoH18fB49eqSzkSCIW7du+fv7m6BVwDpBIAFA\nC6UEHR4efv369cuXL5NbZDLZ7t27c3NzIyIiTNY2YG0gkACghdJ0ydHR0dnZ2bt27dq/fz9C\naMeOHVVVVSqVasiQIePGjTNxC4H1gEACgBZKCZrFYq1evTopKSk5OVmpVFZXV/v7+4eHh0dF\nRcECyYA6CCQAaKG64AiTyYyMjIyMjDRpa4DVg0ACgDqYiwMAACwUpQR96NChxYsX66xeSBDE\nokWLjhw5YpqGASsEgQQALZQS9I0bN4KDg3V6CRkMxoABAzIzM03TMGCFIJAAoIVSgn7x4oW3\nt7f+9k6dOlVVVbV0k4DVgkACgBaqTxJKpVL97RKJRKVStXSTgNWCQAKAFkqjODp16pSVlTV1\n6lTtjQRBZGVldezY0TQNo02hUJCv1Wo13oJfUEQQhFwupzveC9eiXl6tVms0GlpVlEolQkil\nUtE9kE5vb6M0Gg1CSKFQ0DoJ+meAxWKx2QZCq00EEgCWg1KCDgsL27dv3969e9966y1bW1uE\nkEwmO3DgwMOHD999910Tt5AqtVpNXoXhREM3QxEEQSuh4yoIIVpXfxqNhiAIulXwv02oRasK\n+Xbo/pXSOUpD1dtEIAFgOag+SZiVlRUfH5+UlOTj40MQREVFhUKhCAoKio6ONnUTKeLxeFwu\nF7/GqZbH4xm8jmuIUqnk8/m0cpNMJmMymXZ2dtSrqFQqiURCq4pcLlcoFBwOh8fjUa9VX1/P\nZrPJc0KFWq1Wq9V8Pp/JpDH+Ui6XU3w7bSKQALAcVJ8kXLduXWJiYmpqamlpKYPB8PPzGzNm\nTGRkJExCBqiDQAKAFqoXmCwWa9KkSZMmTTJpa4DVg0ACgDp4khAAACwUjS5ahBBBEFKpVOfO\nG63uVAAQBBIA1FBK0ARBJCUlJSQkVFZW6o8KiI+PN0HDgBWCQAKAFkoJ+tixY4cPH/bx8QkJ\nCYHLHNBkEEgA0EIpQf/1119jx45dvHgxTNoLmgMCCQBaKN0krKmpGT9+PHyoQDNBIAFAC6UE\n7eHhUV9fb+qmAKsHgQQALZQS9NixYxMSEuhO7ACADggkAGih1Aft4+Nz6dKlFStWjB492t3d\nXecr6rBhw0zTNmBtIJAAoIVSgv7uu+8QQpWVlbm5ufq/hdFRgCIIJABooZSgV65caep2gPYA\nAgkAWigl6OHDh5u6HaA9gEACgBYac3Go1eq8vLysrCy4EQ+aAwIJAIqoJuhr167Nnz9/2bJl\n69evLy0tRQhVV1fPnTs3JSXFhK0DVgcCCQDqKCXou3fvbtu2zd3dff78+eRGV1fXzp07Z2Rk\nmKxtwNpAIAFAC6UEfeLEiYCAgK1bt0ZFRWlv79mzZ2FhoWkaBqwQBBIAtFBK0Pn5+WFhYfpr\nXri7u9fU1JigVcA6QSABQAulBK3RaGxsbPS3C4VCWKkIUAeBBAAtlBK0j4/Po0ePdDYSBHHr\n1i1/f38TtApYJwgkAGihlKDDw8OvX79++fJlcotMJtu9e3dubm5ERITJ2gasDQQSALRQelAl\nOjo6Ozt7165d+/fvRwjt2LGjqqpKpVINGTJk3LhxJm4hsB4QSADQQilBs1is1atXJyUlJScn\nK5XK6upqf3//8PDwqKgomNsXUAeBBAAtVBeNZTKZkZGRkZGRzTxebm5ucnLyq1ev+Hx+UFBQ\nWFiYwU/mrVu3zp8/r71l3rx5Xbp0aebRQauDQAKAusYTtFwuP3r0aEhISPfu3Zt5sNLS0qNH\njw4aNGjKlCmVlZWJiYkEQYSHhxsszOfz582bR/7o6urazKOD1gWBBABdjSdoDodz9uzZIUOG\nNP9g6enpbm5u+OrJy8tLIBDcuHFj5MiRBodeMZnMDh06NP+gwEJAIAFAV+MJmsFgeHh4VFdX\nN/9gJSUlffv2JX8MDAy8du1aRUWFn5+ffmGpVPr999+r1Wp3d/eQkJDevXsb37larVapVPi1\nRqPBW2g1jyAIlUpFtzMU16JeXq1WN6EKQkij0dCqpdFotM8JFXitE5VKxWTSmEULV9H+kclk\n6u+hrQQSAJaDUh/0mDFj4uPjhw0b1pynCQiCEIvF9vb25Bb8WiQS6Rf28PCIiory9PRUKpUP\nHjw4fvz4hAkTjK+4UVdXx2b/4+0Y3LNxQqGQbhWCIGpra+nWakIVqVQqlUrp1pJIJHSr1NXV\n0a2i83Z4PJ6dnZ1+sTYRSABYDkoJ2tfX98qVK4sXL46IiPDy8tL5ItnMcDd4xRoQEBAQEEC+\nlsvl169fN34gW1tbsmEKhUKtVnO5XFpXgnK5nMvlUi+PEJJKpQwGw9bWlnoVjUajVCppHUit\nVisUChsbG52/QMYplUomk0krFeLzZmtrS+trhEwm0zkDBrsaUBsJJAAsB6UP/JYtW/CLAwcO\n6P+W4kpFDAbD3t5eLBaTW/Br7Uuhhvj6+ubk5KjVaiPphsfjkVmPIAi1Ws3j8ehmND6fTzc3\nMZlMg1eLDVGpVARB0Koil8sVCgWHw+HxeNRr1dfXs9lsun8J1Go1n8+n+4eN4ttpE4EEgOUw\n65JXvr6+eXl548ePxz/m5eVxOBxvb+9GKxYXF9vb28OHqq2DQAKAFrMueTV8+PB9+/adP39+\n4MCBlZWVmZmZISEh+HtuTk7OzZs358yZg78sJyQk+Pn5ubi4qFSqhw8fPnr0CJ40swIQSADQ\nQqMHQK1WFxYWCoXCnj170vqGTurUqVNsbGxycnJWVpadnV1oaGhYWBj+lUgkKi4uxqMvEEJs\nNjs1NVUkErHZbDc3t+nTp/fp06cJRwQWCAIJAIoYeGRVo65du7Z37158s37r1q09evSorq5e\nunTpggULyM9GayksLKyuru7Tpw/Z3yoWi2UymbOzM60+6NraWicnJ1p90AKBgMlkuri4UK+i\nUqkkEomjoyP1KnK5XCQS2dnZmboPuq6uTqFQuLq60uqDrq6upv70hyUHUnFx8cuXL3v16sXn\n81u3JQBgsOQVMB8IJCuWnZ0dExNz5cqVplX/9ttvp02b1rJNsgKw5BUwHwgk0CaUlZUdOXLk\n+fPnrd0QWPIKmBEEEmgTysvL21KChpWKQIuAQAIWTi6XW9QOKd1DwysV6XwthZWKAF3tNpDU\nanVcXNzVq1dfvHiBEHJxcenVq9cHH3xA3vVVq9UJCQlXr14tKytjMpmBgYEzZswICgrCv5VI\nJKdPn/77778rKiqkUqmbm1tISAg5lJDK/uvr648dO5aRkVFdXW1nZzdgwIA5c+aQI8fT09O/\n++67L774oqKi4tKlS1VVVc7OzhMmTJgxYwZ5z7zRNtBSW1v7xx9/3Lp1S6lUBgYGvv322wZP\nmpFzgtu8YsWK58+fp6amVldX48f6Y2JiyD002ma8k88//7ykpCQlJaWqqmry5MkcDufIkSMI\noe3bt2/fvh0h1KdPn82bN8fHx+/du3f79u2BgYHkITZt2pSdnX38+HEjO8TvzvjbaQilBB0e\nHv77778HBQWNGjUKb5HJZPv27cvNzV20aBGVPQCA2nEgHThw4MyZM6NHj37jjTeYTGZVVdXt\n27clEglOoBqNZuPGjXfv3h0xYsS4ceMUCkVKSsq6des+++wzfKJevnx58eLF0NDQUaNGsdns\nnJycuLi4Z8+ebd68GSdQ4/uXyWRffPFFUVFRWFhYz549y8vLL1y4kJWVtXXr1o4dO5KN/OOP\nP3x8fN5//307O7u//vrr4MGDDg4OEydOxL9ttA3UyWSyVatWlZeXjx8/vmvXrgUFBWvWrPHw\n8NAu0+g5wfbt29e1a9cvvvjC1tb2ypUreIAQObssxTb/8ccfbm5u8+bNw+O+XFxcbGxsDhw4\nMGPGjAEDBiCE6A4G1dkh9bejz2qXvCotLXV2dm7tVoB/aIuB1CIyMjL69u372WefkVvefPNN\n8nVSUlJWVtYnn3zy+uuv4y0xMTHLly/fu3fv8OHDWSyWj4/PH3/8QfYCRUZGdu7c+c8//7x/\n/37//v0b3f/Zs2eLiormzp07Y8YMvGXgwIFr16797bff1q1bRxazt7dfu3Ytzlzdu3fPyclJ\nTEwkE3SjbaDu7NmzZWVlH330Ebnzrl27/vjjj9rdX42eE7yRzWavWrUK//j2229XVVWdOnVq\n7Nix+MsBxTbb2Nhs3rxZu5MNf5/z9fXVnjSROv0dUnw7+ij1QeOVij788EMvLy8+n49XKlq4\ncOG///1vi12piCCIoqKi1m4F+Ie2GEgtws7OrrS09NmzZwZ/m5yc7OTkNGrUKMX/qNXqUaNG\n1dbW4sEtNjY25GcYz5yF53t68uQJlf1nZGTY2tpOmjSJ3BIUFNSzZ8979+5pT3Y4ZswY8n+B\nwWAEBgZWVFSQz0k02gbqMjIyHBwctP8kjx071s3NjdY5wSIiIrSz2/jx4wmCuHHjBq026+yk\n+fR3SPHt6DP3kldmc+bMmStXrqxdu7ZHjx7W3b/ZtrS5QGoR77777nfffffZZ595eHj07t27\nf//+I0eOJJ8hKi0tlUgk06dP169Izn975cqVixcvFhYWat90ImeMMr7/yspKb29vDoejvWd/\nf/8nT55UVVV17twZb3F3d9cuwOfzVSqVVColH9sx3gbqKisr/f39tVMYg8Ho1KnTo0ePyC1U\nzglCSGcpBvxjZWUluYVKm728vOi+BeP0d0jx7ehrMEFPmzZt+fLlISEhCKH9+5HgVJwAACAA\nSURBVPePHz++DS1LUVNT88svvwiFwsmTJ0dHR//73/92dnaGNN0q2nQgtZR+/frt3bv37t27\n9+/ff/jwYWpq6uHDh7du3YovGzUajY+Pz7/+9S/9ip06dUIInT17dt++fUOGDFmyZImrq6uN\njY1IJPr666/JJ9qN7x81MBerDoNlyCvoRttAi/6xdB5pbvScYDorRSiVSu0fKba5odlxG20z\namBVEP0dUnw7+hpM0CqVijz2qVOngoOD29DnisvlxsTEHD16VKlUxsXFpaenr1ixYtKkSeTF\nAjCbNh1ILYjH4w0fPhxPF5WWlrZ169aEhIR33nkHIdSxY8eioiJ/f/+GRkRcunTJy8vryy+/\nJHNETk4O9f136NChvLwcz1hLli8qKmIwGJ6enhTbT6UNFOH2aE/6ShBEWVmZdplGzwmm042J\nfyQDrMltNpiLDa4LUVFRQWWHFN+Ovgb7oN3d3ZvQu2Qh+Hz+okWL4uPjR44ciRB69erVypUr\nZ8yYkZiYCB3TZtamA6ml6Hyqe/TogbS+aIeHh6tUqn379ulcRZLLgzGZTIIgyOs+jUZz4sQJ\n6vsPCQmRyWTa021nZ2c/efJkwIAB1GcdabQN1IWEhNTV1V2+fJnccuXKFYFAoF2m0XOCXb58\nmXzESa1Wnz17lsFgDB06tJltxqNfdM4qHvFy9+5dcktmZqbO35WGUHw7+hq8gh45cuTp06ev\nX7+O/27s3Lmzodz/448/UmmimXXq1KlPnz579+5NTk7esGFDeXn5gwcPZs6cCT0eZtbWA6lF\nvPPOO4MHDw4MDHR1dRUKhX/99ReTyRwzZgz+bWRk5N9//52UlFRQUDB06FBHR8dXr149efLk\n+fPnf/75J0IoNDT0yJEj69atGzFihFQqTUtL0/mcG9//lClTMjIyDhw4UFxc3KtXLzzMzt7e\nfuHChdTfQqNtoG7y5Mmpqak///xzQUFBly5dnj9/fuXKFV9fX+2+40bPCebt7b18+fKJEyfa\n2tqmpqY+ffp06tSpPj4+zWxzQEAAh8NJTExks9n29vZOTk79+vXr3r17jx494uPjpVKpv79/\nYWHhzZs3/f398dhz4yi+HX0s7XE22vr06WNnZyeRSGQymVAotLOza2hmuFa/4VNbWyuVSj09\nPckWKhQKlUpla2vr6urq6uo6a9YsNpv9999/q1Sqp0+fnjx5ksvl4mmCtfeDl26iNZwAL3lF\na5K5Ji95xeFwKHaWYXjJK1rz+cnlcrwSDd2TYOQMtKFAEgqFEonEw8OD1nmmQqFQFBUV3b59\n+/r160VFRQEBAUuWLCGXr2UymaNGjXJ1dS0sLMzIyMjKyqqsrPT09CQ75Xr37m1jY/PgwYO0\ntLSioqKBAwcuWLAgPj6+R48eAwcObHT/bDZ79OjRKpXq3r17169fLy8vHzRo0PLly8lB0CUl\nJenp6SNHjtTuD719+3ZeXt706dNxx0ijbXjx4sXVq1eHDRvWpUsX42fDxsZm+PDhNTU1mZmZ\nd+7cYTKZ//rXvyoqKsrLy2fNmkXxnOA2f/DBB97e3hcvXkxPT2exWDNnzpw1axYZvY222eAb\nxy309fV98uRJSkpKWlpaVVVVREQEQig4OPjFixc3b968f/8+n89fsWJFQUHBixcvyPGLDe2w\n0bfTIIKC6Ojo+/fvUynZKgoKCu7cuSOTycgtIpHo5cuXSqWS3IIfNxo7diz3fwYOHBgfH//8\n+XOyTE1NjUajoXXoV69eVVdX06qiVCqFQiGtKjKZ7OXLlxKJhFYtPOcqrSpCofDly5d43XHq\nBAIBxZIWHkhFRUV37typr69v7YaAxl2/fj06OjozM7O1G2JaDfZBL1u27P79+8b/ErYh/v7+\no0aN+u2333bv3o2/AT18+HDWrFmff/55dnY2dEybjpUFEgDm1GCCzsvLM7iOfZvm7+8fHh5+\n/vz5xYsXczgcjUYTFxc3bty4AwcOwHSXJmKVgQSMIAhC0TCiqT3X7VODHZQuLi4UR5C0Lfje\n4JIlS2JiYjZu3Hjt2jWhULhp06a4uLjly5cPGzYMhuK1LGsNJNCQ4uLiJUuWNPTbFStW4LFV\ngIoGl7zasWPHtWvX+vfvb2dnl5aW1rdv34amtlixYoUpW9i4Ji95VVRUdPHixW+//ba8vBwh\nxGKxZs+evXTpUuoP4MOSV6ixJa/aUCDBklctQqFQFBcXN/TbDh064PE8gIoGE3RdXd2+ffvu\n3btXW1tr/FuJ9vjKVtGcNQmLioqkUunu3bv37duHH0Nyc3P77LPPpk6dSuVSGhI0aixBt6FA\nggQNLA6VO4kWfvOdyigO454/f56SkhIWFkaO8Rg2bNj58+e1x3gYBKM4CBjFAYDJULpQioqK\n0plrysr4+/uPHj16165du3fvxoND7927N23atM8///zvv/9u7dZZD6sPJABaVoMPqmgbNGiQ\ng4OD6RvTREYeVKH1VR1fOE+YMIHNZmdnZ+OnWk6cOCGTyfSfasHgQRXU2IMq2iw8kEz3oAoA\nTdPgpxcvnz5mzBgmk2l8KXX8jE2rU6vV5NRW+Ol7gxNNGUEQhEql6tq168cff/zGG29s3ryZ\nHONx9uzZ1atX9+vXz8/Pz2AtWu1sQhWEkEajoVVLo9FonxMqCIJACKlUKlp/2JDepGJMJpPc\nQ5sLJAAsR4M3CfHSXidPnuRwONrLfOlr9Xs7+CZhQEAAeeGjVCo1Gg2Hw6F1JahUKrUvnUpK\nSq5du7ZlyxY8xoPJZE6cOPGzzz7THuMhl8sZDIbOTLvG4exM6xoN51k2m01rWnGVSsVgMGhV\nadp505kmDSFkY2NDTrjRhgLJRDcJlU9zW3BvGNvfj9GkxQBB29Jggs7OzkYI9evXj8Fg4NcN\nobvgTYtrzigObbW1tU5OTjq56enTp7/99ttvv/2GJ/x2cnJavHjxW2+9FRAQgGAUB0KosVEc\nbSiQTJKgCaKsk+63rubzSIznNLbeKLACDeYv7U9Lq39yWlGPHj3wUy2bNm1KTU0lezzWrl3b\nv39/GNHZKAgkhBDh4kIMD22RXTFychiFz1tkV8Dy0bjARAhpNBq6vZNWwP9/kpOTN27cWFZW\nlpOTExsbGx0d/fHHH/fr16+1G9j2tLtA8vHR/HtVi+yJ9Z+dCBJ0u9F4ghaJRAkJCbdv3y4r\nK8MTcnbs2HHIkCHR0dHt6vrR399//vz5oaGhZI9HXFzc1atX33vvvYULF+IeD2AEBBIAdDVy\nFVNYWLho0aKjR4/m5+czGAw3NzcGg5Gfn3/kyJHFixe3w0ngcI9HYmLi6NGjEUJ1dXXbt2+f\nPn16fHx8Ozwb1EEgAdAExq6gFQrFN998g5dejYyMJFf6Ki8vP3/+fEJCwrfffrtr1672NmgU\nd3f8+uuv5FotZI/HqlWrBgwY0NoNtDgQSAA0jbEr6LS0tMrKyg8++ODdd9/VXujTx8fnvffe\ne++998rKytLT003fSEuEezyOHj26cOFCLpeLZy4dP378hg0bCgoKWrt1lgUCCYCmMZagb926\n5enpOXHiRIO/feONNzw8PG7evGmahrUNXbt2/frrrxMTE8PCwhBCeIzHjBkz4uLiWrtpFgQC\nCYCmMZagCwsL+/fv39AzCwwGo3///nC1iBAaOXLkL7/8snv3brwQWU5OzuzZs2fNmnXv3r3W\nbppFgEACoGmM9UHX1tZ6enoaKeDh4SEUClu6SW2SwTEeKSkpixcvfvPNNxtdRtO6QSC1utzc\n3FOnTuXn51dVVY0dO9bIhPpGSl6+fDk1NfX58+dyudzHxycqKmrs2LFmaX77ZewKWi6XG3+I\n2dbWViqVtnST2rAePXp8//330OOhAwKp1clkMm9v77lz53p7eze5ZHJycs+ePZcuXbpu3bo+\nffr88MMPFy5cMFmTAULGr6Abegqcbpn2Bvd4JCcnb9q0qbS0FPd4REdHf/HFF0Ht8vFcCKRW\n169fP/xE1enTp5tccvPmzeTr3r17FxYWpqenN3RrAbSIRh5USU9PLy0tbei3MHy1IQ091bJk\nyZLY2FgvL6/WbqC5QSCpy8uVT582cyesDt405r4yMYVCYbznCjRfIwk6Nzc3N7fl5+JqJ3CP\nx6RJkzZt2pSSklJXV7dp06YzZ858/vnnsbGxrd06s4JAUty8Vbd9RzN3wps4wdYyluO6fPly\nXl7e+++/39oNsXLGEvT27dvN1g4rptPj8ejRo/nz5585c6b99HhAIJnZvXv31q9fj19HRUUt\nXLiwZfeflpa2Z8+ef/3rX926dWvZPQMdxhJ0YGCg2dph3Yz0eLSHMR4QSAgh7pgwt969m7kT\nhqMjOnas0WK9evX68ccf8esWn+fkwoUL//3vf5cvXz5s2LCW3TPQR282O9AcuMcjOjp648aN\naWlpuMfj7Nmza9asmTRpUmu3DpgW09mZ6exsnmPZ2triIfkt7ujRo6dPn169enW7nTnWzNrT\nlI+WYfjw4f/5z3+0n2qJjY2Fp1qASSkUioKCgoKCAoVCIRaLCwoKCgsL8a/S09NXrlwpkUga\nLfnbb78dO3Zs/vz5Dg4OuExJSUnrvJ92A66gW4Gvr+9rr73Wbns8gPmVlpZ++umn+HVZWVlm\nZiaTyTx79ixCSCAQPH78mFxV0kjJlJQUtVq9e/ducrcdOnT49ddfzfpO2hlI0K0G93hMnjx5\n06ZNV69eJXs8Vq9ePXny5NZuHbAqXbp0aWjJx5iYGO21Io2UPHTokEkaBxoGXRytbMSIEXv2\n7Nm9e7evry+CeTwAAFogQbc+PMYjMTFx8eLFXC6XIAiYuRQAgGglaLVanZeXl5WVVV9fb7oG\ntVu4x+PcuXNjxoxBCOEejxkzZuDuP2sCgQQARVQT9LVr1+bPn79s2bL169fjZ3arq6vnzp2b\nkpJiwta1PwZ7PN56662HDx+2dtNaBgQSANRRStB3797dtm2bu7v7/PnzyY2urq6dO3fOyMgw\nWdvaKbLHY8mSJba2tgRBJCQkzJw5c/v27eSApzYKAgkAWiiN4jhx4kRAQMDWrVvVavXvv/9O\nbu/ZsyfdC5/c3Nzk5ORXr17x+fygoKCwsLCG5nGnXtIq9ejRY+vWrZMmTdq8eXNycnJdXd2G\nDRvOnDmzdu3a6Ojo1m5dE0EgAUALpQSdn58/Z84cFoulVqu1t7u7u9fU1FA/WGlp6dGjRwcN\nGjRlypTKysrExESCIMLDw5tT0rqNGDHi/Pnze/fu3bx5c3l5+cOHD2fNmjV9+vRly5a1xdVp\n220gMZ4/Zy39V8vsqx3M/AdIlBK0RqMxuOKyUChksWhMf5ienu7m5hYZGYkQ8vLyEggEN27c\nGDlypP7OqZdsD+bOndu/f/+EhIQffvhBKpUeP348KSmpLT7V0n4Dqb6ecfu2WY8IrAKlBO3j\n4/Po0aOoqCjtjQRB3Lp1y9/fn/rBSkpK+vbtS/4YGBh47dq1iooKPz+/JpcklZURTOb/Tfou\nkTDkcqZQiPh8QmsV6X94+RL97+nW/yMSMWtqCA4H+fgYriIQILH4H1tqa5lMJlMsJhqa+aC2\nFums5aRWI5mMaWdHNHTm6uqQztWkQoHY7K5z5qyaMCFy584dcXFx5Myl+KkWsRgJBLr7kUoZ\nLBYKCCDYhv6TJRL08qXuxvp6pkLB5PMJHs/A9PkyGXrxwsCuhEKmrS3B4/1jo8FuhDYRSC2M\nwbh3KrXF9zqim4+xJWqAtaCUoMPDw3///fegoKBRo0bhLTKZbN++fbm5uYsWLaJ4JIIgxGKx\n9txa+LVIJGpySW07dypqa8mfWAjxEVL5+cmXLjW8ltKBA7YPHui8fQ5CCnd3zapVEoNVTpzg\n3rihc+XFQwjx+bINGwyPGEtM5Fy9qv9RYiMk37ZNbKACQlevchIT9avwEUIbNnT76aefXn/9\n9e+//76oqOjRo0dz5syZMGHCmDGrs7L0Z0pjIkSsWlXj7q7RP8qDB+w//rA11DD20qV1fn5q\n/Sr5+ayff+bpb0fI9r33anv1+v9VeDyenZ2dfrk2EUgtiyDQxgvPWny3/+3k5myv/98HrA2l\nBB0dHZ2dnb1r1679+/cjhHbs2FFVVaVSqYYMGTJu3LhmtoD6HRvjJXk8hlL5fwUIgiAIgslk\n2tmxGvoyy+ez7Oz+sUOCIBgMBp/PbKgKj6dbRaPRIITs7GhUIQ/UUBUu10AVjUbDZDJtbGxs\nbIiZM2cOGjTo1KlTP/30k1QqvXDhQkqKrHv31d27d3dwcNA5CofDtrExcDls8Cj4vNnYsGxs\nDAzv4XCY+lVw27hctnaVhvor2kQgmYKng01MX7cW2VVmYV1OheELCGB9KCVoFou1evXqpKSk\n5ORkpVJZXV3t7+8fHh4eFRVF61Nhb28v1uojwK/156ulXlLb+vUcLpdLlpfJZM7Ozmw2GyHD\nFxoff6y7pba21snJicFgNFTlnXfQO+/8Y4tAIGAymS4uLghxDVaZNQvNmvWPLSqVSiKRODo6\nNlQlJgZpTY2AEEJyuVwkqrezs+PxHPGWoKCgoKCg6Ojo7du3x8XFSaVXs7OvKpW916xZQ87j\nUV9fz2azuVxHg0cJDUWhobob6+rqFAqFq6srk2kgQQcFoZ9/NrCr6upqV1dXg0fR0SYCyRSc\nbNlje7bMXKNlQgUk6PaD6mRJTCYzMjIS32xpMl9f37y8vPHjx+Mf8/LyOByOwWWGqZdsz4YO\nHbply5YpU6Z8/fXXBQUFjx49mj17dkxMzMqVK4ODg1u7dYZBIAFAnVnn4hg+fLhAIDh//vyL\nFy+ys7MzMzOHDRuGv+nn5OTs27dPJpM1WhJo8/f3j42NTUhI+PLLL/l8Pp7HY8KECRs2bHj+\n/Hlrt85UIJBAO0EpQR86dGjx4sUE8Y+uTIIgFi1adOTIEeoH69SpU2xsbHFx8a+//nrlypXQ\n0FA87wRCSCQSFRcX4y5d4yWBvq5du65evToxMTEiIgL9bx6Pt956KzExsbWb9g8QSADQQqmL\n48aNG8HBwTq9hAwGY8CAAZmZmbNnz6Z+vO7du3fv3l1/+7Bhw3SWOGuoJGhIaGjozz//nJqa\numnTpqKiosePH7/11lunT59evny5haxOC4EEAC2UrqBfvHhhsNuuU6dOVVVVLd0k0HT+/v7z\n5s1LTExcunQpj8cjCOLUqVPjx4//5ptvLGHmUggkAGihlKA1Go1UamA0sUQiIVfKAZajW7du\n3333XVxcHJ61o66ubv369dOmTWv1mUshkACghVKC7tSpU1ZWls5GgiCysrI6duxoglaBFjBw\n4MDNmzfv37+/a9euCKHHjx/jtVru3r3bWk2CQDKnO3fuLF26dNq0ae++++7hw4d1uv5Jubm5\n33zzzXvvvRcTE/PDDz8YLPPkyZMpU6bASmzmRylBh4WFPXjwYO/eveTNcZlM9ttvvz18+BBu\nuVgyPz+/WbNmxcfH64/xaJUeDwgks3n69OnGjRt79+69fft2fCuioRUFZTKZt7f33LlzGxp9\nWFdXt3XrVgu5jdHeUH2SMCsrKz4+PikpycfHhyCIiooKhUKBn5UwdRNBM+ExHuPHj9+2bRs5\nj8fp06fXrFkTHBxMaxKMZoJAMpvTp0937Njxgw8+QAj5+/tXVFTExcXNmDGDfJiL1K9fv379\n+uEq+vshCGLbtm2vv/66ra1tK373areoPkm4bt26xMTE1NTU0tJSBoPh5+c3ZsyYyMhIWpOQ\ngVY0ZMiQLVu2TJ069euvv87Pz3/8+PGcOXNiYmI+//zzgQMHmqcN7TmQnlXW3cqvbuZOunhS\nfQby8ePHo0ePJn8MDg4+duxYQUFBr169aB3x6NGjKpUqNja21W9gtE9UnyRksViTJk2aNGmS\nSVsDTMrf39/f33/QoEGHDx/esWOHRCKJi4u7evWqOWcubbeBVFAljssqbeZOwnp78R2cGi1G\nEERtba2Liwu5Bb+urqb3FyI7OzspKek///kPLHHQWmBV73YH93gkJSXhLIl7PKZNm3bmzJmS\nkpLWbh2wFDU1Ndu2bVu6dKl2ogdmRvUKGiMIQiqV6twONjixJLBwZI/Hhg0b8vLycI9HZGTk\nokWLwsLCTH30dhhI4/v5jO/XwETjdPxxs/EB4wwGw9nZWXuRGvya4pxWWGFhYW1t7ddff41/\nxDMdTp48eebMmXPmzKHZatBElBI0QRBJSUkJCQmVlZX641Xj4+NN0DBgcrjHIzg4eN++fXv2\n7JFKpefOnbt27drSpUvnzJljih4PCCSz6dWr1927dxcsWIB/vHv3rq2tLa3/0969e2uPurty\n5Up8fPzOnTudnVtmWj5ABaUEfezYscOHD/v4+ISEhFj3ZU471K1bt2+++SYmJuabb77566+/\nRCLRxo0bT506ZYoxHhBIZjN16tSVK1f+8ssvEyZMKCgoOHPmzOTJk/EQjvT09Pj4+LVr1/L5\nfISQQqEoLS3FL8RicUFBAYPBCAgIsLW11f7fxx0d5hzzAxDFBP3XX3+NHTt28eLFcK/AWoWE\nhPzwww+XLl3asmVLcXEx7vGYPHny8uXLW3CMBwSS2fTo0ePLL788ePDgxYsXnZycpkyZQvZL\nCASCx48fk99gSktLP/30U/y6rKwsMzOTyWTCmA0LQSlB19TUjB8/Hj5U1s3f33/mzJkDBgw4\nf/78zp076+vrz5w5c+XKlRYc4wGBZE6DBw8ePHiw/vaYmJgYrSUhunTpQqVzacqUKVOmTGnJ\n9gEKKI3i8PDwqK83vOYesDKdO3f+6quvLly4oD3GY+rUqadPny4qKmrmziGQAKCFUoIeO3Zs\nQkJCQ8/yA+uDx3gcOHAgMDAQIfTkyZM333zz888/159JgxYIJABoodTF4ePjc+nSpRUrVowe\nPdrd3V3nK6rO9LvAOuAxHgMHDjx8+PB//vOf+vr6uLi45OTkTz75pMk9HhBIANBCKUF/9913\nCKHKysrc3Fz938LoKCuGn2qZMGHC999/HxcXJxKJNm3adPLkybVr1w4cOJDuPX0IJABooZSg\nV65caep2AEs2ePDgLVu2TJs2bcOGDc+ePXv69Ombb745fvz4VatWdejQwcHBgeJ+IJAAoIVS\ngh4+fLip2wEsnH6PR1JSUmpq6oIFC2bPnk3xETUIJABoofeoN2jnunbtOm/evLFjx3777bdJ\nSUlSqfTHH3+8dOnS7du3ORxOa7fOcuULZO8eNNCr0wRyNdxibUeoJmiCILKzs58+fSoWi8kl\nk7GFCxeaoGHAQuFL6Z07d968eRP3ePTv3596dm5vgcRgID+3ln9mkmsD05y1C5QStFQqXbdu\n3ePHjw3+1io/V8A4ch6PQ4cOvf766xRrtc9Aej3sYYvv09GhO0JUu/5B20UpQR8+fPjJkyfz\n5s0bOnTookWL1qxZw+Pxjh8/LhaL4bZPexYYGPjOO+8IhUKK5dthIBGISCxIaPHdhvmO8eR7\ntvhugaWhlKAzMzNHjBgxffp0hUKBEHJwcOjRo8fatWuXL19+7ty5+fPnm7iRwHL5+/tTnwa+\n3QaSD89njt/cFtlV8ovLd2ub9bgQaEMoJWiBQPDaa68hhJhMJkIIT7PCZDJHjRqVmJhoIZ8r\noVBoY2ODX+POzbq6OlrTPmg0mtraWloHJQhCrVZrT7xLpQpBEHSrIISkUim51irFWnK5XCKR\nUK+Cz1ttbS3d86bzdrhcLp4pTUebCCRT4DC5/vyWmQfOkePYIvsBbQKlBG1ra6tWqxFCbDab\nw+GQV0w8Ho9WojEpJycnckFMsVgsk8kcHR3ZbBrDVGpra52cnGjlJoFAwGQyaS05oVKpJBKJ\noyONj5lcLheJRDwej8fjUa9VX1/PZrP1Fwk1oq6uTqFQODs74wRKUXV1NcUz0CYCCQDLQelz\n2KFDBzxjLEKoc+fOaWlp+Mrx+vXrbm5upmwesCoQSADQQilBBwUFZWRk4GufcePG3bhx44MP\nPvjggw+ys7Op38EHAAIJAFoo9QBMnz599OjRGo2GxWKNGzdOIpFcunSJyWTOnj17+vTppm4i\nsBoQSADQQilB8/l87WlxJk+ePHnyZJM1CVgtCCQAaIHnkQAAwELRGOQgFAorKytFIpHOhOsG\nl9UBoCEQSGaQm5t76tSp/Pz8qqqqsWPHLlmypKGSaWlp8fHxZWVlcrnczc1t5MiRsbGxeMSq\nUqk8depUSkrKy5cv3d3d33jjjejoaDO+CUAtQYvF4j179uB77vq/hWl8AUUQSGYjk8m8vb1D\nQ0MPHz5svCSLxXr99dd9fHw4HE5eXt7+/fvr6uoWLVqEENq7d29aWtpHH33UtWvXZ8+e7d69\nm8FgvPHGG2Z5BwAhigl69+7daWlpISEhffr0oT75LwA6IJDMpl+/fv369UMInT592njJ0NBQ\n8nWPHj2Kioru37+PECIIIjk5efr06SNHjkQI+fj4lJaWHj9+PDIyktYwedAclBL07du3w8LC\nli1bZurWAOvWngPp/qvsq8XJzdxJL7feppshWKPRPH/+/O+//w4KCsI/qlQq7QedbG1ta2tr\ny8rKfH19TdUI8E+U/reZTGa3bt1M3RRg9dpzINXIap5UG57GjzoXroudc8tPXqpUKmfMmIEn\nIRg3btz777+PEGKxWEFBQefOnQsKCvLz8yssLDx37hxCSCAQQII2G0oJum/fvvn5+aZuCrB6\n7TmQHDgOfo7NnY7DlecmRzTmY6GIzWbv3LlTqVQ+e/bs4MGDjo6O8+bNQwh98sknu3fv/uST\nTxgMhoODw5gxY86ePQv9G+ZEKUG/++67K1euvHDhwoQJE2hNVQGAtvYcSMGeA4M9BzZ/P6fK\nTjR/JzoYDAYenx4YGMhkMn/++eepU6fa29s7OzuvWrVKpVLV1ta6urpevHgRIeTt7d3iDQAN\noZSgvb29P/zww+++++7333/39PRksVjav925c6dp2gasDQSS5VOpVARBM5JZLwAAH/JJREFU\n4IkGMTab7e7urtFozp8/HxgY6OHh0YrNa28oJejr169v3bqVIAgul6tWq/FcCgDQBYFkNgqF\nAs9LpVAoxGJxQUEBg8EICAhACKWnp8fHx69duxZPCfvrr792797dy8tLo9Hk5uYePXp00KBB\nzs7OCKH79++XlpYGBATU1tYmJiZWVlZu3ry5dd9Xe0N1RRUPD481a9b4+fmZukHAikEgmU1p\naemnn36KX5eVlWVmZjKZzLNnzyKEBALB48ePyWtkW1vbEydOVFVVMZlMT0/PGTNmkE+jMJnM\nCxculJeX29jY9O7d+7vvvuvSpUurvJ12i1KCfvHixezZs+FDBZoJAslsunTp0tCDPzExMTEx\nMeSP8+bNw7cE9fXp0+eHH34wSfsANZRuyHp4eGj3SQHQNBBIANBCKUG/8cYbycnJtNZbAkAf\nBBIAtFDq4nB3d3d2dl68ePHEiRM7dOigc/N92LBhpmkbsDYQSADQQilBk7du9+/fr/9bmOMG\nUASBBAAtlBL0ypUrTd0O0B5AIAFAC6UEPXz4cFO3A7QH7TaQVBrVK/mrFtmVVCVtkf2ANqHx\nBC2Xy48ePRoSEtK9e3czNAhYq/YcSKXSkvWP1rR2K0Db03iC5nA4Z8+eHTJkiBlaA6xY+wwk\nBmKM6jS6xXfryHFs8X0CC9R4gmYwGB4eHtXV1S1yvNzc3OTk5FevXvH5/KCgoLCwMIOT5ty6\ndev8+fPaW+bNmwdPMbVp7TaQlg/63JyHA9aEUh/0mDFj4uPjhw0bpjMuiq7S0lL8pP+UKVMq\nKysTExMJgggPDzdYmM/naz/g5Orq2pxDA0sAgQQALZQStK+v75UrVxYvXhwREeHl5YUXlCRR\nH76anp7u5uYWGRmJEPLy8hIIBDdu3Bg5cqTODjEmk9mhQweKewZtAgQSALRQStBbtmzBLw4c\nOKD/W+rDV0tKSvr27Uv+GBgYeO3atYqKCoOTM0il0u+//16tVru7u4eEhPTu3ZviUYDFgkAC\ngBbzjYMmCEIsFtvb25Nb8GuRSKRf2MPDIyoqytPTU6lUPnjw4Pjx4xMmTDB+hSUUCskLKI1G\ngxCqq6ujNSu8RqOpra2lXh4hRBCEWq2uqamhVYUgCLpVEEJSqZTWQ9IEQcjlcolEQr0KPm+1\ntbW0zpv+2+FyuXgqSx1tIpAAsBwmHAedn59/6NAh/Hrw4METJkwwWMxgLggICMBz1+LXcrn8\n+vXrxj9XBEHg/IL+l9FwKqTeYO090EK3Ft0DNfntMBgMulWadiCdt9NQ9TYRSABYDnpLBEsk\nkqqqKoSQp6enwUskbb6+vh9//DF+bWtry2Aw7O3txWIxWQC/1r4UMrKrnJwctVpt5OaSs7Mz\nuQKxWCyWyWROTk5sNo03WFtb6+TkROviUSAQMJlMFxcX6lVUKpVEInF0pDFMSi6Xi0QiPp/P\n4/Go16qvr2ez2dqrMjeqrq5OoVC4uLjQWneuurqa7p03Sw4kACwH1fxVWlr622+//f333/ji\niMFgBAUFLVy4sGPHjg1V4XA47u7u2lt8fX3z8vLGjx+Pf8zLy+NwOFSWOCsuLra3t4cPlRWA\nQAKAOta6desaLVRRUbFixYri4uKePXsOHDgwMDCQzWY/ePAgNTU1NDTUwcGB4sGcnZ0zMjLq\n6+sdHR3z8/OTk5NDQkICAwMRQjk5OYmJib169cLXvAkJCTKZTKFQCASCtLS0+/fvh4WFNbTY\ne21trVQq9fT0JK+XFQqFSqWytbWldSUok8nwBRr1KlKplMFg0Lqw1Wg0SqWS1oWtWq1WKBQc\nDsfgKIWGKJVKJpNJ6zuEXC5Xq9U8Ho/uSaB4Biw8kIRCoUQi8fDwoHWeATAdSp/eQ4cOyeXy\n9evXBwUFkRvv3bu3cePGw4cPf/bZZxQP1qlTp9jY2OTk5KysLDs7u9DQ0LCwMPwrkUhUXFxM\ndmWy2ezU1FSRSMRms93c3KZPn96nTx8abwtYJAgkAGihlKCzs7MjIyO1P1QIoaCgoIkTJ6am\nptI6Xvfu3Q1OxTBs2DDtWzcTJ06cOHEirT0DyweBBAAtlHoAxGKxj4+P/nYfH5/6+vqWbhKw\nWhBIANBCKUG7ubk9fvxYf/uTJ0/gwVlAHQQSALRQStAhISEpKSknT55UKBR4i0KhOHHiREpK\nSmhoqCmbB6wKBBIAtFDqg46Njf37778PHDhw/PhxHx8fgiAqKipkMpm/v/+sWbNM3URgNSCQ\nAKCFUoK2s7PbunXrmTNnMjMzy8vLEUIdOnQIDQ2dPHmyra2tiVsIrAcEEgC0NJigly1b9s47\n7/Tr1w8hlJKSMmDAgNmzZ8+ePduMbQPWAAIJgCZrsA86Ly+PnH1m+/btJSUl5moSsCoQSAA0\nWYMJ2sXFpaKiwpxNAVYJAgmAJmuwi2PAgAGHDh168OABnoPm6NGjSUlJBkuuWLHCVK0DbR8E\nEgBN1mCCXrBgAYPBuHfvHp4i+cGDBw2VhM8VMAICCYAmazBBOzo6fvrpp/h1TEzMpk2btNew\nAIAiCCQAmozSgypRUVFubm6mbgqwehBIANDSeIKWy+W2trba86MD0AQQSADQ1XiC5nA4Z8+e\nVavVZmgNsGIQSADQ1XiCZjAYHh4e1dXVZmgNsGIQSADQRakPesyYMfHx8XDtA5oJAgkAWijN\nxeHr63vlypXFixdHRER4eXnpLAgEayQDiiCQAKCFUoLesmULfnHgwAH938bHx7dki4D1gkAC\ngBZKCXrlypWmbgdoDyCQAKCFUoIePny4qdsB2gMIJABooXSTEFOr1Xl5eVlZWbB8HGgOCCQA\nKKKaoK9duzZ//vxly5atX7++tLQUIVRdXT137tyUlBQTtg5YHQgkAKijlKDv3r27bds2d3f3\n+fPnkxtdXV07d+6ckZFhsrYBawOBBAAtlBL0iRMnAgICtm7dGhUVpb29Z8+ehYWFpmkYsEIQ\nSADQQukmYX5+/pw5c1gsls4jBu7u7jU1NaZpGG1CoZAcV6vRaBBCdXV1DAaD+h40Gg2eEpM6\ngiDUajWtk0AQBEEQdKsghKRSqUwmo1VLLpdLJBLqVfB5q62tpXvedN4Ol8vl8/n6JdtEIAFg\nOSglaI1Go/NMASYUClksVks3qYkcHR25XC5+XV9fL5PJHBwc2GxKbxATCoWOjo60clN1dTWT\nyXR2dqZeRaVSSaVSBwcH6lXkcrlYLLa1teXxeNRrSSQSFotFnhMqRCKRQqFwcnJiMmncPa6p\nqaF4BtpEIAFgOSh9Dn18fB49eqSzkSCIW7du+fv7m6BVTcHQor+FiqZVMduBzFOlpQ5k8P+o\nTQQSAJaDUoIODw+/fv365cuXyS0ymWz37t25ubkREREmaxuwNhBIANBCqQcgOjo6Ozt7165d\n+/fvRwjt2LGjqqpKpVINGTJk3LhxJm4hsB4QSADQQilBs1is1atXJyUlJScnK5XK6upqf3//\n8PDwqKiohr7MAqAPAgkAWhpJ0ARBPHz4sLy83NHRMSwsLDIy0jzNAlYGAgmAJjCWoGUy2fr1\n63NycvCPTk5O69at69q1q1kaBqwHBBIATWPsJuGpU6dycnICAgKmTp06bNgwoVC4c+dOs7UM\nWA0IJACaxtgVdEZGhq+v7/bt2/EY1d9///3MmTMVFRXe3t7mah6wBhBIADSNsSvoFy9eDBky\nhHyCYMSIEQihyspKc7QLWBEIJACaxliCVigUjo6O5I9OTk54o8kbBawLBBIATUPjiV4MzwsB\nQDNBIAHQqEaG2aWnp+NJexFCeKaec+fO3b59W7vMkiVLTNQ4YDUgkABogkYSdG5ubm5urvaW\n7OxsnTLwuQKNgkACoAmMJejt27ebrR3AikEgAdA0xhJ0YGCg2doBrBgEEgBNQ/smIQAAAPOA\nBA0AABYKEjQAAFgoSNAAAGChIEEDAICFggQNAAAWChI0AABYKEjQAABgoSBBAwCAhaK0aGxL\nKS0tTU9Pr6ioqK2tDQ4OjomJMVI4Nzc3OTn51atXfD4/KCgoLCwM1hUFGAQSaCfMegWtVCpd\nXV0jIiJcXV2NlywtLT169Kifn9/ChQsjIiIyMjKuXr1qnkYCyweBBNoJs15BBwQEBAQEIITS\n09ONl0xPT3dzc8NrP3t5eQkEghs3bowcOdLGxsYcDQWWDQIJtBMW2gddUlKiPcNOYGCgQqGo\nqKhoxSaBtggCCbRpZr2CpoggCLFYbG9vT27Br0UikZFaIpEIzwSPEFKr1QghsVhMq7dRrVbX\n1dXRbaparRYKhSatotFoEEIymYzWMlFqtVqhUJDnhAqVSoUQqquro3XeNBqNztvhcrm2trbU\n92AiTQskACyHCRN0fn7+oUOH8OvBgwdPnDixmTs0njVwcjG+pVFKpZJulabVakIVtVqN//DQ\nrUW3SvPPG5vdknFl5kACwHKYMEH7+vp+/PHH+DWt6ykGg2Fvby8Wi8kt+LX2pZA+Z2dnLpeL\nX9fX18tkMicnJ1qZQigUOjo60vr0VldXM5lMZ2dn6lVUKpVUKnVwcKBeRS6Xi8ViPp/P4/Go\n15JIJCwWizwnVIhEIoVC4eLiwmTS6PuqqalxcXGhXp4uMwcSAJbDhAmaw+G4u7s3ra6vr29e\nXt748ePxj3l5eRwOx9vb20gVBoOhk1v1tzSqCVUQzSsyXLhpVcz2dppwILpHoc7MgQSA5TD3\nMLvKysrKykqlUimVSvFr/KucnJx9+/aRHabDhw8XCATnz59/8eJFdnZ2ZmbmsGHD4M47wCCQ\nQDth1puEAoFgz5495OvHjx8zmcw1a9YghEQiUXFxMb4bhhDq1KlTbGxscnJyVlaWnZ1daGho\nWFiYOZsKLBkEEmgnGARBtHYbmquwsLC6urpPnz5kf6tYLJbJZM7OzrT6oGtra52cnGh9WxcI\nBEwmk1YPrEqlkkgkjo6O1KvI5XKRSGRnZ0erD7q+vp7NZtPqg66rq1MoFK6urrT6oKurqxt9\nYKRNKC4ufvnyZa9evfh8fmu3BQCELHYcNAAAAEjQAABgoSBBAwCAhYIEDQAAFgoSNAAAWChL\nnIujaV6+fEmO2VAoFEqlUqFQ0BqNIJVKpVIprVEcEomEwWDI5XLqVTQajVKplEgk1KuoVCq5\nXC6VSmkN4MVvn9Y4FrlcrlKplEol3ZOgM0mInZ0drUclAQAGWcMwOzz0ldasQMCkPD09fX19\nW7sVtDVtdCYApmMNCRohJBKJmjDFDzARLpcLQ4kBaD4rSdAAAGB94CYhAABYKEjQAABgoSBB\nAwCAhYIEDQAAFgoSNAAAWChI0AAAYKGsfEB+SUnJ77//jhDCs7m3uHv37j148ODFixdKpdLV\n1XXIkCHBwcEte4jc3Nzk5ORXr17x+fygoKCwsDBTrC9lhjdiyZKTk2/duiWXy8lRp3w+//XX\nX29XJwFYIGtO0BKJ5OTJk4GBgXl5eSY6RHZ2tp+f37Bhw2xtbR89ehQfH6/RaAYNGtRS+y8t\nLT169OigQYOmTJlSWVmZmJhIEER4eHhL7Z9k6jdi4XJycmQymc3/a+9cY5q64gB+emmrLYjK\nUx6lCCjCRMtAEJCHOtBVg0xhY5o5hjO6BywMSWYWJzrRGRO/zJiZMWN0k6gbahVHVeRZigKF\ndsIAGaVKH+B4FShYaO8+3OymKaUvilQ4vw/N6b+n5/84t/+ennt6DomkUqmIRKJSqVSpVPMt\nCBArZM4maBRF//jjj+DgYDKZPHMJOi0tDS97eXnJZLKmpiYLfqQ5HI6joyOTyQQAuLq69vb2\n1tTUREdHW/xUvZl2xMpxcXFBEOSLL7746aef3N3d+Xy+Uqmk0+nzKggQK2TOzkGXl5erVKrY\n2NjXqXRiYsLW1taCDb548cLPzw9/6ufnp1QqpVKpBVXoxOKOWDlacSYQCCiKKhSKeRUEiBUy\nNxN0R0dHXV3drl27ZmK6dioaGhqkUmlERISlGkRRdHh42M7ODpdg5aGhIUup0InFHbFytOLc\n29urUqmwwvwJAsQ6mQtTHP/8889vv/2GldetWxcdHV1YWJiUlGTxHS+1FL377rv4S0+fPi0q\nKkpKSvLw8LCs0snM6LfO63RkdqmqqiopKdESjo6O9vT0LFiwYGxsLCwsbM4HAWLlzIUETaPR\nPv/8c6y8cOFCmUw2PDx89epVTIKiKIqix48fj46O3rhxowUV4fK6ujo2m52cnLxq1arptK8F\ngUCws7MbHh7GJVhZc0xtWWbIEeuEwWC4urpi5Zs3bw4PD9fV1cnlcicnp5cvXwIAAgMDZ9VA\nCGROJGgymezk5IQ/9fLywtMoAKCxsbGmpubgwYPTn0/UUoRRXl7O4XA+/PBDHx+fabY/GRqN\n1t7evmXLFuxpe3s7mUx2c3OzuCIww45YIXZ2ditWrMDKdDpdIBCMj48vXLiwr6+PQqEolcoZ\nijMEYjxzIUFrQSaTXVxc8KfYeFNTYkGKi4ufPHnCZDKpVKpMJgMA2NjYODs7W6r9qKioixcv\n3rt3LyQkRCaTcbnciIgIiy/hADPviJVDIBBGRkZsbW2xR4VCQaFQ2traEAQJCAiYbesg85c5\nmKBfJwKBQK1W3717F5c4ODhkZmZaqn1PT8/U1NRHjx7V19fb2tpGRkbGxcVZqnFNZtoRK6ej\nowMAMDIygj8qFIobN24QCISjR4/OsnGQeQzcsB8CgUCslLm5zA4CgUDmADBBQyAQiJUCEzQE\nAoFYKTBBQyAQiJUCEzQEAoFYKTBBQyAQiJUCE/Rcg8PhJCYm1tTUzJwKPp+fmJg4eSOLN5QZ\ndeeHH37YtWvXdFooKipK/J/XE3OLBETL8dbWVtyLCxcuTNvG+QL8o4pp9Pf337x5k8fj9fT0\nIAiyZMkSHx+fsLCwGfr/iE4mJibS0tLkcvmePXs++OCD16Z3OojF4oqKioiICG9v7+m0097e\n/vXXX8fHx2dkZMyQGZYy1bIcPHiQRqN5enrOtiFmQqPR8vLyFApFXl7ebNvyJgETtAlIpdKc\nnJzh4eHQ0NDo6GgbGxupVMrn88Vi8etM0FwuVy6Xu7m5PXjw4P3333+dW6qajUQiKSgocHNz\nm92sp9OMNWvW/P7770QiUU+dWcfX19ff33+2rTAfKpUaFBQkl8tn25A3DJigTeDGjRtyuTwj\nIyM+Pl5TLhaLX6cZ9+/f9/Dw2Lt376lTpxobG4ODg1+n9rkHgUAgk8mzbQUEogOYoE1AIpEA\nAMLDw7XkWrsGq1SqO3fulJaWisViBEH8/PxSUlLwNKpQKAoLCxsbG6VS6ejoqKOjY0RExO7d\nu/H9S1Uq1e3bt0tLS7u7uwEAS5cuDQgIOHDgAIVCAQB0d3cLBILAwMBffvmFQCCcOHEiMjJy\n9+7d+NZrLS0t2CObzW5sbFSpVDY2NsHBwUeOHMHH2vpVAABGRkauXbtWXV3d19dna2vLYDA0\nVWjBYrHy8/PPnj2reShJXl4en8+/fv06AKCgoKCgoAAAcPbs2bNnzwIAVq9effLkSYOxMhX9\nsZ3KDD6ff+TIka+++mrz5s1T1THoI8bAwMClS5eePHkyPj7u5+f38ccfTzbSIi4b7EGVSlVU\nVFRaWtrV1UUgEFxdXbFQGIzSVOr022yM4xAzgAnaBNzc3Jqbm8vKyhITE6eqo1arT5w4wePx\nNmzYkJCQoFQqy8rKcnNzs7OzY2JiAAAvX75ks9mRkZExMTFEIrGpqen27dvPnj07efIklkAv\nX7588+bN2NjY7du3IwjS09NTW1uL7a8GALh37x6Kok1NTXFxcb29vU1NTRwOp76+/syZM5rf\nEywWC0GQuLi4RYsWlZWV1dXVHTt2LDc3F3tVv4qxsbFvvvlGJBLFxcWtWrVKIpH8+eefk1UY\nz+bNm0kk0uXLl1NSUhgMBgAA2/rVYKxMRX9spzLDGFONYWxs7PDhwxKJZMuWLb6+vh0dHd99\n953WjoCWcll/D6pUqu+//57H461evTo1NZVKpXZ1dXE4HCxBG7wCtTBoszGOQ8wDJmgTSElJ\n4XK5+fn59+7dCwoK8vX1DQgIoNPpmnWKi4vr6+szMzPfeecdTJKYmHjo0KH8/PyoqCgbGxt3\nd/dLly7Z2NhgrzKZTG9v7ytXrggEgrVr1wIAqqurg4KCsrOz8Tb37NmDFdRqdXFxMQDgo48+\nSklJ6ezszMzMjI+PZ7PZP//8M55/AQAoiubn5y9ZsgQAsHfv3tTUVB6PJ5VKsVGwHhUAgFu3\nbolEIkwFJgkJCTl69KiWCuNxcXHBokSj0YKCgoyPlamK9Md2KjOMMdUYbt26JRaLP/vsM/yo\nHV9f33PnzmluD2spl/X3YFFREY/H2759+/79+/Gci2+LZvAK1MKgzcY4DjEPuMzOBNzd3X/8\n8cekpCQCgcBms8+fP5+RkZGRkfH333/jdR49erR48eKYmBjl/6hUqpiYmIGBAaFQCAAgkUj4\nZ0OlUimVyvXr14P/pyYAALa2tl1dXc+ePZtsQF1d3ejoKIlE2rFjBwDA29vb19e3ubl51apV\nDQ0NCoUCr/nWW29h2RkAQCQSsZ3puVyuQRUAgOrq6oULF2IqMIKDgyermD4GY2UqBmM7o1RX\nVy9atCghIQGXxMfHOzo6ataxlMv6e7CsrIxMJu/du1dzRIyXTY2SQZuNcRxiHnAEbRrOzs7p\n6enp6ekKhaKtra2ioqKkpOTYsWPnzp3DDlvp6upSKBTJycmT3zs4OIgVSkpK2Gy2UCh89eoV\n/ip+tFV6evrp06ezs7OdnZ0DAwPXrl0bHR29YMECAACbzcbmEwcGBrDKISEh169fDwsLQ1G0\np6cHX3jg5eWlqRr7tOA3M/WoAADIZDI3Nzet+2Z0Or2lpUVTxfQxJlamoj+2M4pMJqPT6Zqj\nYAKB4Onp2dzcjEss5bL+HhSLxW5ubnrmlE2KkkGbjXEcYh4wQZsJlUplMBgMBsPe3r6wsLCi\nomLnzp0AALVa7e7unpWVNfkt2CLWW7duXbx4MSwsLCMjw8HBgUQiDQ0NHT9+XK1WY9XWrFmT\nn5/P4/EEAsHTp0/Ly8uvXr165swZAEB9fT2Kol1dXZ9++qlmy11dXVq6dE4m4j9yp1KBj3pM\nWrqnszJ2MLZ+DMbKVAzG1myM9HFyNa391i3lsv4eRFFUTw+aGiVjbDboOMQ8YIKeLthtfeyY\nUQCAh4eHSCSi0+lTjV8ePHjg6ur67bff4td0U1OTVh0KhRIVFRUVFQUAqKysPHPmzJ07dygU\nilqtdnR0lMvlWVlZ+Lrd4uLixsZGAoGgeawXbg8GNjjCz0idSkVaWhoAYNmyZRKJRKlUag6i\nRSKRlgoc7FCxoaEhTaFUKtV8qjNfGIyVqRiMrTFfPDrrGOMjFjds2QwmQVFUawmmBV3W04Oe\nnp7Pnz8fGxvTqcWYK9Akm41xHGIecA7aBLAb5ZoSFEUrKiqAxpTCpk2bJiYmLl68qDWC6Ovr\nwwoIgqAoio9W1Gr1jRs3NGtqZQHs7wlDQ0MPHz50dXVNSEgYHx+XyWTr/8ff31+tVnt6elKp\nVPxdfD4f/8msUqmwucLQ0FA9KvBfuBEREWNjYywWS7O1lpYWBoOhqQIHW9rB4/FwCZfL1fp8\nYqsLtPQajJWpGIytTjO00FnHGB8jIiLkcvnDhw9xSUlJSW9vr2YdS7msvwfj4uKUSuWvv/6q\nWQfXaDBKWhi02RjHIeYBR9AmwGKxTp8+zWAwfH19qVTq4OBgbW2tSCTy9vbetGkTVofJZDY2\nNhYXF3d0dISHh9vb2//7778tLS2dnZ1XrlwBAERGRhYUFOTm5m7YsGF0dLSyslLruk9LS1u3\nbp2fn5+Dg8Pg4OD9+/cRBPHy8nrw4MHOnTvfe++96urqy5cvP3/+PCAgAFsDRyAQtMZ99vb2\n2dnZW7dupVAoFRUV/f39AIBly5bpUbFx40bsVZ0q7Ozs9u/frzMsK1eu9Pf3Z7FYo6OjdDpd\nKBQ+fvyYTqdjS3Qxli9fTiaT7969SyQS7ezsFi9evGbNGoOxmgqhUHjt2jUtYWJiosHY6jRD\nqx2ddYzxMSkpqby8/Pz58x0dHT4+Pp2dnSUlJTQaDTuEF8Nsl7XQ34Pbtm2rra1lsVhCoTAk\nJIRCoUilUh6Pd+7cOWDEFaiFQZuNcRxiHjbmLZyan3h5eVGp1OfPn/P5/MePHwuFwiVLljCZ\nzC+//BL/9YcgSExMjIODg1AorK6urq+vl8lkLi4uO3bswG6vBQYGkkikv/76q7KyUiQShYSE\n7Nu3j8Vi+fv7h4SEAACUSqVIJKqtra2qqhKJRMuXL8/IyOBwOC9evNi3b5+rq2tsbOzExERD\nQ0NVVZVEIgkNDXVycmppaQkPD1+6dGlDQ0Nra+vWrVtXr17NZrM5HA6CIB4eHr29vcnJydis\nhU4VgYGBmAtEInGyikOHDuGLoLu7u0tLS9evX+/j44NJ3n777e7u7sePHwsEAiqVmpOT09HR\n0d3djS/UI5FINBqtpaWlrKyssrKyp6dn8+bNBmM1mb6+Pjab3dfX99ckmExmaGio/tjqNEPL\nHZ11jPQxKiqqv7+fy+XW1dUhCJKVlSWVSiUSCb5lihkuP3v2rL6+PiEhAbsLjaG/BxEEiY2N\npVAora2tXC5XIBAMDw9HRkZiCwcNXoFaATFoszGOY7x69aqwsHDlypX4jzmIfuChsRCIVVNU\nVHThwoVTp06tWLGCSCQiyBs5LYmi6Pj4+NDQ0CeffLJt27YDBw7MtkVvBnCKAwJ5Azh8+DAA\nAPs/+mzbYg5tbW05OTmzbcWbBxxBQyBWzcDAAD7TvWzZssWLF8+uPeYxNjYmEomw8tKlS3Uu\nB4JMBiZoCAQCsVLeyPksCAQCmQ/ABA2BQCBWCkzQEAgEYqXABA2BQCBWCkzQEAgEYqXABA2B\nQCBWCkzQEAgEYqXABA2BQCBWyn95P0qgYIW8vAAAAABJRU5ErkJggg==", + "text/plain": [ + "plot without title" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# png(\"./tmax_only_abslat_preds_intense_preddiff_UNSCALED.png\", width=1440, height=700, res=180)\n", + "\n", + "y_limit = ylim(-1, 1)\n", + "\n", + "seas = plot(ggeffect(abslat_intense_re, terms='seasonal_departure')) + \n", + " baseline_hline + \n", + " xlab(\"Season\") +\n", + " ylab(\"Performance Difference\") +\n", + " ggtitle(\"A) Season\") + \n", + " y_limit \n", + "\n", + "\n", + "seaslat = plot(ggeffect(abslat_intense_re, terms=c('abslat_scaled', 'seasonal_departure'))) +\n", + " baseline_hline +\n", + " xlab(\"Absolute Latitude [scaled]\") +\n", + " ylab(\"Performance Difference\") +\n", + " ggtitle(\"B) Latitude\") + \n", + " y_limit \n", + "\n", + " \n", + "\n", + "grid.arrange(seas, seaslat, nrow=1, widths=c(1,1.3))\n", + "dev.off()\n", + "# seaslat" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Regular Latitude" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Coefficients**" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Scale for 'y' is already present. Adding another scale for 'y', which will\n", + "replace the existing scale.\n", + "Scale for 'y' is already present. Adding another scale for 'y', which will\n", + "replace the existing scale.\n" + ] + }, + { + "data": { + "text/html": [ + "null device: 1" + ], + "text/latex": [ + "\\textbf{null device:} 1" + ], + "text/markdown": [ + "**null device:** 1" + ], + "text/plain": [ + "null device \n", + " 1 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\nGAC4xtnZOS8vr6GhYcSIETKZLC0tzdHRMTY21rjHoNPT06nTxRobGy9cuJCVleXr6/vOO+8Y\nq397e/ucnJzm5mY7O7uysrKMjIzQ0FB/f39j9U8xdRYUljOCiyUB/CfcvHlz3759d+7csbS0\n9Pf3j4+Pt7KyMm6IjIyMy5cvNzY28vl8e3v76dOnz50717jnwJWUlGRmZspkMuofVYy+jSF9\nkgWFzYygQAMAcBSOQQMAcBQKNAAAR6FAAwBwFAo0AABHoUADAHAUCjQAAEehQAMMMGfPnuXx\nePv37+/vgRjToEyq91CgAUzlypUrPAPOnTvHpofbt28nJyeb4nrEPTagk+Lg+8kMF0sCMK2A\ngICwsLAOjaNHj2bz2tu3b6ekpIwdO3bSpEl0Y2BgYEtLiyluwsTeAE1Kb2guQ4EGMC1fX991\n69YZsUM+ny8Wi43YYQ8MyqQ4CIc4APpTe3v7119/7e3tLZFIJBKJh4dHfHy8QqEghCQnJ8+d\nO5cQsnDhQuoYwowZM8hAOFzb+6SOHj3K4/Fyc3NTU1PHjx8vFotfeumlY8eOEUKqq6vDwsKG\nDRtmZWUVGxvb1NREx21ubl63bt1rr71ma2srEonc3d0TExOfPXtGLTUUmhrw1q1bfX19zc3N\nJRLJjBkzTp8+zSYdU8MeNIBpyeXy6upq3RY+n09fJPOzzz7bsmVLbGzsxx9/zOfza2trT5w4\nIZfLJRJJfHy8SCRKSkpKSkp6++23CSF6r+rZL/omqc2bNzc0NCxcuFAkEu3cuTMqKurIkSMr\nVqwIDg7+/PPPS0pKDh06xOPxsrKyqPVlMll6enpERERMTIxQKPztt9+2bt36+++///rrrzwe\nz1BotVo9b968oqKiyMjIhISE1tbWzMzMWbNmZWVlxcTEMKdjmndXhxYATKOkpETvl04kEtHr\njB49eubMmYZ6yM/PJ4QcPHhQt/HMmTOEkH379plu5Az6JqkjR44QQtzc3Jqbm6mWa9euEUJ4\nPN7OnTvpV4WGhvL5/EePHlFPW1tb29radLv94osvCCFnzpxhCP39998TQn744Qe6pa2tzd/f\n38HBQaVSdZmOSWEPGsC03nrrrQ8//FC3RSAQ0I+lUumNGzdKSkpeeeWVPh9az/VNUh999BF9\nBU4vLy87O7uWlhbdOwQGBgYeP368urra1taWEKJ7UVCVSqVWq+fPn7927dpLly4FBQUZipKR\nkWFvbx8TE9Pa2ko3xsTErFmzpqKiIiAgoB/nCAUawLRGjRoVERFhaOmWLVuioqJeffVVV1fX\n119/PSgo6L333rOwsOjLEfZA3yQ1ZswY3ac2NjZmZmZ8Pl+3hRDy5MkTumX//v3p6ekVFRVK\npZJuZL6x7I0bN+Ryubm5eedFjY2NRkynB/AjIUB/CgwMvHv37o8//jhnzpzy8vLFixdPmDCh\nrq6uv8fVK8ZKir5lH0MLIUT7z0Xtt27dumjRIltb2z179pw7d664uPjEiROEEI1GwxBFo9F4\neHgU6zNlyhQjptMD2IMG6GcSiSQyMjIyMpIQkp2dHRMT8+2333711VeEEKPfLqTP9EtSe/fu\nHT169PHjx+kQ58+f111Bb+hx48ZVVlZ6eXkx3BaWIR2Twh40QH/q8Nf35MmTdRup8wSY/0Ln\noP5Kis/na7Va+k6sarV606ZNuivoDR0XF9fW1paYmKj9/7eXevDgAfWAOR2Twh40gGmVl5dv\n3LixQ+O7775L3e3UyckpJCQkICDA2dm5sbFxz549AoFg4cKF1Go+Pj5isXjHjh1CoVAqldrb\n2wcGBvZ1AvpwM6mIiIjk5OTZs2dHRUUpFIrs7OwONVdv6JUrV549e3bXrl1lZWWhoaF2dnYy\nmay4uLiiooI6Bs2cjmn1y7kjAP8Fhs5II4TQ54olJSVNnTrV1tZ2yJAhzs7OYWFhFy9e1O0k\nJyfHx8eHOj9h+vTpWq6eZmfcpKjT7H766SfdV40fP97Hx0e35eDBg4SQ/Px86qlKpdq4ceOY\nMWOEQuHIkSNXr1599+5dQsiqVasYQmu1WrVanZaWNnnyZEtLS7FYPGrUqLCwMPpsvC7TMR3c\nNBYAgKNwDBoAgKNQoAEAOAoFGgCAo1CgAQA4CgUaAICjUKABADgKBRoAgKNQoAEAOAoFGgCA\no1CgAQA4CgUaAICj/gdO7/LPViIG2AAAAABJRU5ErkJggg==", + "text/plain": [ + "plot without title" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# png(\"./tmax_only_polylat_compare_coefs_diff_UNSCALED.png\", width=1440, height=950, res=180)\n", + "y_limit = ylim(-5.5,5.5)\n", + "simple_coefs = plot_model(simple_re, ci.lvl=NA, show.values = TRUE, value.offset=.4) + y_limit + ggtitle(\"A) All MHWs\")\n", + "intense_coefs = plot_model(simple_intense_re,show.values = TRUE, value.offset=.4, ci.lvl=NA)+ y_limit + theme(axis.text.y = element_blank()) + ggtitle(\"B) Intense MHWs\")\n", + "grid.arrange(simple_coefs, intense_coefs, nrow=1, widths=c(2, 1) )\n", + "dev.off()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Coefficients Table**" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [], + "source": [ + "tab_model(\n", + " simple_re, simple_intense_re,\n", + " show.stat=TRUE, use.viewer=FALSE, \n", + " dv.labels=c(\"Performance Difference [all events]\", \"Performance Difference [intense events]\"), \n", + " file = \"tmax_only_polylat_coef_compare_table.html\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Predictions, all MHW**" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Scale for 'y' is already present. Adding another scale for 'y', which will\n", + "replace the existing scale.\n" + ] + }, + { + "data": { + "text/html": [ + "null device: 1" + ], + "text/latex": [ + "\\textbf{null device:} 1" + ], + "text/markdown": [ + "**null device:** 1" + ], + "text/plain": [ + "null device \n", + " 1 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "plot without title" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# png(\"./tmax_only_polylat_preds_preddiff.png\", width=1440, height=700, res=180)\n", + "\n", + " y_limit = ylim(-1, 1)\n", + "\n", + "seas = plot(ggeffect(simple_re, terms='seasonal_departure')) + \n", + " baseline_hline + \n", + " xlab(\"Season\") +\n", + " ylab(\"Performance Difference\") +\n", + " ggtitle(\"A) Season\") + \n", + " y_limit\n", + "\n", + "\n", + "# seaslat = plot(ggeffect(simple_re, terms=c('lat_scaled', 'season [summer, winter]'))) +\n", + "# baseline_hline +\n", + "# xlab(\"Latitude [scaled]\") +\n", + "# ylab(\"Performance Difference\") +\n", + "# ggtitle(\"B) Latitude\") + \n", + "# y_limit\n", + " \n", + "\n", + "grid.arrange(seas, seaslat, nrow=1, widths=c(1,1.3))\n", + "dev.off()\n", + "# seaslat" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Predictions, Intense MHW**" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Scale for 'y' is already present. Adding another scale for 'y', which will\n", + "replace the existing scale.\n" + ] + }, + { + "data": { + "text/html": [ + "null device: 1" + ], + "text/latex": [ + "\\textbf{null device:} 1" + ], + "text/markdown": [ + "**null device:** 1" + ], + "text/plain": [ + "null device \n", + " 1 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#png(\"./tmax_only_polylat_preds_intense_preddiff.png\", width=1440, height=700, res=180)\n", + "\n", + "seas = plot(ggeffect(simple_intense_re, terms='seasonal_departure')) + \n", + " baseline_hline + \n", + " xlab(\"Seasonal Departure\") +\n", + " ylab(\"Performance Difference\") +\n", + " ggtitle(\"A) Seasonal Departure\") + \n", + " ylim(-0.5, 0.5) \n", + "\n", + "\n", + "\n", + "# seaslat = plot(ggeffect(simple_intense_re, terms=c('lat_scaled', 'season [summer, winter]'))) +\n", + "# baseline_hline +\n", + "# xlab(\"Latitude [scaled]\") +\n", + "# ylab(\"Performance Difference\") +\n", + "# ggtitle(\"B) Latitude\") + \n", + "# ylim(-0.5, 0.5) \n", + "\n", + " \n", + "\n", + "# grid.arrange(seas, seaslat, nrow=1, widths=c(1,1.3)) \n", + "dev.off()\n", + "# seaslat" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Individual Models per Season" + ] + }, + { + "cell_type": "code", + "execution_count": 497, + "metadata": {}, + "outputs": [], + "source": [ + "winter_only = mhwPerformance %>% filter(season == \"winter\")\n", + "winter_re = lmer(performance_diff_mean ~ (abslat + sst_scaled)^2 + (1 | isolate), data=winter_only, )" + ] + }, + { + "cell_type": "code", + "execution_count": 498, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Linear mixed model fit by REML. t-tests use Satterthwaite's method [\n", + "lmerModLmerTest]\n", + "Formula: performance_diff_mean ~ (abslat + sst_scaled)^2 + (1 | isolate)\n", + " Data: winter_only\n", + "\n", + "REML criterion at convergence: -3908.4\n", + "\n", + "Scaled residuals: \n", + " Min 1Q Median 3Q Max \n", + "-5.8243 -0.3722 0.0080 0.3138 5.2430 \n", + "\n", + "Random effects:\n", + " Groups Name Variance Std.Dev.\n", + " isolate (Intercept) 0.021913 0.14803 \n", + " Residual 0.001287 0.03588 \n", + "Number of obs: 1141, groups: isolate, 75\n", + "\n", + "Fixed effects:\n", + " Estimate Std. Error df t value Pr(>|t|) \n", + "(Intercept) -8.181e-04 4.816e-02 1.777e+02 -0.017 0.986466 \n", + "abslat 5.187e-03 1.407e-03 1.697e+02 3.687 0.000306 ***\n", + "sst_scaled -4.865e-02 3.358e-02 3.815e+02 -1.449 0.148191 \n", + "abslat:sst_scaled 2.736e-03 7.421e-04 1.272e+02 3.687 0.000335 ***\n", + "---\n", + "Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1\n", + "\n", + "Correlation of Fixed Effects:\n", + " (Intr) abslat sst_sc\n", + "abslat -0.904 \n", + "sst_scaled -0.481 0.303 \n", + "abslt:sst_s 0.118 0.129 -0.814" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "summary(winter_re)" + ] + }, + { + "cell_type": "code", + "execution_count": 499, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Linear mixed model fit by REML. t-tests use Satterthwaite's method [\n", + "lmerModLmerTest]\n", + "Formula: performance_diff_mean ~ (abslat + sst_scaled)^2 + (1 | isolate)\n", + " Data: summer_only\n", + "\n", + "REML criterion at convergence: -4375.4\n", + "\n", + "Scaled residuals: \n", + " Min 1Q Median 3Q Max \n", + "-7.0612 -0.3711 -0.0288 0.3465 6.4595 \n", + "\n", + "Random effects:\n", + " Groups Name Variance Std.Dev.\n", + " isolate (Intercept) 0.032416 0.18004 \n", + " Residual 0.005367 0.07326 \n", + "Number of obs: 2003, groups: isolate, 75\n", + "\n", + "Fixed effects:\n", + " Estimate Std. Error df t value Pr(>|t|) \n", + "(Intercept) -1.818e-01 5.825e-02 1.716e+02 -3.121 0.00212 **\n", + "abslat 3.439e-03 1.692e-03 1.675e+02 2.033 0.04362 * \n", + "sst_scaled 1.080e-01 4.239e-02 2.940e+02 2.548 0.01133 * \n", + "abslat:sst_scaled -2.160e-03 9.399e-04 1.075e+02 -2.298 0.02349 * \n", + "---\n", + "Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1\n", + "\n", + "Correlation of Fixed Effects:\n", + " (Intr) abslat sst_sc\n", + "abslat -0.900 \n", + "sst_scaled -0.481 0.290 \n", + "abslt:sst_s 0.150 0.108 -0.837" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "summer_only = mhwPerformance %>% filter(season == \"summer\")\n", + "summer_re = lmer(performance_diff_mean ~ (abslat + sst_scaled)^2 + (1 | isolate), data=summer_only, )\n", + "summary(summer_re)" + ] + }, + { + "cell_type": "code", + "execution_count": 500, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Linear mixed model fit by REML. t-tests use Satterthwaite's method [\n", + "lmerModLmerTest]\n", + "Formula: performance_diff_mean ~ (abslat + sst_scaled)^2 + (1 | isolate)\n", + " Data: spring_only\n", + "\n", + "REML criterion at convergence: -2613.3\n", + "\n", + "Scaled residuals: \n", + " Min 1Q Median 3Q Max \n", + "-7.3284 -0.2555 0.0049 0.2718 6.8615 \n", + "\n", + "Random effects:\n", + " Groups Name Variance Std.Dev.\n", + " isolate (Intercept) 0.018823 0.1372 \n", + " Residual 0.006773 0.0823 \n", + "Number of obs: 1363, groups: isolate, 75\n", + "\n", + "Fixed effects:\n", + " Estimate Std. Error df t value Pr(>|t|) \n", + "(Intercept) -2.208e-02 6.034e-02 1.766e+02 -0.366 0.7149 \n", + "abslat 3.918e-03 1.734e-03 1.652e+02 2.259 0.0252 *\n", + "sst_scaled -1.478e-02 4.590e-02 2.218e+02 -0.322 0.7478 \n", + "abslat:sst_scaled 1.244e-03 7.886e-04 9.408e+01 1.577 0.1182 \n", + "---\n", + "Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1\n", + "\n", + "Correlation of Fixed Effects:\n", + " (Intr) abslat sst_sc\n", + "abslat -0.942 \n", + "sst_scaled -0.713 0.596 \n", + "abslt:sst_s 0.284 -0.085 -0.778" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "spring_only = mhwPerformance %>% filter(season == \"spring\")\n", + "spring_re = lmer(performance_diff_mean ~ (abslat + sst_scaled)^2 + (1 | isolate), data=spring_only, )\n", + "summary(spring_re)" + ] + }, + { + "cell_type": "code", + "execution_count": 501, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Linear mixed model fit by REML. t-tests use Satterthwaite's method [\n", + "lmerModLmerTest]\n", + "Formula: performance_diff_mean ~ (abslat + sst_scaled)^2 + (1 | isolate)\n", + " Data: fall_only\n", + "\n", + "REML criterion at convergence: -2220.3\n", + "\n", + "Scaled residuals: \n", + " Min 1Q Median 3Q Max \n", + "-7.8919 -0.3296 0.0008 0.3554 5.4018 \n", + "\n", + "Random effects:\n", + " Groups Name Variance Std.Dev.\n", + " isolate (Intercept) 0.016241 0.12744 \n", + " Residual 0.002272 0.04767 \n", + "Number of obs: 792, groups: isolate, 75\n", + "\n", + "Fixed effects:\n", + " Estimate Std. Error df t value Pr(>|t|) \n", + "(Intercept) -2.539e-02 5.468e-02 1.862e+02 -0.464 0.6430 \n", + "abslat 3.258e-03 1.577e-03 1.740e+02 2.066 0.0403 *\n", + "sst_scaled -2.935e-02 4.141e-02 2.373e+02 -0.709 0.4792 \n", + "abslat:sst_scaled 1.216e-03 7.236e-04 9.740e+01 1.680 0.0962 .\n", + "---\n", + "Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1\n", + "\n", + "Correlation of Fixed Effects:\n", + " (Intr) abslat sst_sc\n", + "abslat -0.940 \n", + "sst_scaled -0.701 0.580 \n", + "abslt:sst_s 0.270 -0.068 -0.777" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fall_only = mhwPerformance %>% filter(season == \"fall\")\n", + "fall_re = lmer(performance_diff_mean ~ (abslat + sst_scaled)^2 + (1 | isolate), data=fall_only, )\n", + "summary(fall_re)" + ] + }, + { + "cell_type": "code", + "execution_count": 502, + "metadata": {}, + "outputs": [], + "source": [ + "tab_model(\n", + " winter_re,\n", + " spring_re,\n", + " summer_re,\n", + " fall_re, \n", + " show.stat=TRUE,\n", + " use.viewer=FALSE, \n", + " dv.labels=c(\"Winter Only\", \"Spring Only\", \"Summer Only\", \"Autumn Only\"), \n", + " file = \"compare_season_models.html\"\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "theme_black = function(base_size = 12, base_family = \"\") {\n", + " \n", + " theme_grey(base_size = base_size, base_family = base_family) %+replace%\n", + " \n", + " theme(\n", + " # Specify axis options\n", + " axis.line = element_blank(), \n", + " axis.text.x = element_text(size = base_size*0.8, color = \"white\", lineheight = 0.9), \n", + " axis.text.y = element_text(size = base_size*0.8, color = \"white\", lineheight = 0.9), \n", + " axis.ticks = element_line(color = \"white\", size = 0.2), \n", + " axis.title.x = element_text(size = base_size, color = \"white\", margin = margin(0, 10, 0, 0)), \n", + " axis.title.y = element_text(size = base_size, color = \"white\", angle = 90, margin = margin(0, 10, 0, 0)), \n", + " axis.ticks.length = unit(0.3, \"lines\"), \n", + " # Specify legend options\n", + " legend.background = element_rect(color = NA, fill = \"black\"), \n", + " legend.key = element_rect(color = \"white\", fill = \"black\"), \n", + " legend.key.size = unit(1.2, \"lines\"), \n", + " legend.key.height = NULL, \n", + " legend.key.width = NULL, \n", + " legend.text = element_text(size = base_size*0.8, color = \"white\"), \n", + " legend.title = element_text(size = base_size*0.8, face = \"bold\", hjust = 0, color = \"white\"), \n", + " legend.position = \"right\", \n", + " legend.text.align = NULL, \n", + " legend.title.align = NULL, \n", + " legend.direction = \"vertical\", \n", + " legend.box = NULL, \n", + " # Specify panel options\n", + " panel.background = element_rect(fill = \"black\", color = NA), \n", + " panel.border = element_rect(fill = NA, color = \"white\"), \n", + " panel.grid.major = element_line(color = \"grey35\"), \n", + " panel.grid.minor = element_line(color = \"grey20\"), \n", + " panel.margin = unit(0.5, \"lines\"), \n", + " # Specify facetting options\n", + " strip.background = element_rect(fill = \"grey30\", color = \"grey10\"), \n", + " strip.text.x = element_text(size = base_size*0.8, color = \"white\"), \n", + " strip.text.y = element_text(size = base_size*0.8, color = \"white\",angle = -90), \n", + " # Specify plot options\n", + " plot.background = element_rect(color = \"black\", fill = \"black\"), \n", + " plot.title = element_text(size = base_size*1.2, color = \"white\"), \n", + " plot.margin = unit(rep(1, 4), \"lines\")\n", + " \n", + " )\n", + " \n", + "}\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "R [conda env:R]", + "language": "R", + "name": "conda-env-R-r" + }, + "language_info": { + "codemirror_mode": "r", + "file_extension": ".r", + "mimetype": "text/x-r-source", + "name": "R", + "pygments_lexer": "r", + "version": "3.6.1" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +}