PaleoHack: Putting EarthCube tools in the hands of paleogeoscientists#

Authors#

Deborah Khider1, Julien Emile-Geay2, Alexander James2, Feng Zhu3

1 Information Sciences Institute, University of Southern California 2 Department of Earth Sciences, University of Southern California 3 Nanjing University of Information Science and Technology

  • Author1 = {“name”: “Deborah Khider”, “affiliation”: “Information Sciences Institute, University of Southern California”, “email”: “khider@usc.edu”, “orcid”: “0000-0001-7501-8430”}

  • Author2 = {“name”: “Julien Emile-Geay”, “affiliation”: “Department of Earth Sciences, University of Southern California”, “email”: “julieneg@usc.edu”, “orcid”: “0000-0001-5920-4751”}

  • Author3 = {“name”: “Alexander James”, “affiliation”: “Department of Earth Sciences, University of Southern California”, “email”: “akjames@usc.edu”, “orcid”: “0000-0001-8561-3188”}

  • Author4 = {“name”: “Feng Zhu”, “affiliation”: “Nanjing University of Information Science and Technology”, “email”: “fzhu@nuist.edu”, “orcid”: “0000-0002-9969-2953”}

Table of Contents

Purpose#

PaleoHack aims to train a new generation of paleogeoscientists to use emerging standards and tools developed through EarthCube, namely the Linked Paleo Data Format (LiPD [1]) and Pyleoclim [2]. Training is accomplished through biannual hackathons open to researchers at various career stages. The activities are organized around eight self-guided Jupyter Notebook-based tutorials deployed on a JupyterHub walking the participants through an introduction to Pyleoclim and its object-oriented programming interface to using the package in advanced scientific paleoclimate workflows [3]. These notebooks were based on several studies published within the LinkedEarth group over the past several years.

The notebooks are hosted on GitHub and made available through myBinder for execution, allowing a growing number of scientists to access these training resources without participating in the hackathons. Notebooks 1 and 2 provide general Python and Pyleoclim tutorials while Notebooks 3 to 8 walk through workflows from published studies in the field using Pyleoclim. The notebooks provide example code that can be executed with the data uploaded to the GitHub repository and exercises to test understanding of specific functionalities.

In addition to the Pyleoclim-dedicated notebooks, a basic scientific Python training website was deployed for new Python users. This website uses material developed by the EarthCube community, in particular Project Pythia. Although it is not meant as a replacement for an Introduction to Python course, it provides a basic understanding of data structures and analysis code in Python, which Pyleoclim aims to automate and complement for paleoclimate datasets.

The purpose of this notebook is to walk through two of the notebooks and the pedagogy behind its development. In this particular examples, we will be examining (1) the relationship between insolation and a composite of three \(\delta^{18}O\) records from Chinese speleothems (Sanbao, Hulu, and Dongge caves, [4]) and (2) the danger of relying too strongly on correlation analysis for the interpretation of paleoclimate data using a speleothem record from Crystal Cave, CA ([5]). The version presented here is the instructor copy, which contains the answers to the various exercises and is stored on a private GitHub repository.

Technical contributions#

  • Leverage existing functionalities in Pyleoclim to understand the relationship between orbital forcing and cave \(\delta^{18}O\) from China and pitfalls resulting from correlation analysis.

  • Teach fundamental statistical concepts and associated pitfalls.

  • Introduce Pyleoclim functionalities that enable the rapid analysis and visualization of paleoclimate data.

Methodology#

This notebook utilizes Pyleoclim[2], a Python package for the analysis and visualization of paleoclimate data. Pyleoclim builds upon standard Python libraries, namely numpy, pandas, matplotlib, cartopy, and scikit-learn (among others). The package is designed around object-oriented Series, which can be manipulated for plotting, spectral and wavelet analysis, and other time series appropriate operations.

An high-level diagram of Pyleoclim user APIs is shown below.

This notebook features two tutorials based on paleoclimate records obtained from both non-LiPD (csv and a record generated from the climlab library [6]) and LiPD-formatted datasets to illustrate how Pyleoclim can be used with various data formats. It walks through basic data visualization and analysis of the records using coherence, correlation, and causality. During hackahtons, participants are asked to answer specific questions in the notebooks, designed to help them learn Pyleoclim as well as critically thinking about their scientific objectives. For the purpose of this presentation, the answers will be provided in cells labeled as answers.

Results#

The primary objective of this notebook is to serve as a learning tool for scientists engaged in paleoclimate research at all career stage. It is also an introduction in the use of the Pyleoclim software package.

Funding#

