{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "# Model-Data Confrontation in the Spectral Domain\n", "In this notebook, we demonstrate the use of the spectral analysis features of [Pyleoclim](https://pyleoclim-util.readthedocs.io/en/master/index.html) and reproduce the results of [Zhu et al. (2019)](https://www.pnas.org/content/early/2019/04/09/1809959116).\n", "The goal is to perform comparison of the climate variability across scales simulated by climate models and observed in proxy records." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Data Exploration\n", "\n", "Let's start by importing the packages that we will need:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", "import xarray as xr\n", "import pyleoclim as pyleo\n", "pyleo.set_style('web') # set the visual style" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### PMIP3 last millennium simulations\n", "\n", "The PMIP3 (Braconnot et al. 2012) simulations of the past millennium ([past1000](https://wiki.lsce.ipsl.fr/pmip3/doku.php/pmip3:design:lm:final)) of global mean surface temperature (GMST) are stored in a text file and can be imported with `Pandas` conveniently." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | Year | \n", "bcc_csm1_1 | \n", "CCSM4 | \n", "FGOALS_gl | \n", "FGOALS_s2 | \n", "IPSL_CM5A_LR | \n", "MPI_ESM_P | \n", "CSIRO | \n", "GISS-E2-R_r1i1p121 | \n", "GISS-E2-R_r1i1p127 | \n", "... | \n", "CESM_member_1 | \n", "CESM_member_2 | \n", "CESM_member_3 | \n", "CESM_member_4 | \n", "CESM_member_5 | \n", "CESM_member_6 | \n", "CESM_member_7 | \n", "CESM_member_8 | \n", "CESM_member_9 | \n", "CESM_member_10 | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "850 | \n", "-0.570693 | \n", "-0.431830 | \n", "NaN | \n", "-0.620995 | \n", "-0.475963 | \n", "-0.170230 | \n", "NaN | \n", "0.116333 | \n", "0.155407 | \n", "... | \n", "0.036672 | \n", "0.067692 | \n", "0.085340 | \n", "-0.000616 | \n", "0.157021 | \n", "0.048458 | \n", "0.038173 | \n", "-0.027151 | \n", "0.143404 | \n", "-0.053464 | \n", "
1 | \n", "851 | \n", "-0.698903 | \n", "-0.411177 | \n", "NaN | \n", "-0.753160 | \n", "-0.742970 | \n", "-0.303124 | \n", "-0.398695 | \n", "0.068174 | \n", "0.210337 | \n", "... | \n", "0.246816 | \n", "0.181400 | \n", "0.251417 | \n", "0.170710 | \n", "0.165139 | \n", "0.324856 | \n", "0.191677 | \n", "0.120951 | \n", "0.216921 | \n", "0.068698 | \n", "
2 | \n", "852 | \n", "-0.575440 | \n", "-0.404802 | \n", "NaN | \n", "-0.743508 | \n", "-0.758939 | \n", "-0.422623 | \n", "-0.406343 | \n", "0.060088 | \n", "0.240585 | \n", "... | \n", "0.187429 | \n", "0.065922 | \n", "0.190229 | \n", "0.264551 | \n", "0.092629 | \n", "0.386593 | \n", "0.068904 | \n", "0.292246 | \n", "0.101564 | \n", "0.200259 | \n", "
3 | \n", "853 | \n", "-0.724757 | \n", "-0.552719 | \n", "NaN | \n", "-0.869331 | \n", "-0.746460 | \n", "-0.335177 | \n", "-0.353557 | \n", "-0.074396 | \n", "0.030596 | \n", "... | \n", "0.202443 | \n", "0.089054 | \n", "-0.031298 | \n", "0.205805 | \n", "0.049447 | \n", "0.023312 | \n", "-0.041356 | \n", "0.206064 | \n", "0.212954 | \n", "0.288272 | \n", "
4 | \n", "854 | \n", "-0.724328 | \n", "-0.734938 | \n", "NaN | \n", "-0.826238 | \n", "-0.684093 | \n", "-0.650792 | \n", "-0.416140 | \n", "-0.402800 | \n", "-0.330589 | \n", "... | \n", "0.062795 | \n", "0.137882 | \n", "-0.233049 | \n", "-0.227240 | \n", "-0.156577 | \n", "-0.339176 | \n", "-0.103825 | \n", "0.058420 | \n", "-0.006102 | \n", "-0.006619 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
1161 | \n", "2011 | \n", "1.013544 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
1162 | \n", "2012 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
1163 | \n", "2013 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
1164 | \n", "2014 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
1165 | \n", "2015 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
1166 rows × 22 columns
\n", "\n", " | Year | \n", "bcc_csm1_1 | \n", "CCSM4 | \n", "FGOALS_gl | \n", "FGOALS_s2 | \n", "IPSL_CM5A_LR | \n", "MPI_ESM_P | \n", "CSIRO | \n", "HadCM3 | \n", "CESM | \n", "GISS | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "850 | \n", "-0.570693 | \n", "-0.431830 | \n", "NaN | \n", "-0.620995 | \n", "-0.475963 | \n", "-0.170230 | \n", "NaN | \n", "-0.620517 | \n", "0.049553 | \n", "0.127429 | \n", "
1 | \n", "851 | \n", "-0.698903 | \n", "-0.411177 | \n", "NaN | \n", "-0.753160 | \n", "-0.742970 | \n", "-0.303124 | \n", "-0.398695 | \n", "-0.553043 | \n", "0.193858 | \n", "0.138796 | \n", "
2 | \n", "852 | \n", "-0.575440 | \n", "-0.404802 | \n", "NaN | \n", "-0.743508 | \n", "-0.758939 | \n", "-0.422623 | \n", "-0.406343 | \n", "-0.560791 | \n", "0.185033 | \n", "0.098170 | \n", "
3 | \n", "853 | \n", "-0.724757 | \n", "-0.552719 | \n", "NaN | \n", "-0.869331 | \n", "-0.746460 | \n", "-0.335177 | \n", "-0.353557 | \n", "-0.438949 | \n", "0.120470 | \n", "-0.054552 | \n", "
4 | \n", "854 | \n", "-0.724328 | \n", "-0.734938 | \n", "NaN | \n", "-0.826238 | \n", "-0.684093 | \n", "-0.650792 | \n", "-0.416140 | \n", "-0.812194 | \n", "-0.081349 | \n", "-0.407169 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
1161 | \n", "2011 | \n", "1.013544 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
1162 | \n", "2012 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
1163 | \n", "2013 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
1164 | \n", "2014 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
1165 | \n", "2015 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
1166 rows × 11 columns
\n", "<xarray.Dataset> Size: 5MB\n", "Dimensions: (time: 48845)\n", "Coordinates:\n", " * time (time) float64 391kB -4.998e+06 -4.993e+06 ... 2.018e+03\n", "Data variables:\n", " EDC (time) float64 391kB ...\n", " HadCRUT4 (time) float64 391kB ...\n", " GAST (time) float64 391kB ...\n", " ProbStack (time) float64 391kB ...\n", " LMR (time) float64 391kB ...\n", " trace21ka_full (time) float64 391kB ...\n", " trace21ka_mwf (time) float64 391kB ...\n", " trace21ka_orb (time) float64 391kB ...\n", " trace21ka_ghg (time) float64 391kB ...\n", " trace21ka_ice (time) float64 391kB ...\n", " DGns (time) float64 391kB ...\n", " SIM2bl (time) float64 391kB ...
<xarray.Dataset> Size: 507kB\n", "Dimensions: (freq_bcc_csm1_1: 580, freq_CCSM4: 577,\n", " freq_FGOALS_gl: 499, freq_FGOALS_s2: 577,\n", " freq_IPSL_CM5A_LR: 577, freq_MPI_ESM_P: 577,\n", " freq_CSIRO: 574, freq_HadCM3: 575, freq_CESM: 577,\n", " freq_GISS: 577, freq_EDC: 2892, freq_HadCRUT4: 1007,\n", " freq_GAST: 999, freq_ProbStack: 1025, freq_LMR: 1000,\n", " freq_trace21ka_full: 1101, freq_DGns: 7499,\n", " freq_SIM2bl: 10499)\n", "Coordinates: (12/18)\n", " * freq_bcc_csm1_1 (freq_bcc_csm1_1) float64 5kB 0.001721 0.002582 ... 0.5\n", " * freq_CCSM4 (freq_CCSM4) float64 5kB 0.0008666 0.001733 ... 0.5\n", " * freq_FGOALS_gl (freq_FGOALS_gl) float64 4kB 0.001002 0.002004 ... 0.5\n", " * freq_FGOALS_s2 (freq_FGOALS_s2) float64 5kB 0.0008666 0.001733 ... 0.5\n", " * freq_IPSL_CM5A_LR (freq_IPSL_CM5A_LR) float64 5kB 0.0008666 ... 0.5\n", " * freq_MPI_ESM_P (freq_MPI_ESM_P) float64 5kB 0.0008666 0.001733 ... 0.5\n", " ... ...\n", " * freq_GAST (freq_GAST) float64 8kB 1e-06 1.5e-06 ... 0.0005\n", " * freq_ProbStack (freq_ProbStack) float64 8kB 2.439e-07 ... 0.00025\n", " * freq_LMR (freq_LMR) float64 8kB 0.0005 0.001 ... 0.4995 0.5\n", " * freq_trace21ka_full (freq_trace21ka_full) float64 9kB 9.074e-05 ... 0.05\n", " * freq_DGns (freq_DGns) float64 60kB 0.0001333 0.0002 ... 0.5\n", " * freq_SIM2bl (freq_SIM2bl) float64 84kB 9.524e-05 0.0001429 ... 0.5\n", "Data variables: (12/18)\n", " bcc_csm1_1 (freq_bcc_csm1_1) float64 5kB ...\n", " CCSM4 (freq_CCSM4) float64 5kB ...\n", " FGOALS_gl (freq_FGOALS_gl) float64 4kB ...\n", " FGOALS_s2 (freq_FGOALS_s2) float64 5kB ...\n", " IPSL_CM5A_LR (freq_IPSL_CM5A_LR) float64 5kB ...\n", " MPI_ESM_P (freq_MPI_ESM_P) float64 5kB ...\n", " ... ...\n", " GAST (freq_GAST) float64 8kB ...\n", " ProbStack (freq_ProbStack) float64 8kB ...\n", " LMR (freq_LMR) float64 8kB ...\n", " trace21ka_full (freq_trace21ka_full) float64 9kB ...\n", " DGns (freq_DGns) float64 60kB ...\n", " SIM2bl (freq_SIM2bl) float64 84kB ...