Award1 = {“agency”: “US National Science Foundation”, “award_code”: “1541029”, “award_URL”: https://www.nsf.gov/awardsearch/showAward?AWD_ID=1541029&HistoricalAwards=false}

Award2 = {“agency”: “JP Morgan”}

Award3 = {“agency”: “US National Science Foundation”, “award_code”: “2002556”, “award_URL”: https://www.nsf.gov/awardsearch/showAward?AWD_ID=2002556&HistoricalAwards=false}

Award3 = {“agency”: “US National Science Foundation”, “award_code”: “2126510”, “award_URL”: https://www.nsf.gov/awardsearch/showAward?AWD_ID=2126510&HistoricalAwards=false}

Keywords#

keywords=[“Paleoclimate”,”LiPD”,”Python”,”Coherence”,”Correlation”,”Causality’]

Citation#

Khider D., Emile-Geay, J., James, A., Zhu, F. (2022). PaleoHack: Putting EarthCube tools in the hands of paleogeoscientists. Jupyter Notebook.

Acknowledgements#

The LinkedEarth team would like to thank the EarthCube Technology and Architecture Committee for their support in developing and deploying an introduction Python tutorial and 2i2c for providing JupyterHub capabilities during the hackathons.

Setup#

Library import#

We will import 6 libraries:

  • numpy, to facilitate operations with:

  • climlab, a Python package for process-oriented modeling, which we will use to compute insolation curves for specific orbital timescales.

  • pandas, to read csv

  • xarray to read and analyze gridded data

  • cartopy, seaborn and matplotlib for visualizations

  • Pyleoclim

# Data manipulation and analysis
import numpy as np
import matplotlib.pyplot as plt
import xarray as xr
import pandas as pd
import cartopy.crs as ccrs
import cartopy.feature as cfeature
from cartopy.mpl.ticker import LongitudeFormatter, LatitudeFormatter
import seaborn as sns

#relevant climlab libraries
from climlab import constants as const
from climlab.solar.orbital import OrbitalTable
from climlab.solar.insolation import daily_insolation

#pyleoclim and set its style to 'web'
import pyleoclim as pyleo
pyleo.set_style('web')

Data import#

We will import the following datasets throughout the notebook:

  • Tutorial 1:

    • A composite record of Chinese speleothem \(\delta^{18}O\) (Sanbao_composite.csv) [4]. The data is in tabular format with the first column representing age and the second column the \(\delta^{18}O\).

    • This record will be compared to a generated insolation curve from the climlab package [5].

  • Tutorial 2:

    • A \(\delta^{18}O\) speleothem record from Crystal Cave, California ([6]), stored in LiPD format

    • the Met Office Hadley Centre’s sea surface temperature dataset (HadSST.4.0.1.0) a monthly global field of SST on a 5° latitude by 5° longitude grid from 1850 to date, stored in NetCDF [7].

Data Processing and Analysis#

Tutorial 1: Forcing and response#

A common task in paleoclimatology is to relate a record (or several of them) to what is thought to be their forcing. A classic example comes \(\delta^{18}O\) records from Chinese speleothems, broadly interpreted as reflecting continental-scale monsoon circulations. In this notebook we focus on a composite of three Chinese speleothem records (Sanbao, Hulu, and Dongge caves) [4] and its relationship to insolation.

The composite isn’t available in LiPD form, so we create a Series object by hand:

lat_sb = 31.67 # latitude of the composite, defined
df = pd.read_csv('./data/Sanbao_composite.csv')
tsb = pyleo.Series(time=df['age']/1000,time_name='Age',time_unit='ky BP',label='Sanbao/Hulu/Dongge x(-1)',
                  value=-df['d18O'],value_name=r'$\delta^{18}$O',value_unit=u'\u2030')
tsb.plot()
(<Figure size 720x288 with 1 Axes>,
 <AxesSubplot:xlabel='Age [ky BP]', ylabel='$\\delta^{18}$O [‰]'>)
../../_images/DK_v1_PaleoHack_6_1.png

Note that we multiply the record by −1, as the record is conventionally interpreted as “more intense monsoon –> greater isotopic depletion”.

Exercise 1.1 Use the summary_plot method to inspect the spectral content of this record. Note that the number of significance test is set to zero by default to save time. For publication-ready plots, you may want to set this to at least 200.

##your code here##

Answer 1.1

tsb.summary_plot(n_signif_test=0)
OMP: Info #273: omp_set_nested routine deprecated, please use omp_set_max_active_levels instead.
(<Figure size 576x720 with 4 Axes>,
 {'ts': <AxesSubplot:xlabel='Age [ky BP]', ylabel='$\\delta^{18}$O [‰]'>,
  'scal': <AxesSubplot:xlabel='Age [ky BP]', ylabel='Period [kyrs]'>,
  'psd': <AxesSubplot:xlabel='PSD'>})
../../_images/DK_v1_PaleoHack_10_2.png

Sustained power in the ~20ky is evident, suggesting a link to orbital precession. Let us investigate this link in more details:

Constructing insolation curves#

Speleothem records from Asia are often compared to summertime insolation (though the latitude of this field is not always consistently chosen). To compute the insolation, we make use of the excellent package climlab by Brian Rose [6].

kyears = np.linspace(-400, 0, 1001 ) # specify time interval and units
orb = OrbitalTable.interp(kyear=kyears) # subset of orbital parameters for specified time
days = np.linspace(0, const.days_per_year, 365)

Qsb = daily_insolation(lat_sb, days, orb) # generate insolation  at Sanbao latitude
Qsb_jja = np.mean(Qsb[:,151:243], axis=1)  # Julian days 152-243 are JJA

Note that calendar effects are non-negligible at those scales [8]. To be perfectly rigorous, we should take those into account. But this is a hackathon, so let’s proceed.

Orbital Coherence#

Given the scalogram above, the real question is: what sort of phase lag is there between summertime insolation and the isotopic record? To answer this, let’s put the heating into a Series object so we can unlock some Pyleoclim magic.

qsb = pyleo.Series(time=-kyears,time_name='Age',time_unit='ky BP',label='JJA insolation',
                   value=Qsb_jja,value_name='Insolation',value_unit=r'$W.m^{-2}$' )
qsb.plot()
(<Figure size 720x288 with 1 Axes>,
 <AxesSubplot:xlabel='Age [ky BP]', ylabel='Insolation [$W.m^{-2}$]'>)
../../_images/DK_v1_PaleoHack_14_1.png

Exercise 1.2 Plot the two on the same graph. Because of the different units, you might want to standardize first.

##your code here##

Answer 1.2

qsb_std=qsb.standardize()
tsb_std=tsb.standardize()

fig,ax = tsb_std.plot()
qsb_std.plot(ax=ax)
<AxesSubplot:xlabel='Age [ky BP]', ylabel='Insolation [$W.m^{-2}$]'>
../../_images/DK_v1_PaleoHack_18_1.png

There does seem to be extremely coherent behavior at orbital scales, something that we can confirm using using wavelet coherence:

coh = qsb.wavelet_coherence(tsb)
coh.plot()
(<Figure size 720x576 with 2 Axes>,
 <AxesSubplot:xlabel='Age [ky BP]', ylabel='Period [kyrs]'>)
../../_images/DK_v1_PaleoHack_20_1.png

Exercise 1.3 Interpret this plot, leaning on the documentation of coherence. What do arrows pointing to the right mean?

Answer 1.3 In the 20kyr band, the records are in phase (the arrows are pointing right).

We do see fairly incoherent behavior at short time scales. That is to be expected, as the insolation curve is a very smooth, modulated harmonic (or nearly so) coming from theoretical calculations, while the speleothem composite is a real-world dataset with real-world uncertainties. Before spending valuable CPU time to compute significance limits (a non-trivial endeavor), let’s break out some possible tools to clean this up.

Clean-up tool #1: Lowpass filter.#

Given that all the noise appears to be at scales shorter than ~5ky, the simplest thing is to filter them out. Of course, Pyleoclim has a button for that.

Exercise 1.4 Look up the filter method for the Series class and apply with a cutoff scale of 10 kyr. Then plot it on top of the original, with proper labels.

##your code here##

Answer 1.4

tsb_filter = tsb.filter(cutoff_freq=1/10)
tsb_filter.label='Sanbao/Hulu/Dongge - 10kyr filter x(-1)'
fig,ax = tsb.plot()
tsb_filter.plot(ax=ax)
<AxesSubplot:xlabel='Age [ky BP]', ylabel='$\\delta^{18}$O [‰]'>
../../_images/DK_v1_PaleoHack_24_1.png

Clean-up tool #2: Singular spectrum analysis (SSA)#

The previous notebook in the hackathon series (not reproduced here) introduces SSA, which we now apply to this record. However, this turns out to be quite a long series for SSA, and the decomposition takes an impossibly long while. Since our purpose is to isolate long wavelengths (low frequencies), it’s just as convenient to first coarse-grain the series prior to analysis. For this, we use gkernel, which is quite good at smoothing along the way:

tsb_coarse = tsb.gkernel(step=2)
fig, ax = tsb.plot(mute=True,label='original')
tsb_coarse.plot(ax=ax,label='gkernel')
pyleo.showfig(fig)
../../_images/DK_v1_PaleoHack_26_0.png

Let’s try SSA reconstruction on this new series:

Exercise 1.5: Experiment with SSA truncation methods to find a tradeoff that best isolates features of interest.

##your code here##

Answer 1.5

ssa = tsb_coarse.ssa()
tsb_ssa = tsb_coarse.copy()
tsb_ssa.value = ssa.RCseries
fig, ax = tsb.plot(mute=True,label='original')
tsb_ssa.plot(ax=ax,label='SSA reconstruction')
pyleo.showfig(fig)
../../_images/DK_v1_PaleoHack_30_0.png

Exercise 1.6 Compare the two filtering methods, apply a summary plot to them

##your code here##

Answer 1.6

fig,ax = tsb_filter.plot()
tsb_ssa.plot(ax=ax,label='SSA')
<AxesSubplot:xlabel='Age [ky BP]', ylabel='$\\delta^{18}$O [‰]'>
../../_images/DK_v1_PaleoHack_34_1.png
tsb_filter.summary_plot()
(<Figure size 576x720 with 4 Axes>,
 {'ts': <AxesSubplot:xlabel='Age [ky BP]', ylabel='$\\delta^{18}$O [‰]'>,
  'scal': <AxesSubplot:xlabel='Age [ky BP]', ylabel='Period [kyrs]'>,
  'psd': <AxesSubplot:xlabel='PSD'>})
../../_images/DK_v1_PaleoHack_35_1.png
tsb_ssa.summary_plot()
(<Figure size 576x720 with 4 Axes>,
 {'ts': <AxesSubplot:xlabel='Age [ky BP]', ylabel='$\\delta^{18}$O [‰]'>,
  'scal': <AxesSubplot:xlabel='Age [ky BP]', ylabel='Period [kyrs]'>,
  'psd': <AxesSubplot:xlabel='PSD'>})
../../_images/DK_v1_PaleoHack_36_1.png

Now we can plot the filtered series next to the insolation curve.

Exercise 1.7 Put the two series on a common timescale (hint: use common_time()), and plot them together.

##your code here##

Answer 1.7

ms  = pyleo.MultipleSeries([qsb.standardize(), tsb_filter.standardize()])
msc = ms.common_time()
msc.plot()
(<Figure size 720x288 with 1 Axes>,
 <AxesSubplot:xlabel='Age [ky BP]', ylabel='value'>)
../../_images/DK_v1_PaleoHack_40_1.png

Exercise 1.8 Recompute wavelet coherence with the coarse-grained, filtered isotopic record. What changes? Was it worth it? How would you summarize the relationship between insolation and the Sanbao/Hulu/Dongge composite?

##your code here##

Answer 1.8: Cleaned up effectively for frequencies down to 1/10kyr (to be expected from the filter). Record seems to be in-phase with insolation over the orbital band.

qs = msc.series_list[0]
ts = msc.series_list[1] 
coh = qs.wavelet_coherence(ts)
coh.plot()
(<Figure size 720x576 with 2 Axes>,
 <AxesSubplot:xlabel='Age [ky BP]', ylabel='Period [kyrs]'>)
../../_images/DK_v1_PaleoHack_44_1.png

Now, this plot is still messy at high frequencies, and because they don’t mean anything here, let’s truncate them:

coh.plot(ylim=[10,200])
(<Figure size 720x576 with 2 Axes>,
 <AxesSubplot:xlabel='Age [ky BP]', ylabel='Period [kyrs]'>)
../../_images/DK_v1_PaleoHack_46_1.png

Causality#

It’s been known for about 300 years that correlation does not imply causation, so several methods have been devised to try to extract the notion of causality from timeseries data. Pyleoclim offers access to two of them:

(optional) Exercise 1.9 Run the two and compare their output. How do you interpret it?

##your code here##

Answer 1.9

caus = qs.causality(ts, settings={'nsim': 2000, 'signif_test': 'isopersist'})
print(caus)
Calculating causality between surrogates: 100%|█| 2000/2000 [00:01<00:00, 1623.0
{'T21': 0.039168471072954736, 'tau21': 0.43318227773745466, 'Z': 0.09042029899638268, 'dH1_star': -0.5025426372734798, 'dH1_noise': 0.06427508498906548, 'signif_qs': [0.005, 0.025, 0.05, 0.95, 0.975, 0.995], 'T21_noise': array([-0.00187154, -0.00113135, -0.00075059,  0.00654468,  0.00833227,
        0.01386947]), 'tau21_noise': array([-0.13523884, -0.07913376, -0.0494772 ,  0.213095  ,  0.2430417 ,
        0.3192701 ])}

caus_granger = qs.causality(ts, method = 'granger')
print(caus_granger)
Granger Causality
number of lags (no zero) 1
ssr based F test:         F=71.7747 , p=0.0000  , df_denom=996, df_num=1
ssr based chi2 test:   chi2=71.9909 , p=0.0000  , df=1
likelihood ratio test: chi2=69.5152 , p=0.0000  , df=1
parameter F test:         F=71.7747 , p=0.0000  , df_denom=996, df_num=1
{1: ({'ssr_ftest': (71.77473402543427, 8.578330792335588e-17, 996.0, 1), 'ssr_chi2test': (71.9909229833422, 2.161895350835816e-17, 1), 'lrtest': (69.51523167446521, 7.582667759818336e-17, 1), 'params_ftest': (71.77473402543282, 8.578330792341744e-17, 996.0, 1.0)}, [<statsmodels.regression.linear_model.RegressionResultsWrapper object at 0x17c9f9910>, <statsmodels.regression.linear_model.RegressionResultsWrapper object at 0x153c45400>, array([[0., 1., 0.]])])}

This analysis suggests a causal relationship between insolation and the speleothem \(\delta^{18}O\) composite.

Tutorial 2: Fishing for Correlations at Sea#

Correlation analysis, despite its simplicity and many shortcomings, remains a centerpiece of empirical analysis in many fields, particularly the paleosciences. Computing correlations is trivial enough; the difficulty lies in properly assessing their significance. Of particular importance are four considerations:

  1. Persistence, which violates the standard assumption that the data are independent (which underlies the classical test of significance implemented, e.g. in Excel).

  2. Time irregularities, for instance comparing two records with different time axes, possibly unevenly spaced (which standard software cannot deal with out of the box)

  3. Age uncertainties, for example comparing two records, each with an ensemble of plausible chronologies (generated, for instance, by a Bayesian age model)

  4. Test multiplicity aka the “Look Elsewhere effect”, which states that repeatedly performing the same test can result in unacceptably high type I error (accepting correlations as significant, when in fact they are not). This arises e.g. when correlating a paleoclimate record with an instrumental field, assessing significance at thousands of grid points at once, or assessing significance within an age ensemble.

Accordingly, Pyleoclim facilitates an assessment of correlations that deals with all these cases, makes the necessary data transformations transparent to the user, and allows for one-line plot commands to visualize the results.

A case study from Crystal Cave#

In this notebook we reproduce the case of [9], particularly the example of their section 4, which illustrates several of these pitfalls at once. The example illuminates the issue of relying too strongly on correlations between a paleoclimate record and an instrumental field to interpret the record. Before we start, a disclaimer: the studies investigated in this paper are by no means isolated cases. They just happened to be cases that we knew about, and thought deserved a second look in light of more rigorous statistics. The same study could have been written by subsituting any number of other records interpreted, wholly or in part, on the basis of correlations. Accordingly, what follows should not be viewed as an indictment of a particularly study or group of authors, rather, at how easy it is by the best-intentioned scientists to get fooled by spurious correlations, and (thankfully), how easy we’ve made it not get similarly fooled by carrying out this analysis with pyleoclim.

The Crystal Cave record#

The example uses the speleothem record of [6] from Crystal Cave, California, in the Sequoia National Forest. Of interest to us is the \(\delta^{18}O\) record, which the authors interepret as reflecting sea-surface temperatures (SST) in the Kuroshio Extension region of the West Pacific. This is a strong claim, given that no mechanistic link is proposed, and relies entirely on an analysis of correlations between the record and instrumental SST.

We first load and plot this record. Since this record is available in LiPD format, we can use methods specific to this file format, which rely on the greater availability of metadata.

d = pyleo.Lipd('./data/Crystal.McCabe-Glynn.2013.lpd')
cc = d.to_LipdSeries(number=2)   
Disclaimer: LiPD files may be updated and modified to adhere to standards

reading: Crystal.McCabe-Glynn.2013.lpd
1.42 MB :That's a big file! This may take a while to load...
Finished read: 1 record
extracting paleoData...
extracting: Crystal.McCabe-Glynn.2013
Created time series: 3 entries

Let’s do a quick plot to check that we have what we want:

fig, ax = cc.plot()
../../_images/DK_v1_PaleoHack_55_0.png

Notice how the code harvested the correct metadata from the LiPD file. If everything is in its right place, it makes it easy to exploit that information. If you’re feeling more frisky, you can even ask for a whole dashboard, including a spectrum:

cc.dashboard(metadata=False)
Performing spectral analysis on individual series: 100%|█| 200/200 [00:32<00:00,
(<Figure size 792x576 with 4 Axes>,
 {'ts': <AxesSubplot:xlabel='Age [AD]', ylabel='d18o [permil VPDB]'>,
  'dts': <AxesSubplot:xlabel='PDF'>,
  'map': <GeoAxesSubplot:>,
  'spec': <AxesSubplot:xlabel='Period [yrs]', ylabel='PSD'>})
../../_images/DK_v1_PaleoHack_57_2.png

This is a very high resolution record, with near-annual spacing (check it), and a broadly red spectrum that exhibits a number of spectral peaks at interannual and decadal scales.

SST data#

The original paper correlated the above record against the Kaplan SST dataset. In this notebook we instead use the HadSST4 dataset [7], which is more up to date. During the hackathons, the dataset is downloaded to obtain the most up-to-date version. Here a copy is provided (downloaded April 2022).

We load via the xarray package:

ds = xr.open_dataset('./data/HadSST.4.0.1.0_median.nc')
print(ds)
<xarray.Dataset>
Dimensions:         (time: 2066, latitude: 36, longitude: 72, bnds: 2)
Coordinates:
  * time            (time) datetime64[ns] 1850-01-16T12:00:00 ... 2022-02-15
  * latitude        (latitude) float64 -87.5 -82.5 -77.5 ... 77.5 82.5 87.5
  * longitude       (longitude) float64 -177.5 -172.5 -167.5 ... 172.5 177.5
Dimensions without coordinates: bnds
Data variables:
    tos             (time, latitude, longitude) float32 ...
    time_bnds       (time, bnds) datetime64[ns] ...
    latitude_bnds   (latitude, bnds) float64 ...
    longitude_bnds  (longitude, bnds) float64 ...
Attributes:
    comment:      
    history:      Converted to netcdf today
    institution:  Met Office
    reference:    Kennedy et al. (2019), https://www.metoffice.gov.uk/hadobs/...
    source:       surface observation
    title:        Ensemble-median sea-surface temperature anomalies from the ...
    version:      HadSST.4.0.1.0
    Conventions:  CF-1.7

As an example, let’s only consider the Northern Hemisphere Pacific Ocean. For practicality, let’s first adjust the coordinate system so that longitude is expressed from 0 to 360 degrees instead of 180W to 180E:

ds_rolled = ds.assign_coords(longitude=(ds.longitude % 360)).roll(longitude=(ds.dims['longitude'] // 2))
ds_rolled
<xarray.Dataset>
Dimensions:         (time: 2066, latitude: 36, longitude: 72, bnds: 2)
Coordinates:
  * time            (time) datetime64[ns] 1850-01-16T12:00:00 ... 2022-02-15
  * latitude        (latitude) float64 -87.5 -82.5 -77.5 ... 77.5 82.5 87.5
  * longitude       (longitude) float64 2.5 7.5 12.5 17.5 ... 347.5 352.5 357.5
Dimensions without coordinates: bnds
Data variables:
    tos             (time, latitude, longitude) float32 nan nan nan ... nan nan
    time_bnds       (time, bnds) datetime64[ns] 1850-01-01 ... 2022-03-01
    latitude_bnds   (latitude, bnds) float64 -90.0 -85.0 -85.0 ... 85.0 90.0
    longitude_bnds  (longitude, bnds) float64 0.0 5.0 5.0 10.0 ... -5.0 -5.0 0.0
Attributes:
    comment:      
    history:      Converted to netcdf today
    institution:  Met Office
    reference:    Kennedy et al. (2019), https://www.metoffice.gov.uk/hadobs/...
    source:       surface observation
    title:        Ensemble-median sea-surface temperature anomalies from the ...
    version:      HadSST.4.0.1.0
    Conventions:  CF-1.7

Now let’s select the needed data:

ds_sel = ds_rolled.sel(longitude=slice(120,280),latitude=slice(0,90))
ds_sel
<xarray.Dataset>
Dimensions:         (time: 2066, latitude: 18, longitude: 32, bnds: 2)
Coordinates:
  * time            (time) datetime64[ns] 1850-01-16T12:00:00 ... 2022-02-15
  * latitude        (latitude) float64 2.5 7.5 12.5 17.5 ... 72.5 77.5 82.5 87.5
  * longitude       (longitude) float64 122.5 127.5 132.5 ... 267.5 272.5 277.5
Dimensions without coordinates: bnds
Data variables:
    tos             (time, latitude, longitude) float32 nan -0.1923 ... nan nan
    time_bnds       (time, bnds) datetime64[ns] 1850-01-01 ... 2022-03-01
    latitude_bnds   (latitude, bnds) float64 0.0 5.0 5.0 10.0 ... 85.0 85.0 90.0
    longitude_bnds  (longitude, bnds) float64 120.0 125.0 125.0 ... -85.0 -80.0
Attributes:
    comment:      
    history:      Converted to netcdf today
    institution:  Met Office
    reference:    Kennedy et al. (2019), https://www.metoffice.gov.uk/hadobs/...
    source:       surface observation
    title:        Ensemble-median sea-surface temperature anomalies from the ...
    version:      HadSST.4.0.1.0
    Conventions:  CF-1.7

Pitfall #1: Persistence#

Persistence is the tendency of many geophysical timeseries (particularly paleoclimate ones) to show some kind of memory: consecutive observations tend to resemble each other, resulting in timeseries that have fairly broad trends and low-frequency fluctuations, and comparatively little high-frequency fluctuations.

This has an important consequence: the standard assumption of independence, which undergirds much of frequentist statistics, is violated in this case. In a timeseries with \(n\) fully independent observations (e.g. white noise), the degrees of freedom for the variance are \(DOF = n -1\) But if memory is present, this number can be drastically reduced.

Single location#

Let us look at a random location and build some intuition. First, we need to compute montly anomalies and annualize them. xarray makes that easy (4 lines of code), so let’s look at the result:

st = ds['tos'].sel(latitude=32.5, longitude = 142.5, method='nearest')  # 32.5N 142.5W near Kuroshio Extension
climatology = st.groupby("time.month").mean("time")
anomalies = st.groupby("time.month") - climatology
st_annual = anomalies.groupby("time.year").mean("time")
st_annual.plot(figsize=[12, 6])
[<matplotlib.lines.Line2D at 0x17eecc6d0>]
../../_images/DK_v1_PaleoHack_65_1.png

Notice the coverage gaps in the 1860s. This, and the fact that the Crystal Cave chronology is not uniformly spaced, would ordinarily make it challenging to compare the two series, requiring some form of interpolation or binning. Pyleoclim does all this for you under the hood.

To enjoy these benefits, however, let us turn the temperature data into a Series object.

stts = pyleo.Series(time=st_annual.coords['year'].values,
                    time_unit ='year CE', 
                    value=st_annual.values,
                    value_unit = 'C')

Now we can compute correlations with the Crystal Cave record.

corr_res = stts.correlation(cc)
print(corr_res.r)
0.31747460067845457

Quite a few things happened here. First, pyleoclim was smart enough to figure out a common timespan between the two records, and used linear interpolation to align the two timeseries on a common axis. It did all this under the hood without you having to lift a finger, but you could get your head in there and customize this process (e.g. choosing a different way to align the time axes) if you wanted it too.

Now, about the result: the correlation is \(r=0.32\). Is it significant?

The standard way to assess this uses a t-test using the test statistic: $\(T = \frac{r \sqrt{n-2}}{\sqrt{1-r^2}}\)\(. If we plug in the values of \)r\( and \)n$, we get:

ccs = cc.slice([1854,2020])
n = len(ccs.time)
nu = n-2
r = corr_res.r
T  = r *np.sqrt(nu)/(np.sqrt(1-r**2))
print("The test statistic is "+ str(T))
The test statistic is 3.511355441193721

Under standard assumptions (the data are independent and identically distributed), \(T\) follows Student’s \(t\) distribution (the first Guiness-soaked distribution in history). If we make the same assumption and use the \(t\) distribution conveniently programmed for us by SciPy, we can compute the p-value (the probability to observe a test statistic at least as large as this one, under this distribution) thusly:

from scipy.stats import t
pval = 1-t.cdf(T,nu)
print("The p-value is {:10.2e}".format(pval)) # express in exponential notation
The p-value is   3.24e-04

In other words, using the classic test for the significance of correlations “out of the box”, one would conclude that SST at 42N, 164E shares so much similarity with the Crystal Cave record that there are only 3 chances in 10,000 that this could have happened randomly. In other words, it looks very significant.

But let’s take a step back. That test (which is the one that most computing packages, including Excel, will do for you out of the box), is not appropriate here. Why? Because the assumption of independence tramples over the concept of persistence with gleeful impunity. That is, it assumes that consecutive observations bear no resemblance to each other, which is true neither of the Crystal Cave nor the instrumental target. That is to say: because temperature in one year tends to resemble temperature in the previous or following year (same for \(\delta^{18}O\)), the data are anything but independent. We will quantify this dependence, and its consequences, in a minute.

Going back to the result of the correlation() command, let’s look at its full output:

print(corr_res)
  correlation    p-value  signif. (α: 0.05)
-------------  ---------  -------------------
     0.317475       0.12  False

Notice that the p-value has been estimated to be 12% ('p': 0.12), and therefore the correlation is not deemed significant ('signif': False) at the 5% level ('alpha': 0.05).

How did pyleoclim arrive at such a different conclusion? By not applying irrelevant assumptions, of course! To know what method was applied exactly precisely, consult the documentation or the function’s docstring.

Exercise 2.1 What method does correlation use by default to assess significance and what are its assumptions? (hint: check out “correlation” on Read The Docs, under “The Pyleoclim user interface”), or type stts.correlation? at the prompt.

Answer 2.1 The default method is 'isospectral, which phase-randomizes the original signals, thereby preserving the two spectra but scrambling phase relations between the signals. This is the method proposed by Ebisuzaki (1997).

Exercise 2.2 There are in fact 3 ways to make this determination in Pyleoclim. Try the other two in the cells below, and compare their p-values on 2-3 trials. Do they give consistent answers or not? (Hint: use the settings dictionary to pass a method parameters, and explore the effect of the parameter nsim)

Answer 2.2

corr_ttest = stts.correlation(cc,settings={'method':'ttest'})
print(corr_ttest)
  correlation    p-value  signif. (α: 0.05)
-------------  ---------  -------------------
     0.317475       0.07  False
corr_isopersist = stts.correlation(cc,settings={'method':'isopersistent'})
print(corr_isopersist)
  correlation    p-value  signif. (α: 0.05)
-------------  ---------  -------------------
     0.317475       0.05  True
corr_isopersist = stts.correlation(cc,settings={'method':'isopersistent','nsim':2000})
print(corr_isopersist)
  correlation    p-value  signif. (α: 0.05)
-------------  ---------  -------------------
     0.317475       0.07  False

Answer 1.2 The other two methods are the T-test adjusted for the loss of degrees of freedom due to persistence, and the isopersistent test, which compares the observed correlation to the distribution of correlations with (by default) 1000 randomly-generated AR(1) timeseries with the same persistence parameters as the original series. In this particular case, the T-test also judges the correlation to be insignificant, but the isopersistent test is more finicky: sometimes it does, sometimes it doesn’t. nsim only affects the methods that use Monte Carlo simulations (isopersistent and isospectral). Upping nsim ensures more consistent results: for nsim >= 2000, the result is consistently judged insignificant.

In this case, the three methods concur that the correlation is insignificant, given a sufficient number of simulations.

Pitfall #2: Multiple testing#

The foregoing shows how to properly assess significance at just one location. How would we go about conducting a similar test for an entire field? Let us first try the naive approach: recursively carry out the same test as above at all grid points. For this, we need not only to loop over grid points, but also store the p-values for later analysis. To save time, we’ll use the ttest option for correlation(), knowing that it is rather approximate. Also, we need to exclude points that have too few observations. The loop below achieves that.

nlon = len(ds_sel['longitude'])
nlat = len(ds_sel['latitude']) 
pval = np.empty((nlon,nlat)) # declare array to store pvalues
corr = np.empty_like(pval) # declare empty array of identical shape
alpha = 0.05
slon, slat = [], [];
for ji in range(nlon):
    for jj in range(nlat):     # TODO add progress bar 
        st = ds_sel['tos'][:,jj,ji]
        climatology = st.groupby("time.month").mean("time")
        anomalies = st.groupby("time.month") - climatology
        st_annual = anomalies.groupby("time.year").mean("time")
        #  test if at least 100 non-NaNs
        noNaNs = len(np.where(np.isnan(st_annual) == False)[0]) # number of valid years
        sstvar = st_annual.var()
        if noNaNs >= 100 and sstvar >= 0.01:
            print("Computing correlation at " + str(ds_sel.latitude[jj].values) + 'N, ' + str(ds_sel.longitude[ji].values) + 'E')
            sttb = pyleo.Series(time=st_annual.coords['year'].values,
                        time_unit ='year CE', 
                        value=st_annual.values,
                        value_unit = 'C')
            corr_res = sttb.correlation(cc, settings={'method':'ttest'})
            pval[ji,jj] = corr_res.p
            corr[ji,jj] = corr_res.r
            if pval[ji,jj] < alpha:
                slon.append(ds_sel.longitude[ji])
                slat.append(ds_sel.latitude[jj])
        else:  
            pval[ji,jj] = np.nan; corr[ji,jj] = np.nan
Computing correlation at 2.5N, 122.5E
Computing correlation at 7.5N, 122.5E
Computing correlation at 12.5N, 122.5E
Computing correlation at 17.5N, 122.5E
Computing correlation at 22.5N, 122.5E
Computing correlation at 27.5N, 122.5E
Computing correlation at 32.5N, 122.5E
Computing correlation at 37.5N, 122.5E
Computing correlation at 42.5N, 122.5E
Computing correlation at 2.5N, 127.5E
Computing correlation at 7.5N, 127.5E
Computing correlation at 12.5N, 127.5E
Computing correlation at 17.5N, 127.5E
Computing correlation at 22.5N, 127.5E
Computing correlation at 27.5N, 127.5E
Computing correlation at 32.5N, 127.5E
Computing correlation at 37.5N, 127.5E
Computing correlation at 42.5N, 127.5E
Computing correlation at 2.5N, 132.5E
Computing correlation at 7.5N, 132.5E
Computing correlation at 12.5N, 132.5E
Computing correlation at 17.5N, 132.5E
Computing correlation at 22.5N, 132.5E
Computing correlation at 27.5N, 132.5E
Computing correlation at 32.5N, 132.5E
Computing correlation at 37.5N, 132.5E
Computing correlation at 42.5N, 132.5E
Computing correlation at 2.5N, 137.5E
Computing correlation at 7.5N, 137.5E
Computing correlation at 12.5N, 137.5E
Computing correlation at 17.5N, 137.5E
Computing correlation at 22.5N, 137.5E
Computing correlation at 27.5N, 137.5E
Computing correlation at 32.5N, 137.5E
Computing correlation at 37.5N, 137.5E
Computing correlation at 42.5N, 137.5E
Computing correlation at 47.5N, 137.5E
Computing correlation at 2.5N, 142.5E
Computing correlation at 7.5N, 142.5E
Computing correlation at 12.5N, 142.5E
Computing correlation at 17.5N, 142.5E
Computing correlation at 22.5N, 142.5E
Computing correlation at 27.5N, 142.5E
Computing correlation at 32.5N, 142.5E
Computing correlation at 37.5N, 142.5E
Computing correlation at 42.5N, 142.5E
Computing correlation at 47.5N, 142.5E
Computing correlation at 52.5N, 142.5E
Computing correlation at 2.5N, 147.5E
Computing correlation at 7.5N, 147.5E
Computing correlation at 12.5N, 147.5E
Computing correlation at 17.5N, 147.5E
Computing correlation at 22.5N, 147.5E
Computing correlation at 27.5N, 147.5E
Computing correlation at 32.5N, 147.5E
Computing correlation at 37.5N, 147.5E
Computing correlation at 42.5N, 147.5E
Computing correlation at 47.5N, 147.5E
Computing correlation at 52.5N, 147.5E
Computing correlation at 2.5N, 152.5E
Computing correlation at 7.5N, 152.5E
Computing correlation at 12.5N, 152.5E
Computing correlation at 17.5N, 152.5E
Computing correlation at 22.5N, 152.5E
Computing correlation at 27.5N, 152.5E
Computing correlation at 32.5N, 152.5E
Computing correlation at 37.5N, 152.5E
Computing correlation at 42.5N, 152.5E
Computing correlation at 47.5N, 152.5E
Computing correlation at 52.5N, 152.5E
Computing correlation at 2.5N, 157.5E
Computing correlation at 7.5N, 157.5E
Computing correlation at 12.5N, 157.5E
Computing correlation at 17.5N, 157.5E
Computing correlation at 22.5N, 157.5E
Computing correlation at 27.5N, 157.5E
Computing correlation at 32.5N, 157.5E
Computing correlation at 37.5N, 157.5E
Computing correlation at 42.5N, 157.5E
Computing correlation at 47.5N, 157.5E
Computing correlation at 52.5N, 157.5E
Computing correlation at 2.5N, 162.5E
Computing correlation at 7.5N, 162.5E
Computing correlation at 12.5N, 162.5E
Computing correlation at 17.5N, 162.5E
Computing correlation at 22.5N, 162.5E
Computing correlation at 27.5N, 162.5E
Computing correlation at 32.5N, 162.5E
Computing correlation at 37.5N, 162.5E
Computing correlation at 42.5N, 162.5E
Computing correlation at 47.5N, 162.5E
Computing correlation at 52.5N, 162.5E
Computing correlation at 57.5N, 162.5E
Computing correlation at 2.5N, 167.5E
Computing correlation at 7.5N, 167.5E
Computing correlation at 12.5N, 167.5E
Computing correlation at 17.5N, 167.5E
Computing correlation at 22.5N, 167.5E
Computing correlation at 27.5N, 167.5E
Computing correlation at 32.5N, 167.5E
Computing correlation at 37.5N, 167.5E
Computing correlation at 42.5N, 167.5E
Computing correlation at 47.5N, 167.5E
Computing correlation at 52.5N, 167.5E
Computing correlation at 57.5N, 167.5E
Computing correlation at 2.5N, 172.5E
Computing correlation at 7.5N, 172.5E
Computing correlation at 12.5N, 172.5E
Computing correlation at 17.5N, 172.5E
Computing correlation at 22.5N, 172.5E
Computing correlation at 27.5N, 172.5E
Computing correlation at 32.5N, 172.5E
Computing correlation at 37.5N, 172.5E
Computing correlation at 42.5N, 172.5E
Computing correlation at 47.5N, 172.5E
Computing correlation at 52.5N, 172.5E
Computing correlation at 57.5N, 172.5E
Computing correlation at 62.5N, 172.5E
Computing correlation at 2.5N, 177.5E
Computing correlation at 7.5N, 177.5E
Computing correlation at 12.5N, 177.5E
Computing correlation at 17.5N, 177.5E
Computing correlation at 22.5N, 177.5E
Computing correlation at 27.5N, 177.5E
Computing correlation at 32.5N, 177.5E
Computing correlation at 37.5N, 177.5E
Computing correlation at 42.5N, 177.5E
Computing correlation at 47.5N, 177.5E
Computing correlation at 52.5N, 177.5E
Computing correlation at 57.5N, 177.5E
Computing correlation at 62.5N, 177.5E
Computing correlation at 2.5N, 182.5E
Computing correlation at 7.5N, 182.5E
Computing correlation at 12.5N, 182.5E
Computing correlation at 17.5N, 182.5E
Computing correlation at 22.5N, 182.5E
Computing correlation at 27.5N, 182.5E
Computing correlation at 32.5N, 182.5E
Computing correlation at 37.5N, 182.5E
Computing correlation at 42.5N, 182.5E
Computing correlation at 47.5N, 182.5E
Computing correlation at 52.5N, 182.5E
Computing correlation at 57.5N, 182.5E
Computing correlation at 2.5N, 187.5E
Computing correlation at 7.5N, 187.5E
Computing correlation at 12.5N, 187.5E
Computing correlation at 17.5N, 187.5E
Computing correlation at 22.5N, 187.5E
Computing correlation at 27.5N, 187.5E
Computing correlation at 32.5N, 187.5E
Computing correlation at 37.5N, 187.5E
Computing correlation at 42.5N, 187.5E
Computing correlation at 47.5N, 187.5E
Computing correlation at 52.5N, 187.5E
Computing correlation at 57.5N, 187.5E
Computing correlation at 62.5N, 187.5E
Computing correlation at 2.5N, 192.5E
Computing correlation at 7.5N, 192.5E
Computing correlation at 12.5N, 192.5E
Computing correlation at 17.5N, 192.5E
Computing correlation at 22.5N, 192.5E
Computing correlation at 27.5N, 192.5E
Computing correlation at 32.5N, 192.5E
Computing correlation at 37.5N, 192.5E
Computing correlation at 42.5N, 192.5E
Computing correlation at 47.5N, 192.5E
Computing correlation at 52.5N, 192.5E
Computing correlation at 57.5N, 192.5E
Computing correlation at 62.5N, 192.5E
Computing correlation at 67.5N, 192.5E
Computing correlation at 2.5N, 197.5E
Computing correlation at 7.5N, 197.5E
Computing correlation at 12.5N, 197.5E
Computing correlation at 17.5N, 197.5E
Computing correlation at 22.5N, 197.5E
Computing correlation at 27.5N, 197.5E
Computing correlation at 32.5N, 197.5E
Computing correlation at 37.5N, 197.5E
Computing correlation at 42.5N, 197.5E
Computing correlation at 47.5N, 197.5E
Computing correlation at 52.5N, 197.5E
Computing correlation at 57.5N, 197.5E
Computing correlation at 67.5N, 197.5E
Computing correlation at 72.5N, 197.5E
Computing correlation at 2.5N, 202.5E
Computing correlation at 7.5N, 202.5E
Computing correlation at 12.5N, 202.5E
Computing correlation at 17.5N, 202.5E
Computing correlation at 22.5N, 202.5E
Computing correlation at 27.5N, 202.5E
Computing correlation at 32.5N, 202.5E
Computing correlation at 37.5N, 202.5E
Computing correlation at 42.5N, 202.5E
Computing correlation at 47.5N, 202.5E
Computing correlation at 52.5N, 202.5E
Computing correlation at 57.5N, 202.5E
Computing correlation at 2.5N, 207.5E
Computing correlation at 7.5N, 207.5E
Computing correlation at 12.5N, 207.5E
Computing correlation at 17.5N, 207.5E
Computing correlation at 22.5N, 207.5E
Computing correlation at 27.5N, 207.5E
Computing correlation at 32.5N, 207.5E
Computing correlation at 37.5N, 207.5E
Computing correlation at 42.5N, 207.5E
Computing correlation at 47.5N, 207.5E
Computing correlation at 52.5N, 207.5E
Computing correlation at 57.5N, 207.5E
Computing correlation at 2.5N, 212.5E
Computing correlation at 7.5N, 212.5E
Computing correlation at 12.5N, 212.5E
Computing correlation at 17.5N, 212.5E
Computing correlation at 22.5N, 212.5E
Computing correlation at 27.5N, 212.5E
Computing correlation at 32.5N, 212.5E
Computing correlation at 37.5N, 212.5E
Computing correlation at 42.5N, 212.5E
Computing correlation at 47.5N, 212.5E
Computing correlation at 52.5N, 212.5E
Computing correlation at 57.5N, 212.5E
Computing correlation at 62.5N, 212.5E
Computing correlation at 2.5N, 217.5E
Computing correlation at 7.5N, 217.5E
Computing correlation at 12.5N, 217.5E
Computing correlation at 17.5N, 217.5E
Computing correlation at 22.5N, 217.5E
Computing correlation at 27.5N, 217.5E
Computing correlation at 32.5N, 217.5E
Computing correlation at 37.5N, 217.5E
Computing correlation at 42.5N, 217.5E
Computing correlation at 47.5N, 217.5E
Computing correlation at 52.5N, 217.5E
Computing correlation at 57.5N, 217.5E
Computing correlation at 2.5N, 222.5E
Computing correlation at 7.5N, 222.5E
Computing correlation at 12.5N, 222.5E
Computing correlation at 17.5N, 222.5E
Computing correlation at 22.5N, 222.5E
Computing correlation at 27.5N, 222.5E
Computing correlation at 32.5N, 222.5E
Computing correlation at 37.5N, 222.5E
Computing correlation at 42.5N, 222.5E
Computing correlation at 47.5N, 222.5E
Computing correlation at 52.5N, 222.5E
Computing correlation at 57.5N, 222.5E
Computing correlation at 2.5N, 227.5E
Computing correlation at 7.5N, 227.5E
Computing correlation at 12.5N, 227.5E
Computing correlation at 17.5N, 227.5E
Computing correlation at 22.5N, 227.5E
Computing correlation at 27.5N, 227.5E
Computing correlation at 32.5N, 227.5E
Computing correlation at 37.5N, 227.5E
Computing correlation at 42.5N, 227.5E
Computing correlation at 47.5N, 227.5E
Computing correlation at 52.5N, 227.5E
Computing correlation at 57.5N, 227.5E
Computing correlation at 2.5N, 232.5E
Computing correlation at 7.5N, 232.5E
Computing correlation at 12.5N, 232.5E
Computing correlation at 17.5N, 232.5E
Computing correlation at 22.5N, 232.5E
Computing correlation at 27.5N, 232.5E
Computing correlation at 32.5N, 232.5E
Computing correlation at 37.5N, 232.5E
Computing correlation at 42.5N, 232.5E
Computing correlation at 47.5N, 232.5E
Computing correlation at 52.5N, 232.5E
Computing correlation at 2.5N, 237.5E
Computing correlation at 7.5N, 237.5E
Computing correlation at 12.5N, 237.5E
Computing correlation at 17.5N, 237.5E
Computing correlation at 22.5N, 237.5E
Computing correlation at 27.5N, 237.5E
Computing correlation at 32.5N, 237.5E
Computing correlation at 37.5N, 237.5E
Computing correlation at 42.5N, 237.5E
Computing correlation at 47.5N, 237.5E
Computing correlation at 2.5N, 242.5E
Computing correlation at 7.5N, 242.5E
Computing correlation at 12.5N, 242.5E
Computing correlation at 17.5N, 242.5E
Computing correlation at 22.5N, 242.5E
Computing correlation at 27.5N, 242.5E
Computing correlation at 32.5N, 242.5E
Computing correlation at 2.5N, 247.5E
Computing correlation at 7.5N, 247.5E
Computing correlation at 12.5N, 247.5E
Computing correlation at 17.5N, 247.5E
Computing correlation at 22.5N, 247.5E
Computing correlation at 27.5N, 247.5E
Computing correlation at 2.5N, 252.5E
Computing correlation at 7.5N, 252.5E
Computing correlation at 12.5N, 252.5E
Computing correlation at 17.5N, 252.5E
Computing correlation at 22.5N, 252.5E
Computing correlation at 27.5N, 252.5E
Computing correlation at 2.5N, 257.5E
Computing correlation at 7.5N, 257.5E
Computing correlation at 12.5N, 257.5E
Computing correlation at 17.5N, 257.5E
Computing correlation at 2.5N, 262.5E
Computing correlation at 7.5N, 262.5E
Computing correlation at 12.5N, 262.5E
Computing correlation at 17.5N, 262.5E
Computing correlation at 22.5N, 262.5E
Computing correlation at 27.5N, 262.5E
Computing correlation at 2.5N, 267.5E
Computing correlation at 7.5N, 267.5E
Computing correlation at 12.5N, 267.5E
Computing correlation at 17.5N, 267.5E
Computing correlation at 22.5N, 267.5E
Computing correlation at 27.5N, 267.5E
Computing correlation at 2.5N, 272.5E
Computing correlation at 7.5N, 272.5E
Computing correlation at 12.5N, 272.5E
Computing correlation at 17.5N, 272.5E
Computing correlation at 22.5N, 272.5E
Computing correlation at 27.5N, 272.5E
Computing correlation at 32.5N, 272.5E
Computing correlation at 2.5N, 277.5E
Computing correlation at 7.5N, 277.5E
Computing correlation at 12.5N, 277.5E
Computing correlation at 17.5N, 277.5E
Computing correlation at 22.5N, 277.5E
Computing correlation at 27.5N, 277.5E
Computing correlation at 32.5N, 277.5E
pvals = pval.flatten() # make the p-value array a 1D one
pvec = pvals[pvals<1] # restrict to valid probabilities as there are a few weird values.
nt = len(pvec)
print(nt) # check on the final number
327

We found 327 with enough data for a meaningful comparison, and 23 locations that pass the test. Where are they? To gain insight, let us plot the correlations and indicate (by shading) which are deemed significant:

land_color=sns.xkcd_rgb['light grey']
ocean_color=sns.xkcd_rgb['light grey']

fig = plt.figure(figsize=[12, 8])
ax = plt.subplot(projection=ccrs.PlateCarree(central_longitude=180))

# map
ax.add_feature(cfeature.LAND, facecolor=land_color, edgecolor=land_color)
ax.add_feature(cfeature.OCEAN, facecolor=ocean_color, edgecolor=ocean_color)
ax.coastlines()

transform = ccrs.PlateCarree()
latlon_range = (120, 280, 0, 70)
lon_min, lon_max, lat_min, lat_max = latlon_range
lon_ticks = [60, 120, 180, 240, 300]
lat_ticks = [-90, -45, 0, 45, 90]

ax.set_extent(latlon_range, crs=transform)
lon_formatter = LongitudeFormatter(zero_direction_label=False)
lat_formatter = LatitudeFormatter()
ax.xaxis.set_major_formatter(lon_formatter)
ax.yaxis.set_major_formatter(lat_formatter)
lon_ticks = np.array(lon_ticks)
lat_ticks = np.array(lat_ticks)
mask_lon = (lon_ticks >= lon_min) & (lon_ticks <= lon_max)
mask_lat = (lat_ticks >= lat_min) & (lat_ticks <= lat_max)
ax.set_xticks(lon_ticks[mask_lon], crs=transform)
ax.set_yticks(lat_ticks[mask_lat], crs=transform)

# contour
clevs = np.linspace(-0.9, 0.9, 19)
#corr_r, lon_r = rotate_lon(corr.T, lon)  # rotate the field to make longitude in increasing order and convert to range (0, 360)
im = ax.contourf(ds_sel.longitude, ds_sel.latitude, corr.T, clevs, transform=transform, cmap='RdBu_r', extend='both')

# significant points
plt.scatter(x=slon, y=slat, color="purple", s=3,
            alpha=1,
            transform=transform) 


# colorbar
cbar_pad = 0.05
cbar_orientation = 'vertical'
cbar_aspect = 10
cbar_fraction = 0.15
cbar_shrink = 0.5
cbar_title = 'R'
cbar = fig.colorbar(im, ax=ax, orientation=cbar_orientation, pad=cbar_pad, aspect=cbar_aspect,
                    fraction=cbar_fraction, shrink=cbar_shrink)
cbar.ax.set_title(cbar_title)
Text(0.5, 1.0, 'R')
../../_images/DK_v1_PaleoHack_84_1.png

The purple dots on the map are the locations of the gridpoints where the p-values fall under 5%, and they naturally correspond to the regions of highest correlations, though (and this is suspicious) they are rather randomly scattered across the domain.
We might be tempted to declare victory and hail them as “significant”, but not so fast! Our correlation test, nifty though it is, isn’t infallible. In fact, conducting tests at the 5% level (what most people would call “the 95% confidence level”) specifically means that we expect 5% of our tests to return spurious results, just from chance alone (the so-called “type I error”). We just carried out \(n_t\) tests, so we expect \(0.05*n_t \approx 16 \) of those results to be false positives, right out of the gate. Which ones can we trust?

One way to approach this is to rank order the p-values of all 327 tests and plot them as in [9], Fig 2.

#check i/m vs. p-values
indexm = np.arange(1,nt+1,1)
im = 1.0*indexm / nt
thres = 0.05*im
pvec_s = sorted(pvec)
smaller=[]
small_index=[]
larger=[]
large_index=[]

n=0
for pp in pvec_s:
    if pp <=0.05:
        smaller.append(pp)
        small_index.append(im[n])
    else:
        larger.append(pp)
        large_index.append(im[n])
    n=n+1

f, ax = plt.subplots(figsize=(12,8))
plt.plot(im,thres,label='FDR threshold')
plt.plot(small_index,smaller,'ro',markersize=1.5,label='p-values below threshold')
plt.plot(large_index,larger,'ko',markersize=1.5,label='p-values above threshold',alpha=0.3)
plt.axhline(y=0.05,linestyle='dashed',color='silver',label='5% threshold')
plt.xlabel(r'$i/n_t$',fontsize=14)
plt.ylabel(r'$p_i$',fontsize=14)
plt.title('Correlation p-values',fontsize=14, fontweight='bold')
plt.legend()
<matplotlib.legend.Legend at 0x17c722640>
../../_images/DK_v1_PaleoHack_86_1.png

One solution to this is the False Discovery Rate (aka FDR), which was devised in a celebrated 1995 paper 10. The idea is to look not just for the p-values under 5% (red dots in the figure above), but for the fraction of those under the blue line, which guards against the false discoveries one expects out of repeatedly testing the same hypothesis over and over again. Luckily for you, we have this coded up in pyleoclim (you knew we would). One way to access it is thus:

fdr_res = pyleo.utils.correlation.fdr(pvec_s)
print(fdr_res)
None

And with this treatment, exactly 0 gridpoints pass the test.

Exercise 1.3 redo this with other correlation methods and see if the results change. A little patience is required for the other two methods, which loop over surrogates. We suggest using a moderate number of simulations (nsim < 500) to do so; please check the documentation of corr_sig for how to reduce this number, which is 1000 by default.

Answer 1.3

pval2 = np.empty((nlon,nlat)) # declare array to store pvalues
corr2 = np.empty_like(pval) # declare empty array of identical shape
slon, slat = [], [];
for ji in range(nlon):
    for jj in range(nlat):  
        st = ds_sel['tos'][:,jj,ji]
        climatology = st.groupby("time.month").mean("time")
        anomalies = st.groupby("time.month") - climatology
        st_annual = anomalies.groupby("time.year").mean("time")
        #  test if at least 100 non-NaNs
        noNaNs = len(np.where(np.isnan(st_annual) == False)[0]) # number of valid years
        sstvar = st_annual.var()
        if noNaNs >= 100 and sstvar >= 0.01:
            print("Computing correlation at " + str(ds_sel.latitude[jj].values) + 'N, ' + str(ds_sel.longitude[ji].values) + 'E')
            sttb = pyleo.Series(time=st_annual.coords['year'].values,
                        time_unit ='year CE', 
                        value=st_annual.values,
                        value_unit = 'C')
            corr_res = sttb.correlation(cc, settings={'method':'isospectral','nsim':1000})
            pval2[ji,jj] = corr_res.p
            corr2[ji,jj] = corr_res.r
            if pval[ji,jj] < alpha:
                slon.append(ds_sel.longitude[ji])
                slat.append(ds_sel.latitude[jj])
        else:  
            pval2[ji,jj] = np.nan; corr2[ji,jj] = np.nan
Computing correlation at 2.5N, 122.5E
Computing correlation at 7.5N, 122.5E
Computing correlation at 12.5N, 122.5E
Computing correlation at 17.5N, 122.5E
Computing correlation at 22.5N, 122.5E
Computing correlation at 27.5N, 122.5E
Computing correlation at 32.5N, 122.5E
Computing correlation at 37.5N, 122.5E
Computing correlation at 42.5N, 122.5E
Computing correlation at 2.5N, 127.5E
Computing correlation at 7.5N, 127.5E
Computing correlation at 12.5N, 127.5E
Computing correlation at 17.5N, 127.5E
Computing correlation at 22.5N, 127.5E
Computing correlation at 27.5N, 127.5E
Computing correlation at 32.5N, 127.5E
Computing correlation at 37.5N, 127.5E
Computing correlation at 42.5N, 127.5E
Computing correlation at 2.5N, 132.5E
Computing correlation at 7.5N, 132.5E
Computing correlation at 12.5N, 132.5E
Computing correlation at 17.5N, 132.5E
Computing correlation at 22.5N, 132.5E
Computing correlation at 27.5N, 132.5E
Computing correlation at 32.5N, 132.5E
Computing correlation at 37.5N, 132.5E
Computing correlation at 42.5N, 132.5E
Computing correlation at 2.5N, 137.5E
Computing correlation at 7.5N, 137.5E
Computing correlation at 12.5N, 137.5E
Computing correlation at 17.5N, 137.5E
Computing correlation at 22.5N, 137.5E
Computing correlation at 27.5N, 137.5E
Computing correlation at 32.5N, 137.5E
Computing correlation at 37.5N, 137.5E
Computing correlation at 42.5N, 137.5E
Computing correlation at 47.5N, 137.5E
Computing correlation at 2.5N, 142.5E
Computing correlation at 7.5N, 142.5E
Computing correlation at 12.5N, 142.5E
Computing correlation at 17.5N, 142.5E
Computing correlation at 22.5N, 142.5E
Computing correlation at 27.5N, 142.5E
Computing correlation at 32.5N, 142.5E
Computing correlation at 37.5N, 142.5E
Computing correlation at 42.5N, 142.5E
Computing correlation at 47.5N, 142.5E
Computing correlation at 52.5N, 142.5E
Computing correlation at 2.5N, 147.5E
Computing correlation at 7.5N, 147.5E
Computing correlation at 12.5N, 147.5E
Computing correlation at 17.5N, 147.5E
Computing correlation at 22.5N, 147.5E
Computing correlation at 27.5N, 147.5E
Computing correlation at 32.5N, 147.5E
Computing correlation at 37.5N, 147.5E
Computing correlation at 42.5N, 147.5E
Computing correlation at 47.5N, 147.5E
Computing correlation at 52.5N, 147.5E
Computing correlation at 2.5N, 152.5E
Computing correlation at 7.5N, 152.5E
Computing correlation at 12.5N, 152.5E
Computing correlation at 17.5N, 152.5E
Computing correlation at 22.5N, 152.5E
Computing correlation at 27.5N, 152.5E
Computing correlation at 32.5N, 152.5E
Computing correlation at 37.5N, 152.5E
Computing correlation at 42.5N, 152.5E
Computing correlation at 47.5N, 152.5E
Computing correlation at 52.5N, 152.5E
Computing correlation at 2.5N, 157.5E
Computing correlation at 7.5N, 157.5E
Computing correlation at 12.5N, 157.5E
Computing correlation at 17.5N, 157.5E
Computing correlation at 22.5N, 157.5E
Computing correlation at 27.5N, 157.5E
Computing correlation at 32.5N, 157.5E
Computing correlation at 37.5N, 157.5E
Computing correlation at 42.5N, 157.5E
Computing correlation at 47.5N, 157.5E
Computing correlation at 52.5N, 157.5E
Computing correlation at 2.5N, 162.5E
Computing correlation at 7.5N, 162.5E
Computing correlation at 12.5N, 162.5E
Computing correlation at 17.5N, 162.5E
Computing correlation at 22.5N, 162.5E
Computing correlation at 27.5N, 162.5E
Computing correlation at 32.5N, 162.5E
Computing correlation at 37.5N, 162.5E
Computing correlation at 42.5N, 162.5E
Computing correlation at 47.5N, 162.5E
Computing correlation at 52.5N, 162.5E
Computing correlation at 57.5N, 162.5E
Computing correlation at 2.5N, 167.5E
Computing correlation at 7.5N, 167.5E
Computing correlation at 12.5N, 167.5E
Computing correlation at 17.5N, 167.5E
Computing correlation at 22.5N, 167.5E
Computing correlation at 27.5N, 167.5E
Computing correlation at 32.5N, 167.5E
Computing correlation at 37.5N, 167.5E
Computing correlation at 42.5N, 167.5E
Computing correlation at 47.5N, 167.5E
Computing correlation at 52.5N, 167.5E
Computing correlation at 57.5N, 167.5E
Computing correlation at 2.5N, 172.5E
Computing correlation at 7.5N, 172.5E
Computing correlation at 12.5N, 172.5E
Computing correlation at 17.5N, 172.5E
Computing correlation at 22.5N, 172.5E
Computing correlation at 27.5N, 172.5E
Computing correlation at 32.5N, 172.5E
Computing correlation at 37.5N, 172.5E
Computing correlation at 42.5N, 172.5E
Computing correlation at 47.5N, 172.5E
Computing correlation at 52.5N, 172.5E
Computing correlation at 57.5N, 172.5E
Computing correlation at 62.5N, 172.5E
Computing correlation at 2.5N, 177.5E
Computing correlation at 7.5N, 177.5E
Computing correlation at 12.5N, 177.5E
Computing correlation at 17.5N, 177.5E
Computing correlation at 22.5N, 177.5E
Computing correlation at 27.5N, 177.5E
Computing correlation at 32.5N, 177.5E
Computing correlation at 37.5N, 177.5E
Computing correlation at 42.5N, 177.5E
Computing correlation at 47.5N, 177.5E
Computing correlation at 52.5N, 177.5E
Computing correlation at 57.5N, 177.5E
Computing correlation at 62.5N, 177.5E
Computing correlation at 2.5N, 182.5E
Computing correlation at 7.5N, 182.5E
Computing correlation at 12.5N, 182.5E
Computing correlation at 17.5N, 182.5E
Computing correlation at 22.5N, 182.5E
Computing correlation at 27.5N, 182.5E
Computing correlation at 32.5N, 182.5E
Computing correlation at 37.5N, 182.5E
Computing correlation at 42.5N, 182.5E
Computing correlation at 47.5N, 182.5E
Computing correlation at 52.5N, 182.5E
Computing correlation at 57.5N, 182.5E
Computing correlation at 2.5N, 187.5E
Computing correlation at 7.5N, 187.5E
Computing correlation at 12.5N, 187.5E
Computing correlation at 17.5N, 187.5E
Computing correlation at 22.5N, 187.5E
Computing correlation at 27.5N, 187.5E
Computing correlation at 32.5N, 187.5E
Computing correlation at 37.5N, 187.5E
Computing correlation at 42.5N, 187.5E
Computing correlation at 47.5N, 187.5E
Computing correlation at 52.5N, 187.5E
Computing correlation at 57.5N, 187.5E
Computing correlation at 62.5N, 187.5E
Computing correlation at 2.5N, 192.5E
Computing correlation at 7.5N, 192.5E
Computing correlation at 12.5N, 192.5E
Computing correlation at 17.5N, 192.5E
Computing correlation at 22.5N, 192.5E
Computing correlation at 27.5N, 192.5E
Computing correlation at 32.5N, 192.5E
Computing correlation at 37.5N, 192.5E
Computing correlation at 42.5N, 192.5E
Computing correlation at 47.5N, 192.5E
Computing correlation at 52.5N, 192.5E
Computing correlation at 57.5N, 192.5E
Computing correlation at 62.5N, 192.5E
Computing correlation at 67.5N, 192.5E
Computing correlation at 2.5N, 197.5E
Computing correlation at 7.5N, 197.5E
Computing correlation at 12.5N, 197.5E
Computing correlation at 17.5N, 197.5E
Computing correlation at 22.5N, 197.5E
Computing correlation at 27.5N, 197.5E
Computing correlation at 32.5N, 197.5E
Computing correlation at 37.5N, 197.5E
Computing correlation at 42.5N, 197.5E
Computing correlation at 47.5N, 197.5E
Computing correlation at 52.5N, 197.5E
Computing correlation at 57.5N, 197.5E
Computing correlation at 67.5N, 197.5E
Computing correlation at 72.5N, 197.5E
Computing correlation at 2.5N, 202.5E
Computing correlation at 7.5N, 202.5E
Computing correlation at 12.5N, 202.5E
Computing correlation at 17.5N, 202.5E
Computing correlation at 22.5N, 202.5E
Computing correlation at 27.5N, 202.5E
Computing correlation at 32.5N, 202.5E
Computing correlation at 37.5N, 202.5E
Computing correlation at 42.5N, 202.5E
Computing correlation at 47.5N, 202.5E
Computing correlation at 52.5N, 202.5E
Computing correlation at 57.5N, 202.5E
Computing correlation at 2.5N, 207.5E
Computing correlation at 7.5N, 207.5E
Computing correlation at 12.5N, 207.5E
Computing correlation at 17.5N, 207.5E
Computing correlation at 22.5N, 207.5E
Computing correlation at 27.5N, 207.5E
Computing correlation at 32.5N, 207.5E
Computing correlation at 37.5N, 207.5E
Computing correlation at 42.5N, 207.5E
Computing correlation at 47.5N, 207.5E
Computing correlation at 52.5N, 207.5E
Computing correlation at 57.5N, 207.5E
Computing correlation at 2.5N, 212.5E
Computing correlation at 7.5N, 212.5E
Computing correlation at 12.5N, 212.5E
Computing correlation at 17.5N, 212.5E
Computing correlation at 22.5N, 212.5E
Computing correlation at 27.5N, 212.5E
Computing correlation at 32.5N, 212.5E
Computing correlation at 37.5N, 212.5E
Computing correlation at 42.5N, 212.5E
Computing correlation at 47.5N, 212.5E
Computing correlation at 52.5N, 212.5E
Computing correlation at 57.5N, 212.5E
Computing correlation at 62.5N, 212.5E
Computing correlation at 2.5N, 217.5E
Computing correlation at 7.5N, 217.5E
Computing correlation at 12.5N, 217.5E
Computing correlation at 17.5N, 217.5E
Computing correlation at 22.5N, 217.5E
Computing correlation at 27.5N, 217.5E
Computing correlation at 32.5N, 217.5E
Computing correlation at 37.5N, 217.5E
Computing correlation at 42.5N, 217.5E
Computing correlation at 47.5N, 217.5E
Computing correlation at 52.5N, 217.5E
Computing correlation at 57.5N, 217.5E
Computing correlation at 2.5N, 222.5E
Computing correlation at 7.5N, 222.5E
Computing correlation at 12.5N, 222.5E
Computing correlation at 17.5N, 222.5E
Computing correlation at 22.5N, 222.5E
Computing correlation at 27.5N, 222.5E
Computing correlation at 32.5N, 222.5E
Computing correlation at 37.5N, 222.5E
Computing correlation at 42.5N, 222.5E
Computing correlation at 47.5N, 222.5E
Computing correlation at 52.5N, 222.5E
Computing correlation at 57.5N, 222.5E
Computing correlation at 2.5N, 227.5E
Computing correlation at 7.5N, 227.5E
Computing correlation at 12.5N, 227.5E
Computing correlation at 17.5N, 227.5E
Computing correlation at 22.5N, 227.5E
Computing correlation at 27.5N, 227.5E
Computing correlation at 32.5N, 227.5E
Computing correlation at 37.5N, 227.5E
Computing correlation at 42.5N, 227.5E
Computing correlation at 47.5N, 227.5E
Computing correlation at 52.5N, 227.5E
Computing correlation at 57.5N, 227.5E
Computing correlation at 2.5N, 232.5E
Computing correlation at 7.5N, 232.5E
Computing correlation at 12.5N, 232.5E
Computing correlation at 17.5N, 232.5E
Computing correlation at 22.5N, 232.5E
Computing correlation at 27.5N, 232.5E
Computing correlation at 32.5N, 232.5E
Computing correlation at 37.5N, 232.5E
Computing correlation at 42.5N, 232.5E
Computing correlation at 47.5N, 232.5E
Computing correlation at 52.5N, 232.5E
Computing correlation at 2.5N, 237.5E
Computing correlation at 7.5N, 237.5E
Computing correlation at 12.5N, 237.5E
Computing correlation at 17.5N, 237.5E
Computing correlation at 22.5N, 237.5E
Computing correlation at 27.5N, 237.5E
Computing correlation at 32.5N, 237.5E
Computing correlation at 37.5N, 237.5E
Computing correlation at 42.5N, 237.5E
Computing correlation at 47.5N, 237.5E
Computing correlation at 2.5N, 242.5E
Computing correlation at 7.5N, 242.5E
Computing correlation at 12.5N, 242.5E
Computing correlation at 17.5N, 242.5E
Computing correlation at 22.5N, 242.5E
Computing correlation at 27.5N, 242.5E
Computing correlation at 32.5N, 242.5E
Computing correlation at 2.5N, 247.5E
Computing correlation at 7.5N, 247.5E
Computing correlation at 12.5N, 247.5E
Computing correlation at 17.5N, 247.5E
Computing correlation at 22.5N, 247.5E
Computing correlation at 27.5N, 247.5E
Computing correlation at 2.5N, 252.5E
Computing correlation at 7.5N, 252.5E
Computing correlation at 12.5N, 252.5E
Computing correlation at 17.5N, 252.5E
Computing correlation at 22.5N, 252.5E
Computing correlation at 27.5N, 252.5E
Computing correlation at 2.5N, 257.5E
Computing correlation at 7.5N, 257.5E
Computing correlation at 12.5N, 257.5E
Computing correlation at 17.5N, 257.5E
Computing correlation at 2.5N, 262.5E
Computing correlation at 7.5N, 262.5E
Computing correlation at 12.5N, 262.5E
Computing correlation at 17.5N, 262.5E
Computing correlation at 22.5N, 262.5E
Computing correlation at 27.5N, 262.5E
Computing correlation at 2.5N, 267.5E
Computing correlation at 7.5N, 267.5E
Computing correlation at 12.5N, 267.5E
Computing correlation at 17.5N, 267.5E
Computing correlation at 22.5N, 267.5E
Computing correlation at 27.5N, 267.5E
Computing correlation at 2.5N, 272.5E
Computing correlation at 7.5N, 272.5E
Computing correlation at 12.5N, 272.5E
Computing correlation at 17.5N, 272.5E
Computing correlation at 22.5N, 272.5E
Computing correlation at 27.5N, 272.5E
Computing correlation at 32.5N, 272.5E
Computing correlation at 2.5N, 277.5E
Computing correlation at 7.5N, 277.5E
Computing correlation at 12.5N, 277.5E
Computing correlation at 17.5N, 277.5E
Computing correlation at 22.5N, 277.5E
Computing correlation at 27.5N, 277.5E
Computing correlation at 32.5N, 277.5E
fdr_res2 = pyleo.utils.correlation.fdr(pval2.flatten())
print(fdr_res2)
[523]

Only one grid point appears significant now.

Pitfall #3: Age uncertainties#

As if the first two pitfalls weren’t enough, there is a third difficulty in this comparison: beautiful though U/Th chronologies may be, they are not perfect (do not believe people who tell you otherwise!). Such chronological uncertainties must be taken into account as well.

It turns out that the LiPD file loaded above contains not only the raw U/Th dates (dig for them if you’re curious), but also an ensemble of age-depth relationships derived from those dates, via the Bayesian age model BChron. Let us load those 1000 draws from the posterior distribution of ages and put them in a place where pyleoclim will be able to work with them:

cc_ens = cc.chronEnsembleToPaleo(d)

There are two ways to plot this ensemble. First, as a series of traces:

fig, ax = cc_ens.plot_traces(mute=True)
cc.plot(color='black', ax = ax)
<AxesSubplot:xlabel='Age [AD]', ylabel='d18o [permil VPDB]'>
../../_images/DK_v1_PaleoHack_95_1.png

It is quite plain that any of the record’s main swings can be swung back and forth by up to decades. Another way to see this is to plot various quantiles as an envelope:

fig, ax = cc_ens.common_time(method='interp').plot_envelope(ylabel = cc.value_name, mute=True)
cc.plot(color='black', ax = ax, linewidth=1)
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
<AxesSubplot:xlabel='Age [AD]', ylabel='d18o [permil VPDB]'>
../../_images/DK_v1_PaleoHack_97_2.png

Notice how the quantiles are computed over only part of the interval covered by the original series; that is because some age models end up being more compressed or stretched out than the original, and we need a common interval to compute quantiles. In particular, notice how the base of the record could really be anywhere between 850 and 1100 AD. Now, what we’d like to do is repeat the exercise of Part 1, correlating the same SST timeseries from 32.5N 142.5W (near the Kuroshio Extension), not just with the published chronology, but this whole ensemble. Remember how we had computed things:

corr_res = stts.correlation(cc)
print(corr_res.r)
0.31747460067845457

Though of course, we could have done just the reverse, as correlation is a symmetric operator:

corr_res = cc.correlation(stts)
print(corr_res.r)
0.31747460067845457

Now, consider the task ahead: you must iterate over all ensemble members, taking care of aligning their time axis to that of HadSST4; you must compute the correlation and establish its significance with a sensible test (say, Ebisuzaki’s isospectral test, see Pitfall #1), you need watch out for test multiplicity (see Pitfall #2) and you need to visualize the results in an intuitive way. Needless to say, Pyleoclim has the answer.

To keep computing time manageable, let’s reduce the number of isospectral simulations to 500, and correlate the ensemble and the SST series:

nsim = 1000
corr_Kuroshio = cc_ens.correlation(stts,settings={'nsim':nsim}) 
  0%|▏                                         | 3/1000 [00:00<00:45, 22.01it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
  1%|▍                                         | 9/1000 [00:00<00:42, 23.26it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
  2%|▌                                        | 15/1000 [00:00<00:40, 24.02it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
  2%|▋                                        | 18/1000 [00:00<00:45, 21.45it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
  2%|▉                                        | 24/1000 [00:01<00:42, 22.90it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
  3%|█▏                                       | 30/1000 [00:01<00:40, 24.06it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
  4%|█▍                                       | 36/1000 [00:01<00:40, 23.64it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
  4%|█▋                                       | 42/1000 [00:01<00:41, 23.09it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
  5%|█▉                                       | 48/1000 [00:02<00:39, 23.94it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
  5%|██▏                                      | 54/1000 [00:02<00:37, 25.09it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
  6%|██▍                                      | 60/1000 [00:02<00:36, 25.62it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
  7%|██▋                                      | 66/1000 [00:02<00:37, 25.05it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
  7%|██▉                                      | 72/1000 [00:03<00:36, 25.12it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
  8%|███▏                                     | 78/1000 [00:03<00:36, 25.21it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
  8%|███▍                                     | 84/1000 [00:03<00:35, 25.95it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
  9%|███▋                                     | 90/1000 [00:03<00:36, 25.22it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 10%|███▉                                     | 96/1000 [00:03<00:35, 25.25it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 10%|████                                     | 99/1000 [00:04<00:38, 23.68it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 10%|████▏                                   | 105/1000 [00:04<00:41, 21.73it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 11%|████▍                                   | 111/1000 [00:04<00:38, 22.82it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 11%|████▌                                   | 114/1000 [00:04<00:37, 23.65it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 12%|████▊                                   | 120/1000 [00:04<00:35, 25.02it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 13%|█████                                   | 126/1000 [00:05<00:36, 23.79it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 13%|█████▎                                  | 132/1000 [00:05<00:40, 21.46it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
 14%|█████▍                                  | 135/1000 [00:05<00:41, 20.96it/s]
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 14%|█████▋                                  | 141/1000 [00:05<00:39, 21.57it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 14%|█████▊                                  | 144/1000 [00:06<00:38, 22.38it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 15%|██████                                  | 150/1000 [00:06<00:38, 22.15it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 15%|██████                                  | 153/1000 [00:06<00:38, 21.98it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 16%|██████▎                                 | 159/1000 [00:06<00:44, 18.76it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 16%|██████▌                                 | 165/1000 [00:07<00:38, 21.74it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 17%|██████▊                                 | 171/1000 [00:07<00:35, 23.48it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 18%|███████                                 | 177/1000 [00:07<00:34, 23.89it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
 18%|███████▏                                | 180/1000 [00:07<00:33, 24.17it/s]
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 19%|███████▍                                | 186/1000 [00:07<00:35, 23.13it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 19%|███████▋                                | 192/1000 [00:08<00:35, 23.04it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 20%|███████▉                                | 198/1000 [00:08<00:33, 23.62it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
 20%|████████▏                               | 204/1000 [00:08<00:32, 24.81it/s]
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 21%|████████▍                               | 210/1000 [00:08<00:31, 25.25it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 22%|████████▋                               | 216/1000 [00:09<00:31, 25.06it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 22%|████████▊                               | 219/1000 [00:09<00:31, 24.59it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 22%|█████████                               | 225/1000 [00:09<00:32, 23.79it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 23%|█████████▏                              | 231/1000 [00:09<00:31, 24.65it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 24%|█████████▍                              | 237/1000 [00:10<00:30, 24.99it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
 24%|█████████▋                              | 243/1000 [00:10<00:31, 24.39it/s]
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
 25%|█████████▊                              | 246/1000 [00:10<00:32, 23.35it/s]
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 25%|██████████                              | 252/1000 [00:10<00:31, 23.73it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 26%|██████████▎                             | 258/1000 [00:10<00:31, 23.54it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 26%|██████████▍                             | 261/1000 [00:11<00:32, 22.84it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 27%|██████████▋                             | 267/1000 [00:11<00:31, 23.23it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 27%|██████████▉                             | 273/1000 [00:11<00:30, 23.57it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 28%|███████████▏                            | 279/1000 [00:11<00:30, 23.61it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 28%|███████████▎                            | 282/1000 [00:12<00:35, 20.45it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 29%|███████████▌                            | 288/1000 [00:12<00:31, 22.67it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 29%|███████████▊                            | 294/1000 [00:12<00:30, 23.33it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 30%|████████████                            | 300/1000 [00:12<00:28, 24.19it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 31%|████████████▏                           | 306/1000 [00:13<00:28, 24.21it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 31%|████████████▍                           | 312/1000 [00:13<00:29, 23.45it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 32%|████████████▌                           | 315/1000 [00:13<00:29, 23.62it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 32%|████████████▊                           | 321/1000 [00:13<00:29, 23.22it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 33%|█████████████                           | 327/1000 [00:13<00:30, 21.94it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 33%|█████████████▎                          | 333/1000 [00:14<00:28, 23.61it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 34%|█████████████▍                          | 336/1000 [00:14<00:28, 23.42it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 34%|█████████████▋                          | 342/1000 [00:14<00:29, 22.51it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 35%|█████████████▉                          | 348/1000 [00:14<00:29, 22.35it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 35%|██████████████                          | 351/1000 [00:15<00:29, 22.07it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 36%|██████████████▎                         | 357/1000 [00:15<00:29, 21.73it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 36%|██████████████▌                         | 363/1000 [00:15<00:27, 23.39it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 37%|██████████████▊                         | 369/1000 [00:15<00:27, 22.67it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 37%|██████████████▉                         | 372/1000 [00:15<00:29, 21.63it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 38%|███████████████                         | 378/1000 [00:16<00:29, 20.85it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 38%|███████████████▏                        | 381/1000 [00:16<00:31, 19.86it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 39%|███████████████▍                        | 387/1000 [00:16<00:30, 19.97it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 39%|███████████████▌                        | 390/1000 [00:16<00:30, 20.10it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 40%|███████████████▊                        | 396/1000 [00:17<00:28, 21.48it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 40%|████████████████                        | 402/1000 [00:17<00:28, 21.17it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 40%|████████████████▏                       | 405/1000 [00:17<00:27, 21.88it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 41%|████████████████▍                       | 411/1000 [00:17<00:27, 21.35it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 42%|████████████████▋                       | 417/1000 [00:18<00:28, 20.77it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 42%|████████████████▊                       | 420/1000 [00:18<00:28, 20.64it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 42%|█████████████████                       | 425/1000 [00:18<00:29, 19.28it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 43%|█████████████████▏                      | 429/1000 [00:18<00:30, 18.78it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 44%|█████████████████▍                      | 435/1000 [00:19<00:27, 20.25it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 44%|█████████████████▌                      | 438/1000 [00:19<00:27, 20.21it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 44%|█████████████████▊                      | 444/1000 [00:19<00:25, 21.76it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 45%|██████████████████                      | 450/1000 [00:19<00:25, 21.66it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 45%|██████████████████                      | 453/1000 [00:19<00:25, 21.48it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 46%|██████████████████▎                     | 459/1000 [00:20<00:24, 21.74it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 46%|██████████████████▌                     | 465/1000 [00:20<00:24, 21.66it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 47%|██████████████████▋                     | 468/1000 [00:20<00:24, 21.47it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 47%|██████████████████▉                     | 474/1000 [00:20<00:23, 21.97it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 48%|███████████████████▏                    | 480/1000 [00:21<00:23, 21.71it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 48%|███████████████████▎                    | 483/1000 [00:21<00:23, 21.71it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 49%|███████████████████▌                    | 489/1000 [00:21<00:23, 21.76it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 49%|███████████████████▋                    | 492/1000 [00:21<00:23, 21.68it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 50%|███████████████████▉                    | 498/1000 [00:22<00:24, 20.18it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 50%|████████████████████                    | 501/1000 [00:22<00:24, 20.04it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 51%|████████████████████▎                   | 507/1000 [00:22<00:23, 20.71it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 51%|████████████████████▌                   | 513/1000 [00:22<00:23, 20.44it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
 52%|████████████████████▋                   | 516/1000 [00:22<00:24, 19.98it/s]
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 52%|████████████████████▉                   | 522/1000 [00:23<00:23, 20.78it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 52%|█████████████████████                   | 525/1000 [00:23<00:22, 21.13it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 53%|█████████████████████▏                  | 531/1000 [00:23<00:21, 21.55it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 53%|█████████████████████▎                  | 534/1000 [00:23<00:21, 22.18it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 54%|█████████████████████▌                  | 540/1000 [00:24<00:22, 20.26it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 54%|█████████████████████▋                  | 543/1000 [00:24<00:22, 20.02it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 55%|█████████████████████▉                  | 548/1000 [00:24<00:24, 18.78it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 55%|██████████████████████                  | 551/1000 [00:24<00:22, 19.61it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 56%|██████████████████████▏                 | 555/1000 [00:24<00:24, 18.43it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 56%|██████████████████████▎                 | 559/1000 [00:25<00:23, 18.41it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
 56%|██████████████████████▌                 | 564/1000 [00:25<00:23, 18.25it/s]
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 57%|██████████████████████▋                 | 568/1000 [00:25<00:24, 17.72it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 57%|██████████████████████▊                 | 571/1000 [00:25<00:22, 19.21it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 58%|███████████████████████                 | 577/1000 [00:25<00:20, 20.58it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 58%|███████████████████████▎                | 583/1000 [00:26<00:19, 21.74it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
 59%|███████████████████████▍                | 586/1000 [00:26<00:18, 22.32it/s]
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 59%|███████████████████████▋                | 592/1000 [00:26<00:17, 22.76it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 60%|███████████████████████▉                | 598/1000 [00:26<00:17, 22.75it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 60%|████████████████████████                | 601/1000 [00:27<00:17, 22.81it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 61%|████████████████████████▎               | 607/1000 [00:27<00:16, 24.08it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 61%|████████████████████████▌               | 613/1000 [00:27<00:16, 24.01it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 62%|████████████████████████▊               | 619/1000 [00:27<00:15, 24.00it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 62%|█████████████████████████               | 625/1000 [00:28<00:15, 24.54it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 63%|█████████████████████████▏              | 631/1000 [00:28<00:15, 24.15it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 64%|█████████████████████████▍              | 637/1000 [00:28<00:15, 23.96it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 64%|█████████████████████████▌              | 640/1000 [00:28<00:14, 24.35it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 65%|█████████████████████████▊              | 646/1000 [00:28<00:15, 22.75it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 65%|██████████████████████████              | 652/1000 [00:29<00:14, 24.35it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 66%|██████████████████████████▎             | 658/1000 [00:29<00:13, 25.35it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 66%|██████████████████████████▌             | 664/1000 [00:29<00:12, 26.12it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 67%|██████████████████████████▊             | 670/1000 [00:29<00:12, 26.91it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 68%|███████████████████████████             | 676/1000 [00:30<00:12, 25.89it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 68%|███████████████████████████▎            | 682/1000 [00:30<00:12, 25.60it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 69%|███████████████████████████▌            | 688/1000 [00:30<00:12, 25.91it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 69%|███████████████████████████▊            | 694/1000 [00:30<00:12, 24.28it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 70%|███████████████████████████▉            | 697/1000 [00:30<00:14, 20.54it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 70%|████████████████████████████            | 703/1000 [00:31<00:13, 22.01it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
 71%|████████████████████████████▎           | 709/1000 [00:31<00:12, 22.73it/s]
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 71%|████████████████████████████▍           | 712/1000 [00:31<00:12, 22.94it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 72%|████████████████████████████▋           | 718/1000 [00:31<00:11, 23.51it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 72%|████████████████████████████▉           | 724/1000 [00:32<00:11, 24.27it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 73%|█████████████████████████████▏          | 730/1000 [00:32<00:11, 22.85it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 73%|█████████████████████████████▎          | 733/1000 [00:32<00:12, 22.00it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 74%|█████████████████████████████▌          | 739/1000 [00:32<00:11, 22.12it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 74%|█████████████████████████████▊          | 745/1000 [00:33<00:11, 22.96it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 75%|██████████████████████████████          | 751/1000 [00:33<00:10, 23.76it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 76%|██████████████████████████████▎         | 757/1000 [00:33<00:09, 24.47it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 76%|██████████████████████████████▌         | 763/1000 [00:33<00:09, 25.03it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 77%|██████████████████████████████▋         | 766/1000 [00:33<00:09, 23.70it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 77%|██████████████████████████████▉         | 772/1000 [00:34<00:10, 21.99it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 78%|███████████████████████████████         | 778/1000 [00:34<00:09, 22.57it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 78%|███████████████████████████████▏        | 781/1000 [00:34<00:09, 23.27it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 79%|███████████████████████████████▍        | 787/1000 [00:34<00:08, 24.00it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 79%|███████████████████████████████▋        | 793/1000 [00:35<00:08, 24.66it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 80%|███████████████████████████████▉        | 799/1000 [00:35<00:08, 24.82it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 80%|████████████████████████████████▏       | 805/1000 [00:35<00:07, 24.48it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
 81%|████████████████████████████████▍       | 811/1000 [00:35<00:07, 23.76it/s]
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 82%|████████████████████████████████▋       | 817/1000 [00:36<00:07, 23.90it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
 82%|████████████████████████████████▊       | 820/1000 [00:36<00:07, 24.26it/s]
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 83%|█████████████████████████████████       | 826/1000 [00:36<00:07, 23.85it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 83%|█████████████████████████████████▏      | 829/1000 [00:36<00:07, 24.17it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 84%|█████████████████████████████████▍      | 835/1000 [00:36<00:07, 21.11it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 84%|█████████████████████████████████▋      | 841/1000 [00:37<00:07, 22.14it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
 84%|█████████████████████████████████▊      | 844/1000 [00:37<00:06, 22.94it/s]
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 85%|██████████████████████████████████      | 850/1000 [00:37<00:06, 23.13it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 86%|██████████████████████████████████▏     | 856/1000 [00:37<00:06, 23.91it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 86%|██████████████████████████████████▍     | 862/1000 [00:38<00:05, 23.22it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 87%|██████████████████████████████████▋     | 868/1000 [00:38<00:05, 23.74it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 87%|██████████████████████████████████▉     | 874/1000 [00:38<00:05, 23.80it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 88%|███████████████████████████████████▏    | 880/1000 [00:38<00:05, 20.35it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
 89%|███████████████████████████████████▍    | 886/1000 [00:39<00:05, 21.90it/s]
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 89%|███████████████████████████████████▌    | 889/1000 [00:39<00:04, 22.47it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 90%|███████████████████████████████████▊    | 895/1000 [00:39<00:04, 22.28it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 90%|████████████████████████████████████    | 901/1000 [00:39<00:04, 23.22it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 90%|████████████████████████████████████▏   | 904/1000 [00:39<00:04, 22.30it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 91%|████████████████████████████████████▍   | 910/1000 [00:40<00:03, 23.65it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 92%|████████████████████████████████████▋   | 916/1000 [00:40<00:03, 23.78it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 92%|████████████████████████████████████▉   | 922/1000 [00:40<00:03, 23.99it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 93%|█████████████████████████████████████   | 928/1000 [00:40<00:03, 23.87it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 93%|█████████████████████████████████████▎  | 934/1000 [00:41<00:02, 24.53it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 94%|█████████████████████████████████████▌  | 940/1000 [00:41<00:02, 24.65it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 95%|█████████████████████████████████████▊  | 946/1000 [00:41<00:02, 23.98it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
 95%|██████████████████████████████████████  | 952/1000 [00:41<00:01, 24.72it/s]
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 96%|██████████████████████████████████████▎ | 958/1000 [00:42<00:01, 24.16it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 96%|██████████████████████████████████████▌ | 964/1000 [00:42<00:01, 24.90it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 97%|██████████████████████████████████████▊ | 970/1000 [00:42<00:01, 24.46it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 98%|███████████████████████████████████████ | 976/1000 [00:42<00:00, 24.55it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 98%|███████████████████████████████████████▎| 982/1000 [00:43<00:00, 24.42it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 99%|███████████████████████████████████████▌| 988/1000 [00:43<00:00, 24.75it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 99%|███████████████████████████████████████▊| 994/1000 [00:43<00:00, 24.76it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
100%|███████████████████████████████████████▉| 997/1000 [00:43<00:00, 23.98it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
100%|███████████████████████████████████████| 1000/1000 [00:43<00:00, 22.77it/s]

Now here’s the best part: the corr_Kuroshio is an object that contains everything you want: the vector of correlations, the p-values, and a method to plot them all:

corr_Kuroshio.plot()
(<Figure size 288x288 with 1 Axes>, <AxesSubplot:xlabel='$r$', ylabel='Count'>)
../../_images/DK_v1_PaleoHack_105_1.png

Several things jump out at once:

  1. the correlation histogram is relatively symmetric, meaning that age uncertainties are able to completely overturn the original correlation of about 0.31 : nearly half of the ensemble exhibits negative correlations with SST). 0.31 (9% of common variance) is not a contender for winning the correlation olympics, but it was at least positive. Age uncertainties can easily reverse even the sign of the correlation, not to mention alter its magnitude.

  2. As shown in teal, only a few % of the 500*100 correlations just computed are judged significant (note: this would change somewhat every time you run the calculation, based on the randomness of the phase randomization procedure. If reproducibility is essential, you may also input a random seed to ensure that the same exact random sequence is used from iteration to iteration.

  3. Once we take test multiplicity into account via the False Discovery Rate (orange bar), only a fraction of a % is deemed significant.

Exercise 1.4 redo this at other locations and see if the results change. you may consider picking a patch of the North Pacific and applying this test recursively at each location.

Answer 1.4

st = ds['tos'].sel(latitude=32.5, longitude = 147.5, method='nearest')  # pick a new location
climatology = st.groupby("time.month").mean("time")
anomalies = st.groupby("time.month") - climatology
st_annual = anomalies.groupby("time.year").mean("time")
st_annual.plot(figsize=[12, 6])
[<matplotlib.lines.Line2D at 0x152cca1c0>]
../../_images/DK_v1_PaleoHack_107_1.png

Put into a Series object, compute ensemble correlations, and plot:

stts2 = pyleo.Series(time=st_annual.coords['year'].values,
                     time_unit ='year CE', 
                     value=st_annual.values,
                     value_unit = 'C')
corr_ens2 = cc_ens.correlation(stts2,settings={'nsim':nsim}) 
corr_ens2.plot()
  0%|▏                                         | 3/1000 [00:00<00:44, 22.56it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
  1%|▍                                         | 9/1000 [00:00<00:41, 23.86it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
  2%|▌                                        | 15/1000 [00:00<00:39, 24.90it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
  2%|▋                                        | 18/1000 [00:00<00:41, 23.86it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
  2%|▉                                        | 24/1000 [00:01<00:41, 23.74it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
  3%|█▏                                       | 30/1000 [00:01<00:40, 24.05it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
  4%|█▍                                       | 36/1000 [00:01<00:40, 23.97it/s]
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
  4%|█▌                                       | 39/1000 [00:01<00:39, 24.13it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
  4%|█▊                                       | 45/1000 [00:01<00:43, 22.16it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
  5%|█▉                                       | 48/1000 [00:02<00:44, 21.61it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
  5%|██▏                                      | 54/1000 [00:02<00:45, 20.80it/s]
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
  6%|██▎                                      | 57/1000 [00:02<00:46, 20.45it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
  6%|██▌                                      | 63/1000 [00:02<00:44, 20.92it/s]
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
  7%|██▋                                      | 66/1000 [00:02<00:46, 19.95it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
  7%|██▉                                      | 72/1000 [00:03<00:44, 20.92it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
  8%|███▏                                     | 78/1000 [00:03<00:39, 23.12it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
  8%|███▍                                     | 84/1000 [00:03<00:37, 24.33it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
  9%|███▋                                     | 90/1000 [00:03<00:35, 25.42it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 10%|███▉                                     | 96/1000 [00:04<00:36, 24.73it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
 10%|████                                     | 99/1000 [00:04<00:36, 24.59it/s]
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 10%|████▏                                   | 105/1000 [00:04<00:39, 22.54it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 11%|████▎                                   | 108/1000 [00:04<00:40, 21.79it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 11%|████▌                                   | 114/1000 [00:05<00:39, 22.38it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 12%|████▊                                   | 120/1000 [00:05<00:36, 23.86it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 13%|█████                                   | 126/1000 [00:05<00:34, 25.28it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 13%|█████▎                                  | 132/1000 [00:05<00:34, 25.13it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 14%|█████▌                                  | 138/1000 [00:05<00:34, 24.69it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 14%|█████▊                                  | 144/1000 [00:06<00:33, 25.78it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 15%|██████                                  | 150/1000 [00:06<00:34, 24.84it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 16%|██████▏                                 | 156/1000 [00:06<00:33, 25.09it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 16%|██████▍                                 | 162/1000 [00:06<00:31, 26.38it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 17%|██████▋                                 | 168/1000 [00:07<00:31, 26.09it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 17%|██████▉                                 | 174/1000 [00:07<00:31, 26.39it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 18%|███████▏                                | 180/1000 [00:07<00:31, 25.69it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 18%|███████▎                                | 183/1000 [00:07<00:32, 24.87it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 19%|███████▌                                | 189/1000 [00:08<00:40, 19.95it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 20%|███████▊                                | 195/1000 [00:08<00:37, 21.72it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 20%|████████                                | 201/1000 [00:08<00:35, 22.65it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 20%|████████▏                               | 204/1000 [00:08<00:33, 23.53it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 21%|████████▍                               | 210/1000 [00:08<00:32, 24.17it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
 22%|████████▋                               | 216/1000 [00:09<00:31, 24.88it/s]
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 22%|████████▉                               | 222/1000 [00:09<00:31, 24.97it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 23%|█████████                               | 228/1000 [00:09<00:31, 24.88it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 23%|█████████▎                              | 234/1000 [00:09<00:29, 25.90it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 24%|█████████▌                              | 240/1000 [00:10<00:30, 24.97it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
 24%|█████████▋                              | 243/1000 [00:10<00:30, 24.80it/s]
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 25%|█████████▉                              | 249/1000 [00:10<00:31, 23.96it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 26%|██████████▏                             | 255/1000 [00:10<00:29, 25.04it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 26%|██████████▍                             | 261/1000 [00:11<00:31, 23.51it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 26%|██████████▌                             | 264/1000 [00:11<00:30, 23.82it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 27%|██████████▊                             | 270/1000 [00:11<00:29, 24.50it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 28%|███████████                             | 276/1000 [00:11<00:29, 24.47it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 28%|███████████▎                            | 282/1000 [00:11<00:29, 24.43it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
 29%|███████████▌                            | 288/1000 [00:12<00:29, 24.06it/s]
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 29%|███████████▊                            | 294/1000 [00:12<00:28, 24.48it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 30%|████████████                            | 300/1000 [00:12<00:27, 25.02it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 31%|████████████▏                           | 306/1000 [00:12<00:27, 24.94it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 31%|████████████▎                           | 309/1000 [00:12<00:27, 24.68it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 32%|████████████▌                           | 315/1000 [00:13<00:29, 23.62it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 32%|████████████▊                           | 321/1000 [00:13<00:31, 21.83it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 32%|████████████▉                           | 324/1000 [00:13<00:32, 20.92it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 33%|█████████████▏                          | 330/1000 [00:13<00:31, 21.37it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 33%|█████████████▎                          | 333/1000 [00:14<00:30, 21.78it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 34%|█████████████▌                          | 339/1000 [00:14<00:29, 22.21it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 34%|█████████████▊                          | 345/1000 [00:14<00:27, 23.49it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
 35%|█████████████▉                          | 348/1000 [00:14<00:28, 22.64it/s]
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 35%|██████████████▏                         | 354/1000 [00:15<00:29, 21.70it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 36%|██████████████▍                         | 360/1000 [00:15<00:27, 23.65it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 37%|██████████████▋                         | 366/1000 [00:15<00:26, 24.33it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 37%|██████████████▉                         | 372/1000 [00:15<00:24, 25.19it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 38%|███████████████                         | 378/1000 [00:15<00:24, 25.42it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 38%|███████████████▎                        | 384/1000 [00:16<00:25, 24.07it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 39%|███████████████▍                        | 387/1000 [00:16<00:29, 20.99it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 39%|███████████████▋                        | 393/1000 [00:16<00:26, 22.89it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 40%|███████████████▉                        | 399/1000 [00:16<00:25, 23.32it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 40%|████████████████▏                       | 405/1000 [00:17<00:24, 23.85it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 41%|████████████████▍                       | 411/1000 [00:17<00:25, 23.24it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 42%|████████████████▋                       | 417/1000 [00:17<00:23, 24.76it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 42%|████████████████▉                       | 423/1000 [00:17<00:22, 25.32it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 43%|█████████████████▏                      | 429/1000 [00:18<00:22, 25.10it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 44%|█████████████████▍                      | 435/1000 [00:18<00:23, 24.17it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 44%|█████████████████▌                      | 438/1000 [00:18<00:23, 23.94it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 44%|█████████████████▊                      | 444/1000 [00:18<00:22, 24.70it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 45%|██████████████████                      | 450/1000 [00:19<00:22, 24.24it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 45%|██████████████████                      | 453/1000 [00:19<00:23, 23.14it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 46%|██████████████████▎                     | 459/1000 [00:19<00:23, 23.23it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 46%|██████████████████▌                     | 465/1000 [00:19<00:22, 24.07it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 47%|██████████████████▊                     | 471/1000 [00:19<00:21, 25.05it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 48%|███████████████████                     | 477/1000 [00:20<00:21, 24.44it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 48%|███████████████████▎                    | 483/1000 [00:20<00:20, 25.37it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 49%|███████████████████▌                    | 489/1000 [00:20<00:20, 25.18it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 50%|███████████████████▊                    | 495/1000 [00:20<00:20, 24.40it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
 50%|███████████████████▉                    | 498/1000 [00:20<00:21, 23.75it/s]
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 50%|████████████████████▏                   | 504/1000 [00:21<00:20, 24.38it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 51%|████████████████████▍                   | 510/1000 [00:21<00:20, 23.41it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 52%|████████████████████▋                   | 516/1000 [00:21<00:20, 23.87it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 52%|████████████████████▉                   | 522/1000 [00:21<00:19, 24.91it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 53%|█████████████████████                   | 528/1000 [00:22<00:18, 26.06it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 53%|█████████████████████▎                  | 534/1000 [00:22<00:17, 26.17it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 54%|█████████████████████▌                  | 540/1000 [00:22<00:18, 25.18it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 55%|█████████████████████▊                  | 546/1000 [00:22<00:18, 24.65it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 55%|█████████████████████▉                  | 549/1000 [00:23<00:18, 24.44it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 56%|██████████████████████▏                 | 555/1000 [00:23<00:19, 22.50it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
 56%|██████████████████████▎                 | 558/1000 [00:23<00:20, 21.57it/s]
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 56%|██████████████████████▌                 | 564/1000 [00:23<00:20, 21.73it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 57%|██████████████████████▊                 | 570/1000 [00:24<00:18, 22.67it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 58%|███████████████████████                 | 576/1000 [00:24<00:17, 23.83it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 58%|███████████████████████▏                | 579/1000 [00:24<00:18, 22.94it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 58%|███████████████████████▍                | 585/1000 [00:24<00:18, 22.54it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 59%|███████████████████████▋                | 591/1000 [00:24<00:17, 22.96it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 59%|███████████████████████▊                | 594/1000 [00:25<00:17, 23.40it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 60%|████████████████████████                | 600/1000 [00:25<00:16, 24.05it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 61%|████████████████████████▏               | 606/1000 [00:25<00:15, 25.12it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 61%|████████████████████████▍               | 612/1000 [00:25<00:15, 25.04it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 62%|████████████████████████▋               | 618/1000 [00:26<00:15, 24.35it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 62%|████████████████████████▉               | 624/1000 [00:26<00:15, 24.58it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
 63%|█████████████████████████               | 627/1000 [00:26<00:15, 24.40it/s]
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 63%|█████████████████████████▎              | 633/1000 [00:26<00:15, 23.84it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 64%|█████████████████████████▌              | 639/1000 [00:26<00:14, 24.22it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 64%|█████████████████████████▋              | 642/1000 [00:27<00:14, 24.90it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 65%|█████████████████████████▉              | 648/1000 [00:27<00:14, 23.80it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 65%|██████████████████████████▏             | 654/1000 [00:27<00:14, 23.93it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 66%|██████████████████████████▍             | 660/1000 [00:27<00:13, 24.45it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 67%|██████████████████████████▋             | 666/1000 [00:28<00:13, 24.80it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 67%|██████████████████████████▉             | 672/1000 [00:28<00:13, 24.97it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 68%|███████████████████████████             | 678/1000 [00:28<00:12, 25.51it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 68%|███████████████████████████▎            | 684/1000 [00:28<00:12, 25.64it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 69%|███████████████████████████▌            | 690/1000 [00:28<00:11, 26.32it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 70%|███████████████████████████▊            | 696/1000 [00:29<00:11, 26.25it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 70%|████████████████████████████            | 702/1000 [00:29<00:11, 25.31it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 71%|████████████████████████████▎           | 708/1000 [00:29<00:11, 24.82it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 71%|████████████████████████████▌           | 714/1000 [00:29<00:11, 24.70it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 72%|████████████████████████████▊           | 720/1000 [00:30<00:11, 24.82it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 73%|█████████████████████████████           | 726/1000 [00:30<00:11, 24.73it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 73%|█████████████████████████████▎          | 732/1000 [00:30<00:10, 25.43it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 74%|█████████████████████████████▌          | 738/1000 [00:30<00:10, 25.59it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 74%|█████████████████████████████▊          | 744/1000 [00:31<00:10, 25.31it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 75%|█████████████████████████████▉          | 747/1000 [00:31<00:10, 24.52it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 75%|██████████████████████████████          | 753/1000 [00:31<00:10, 23.23it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 76%|██████████████████████████████▎         | 759/1000 [00:31<00:10, 23.80it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 76%|██████████████████████████████▌         | 765/1000 [00:31<00:10, 23.05it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 77%|██████████████████████████████▊         | 771/1000 [00:32<00:09, 23.80it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 77%|██████████████████████████████▉         | 774/1000 [00:32<00:09, 23.71it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 78%|███████████████████████████████▏        | 780/1000 [00:32<00:09, 23.90it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 79%|███████████████████████████████▍        | 786/1000 [00:32<00:08, 24.25it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 79%|███████████████████████████████▋        | 792/1000 [00:33<00:08, 23.37it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 80%|███████████████████████████████▉        | 798/1000 [00:33<00:08, 23.47it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 80%|████████████████████████████████▏       | 804/1000 [00:33<00:08, 24.43it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 81%|████████████████████████████████▎       | 807/1000 [00:33<00:08, 23.68it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 81%|████████████████████████████████▌       | 813/1000 [00:33<00:07, 24.75it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 82%|████████████████████████████████▊       | 819/1000 [00:34<00:07, 24.23it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 82%|█████████████████████████████████       | 825/1000 [00:34<00:08, 20.83it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 83%|█████████████████████████████████       | 828/1000 [00:34<00:08, 20.49it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 83%|█████████████████████████████████▎      | 834/1000 [00:34<00:07, 22.70it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 84%|█████████████████████████████████▌      | 840/1000 [00:35<00:07, 22.49it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 85%|█████████████████████████████████▊      | 846/1000 [00:35<00:06, 24.00it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 85%|██████████████████████████████████      | 852/1000 [00:35<00:06, 23.57it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 86%|██████████████████████████████████▏     | 855/1000 [00:35<00:06, 23.08it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 86%|██████████████████████████████████▍     | 861/1000 [00:36<00:06, 22.80it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 87%|██████████████████████████████████▋     | 867/1000 [00:36<00:05, 22.70it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 87%|██████████████████████████████████▊     | 870/1000 [00:36<00:05, 22.64it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 88%|███████████████████████████████████     | 876/1000 [00:36<00:05, 21.23it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 88%|███████████████████████████████████▏    | 879/1000 [00:36<00:06, 20.16it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 88%|███████████████████████████████████▍    | 885/1000 [00:37<00:05, 20.43it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 89%|███████████████████████████████████▋    | 891/1000 [00:37<00:04, 22.00it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
 89%|███████████████████████████████████▊    | 894/1000 [00:37<00:04, 21.65it/s]
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 90%|████████████████████████████████████    | 900/1000 [00:37<00:04, 23.67it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 91%|████████████████████████████████████▏   | 906/1000 [00:38<00:03, 24.37it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 91%|████████████████████████████████████▍   | 912/1000 [00:38<00:03, 23.83it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 92%|████████████████████████████████████▌   | 915/1000 [00:38<00:03, 23.73it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 92%|████████████████████████████████████▊   | 921/1000 [00:38<00:03, 22.96it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 93%|█████████████████████████████████████   | 927/1000 [00:39<00:03, 23.19it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
 93%|█████████████████████████████████████▏  | 930/1000 [00:39<00:03, 23.28it/s]
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 94%|█████████████████████████████████████▍  | 936/1000 [00:39<00:03, 19.23it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 94%|█████████████████████████████████████▋  | 942/1000 [00:39<00:02, 21.93it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 94%|█████████████████████████████████████▊  | 945/1000 [00:39<00:02, 21.47it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 95%|██████████████████████████████████████  | 951/1000 [00:40<00:02, 22.30it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
 96%|██████████████████████████████████████▎ | 957/1000 [00:40<00:01, 22.24it/s]
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 96%|██████████████████████████████████████▍ | 960/1000 [00:40<00:01, 21.90it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 97%|██████████████████████████████████████▋ | 966/1000 [00:40<00:01, 22.97it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 97%|██████████████████████████████████████▉ | 972/1000 [00:41<00:01, 22.69it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 98%|███████████████████████████████████████ | 975/1000 [00:41<00:01, 23.35it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 98%|███████████████████████████████████████▏| 981/1000 [00:41<00:00, 23.27it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 99%|███████████████████████████████████████▍| 987/1000 [00:41<00:00, 23.52it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
 99%|███████████████████████████████████████▋| 993/1000 [00:41<00:00, 23.78it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
100%|███████████████████████████████████████▊| 996/1000 [00:42<00:00, 23.30it/s]
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
100%|███████████████████████████████████████| 1000/1000 [00:42<00:00, 23.63it/s]
The time axis has been adjusted to be prograde
Duplicate timestamps have been combined by averaging values.
(<Figure size 288x288 with 1 Axes>, <AxesSubplot:xlabel='$r$', ylabel='Count'>)
../../_images/DK_v1_PaleoHack_109_375.png

Conclusions#

Exercise 2.5 To bring it all together, summarize everything that can go wrong when fishing for correlations (at sea, or on land). Can you think of other papers where correlations with paleoclimate records might have been used unwisely? (no names needed… Just keep that in mind in your own work and point people to more defensible ways of dealing with this danger, i.e. Pyleoclim!)

Answer 2.5 The moral of the story is that all of these pitfalls matter ; any single one of them can turn a correlation initially reported as “significant” into insignificant ones. That is especially the case with a conjunction of pitfalls, with any 2 out of 3. The conjunction of all 3 pitfalls (persistence, test multiplicity, and age uncertainties) is particularly damaging in this example. Fortunatly, Pyleoclim makes it easy to deal with those pitfalls, so there is no excuse not to.

References#

[1] McKay, N. P., & Emile-Geay, J. (2016). Technical Note: The Linked Paleo Data framework – a common tongue for paleoclimatology. Climate of the Past, 12, 1093-1100.

[2] Khider, D., F. Zhu, J. E.-G. J. Hu, A. James, M. Kwan, P. Athreya, and D. Garijo.  Pyleoclim: A Pythonpackage for the analysis of paleoclimate data (v0.7.2) (2022).  URL https://doi.org/10.5281/zenodo.4002870

[3] Deborah Khider, Julien Emile-Geay, Feng Zhu, Alexander James, & Yuvi Panda. (2022). PaleoHackathon. Zenodo. http://doi.org/10.5281/zenodo.4556144. GitHub: https://github.com/LinkedEarth/paleoHackathon.

[4] Cheng, H., Edwards, R., Sinha, A. et al. The Asian monsoon over the past 640,000 years and ice age terminations. Nature 534, 640–646 (2016). https://doi.org/10.1038/nature18591

[5] McCabe-Glynn, S., Johnson, K. R., Strong, C., Berkelhammer, M., Sinha, A., Cheng, H., & Edwards, R. L. (2013). Variable North Pacific influence on drought in southwestern North America since AD 854. Nature geoscience, 6, 617-621. https://doi.org/10.1038/ngeo1862.

[6] Brian Rose, Andrew Williams, Moritz Kreuzer, Chris Cardinale, krachyon, xoviat, Ryan Abernathey, Filipe, & Paul Gierz. (2021). brian-rose/climlab: Version 0.7.12 (v0.7.12). Zenodo. https://doi.org/10.5281/zenodo.4768597

[7] Kennedy, J. J., Rayner, N. A., Atkinson, C. P., & Killick, R. E. (2019). An ensemble data set of sea‐surface temperature change from 1850: the Met Office Hadley Centre HadSST.4.0.0.0 data set. Journal of Geophysical Research: Atmospheres, 124. https://doi.org/10.1029/2018JD029867

[8] Bartlein, P. J., & Shafer, S. L. (2019). Paleo calendar-effect adjustments in time-slice and transient climate-model simulations (PaleoCalAdjust v1.0): impact and strategies for data analysis. Climate of the Past, 12(9), 3889–3913. https://doi.org/10.5194/gmd-12-3889-2019

[9] Hu, J., Emile-Geay, J., & Partin, J. (2017). Correlation-based interpretations of paleoclimate data - where statistics meet past climates. Earth and Planetary Science Letters, 459, 362-371. https://doi.org/10.1016/j.epsl.2016.11.048

[10] Benjamin, Y., & Hochberg, Y. (1995). Controlling the False Discovery Rate: A Practical and Powerful Approach to Multiple Testing. Journal of the Royal Statistical Society: Series B (Methodological), 57(1), 289-300. https://doi.org/10.1111/j.2517-6161.1995.tb02031.x