Interpolation of Sea Level Anomaly using GPSat#

from google.colab import drive
drive.mount('/content/drive')
Mounted at /content/drive

SLA Interpolation#

Now, the data is all set and we can proceed with the interpolation.

! pip install netCDF4
Collecting netCDF4
  Downloading netCDF4-1.7.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.8 kB)
Collecting cftime (from netCDF4)
  Downloading cftime-1.6.4.post1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (8.7 kB)
Requirement already satisfied: certifi in /usr/local/lib/python3.11/dist-packages (from netCDF4) (2025.1.31)
Requirement already satisfied: numpy in /usr/local/lib/python3.11/dist-packages (from netCDF4) (1.26.4)
Downloading netCDF4-1.7.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.3 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9.3/9.3 MB 83.9 MB/s eta 0:00:00
?25hDownloading cftime-1.6.4.post1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.4/1.4 MB 76.9 MB/s eta 0:00:00
?25hInstalling collected packages: cftime, netCDF4
Successfully installed cftime-1.6.4.post1 netCDF4-1.7.2
import netCDF4 as nc
import numpy as np
import pandas as pd
from datetime import datetime, timedelta
from pyproj import Transformer

# Define the transformation function
def WGS84toEASE2_Vectorized(lon, lat, return_vals="both", lon_0=0, lat_0=-90):
    EASE2 = f"+proj=laea +lon_0={lon_0} +lat_0={lat_0} +x_0=0 +y_0=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"
    WGS84 = "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs"
    transformer = Transformer.from_crs(WGS84, EASE2)
    x, y = transformer.transform(lon, lat)
    if return_vals == 'both':
        return x, y
def EASE2toWGS84(x, y, return_vals="both", lon_0=0, lat_0=-90):

    valid_return_vals = ['both', 'lon', 'lat']
    assert return_vals in ['both', 'lon', 'lat'], f"return_val: {return_vals} is not in valid set: {valid_return_vals}"
    EASE2 = f"+proj=laea +lon_0={lon_0} +lat_0={lat_0} +x_0=0 +y_0=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"
    WGS84 = "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs"
    transformer = Transformer.from_crs(EASE2, WGS84)
    lon, lat = transformer.transform(x, y)
    if return_vals == "both":
        return lon, lat
    elif return_vals == "lon":
        return lon
    elif return_vals == "lat":
        return lat

def get_projection(projection=None):

    # projection
    if projection is None:
        projection = ccrs.NorthPolarStereo()
    elif isinstance(projection, ccrs.Projection):
        pass
    elif isinstance(projection, str):
        if re.search("north", projection, re.IGNORECASE):
            projection = ccrs.NorthPolarStereo()
        elif re.search("south", projection, re.IGNORECASE):
            projection = ccrs.SouthPolarStereo()
        else:
            raise NotImplementedError(f"projection provide as str: {projection}, not implemented")

    return projection
def plot_pcolormesh(ax, lon, lat, plot_data,
                    fig=None,
                    title=None,
                    vmin=None,
                    vmax=None,
                    qvmin=None,
                    qvmax=None,
                    cmap='YlGnBu_r',
                    cbar_label=None,
                    scatter=False,
                    extent=None,
                    ocean_only=False,
                    **scatter_args):

    # ax = axs[j]
    ax.coastlines(resolution='50m', color='white')
    ax.add_feature(cfeat.LAKES, color='white', alpha=.5)
    ax.add_feature(cfeat.LAND, color=(0.8, 0.8, 0.8))
    # extent=[10, -150, -80, -67] if extent is None else extent
    extent = [-180, 180, 60, 90] if extent is None else extent
    ax.set_extent(extent, ccrs.PlateCarree())  # lon_min,lon_max,lat_min,lat_max

    if title:
        ax.set_title(title)

    if ocean_only:
        if globe_mask is None:
            warnings.warn(f"ocean_only={ocean_only}, however globe_mask is missing, "
                          f"install with pip install global-land-mask")
        else:
            is_in_ocean = globe_mask.is_ocean(lat, lon)
            # copy, just to be safe
            plot_data = copy.copy(plot_data)
            plot_data[~is_in_ocean] = np.nan

    if qvmin is not None:
        if vmin is not None:
            warnings.warn("both qvmin and vmin are supplied, only using qvmin")
        assert (qvmin >= 0) & (qvmin <= 1.0), f"qvmin: {qvmin}, needs to be in [0,1]"
        vmin = np.nanquantile(plot_data, q=qvmin)

    if qvmax is not None:
        if vmax is not None:
            warnings.warn("both qvmax and vmax are supplied, only using qvmax")
        assert (qvmax >= 0) & (qvmax <= 1.0), f"qvmax: {qvmax}, needs to be in [0,1]"
        vmax = np.nanquantile(plot_data, q=qvmax)

    if (vmin is not None) & (vmax is not None):
        assert vmin <= vmax, f"vmin: {vmin} > vmax: {vmax}"

    if not scatter:
        s = ax.pcolormesh(lon, lat, plot_data,
                          cmap=cmap,
                          vmin=vmin, vmax=vmax,
                          transform=ccrs.PlateCarree(),
                          linewidth=0,
                          shading="auto",# to remove DeprecationWarning
                          rasterized=True)
    else:
        non_nan = ~np.isnan(plot_data)
        s = ax.scatter(lon[non_nan],
                       lat[non_nan],
                       c=plot_data[non_nan],
                       cmap=cmap,
                       vmin=vmin, vmax=vmax,
                       transform=ccrs.PlateCarree(),
                       linewidth=0,
                       rasterized=True,
                       **scatter_args)

    if fig is not None:
        cbar = fig.colorbar(s, ax=ax, orientation='horizontal', pad=0.03, fraction=0.03)
        if cbar_label:
            cbar.set_label(cbar_label, fontsize=14)
        cbar.ax.tick_params(labelsize=14)

With a collection of 16 files, it’s essential to streamline the aforementioned process. Doing so will enable us to amalgamate the individual files into a comprehensive dataframe, forming an extensive dataset for thorough examination. We’ve done the processing for you and you just need to load it in using the code below.

These are the native files that the data is originally from:

SEN3_files = [ “S3A_SR_2_WAT____20230101T185252_20230101T185651_20230101T203101_0239_094_027______MAR_O_NR_005.SEN3”, “S3A_SR_2_WAT____20230101T121709_20230101T122349_20230101T135934_0400_094_023______MAR_O_NR_005.SEN3”, “S3A_SR_2_WAT____20230102T182657_20230102T183045_20230102T200425_0228_094_041______MAR_O_NR_005.SEN3”, “S3A_SR_2_WAT____20230102T115112_20230102T115751_20230102T132929_0399_094_037______MAR_O_NR_005.SEN3”, “S3A_SR_2_WAT____20230105T121326_20230105T122007_20230105T134843_0401_094_080______MAR_O_NR_005.SEN3”, “S3A_SR_2_WAT____20230105T184910_20230105T185308_20230105T202752_0238_094_084______MAR_O_NR_005.SEN3”, “S3A_SR_2_WAT____20230106T182316_20230106T182702_20230106T200253_0226_094_098______MAR_O_NR_005.SEN3”, “S3A_SR_2_WAT____20230109T120945_20230109T121625_20230109T135020_0400_094_137______MAR_O_NR_005.SEN3”, “S3B_SR_2_WAT____20230103T122643_20230103T123314_20230103T140329_0391_074_294______MAR_O_NR_005.SEN3”, “S3B_SR_2_WAT____20230104T183621_20230104T184014_20230104T201141_0233_074_312______MAR_O_NR_005.SEN3”, “S3B_SR_2_WAT____20230107T122257_20230107T122931_20230107T135514_0394_074_351______MAR_O_NR_005.SEN3”, “S3B_SR_2_WAT____20230107T185833_20230107T190234_20230107T203555_0240_074_355______MAR_O_NR_005.SEN3”, “S3B_SR_2_WAT____20230108T183238_20230108T183630_20230108T200807_0232_074_369______MAR_O_NR_005.SEN3”, “S3B_SR_2_WAT____20230108T115654_20230108T120333_20230108T133905_0399_074_365______MAR_O_NR_005.SEN3”, “S3B_SR_2_WAT____20230111T185450_20230111T185850_20230111T202939_0240_075_027______MAR_O_NR_005.SEN3”, “S3B_SR_2_WAT____20230111T121911_20230111T122547_20230111T135219_0396_075_023______MAR_O_NR_005.SEN3” ]

import pandas as pd

# savepath = '/Users/wg4031/Downloads/'
savepath = '/content/drive/MyDrive/GEOL0069/2324/Week 8 2025/'

# Load DataFrame from CSV file
# df = pd.read_csv(savepath+'all_data_01.csv')
df = pd.read_csv(savepath+'all_data_20.csv')

Now we proceed with GPSat, with the same process we went through in week 7.

try:
    import google.colab
    IN_COLAB = True
except:
    IN_COLAB = False

# TODO: allow for mounting of gdrive
# TODO: allow for checking out a branch

if IN_COLAB:

    import os
    import re

    # change to working directory
    work_dir = "/content"

    assert os.path.exists(work_dir), f"workspace directory: {work_dir} does not exist"
    os.chdir(work_dir)

    # clone repository
    !git clone https://github.com/CPOMUCL/GPSat.git

    repo_dir = os.path.join(work_dir, "GPSat")

    print(f"changing directory to: {repo_dir}")
    os.chdir(repo_dir)
Cloning into 'GPSat'...
remote: Enumerating objects: 2873, done.
remote: Counting objects: 100% (272/272), done.
remote: Compressing objects: 100% (114/114), done.
remote: Total 2873 (delta 143), reused 253 (delta 139), pack-reused 2601 (from 1)
Receiving objects: 100% (2873/2873), 59.92 MiB | 21.43 MiB/s, done.
Resolving deltas: 100% (1959/1959), done.
changing directory to: /content/GPSat
if IN_COLAB:
    !pip install -r requirements.txt
Ignoring setuptools: markers 'python_version >= "3.12"' don't match your environment
Ignoring tensorflow: markers 'platform_system == "Darwin" and platform_machine == "x86_64"' don't match your environment
Ignoring tensorflow-macos: markers 'platform_system == "Darwin" and platform_machine == "arm64"' don't match your environment
Ignoring gpflow: markers 'platform_system == "Darwin" and platform_machine == "arm64"' don't match your environment
Requirement already satisfied: astropy>=5.1.1 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 5)) (7.0.1)
Requirement already satisfied: chardet>=4.0.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 6)) (5.2.0)
Collecting pandas==1.5.3 (from -r requirements.txt (line 7))
  Downloading pandas-1.5.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (11 kB)
Collecting tensorflow<2.16.0,>=2.14.0 (from tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11))
  Downloading tensorflow-2.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.2 kB)
Collecting tensorflow-probability<0.24.0 (from -r requirements.txt (line 14))
  Downloading tensorflow_probability-0.23.0-py2.py3-none-any.whl.metadata (13 kB)
Collecting gpflow>=2.9.0 (from -r requirements.txt (line 25))
  Downloading gpflow-2.9.2-py3-none-any.whl.metadata (13 kB)
Collecting gpytorch==1.10 (from -r requirements.txt (line 28))
  Downloading gpytorch-1.10-py3-none-any.whl.metadata (7.4 kB)
Requirement already satisfied: matplotlib>=3.6.2 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 29)) (3.10.0)
Requirement already satisfied: scipy>=1.9.3 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 30)) (1.13.1)
Requirement already satisfied: tables>=3.7.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 31)) (3.10.2)
Collecting netCDF4==1.6.2 (from -r requirements.txt (line 32))
  Downloading netCDF4-1.6.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.6 kB)
Requirement already satisfied: xarray>=2022.10.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 33)) (2025.1.2)
Requirement already satisfied: gast>=0.4.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 34)) (0.6.0)
Requirement already satisfied: pyproj>=3.4.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 35)) (3.7.1)
Requirement already satisfied: seaborn>=0.11.2 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 36)) (0.13.2)
Collecting jupyter==1.0.0 (from -r requirements.txt (line 37))
  Downloading jupyter-1.0.0-py2.py3-none-any.whl.metadata (995 bytes)
Collecting scikit-learn==1.2.2 (from -r requirements.txt (line 38))
  Downloading scikit_learn-1.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (11 kB)
Requirement already satisfied: numba>=0.56.4 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 39)) (0.60.0)
Requirement already satisfied: pytest>=7.2.0 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 40)) (8.3.5)
Collecting dataclasses-json==0.5.7 (from -r requirements.txt (line 41))
  Downloading dataclasses_json-0.5.7-py3-none-any.whl.metadata (22 kB)
Collecting global-land-mask==1.0.0 (from -r requirements.txt (line 42))
  Downloading global_land_mask-1.0.0-py3-none-any.whl.metadata (5.2 kB)
Collecting cartopy==0.22.0 (from -r requirements.txt (line 43))
  Downloading Cartopy-0.22.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (15 kB)
Collecting fastparquet>=2024.2.0 (from -r requirements.txt (line 44))
  Downloading fastparquet-2024.11.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.2 kB)
Requirement already satisfied: pyarrow>=15.0.2 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 45)) (18.1.0)
Requirement already satisfied: Sphinx>=5.0.2 in /usr/local/lib/python3.11/dist-packages (from -r requirements.txt (line 50)) (8.1.3)
Collecting nbsphinx>=0.9.3 (from -r requirements.txt (line 51))
  Downloading nbsphinx-0.9.7-py3-none-any.whl.metadata (2.3 kB)
Collecting numpydoc>=1.6.0 (from -r requirements.txt (line 52))
  Downloading numpydoc-1.8.0-py3-none-any.whl.metadata (4.3 kB)
Collecting sphinxemoji>=0.2.0 (from -r requirements.txt (line 53))
  Downloading sphinxemoji-0.3.1-py3-none-any.whl.metadata (922 bytes)
Collecting sphinx-rtd-theme>=1.3.0 (from -r requirements.txt (line 54))
  Downloading sphinx_rtd_theme-3.0.2-py2.py3-none-any.whl.metadata (4.4 kB)
Requirement already satisfied: python-dateutil>=2.8.1 in /usr/local/lib/python3.11/dist-packages (from pandas==1.5.3->-r requirements.txt (line 7)) (2.8.2)
Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.11/dist-packages (from pandas==1.5.3->-r requirements.txt (line 7)) (2025.1)
Requirement already satisfied: numpy>=1.21.0 in /usr/local/lib/python3.11/dist-packages (from pandas==1.5.3->-r requirements.txt (line 7)) (1.26.4)
Collecting linear-operator>=0.4.0 (from gpytorch==1.10->-r requirements.txt (line 28))
  Downloading linear_operator-0.6-py3-none-any.whl.metadata (15 kB)
Requirement already satisfied: cftime in /usr/local/lib/python3.11/dist-packages (from netCDF4==1.6.2->-r requirements.txt (line 32)) (1.6.4.post1)
Requirement already satisfied: notebook in /usr/local/lib/python3.11/dist-packages (from jupyter==1.0.0->-r requirements.txt (line 37)) (6.5.5)
Collecting qtconsole (from jupyter==1.0.0->-r requirements.txt (line 37))
  Downloading qtconsole-5.6.1-py3-none-any.whl.metadata (5.0 kB)
Requirement already satisfied: jupyter-console in /usr/local/lib/python3.11/dist-packages (from jupyter==1.0.0->-r requirements.txt (line 37)) (6.1.0)
Requirement already satisfied: nbconvert in /usr/local/lib/python3.11/dist-packages (from jupyter==1.0.0->-r requirements.txt (line 37)) (7.16.6)
Requirement already satisfied: ipykernel in /usr/local/lib/python3.11/dist-packages (from jupyter==1.0.0->-r requirements.txt (line 37)) (6.17.1)
Requirement already satisfied: ipywidgets in /usr/local/lib/python3.11/dist-packages (from jupyter==1.0.0->-r requirements.txt (line 37)) (7.7.1)
Requirement already satisfied: joblib>=1.1.1 in /usr/local/lib/python3.11/dist-packages (from scikit-learn==1.2.2->-r requirements.txt (line 38)) (1.4.2)
Requirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.11/dist-packages (from scikit-learn==1.2.2->-r requirements.txt (line 38)) (3.5.0)
Collecting marshmallow<4.0.0,>=3.3.0 (from dataclasses-json==0.5.7->-r requirements.txt (line 41))
  Downloading marshmallow-3.26.1-py3-none-any.whl.metadata (7.3 kB)
Collecting marshmallow-enum<2.0.0,>=1.5.1 (from dataclasses-json==0.5.7->-r requirements.txt (line 41))
  Downloading marshmallow_enum-1.5.1-py2.py3-none-any.whl.metadata (2.5 kB)
Collecting typing-inspect>=0.4.0 (from dataclasses-json==0.5.7->-r requirements.txt (line 41))
  Downloading typing_inspect-0.9.0-py3-none-any.whl.metadata (1.5 kB)
Requirement already satisfied: shapely>=1.7 in /usr/local/lib/python3.11/dist-packages (from cartopy==0.22.0->-r requirements.txt (line 43)) (2.0.7)
Requirement already satisfied: packaging>=20 in /usr/local/lib/python3.11/dist-packages (from cartopy==0.22.0->-r requirements.txt (line 43)) (24.2)
Requirement already satisfied: pyshp>=2.1 in /usr/local/lib/python3.11/dist-packages (from cartopy==0.22.0->-r requirements.txt (line 43)) (2.3.1)
Requirement already satisfied: pyerfa>=2.0.1.1 in /usr/local/lib/python3.11/dist-packages (from astropy>=5.1.1->-r requirements.txt (line 5)) (2.0.1.5)
Requirement already satisfied: astropy-iers-data>=0.2025.1.31.12.41.4 in /usr/local/lib/python3.11/dist-packages (from astropy>=5.1.1->-r requirements.txt (line 5)) (0.2025.3.3.0.34.45)
Requirement already satisfied: PyYAML>=6.0.0 in /usr/local/lib/python3.11/dist-packages (from astropy>=5.1.1->-r requirements.txt (line 5)) (6.0.2)
Requirement already satisfied: absl-py>=1.0.0 in /usr/local/lib/python3.11/dist-packages (from tensorflow<2.16.0,>=2.14.0->tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11)) (1.4.0)
Requirement already satisfied: astunparse>=1.6.0 in /usr/local/lib/python3.11/dist-packages (from tensorflow<2.16.0,>=2.14.0->tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11)) (1.6.3)
Requirement already satisfied: flatbuffers>=23.5.26 in /usr/local/lib/python3.11/dist-packages (from tensorflow<2.16.0,>=2.14.0->tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11)) (25.2.10)
Requirement already satisfied: google-pasta>=0.1.1 in /usr/local/lib/python3.11/dist-packages (from tensorflow<2.16.0,>=2.14.0->tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11)) (0.2.0)
Requirement already satisfied: h5py>=2.9.0 in /usr/local/lib/python3.11/dist-packages (from tensorflow<2.16.0,>=2.14.0->tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11)) (3.12.1)
Requirement already satisfied: libclang>=13.0.0 in /usr/local/lib/python3.11/dist-packages (from tensorflow<2.16.0,>=2.14.0->tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11)) (18.1.1)
Collecting ml-dtypes~=0.3.1 (from tensorflow<2.16.0,>=2.14.0->tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11))
  Downloading ml_dtypes-0.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (20 kB)
Requirement already satisfied: opt-einsum>=2.3.2 in /usr/local/lib/python3.11/dist-packages (from tensorflow<2.16.0,>=2.14.0->tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11)) (3.4.0)
Requirement already satisfied: protobuf!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.20.3 in /usr/local/lib/python3.11/dist-packages (from tensorflow<2.16.0,>=2.14.0->tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11)) (4.25.6)
Requirement already satisfied: setuptools in /usr/local/lib/python3.11/dist-packages (from tensorflow<2.16.0,>=2.14.0->tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11)) (75.1.0)
Requirement already satisfied: six>=1.12.0 in /usr/local/lib/python3.11/dist-packages (from tensorflow<2.16.0,>=2.14.0->tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11)) (1.17.0)
Requirement already satisfied: termcolor>=1.1.0 in /usr/local/lib/python3.11/dist-packages (from tensorflow<2.16.0,>=2.14.0->tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11)) (2.5.0)
Requirement already satisfied: typing-extensions>=3.6.6 in /usr/local/lib/python3.11/dist-packages (from tensorflow<2.16.0,>=2.14.0->tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11)) (4.12.2)
Collecting wrapt<1.15,>=1.11.0 (from tensorflow<2.16.0,>=2.14.0->tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11))
  Downloading wrapt-1.14.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.7 kB)
Requirement already satisfied: tensorflow-io-gcs-filesystem>=0.23.1 in /usr/local/lib/python3.11/dist-packages (from tensorflow<2.16.0,>=2.14.0->tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11)) (0.37.1)
Requirement already satisfied: grpcio<2.0,>=1.24.3 in /usr/local/lib/python3.11/dist-packages (from tensorflow<2.16.0,>=2.14.0->tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11)) (1.70.0)
Collecting tensorboard<2.16,>=2.15 (from tensorflow<2.16.0,>=2.14.0->tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11))
  Downloading tensorboard-2.15.2-py3-none-any.whl.metadata (1.7 kB)
Collecting tensorflow-estimator<2.16,>=2.15.0 (from tensorflow<2.16.0,>=2.14.0->tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11))
  Downloading tensorflow_estimator-2.15.0-py2.py3-none-any.whl.metadata (1.3 kB)
Collecting keras<2.16,>=2.15.0 (from tensorflow<2.16.0,>=2.14.0->tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11))
  Downloading keras-2.15.0-py3-none-any.whl.metadata (2.4 kB)
Requirement already satisfied: decorator in /usr/local/lib/python3.11/dist-packages (from tensorflow-probability<0.24.0->-r requirements.txt (line 14)) (4.4.2)
Requirement already satisfied: cloudpickle>=1.3 in /usr/local/lib/python3.11/dist-packages (from tensorflow-probability<0.24.0->-r requirements.txt (line 14)) (3.1.1)
Requirement already satisfied: dm-tree in /usr/local/lib/python3.11/dist-packages (from tensorflow-probability<0.24.0->-r requirements.txt (line 14)) (0.1.9)
Collecting check-shapes>=1.0.0 (from gpflow>=2.9.0->-r requirements.txt (line 25))
  Downloading check_shapes-1.1.1-py3-none-any.whl.metadata (2.4 kB)
Requirement already satisfied: deprecated in /usr/local/lib/python3.11/dist-packages (from gpflow>=2.9.0->-r requirements.txt (line 25)) (1.2.18)
Requirement already satisfied: multipledispatch>=0.6 in /usr/local/lib/python3.11/dist-packages (from gpflow>=2.9.0->-r requirements.txt (line 25)) (1.0.0)
Requirement already satisfied: tabulate in /usr/local/lib/python3.11/dist-packages (from gpflow>=2.9.0->-r requirements.txt (line 25)) (0.9.0)
Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.11/dist-packages (from matplotlib>=3.6.2->-r requirements.txt (line 29)) (1.3.1)
Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.11/dist-packages (from matplotlib>=3.6.2->-r requirements.txt (line 29)) (0.12.1)
Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.11/dist-packages (from matplotlib>=3.6.2->-r requirements.txt (line 29)) (4.56.0)
Requirement already satisfied: kiwisolver>=1.3.1 in /usr/local/lib/python3.11/dist-packages (from matplotlib>=3.6.2->-r requirements.txt (line 29)) (1.4.8)
Requirement already satisfied: pillow>=8 in /usr/local/lib/python3.11/dist-packages (from matplotlib>=3.6.2->-r requirements.txt (line 29)) (11.1.0)
Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.11/dist-packages (from matplotlib>=3.6.2->-r requirements.txt (line 29)) (3.2.1)
Requirement already satisfied: numexpr>=2.6.2 in /usr/local/lib/python3.11/dist-packages (from tables>=3.7.0->-r requirements.txt (line 31)) (2.10.2)
Requirement already satisfied: py-cpuinfo in /usr/local/lib/python3.11/dist-packages (from tables>=3.7.0->-r requirements.txt (line 31)) (9.0.0)
Requirement already satisfied: blosc2>=2.3.0 in /usr/local/lib/python3.11/dist-packages (from tables>=3.7.0->-r requirements.txt (line 31)) (3.2.0)
INFO: pip is looking at multiple versions of xarray to determine which version is compatible with other requirements. This could take a while.
Collecting xarray>=2022.10.0 (from -r requirements.txt (line 33))
  Downloading xarray-2025.1.1-py3-none-any.whl.metadata (11 kB)
  Downloading xarray-2025.1.0-py3-none-any.whl.metadata (11 kB)
  Downloading xarray-2024.11.0-py3-none-any.whl.metadata (11 kB)
  Downloading xarray-2024.10.0-py3-none-any.whl.metadata (11 kB)
  Downloading xarray-2024.9.0-py3-none-any.whl.metadata (11 kB)
  Downloading xarray-2024.7.0-py3-none-any.whl.metadata (11 kB)
  Downloading xarray-2024.6.0-py3-none-any.whl.metadata (11 kB)
INFO: pip is still looking at multiple versions of xarray to determine which version is compatible with other requirements. This could take a while.
  Downloading xarray-2024.5.0-py3-none-any.whl.metadata (11 kB)
  Downloading xarray-2024.3.0-py3-none-any.whl.metadata (11 kB)
Requirement already satisfied: certifi in /usr/local/lib/python3.11/dist-packages (from pyproj>=3.4.0->-r requirements.txt (line 35)) (2025.1.31)
Requirement already satisfied: llvmlite<0.44,>=0.43.0dev0 in /usr/local/lib/python3.11/dist-packages (from numba>=0.56.4->-r requirements.txt (line 39)) (0.43.0)
Requirement already satisfied: iniconfig in /usr/local/lib/python3.11/dist-packages (from pytest>=7.2.0->-r requirements.txt (line 40)) (2.0.0)
Requirement already satisfied: pluggy<2,>=1.5 in /usr/local/lib/python3.11/dist-packages (from pytest>=7.2.0->-r requirements.txt (line 40)) (1.5.0)
Requirement already satisfied: cramjam>=2.3 in /usr/local/lib/python3.11/dist-packages (from fastparquet>=2024.2.0->-r requirements.txt (line 44)) (2.9.1)
Requirement already satisfied: fsspec in /usr/local/lib/python3.11/dist-packages (from fastparquet>=2024.2.0->-r requirements.txt (line 44)) (2024.10.0)
Requirement already satisfied: sphinxcontrib-applehelp>=1.0.7 in /usr/local/lib/python3.11/dist-packages (from Sphinx>=5.0.2->-r requirements.txt (line 50)) (2.0.0)
Requirement already satisfied: sphinxcontrib-devhelp>=1.0.6 in /usr/local/lib/python3.11/dist-packages (from Sphinx>=5.0.2->-r requirements.txt (line 50)) (2.0.0)
Requirement already satisfied: sphinxcontrib-htmlhelp>=2.0.6 in /usr/local/lib/python3.11/dist-packages (from Sphinx>=5.0.2->-r requirements.txt (line 50)) (2.1.0)
Requirement already satisfied: sphinxcontrib-jsmath>=1.0.1 in /usr/local/lib/python3.11/dist-packages (from Sphinx>=5.0.2->-r requirements.txt (line 50)) (1.0.1)
Requirement already satisfied: sphinxcontrib-qthelp>=1.0.6 in /usr/local/lib/python3.11/dist-packages (from Sphinx>=5.0.2->-r requirements.txt (line 50)) (2.0.0)
Requirement already satisfied: sphinxcontrib-serializinghtml>=1.1.9 in /usr/local/lib/python3.11/dist-packages (from Sphinx>=5.0.2->-r requirements.txt (line 50)) (2.0.0)
Requirement already satisfied: Jinja2>=3.1 in /usr/local/lib/python3.11/dist-packages (from Sphinx>=5.0.2->-r requirements.txt (line 50)) (3.1.6)
Requirement already satisfied: Pygments>=2.17 in /usr/local/lib/python3.11/dist-packages (from Sphinx>=5.0.2->-r requirements.txt (line 50)) (2.18.0)
Requirement already satisfied: docutils<0.22,>=0.20 in /usr/local/lib/python3.11/dist-packages (from Sphinx>=5.0.2->-r requirements.txt (line 50)) (0.21.2)
Requirement already satisfied: snowballstemmer>=2.2 in /usr/local/lib/python3.11/dist-packages (from Sphinx>=5.0.2->-r requirements.txt (line 50)) (2.2.0)
Requirement already satisfied: babel>=2.13 in /usr/local/lib/python3.11/dist-packages (from Sphinx>=5.0.2->-r requirements.txt (line 50)) (2.17.0)
Requirement already satisfied: alabaster>=0.7.14 in /usr/local/lib/python3.11/dist-packages (from Sphinx>=5.0.2->-r requirements.txt (line 50)) (1.0.0)
Requirement already satisfied: imagesize>=1.3 in /usr/local/lib/python3.11/dist-packages (from Sphinx>=5.0.2->-r requirements.txt (line 50)) (1.4.1)
Requirement already satisfied: requests>=2.30.0 in /usr/local/lib/python3.11/dist-packages (from Sphinx>=5.0.2->-r requirements.txt (line 50)) (2.32.3)
Requirement already satisfied: traitlets>=5 in /usr/local/lib/python3.11/dist-packages (from nbsphinx>=0.9.3->-r requirements.txt (line 51)) (5.7.1)
Requirement already satisfied: nbformat in /usr/local/lib/python3.11/dist-packages (from nbsphinx>=0.9.3->-r requirements.txt (line 51)) (5.10.4)
Collecting sphinxcontrib-jquery<5,>=4 (from sphinx-rtd-theme>=1.3.0->-r requirements.txt (line 54))
  Downloading sphinxcontrib_jquery-4.1-py2.py3-none-any.whl.metadata (2.6 kB)
Collecting nvidia-cublas-cu12==12.2.5.6 (from tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11))
  Downloading nvidia_cublas_cu12-12.2.5.6-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)
Collecting nvidia-cuda-cupti-cu12==12.2.142 (from tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11))
  Downloading nvidia_cuda_cupti_cu12-12.2.142-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)
Collecting nvidia-cuda-nvcc-cu12==12.2.140 (from tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11))
  Downloading nvidia_cuda_nvcc_cu12-12.2.140-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)
Collecting nvidia-cuda-nvrtc-cu12==12.2.140 (from tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11))
  Downloading nvidia_cuda_nvrtc_cu12-12.2.140-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)
Collecting nvidia-cuda-runtime-cu12==12.2.140 (from tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11))
  Downloading nvidia_cuda_runtime_cu12-12.2.140-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)
Collecting nvidia-cudnn-cu12==8.9.4.25 (from tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11))
  Downloading nvidia_cudnn_cu12-8.9.4.25-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)
Collecting nvidia-cufft-cu12==11.0.8.103 (from tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11))
  Downloading nvidia_cufft_cu12-11.0.8.103-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)
Collecting nvidia-curand-cu12==10.3.3.141 (from tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11))
  Downloading nvidia_curand_cu12-10.3.3.141-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)
Collecting nvidia-cusolver-cu12==11.5.2.141 (from tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11))
  Downloading nvidia_cusolver_cu12-11.5.2.141-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)
Collecting nvidia-cusparse-cu12==12.1.2.141 (from tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11))
  Downloading nvidia_cusparse_cu12-12.1.2.141-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)
Collecting nvidia-nccl-cu12==2.16.5 (from tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11))
  Downloading nvidia_nccl_cu12-2.16.5-py3-none-manylinux1_x86_64.whl.metadata (1.8 kB)
Collecting nvidia-nvjitlink-cu12==12.2.140 (from tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11))
  Downloading nvidia_nvjitlink_cu12-12.2.140-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)
Requirement already satisfied: wheel<1.0,>=0.23.0 in /usr/local/lib/python3.11/dist-packages (from astunparse>=1.6.0->tensorflow<2.16.0,>=2.14.0->tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11)) (0.45.1)
Requirement already satisfied: ndindex in /usr/local/lib/python3.11/dist-packages (from blosc2>=2.3.0->tables>=3.7.0->-r requirements.txt (line 31)) (1.9.2)
Requirement already satisfied: msgpack in /usr/local/lib/python3.11/dist-packages (from blosc2>=2.3.0->tables>=3.7.0->-r requirements.txt (line 31)) (1.1.0)
Requirement already satisfied: platformdirs in /usr/local/lib/python3.11/dist-packages (from blosc2>=2.3.0->tables>=3.7.0->-r requirements.txt (line 31)) (4.3.6)
Collecting dropstackframe>=0.1.0 (from check-shapes>=1.0.0->gpflow>=2.9.0->-r requirements.txt (line 25))
  Downloading dropstackframe-0.1.1-py3-none-any.whl.metadata (4.3 kB)
Collecting lark<2.0.0,>=1.1.0 (from check-shapes>=1.0.0->gpflow>=2.9.0->-r requirements.txt (line 25))
  Downloading lark-1.2.2-py3-none-any.whl.metadata (1.8 kB)
Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.11/dist-packages (from Jinja2>=3.1->Sphinx>=5.0.2->-r requirements.txt (line 50)) (3.0.2)
Requirement already satisfied: torch>=2.0 in /usr/local/lib/python3.11/dist-packages (from linear-operator>=0.4.0->gpytorch==1.10->-r requirements.txt (line 28)) (2.5.1+cu124)
Collecting jaxtyping (from linear-operator>=0.4.0->gpytorch==1.10->-r requirements.txt (line 28))
  Downloading jaxtyping-0.2.38-py3-none-any.whl.metadata (6.6 kB)
Requirement already satisfied: mpmath<=1.3,>=0.19 in /usr/local/lib/python3.11/dist-packages (from linear-operator>=0.4.0->gpytorch==1.10->-r requirements.txt (line 28)) (1.3.0)
Requirement already satisfied: beautifulsoup4 in /usr/local/lib/python3.11/dist-packages (from nbconvert->jupyter==1.0.0->-r requirements.txt (line 37)) (4.13.3)
Requirement already satisfied: bleach!=5.0.0 in /usr/local/lib/python3.11/dist-packages (from bleach[css]!=5.0.0->nbconvert->jupyter==1.0.0->-r requirements.txt (line 37)) (6.2.0)
Requirement already satisfied: defusedxml in /usr/local/lib/python3.11/dist-packages (from nbconvert->jupyter==1.0.0->-r requirements.txt (line 37)) (0.7.1)
Requirement already satisfied: jupyter-core>=4.7 in /usr/local/lib/python3.11/dist-packages (from nbconvert->jupyter==1.0.0->-r requirements.txt (line 37)) (5.7.2)
Requirement already satisfied: jupyterlab-pygments in /usr/local/lib/python3.11/dist-packages (from nbconvert->jupyter==1.0.0->-r requirements.txt (line 37)) (0.3.0)
Requirement already satisfied: mistune<4,>=2.0.3 in /usr/local/lib/python3.11/dist-packages (from nbconvert->jupyter==1.0.0->-r requirements.txt (line 37)) (3.1.2)
Requirement already satisfied: nbclient>=0.5.0 in /usr/local/lib/python3.11/dist-packages (from nbconvert->jupyter==1.0.0->-r requirements.txt (line 37)) (0.10.2)
Requirement already satisfied: pandocfilters>=1.4.1 in /usr/local/lib/python3.11/dist-packages (from nbconvert->jupyter==1.0.0->-r requirements.txt (line 37)) (1.5.1)
Requirement already satisfied: fastjsonschema>=2.15 in /usr/local/lib/python3.11/dist-packages (from nbformat->nbsphinx>=0.9.3->-r requirements.txt (line 51)) (2.21.1)
Requirement already satisfied: jsonschema>=2.6 in /usr/local/lib/python3.11/dist-packages (from nbformat->nbsphinx>=0.9.3->-r requirements.txt (line 51)) (4.23.0)
Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.11/dist-packages (from requests>=2.30.0->Sphinx>=5.0.2->-r requirements.txt (line 50)) (3.4.1)
Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.11/dist-packages (from requests>=2.30.0->Sphinx>=5.0.2->-r requirements.txt (line 50)) (3.10)
Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.11/dist-packages (from requests>=2.30.0->Sphinx>=5.0.2->-r requirements.txt (line 50)) (2.3.0)
Requirement already satisfied: google-auth<3,>=1.6.3 in /usr/local/lib/python3.11/dist-packages (from tensorboard<2.16,>=2.15->tensorflow<2.16.0,>=2.14.0->tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11)) (2.38.0)
Requirement already satisfied: google-auth-oauthlib<2,>=0.5 in /usr/local/lib/python3.11/dist-packages (from tensorboard<2.16,>=2.15->tensorflow<2.16.0,>=2.14.0->tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11)) (1.2.1)
Requirement already satisfied: markdown>=2.6.8 in /usr/local/lib/python3.11/dist-packages (from tensorboard<2.16,>=2.15->tensorflow<2.16.0,>=2.14.0->tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11)) (3.7)
Requirement already satisfied: tensorboard-data-server<0.8.0,>=0.7.0 in /usr/local/lib/python3.11/dist-packages (from tensorboard<2.16,>=2.15->tensorflow<2.16.0,>=2.14.0->tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11)) (0.7.2)
Requirement already satisfied: werkzeug>=1.0.1 in /usr/local/lib/python3.11/dist-packages (from tensorboard<2.16,>=2.15->tensorflow<2.16.0,>=2.14.0->tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11)) (3.1.3)
WARNING: tensorflow-probability 0.23.0 does not provide the extra 'tf'
Collecting mypy-extensions>=0.3.0 (from typing-inspect>=0.4.0->dataclasses-json==0.5.7->-r requirements.txt (line 41))
  Downloading mypy_extensions-1.0.0-py3-none-any.whl.metadata (1.1 kB)
Requirement already satisfied: attrs>=18.2.0 in /usr/local/lib/python3.11/dist-packages (from dm-tree->tensorflow-probability<0.24.0->-r requirements.txt (line 14)) (25.1.0)
Requirement already satisfied: debugpy>=1.0 in /usr/local/lib/python3.11/dist-packages (from ipykernel->jupyter==1.0.0->-r requirements.txt (line 37)) (1.8.0)
Requirement already satisfied: ipython>=7.23.1 in /usr/local/lib/python3.11/dist-packages (from ipykernel->jupyter==1.0.0->-r requirements.txt (line 37)) (7.34.0)
Requirement already satisfied: jupyter-client>=6.1.12 in /usr/local/lib/python3.11/dist-packages (from ipykernel->jupyter==1.0.0->-r requirements.txt (line 37)) (6.1.12)
Requirement already satisfied: matplotlib-inline>=0.1 in /usr/local/lib/python3.11/dist-packages (from ipykernel->jupyter==1.0.0->-r requirements.txt (line 37)) (0.1.7)
Requirement already satisfied: nest-asyncio in /usr/local/lib/python3.11/dist-packages (from ipykernel->jupyter==1.0.0->-r requirements.txt (line 37)) (1.6.0)
Requirement already satisfied: psutil in /usr/local/lib/python3.11/dist-packages (from ipykernel->jupyter==1.0.0->-r requirements.txt (line 37)) (5.9.5)
Requirement already satisfied: pyzmq>=17 in /usr/local/lib/python3.11/dist-packages (from ipykernel->jupyter==1.0.0->-r requirements.txt (line 37)) (24.0.1)
Requirement already satisfied: tornado>=6.1 in /usr/local/lib/python3.11/dist-packages (from ipykernel->jupyter==1.0.0->-r requirements.txt (line 37)) (6.4.2)
Requirement already satisfied: ipython-genutils~=0.2.0 in /usr/local/lib/python3.11/dist-packages (from ipywidgets->jupyter==1.0.0->-r requirements.txt (line 37)) (0.2.0)
Requirement already satisfied: widgetsnbextension~=3.6.0 in /usr/local/lib/python3.11/dist-packages (from ipywidgets->jupyter==1.0.0->-r requirements.txt (line 37)) (3.6.10)
Requirement already satisfied: jupyterlab-widgets>=1.0.0 in /usr/local/lib/python3.11/dist-packages (from ipywidgets->jupyter==1.0.0->-r requirements.txt (line 37)) (3.0.13)
Requirement already satisfied: prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0 in /usr/local/lib/python3.11/dist-packages (from jupyter-console->jupyter==1.0.0->-r requirements.txt (line 37)) (3.0.50)
Requirement already satisfied: argon2-cffi in /usr/local/lib/python3.11/dist-packages (from notebook->jupyter==1.0.0->-r requirements.txt (line 37)) (23.1.0)
Requirement already satisfied: Send2Trash>=1.8.0 in /usr/local/lib/python3.11/dist-packages (from notebook->jupyter==1.0.0->-r requirements.txt (line 37)) (1.8.3)
Requirement already satisfied: terminado>=0.8.3 in /usr/local/lib/python3.11/dist-packages (from notebook->jupyter==1.0.0->-r requirements.txt (line 37)) (0.18.1)
Requirement already satisfied: prometheus-client in /usr/local/lib/python3.11/dist-packages (from notebook->jupyter==1.0.0->-r requirements.txt (line 37)) (0.21.1)
Requirement already satisfied: nbclassic>=0.4.7 in /usr/local/lib/python3.11/dist-packages (from notebook->jupyter==1.0.0->-r requirements.txt (line 37)) (1.2.0)
Collecting qtpy>=2.4.0 (from qtconsole->jupyter==1.0.0->-r requirements.txt (line 37))
  Downloading QtPy-2.4.3-py3-none-any.whl.metadata (12 kB)
Requirement already satisfied: webencodings in /usr/local/lib/python3.11/dist-packages (from bleach!=5.0.0->bleach[css]!=5.0.0->nbconvert->jupyter==1.0.0->-r requirements.txt (line 37)) (0.5.1)
Requirement already satisfied: tinycss2<1.5,>=1.1.0 in /usr/local/lib/python3.11/dist-packages (from bleach[css]!=5.0.0->nbconvert->jupyter==1.0.0->-r requirements.txt (line 37)) (1.4.0)
Requirement already satisfied: cachetools<6.0,>=2.0.0 in /usr/local/lib/python3.11/dist-packages (from google-auth<3,>=1.6.3->tensorboard<2.16,>=2.15->tensorflow<2.16.0,>=2.14.0->tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11)) (5.5.2)
Requirement already satisfied: pyasn1-modules>=0.2.1 in /usr/local/lib/python3.11/dist-packages (from google-auth<3,>=1.6.3->tensorboard<2.16,>=2.15->tensorflow<2.16.0,>=2.14.0->tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11)) (0.4.1)
Requirement already satisfied: rsa<5,>=3.1.4 in /usr/local/lib/python3.11/dist-packages (from google-auth<3,>=1.6.3->tensorboard<2.16,>=2.15->tensorflow<2.16.0,>=2.14.0->tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11)) (4.9)
Requirement already satisfied: requests-oauthlib>=0.7.0 in /usr/local/lib/python3.11/dist-packages (from google-auth-oauthlib<2,>=0.5->tensorboard<2.16,>=2.15->tensorflow<2.16.0,>=2.14.0->tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11)) (2.0.0)
Collecting jedi>=0.16 (from ipython>=7.23.1->ipykernel->jupyter==1.0.0->-r requirements.txt (line 37))
  Downloading jedi-0.19.2-py2.py3-none-any.whl.metadata (22 kB)
Requirement already satisfied: pickleshare in /usr/local/lib/python3.11/dist-packages (from ipython>=7.23.1->ipykernel->jupyter==1.0.0->-r requirements.txt (line 37)) (0.7.5)
Requirement already satisfied: backcall in /usr/local/lib/python3.11/dist-packages (from ipython>=7.23.1->ipykernel->jupyter==1.0.0->-r requirements.txt (line 37)) (0.2.0)
Requirement already satisfied: pexpect>4.3 in /usr/local/lib/python3.11/dist-packages (from ipython>=7.23.1->ipykernel->jupyter==1.0.0->-r requirements.txt (line 37)) (4.9.0)
Requirement already satisfied: jsonschema-specifications>=2023.03.6 in /usr/local/lib/python3.11/dist-packages (from jsonschema>=2.6->nbformat->nbsphinx>=0.9.3->-r requirements.txt (line 51)) (2024.10.1)
Requirement already satisfied: referencing>=0.28.4 in /usr/local/lib/python3.11/dist-packages (from jsonschema>=2.6->nbformat->nbsphinx>=0.9.3->-r requirements.txt (line 51)) (0.36.2)
Requirement already satisfied: rpds-py>=0.7.1 in /usr/local/lib/python3.11/dist-packages (from jsonschema>=2.6->nbformat->nbsphinx>=0.9.3->-r requirements.txt (line 51)) (0.23.1)
Requirement already satisfied: notebook-shim>=0.2.3 in /usr/local/lib/python3.11/dist-packages (from nbclassic>=0.4.7->notebook->jupyter==1.0.0->-r requirements.txt (line 37)) (0.2.4)
Requirement already satisfied: wcwidth in /usr/local/lib/python3.11/dist-packages (from prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0->jupyter-console->jupyter==1.0.0->-r requirements.txt (line 37)) (0.2.13)
Requirement already satisfied: ptyprocess in /usr/local/lib/python3.11/dist-packages (from terminado>=0.8.3->notebook->jupyter==1.0.0->-r requirements.txt (line 37)) (0.7.0)
Requirement already satisfied: filelock in /usr/local/lib/python3.11/dist-packages (from torch>=2.0->linear-operator>=0.4.0->gpytorch==1.10->-r requirements.txt (line 28)) (3.17.0)
Requirement already satisfied: networkx in /usr/local/lib/python3.11/dist-packages (from torch>=2.0->linear-operator>=0.4.0->gpytorch==1.10->-r requirements.txt (line 28)) (3.4.2)
INFO: pip is looking at multiple versions of torch to determine which version is compatible with other requirements. This could take a while.
Collecting torch>=2.0 (from linear-operator>=0.4.0->gpytorch==1.10->-r requirements.txt (line 28))
  Downloading torch-2.6.0-cp311-cp311-manylinux1_x86_64.whl.metadata (28 kB)
  Downloading torch-2.5.1-cp311-cp311-manylinux1_x86_64.whl.metadata (28 kB)
  Downloading torch-2.5.0-cp311-cp311-manylinux1_x86_64.whl.metadata (28 kB)
  Downloading torch-2.4.1-cp311-cp311-manylinux1_x86_64.whl.metadata (26 kB)
Requirement already satisfied: sympy in /usr/local/lib/python3.11/dist-packages (from torch>=2.0->linear-operator>=0.4.0->gpytorch==1.10->-r requirements.txt (line 28)) (1.13.1)
  Downloading torch-2.4.0-cp311-cp311-manylinux1_x86_64.whl.metadata (26 kB)
  Downloading torch-2.3.1-cp311-cp311-manylinux1_x86_64.whl.metadata (26 kB)
  Downloading torch-2.3.0-cp311-cp311-manylinux1_x86_64.whl.metadata (26 kB)
INFO: pip is still looking at multiple versions of torch to determine which version is compatible with other requirements. This could take a while.
  Downloading torch-2.2.2-cp311-cp311-manylinux1_x86_64.whl.metadata (25 kB)
  Downloading torch-2.2.1-cp311-cp311-manylinux1_x86_64.whl.metadata (26 kB)
  Downloading torch-2.2.0-cp311-cp311-manylinux1_x86_64.whl.metadata (25 kB)
  Downloading torch-2.1.2-cp311-cp311-manylinux1_x86_64.whl.metadata (25 kB)
  Downloading torch-2.1.1-cp311-cp311-manylinux1_x86_64.whl.metadata (25 kB)
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
  Downloading torch-2.1.0-cp311-cp311-manylinux1_x86_64.whl.metadata (25 kB)
  Downloading torch-2.0.1-cp311-cp311-manylinux1_x86_64.whl.metadata (24 kB)
Collecting nvidia-cuda-nvrtc-cu11==11.7.99 (from torch>=2.0->linear-operator>=0.4.0->gpytorch==1.10->-r requirements.txt (line 28))
  Downloading nvidia_cuda_nvrtc_cu11-11.7.99-2-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)
Collecting nvidia-cuda-runtime-cu11==11.7.99 (from torch>=2.0->linear-operator>=0.4.0->gpytorch==1.10->-r requirements.txt (line 28))
  Downloading nvidia_cuda_runtime_cu11-11.7.99-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)
Collecting nvidia-cuda-cupti-cu11==11.7.101 (from torch>=2.0->linear-operator>=0.4.0->gpytorch==1.10->-r requirements.txt (line 28))
  Downloading nvidia_cuda_cupti_cu11-11.7.101-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)
Collecting nvidia-cudnn-cu11==8.5.0.96 (from torch>=2.0->linear-operator>=0.4.0->gpytorch==1.10->-r requirements.txt (line 28))
  Downloading nvidia_cudnn_cu11-8.5.0.96-2-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)
Collecting nvidia-cublas-cu11==11.10.3.66 (from torch>=2.0->linear-operator>=0.4.0->gpytorch==1.10->-r requirements.txt (line 28))
  Downloading nvidia_cublas_cu11-11.10.3.66-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)
Collecting nvidia-cufft-cu11==10.9.0.58 (from torch>=2.0->linear-operator>=0.4.0->gpytorch==1.10->-r requirements.txt (line 28))
  Downloading nvidia_cufft_cu11-10.9.0.58-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)
Collecting nvidia-curand-cu11==10.2.10.91 (from torch>=2.0->linear-operator>=0.4.0->gpytorch==1.10->-r requirements.txt (line 28))
  Downloading nvidia_curand_cu11-10.2.10.91-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)
Collecting nvidia-cusolver-cu11==11.4.0.1 (from torch>=2.0->linear-operator>=0.4.0->gpytorch==1.10->-r requirements.txt (line 28))
  Downloading nvidia_cusolver_cu11-11.4.0.1-2-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)
Collecting nvidia-cusparse-cu11==11.7.4.91 (from torch>=2.0->linear-operator>=0.4.0->gpytorch==1.10->-r requirements.txt (line 28))
  Downloading nvidia_cusparse_cu11-11.7.4.91-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)
Collecting nvidia-nccl-cu11==2.14.3 (from torch>=2.0->linear-operator>=0.4.0->gpytorch==1.10->-r requirements.txt (line 28))
  Downloading nvidia_nccl_cu11-2.14.3-py3-none-manylinux1_x86_64.whl.metadata (1.8 kB)
Collecting nvidia-nvtx-cu11==11.7.91 (from torch>=2.0->linear-operator>=0.4.0->gpytorch==1.10->-r requirements.txt (line 28))
  Downloading nvidia_nvtx_cu11-11.7.91-py3-none-manylinux1_x86_64.whl.metadata (1.7 kB)
Collecting triton==2.0.0 (from torch>=2.0->linear-operator>=0.4.0->gpytorch==1.10->-r requirements.txt (line 28))
  Downloading triton-2.0.0-1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (1.0 kB)
Requirement already satisfied: cmake in /usr/local/lib/python3.11/dist-packages (from triton==2.0.0->torch>=2.0->linear-operator>=0.4.0->gpytorch==1.10->-r requirements.txt (line 28)) (3.31.6)
Collecting lit (from triton==2.0.0->torch>=2.0->linear-operator>=0.4.0->gpytorch==1.10->-r requirements.txt (line 28))
  Downloading lit-18.1.8-py3-none-any.whl.metadata (2.5 kB)
Requirement already satisfied: argon2-cffi-bindings in /usr/local/lib/python3.11/dist-packages (from argon2-cffi->notebook->jupyter==1.0.0->-r requirements.txt (line 37)) (21.2.0)
Requirement already satisfied: soupsieve>1.2 in /usr/local/lib/python3.11/dist-packages (from beautifulsoup4->nbconvert->jupyter==1.0.0->-r requirements.txt (line 37)) (2.6)
Collecting wadler-lindig>=0.1.3 (from jaxtyping->linear-operator>=0.4.0->gpytorch==1.10->-r requirements.txt (line 28))
  Downloading wadler_lindig-0.1.3-py3-none-any.whl.metadata (17 kB)
Requirement already satisfied: parso<0.9.0,>=0.8.4 in /usr/local/lib/python3.11/dist-packages (from jedi>=0.16->ipython>=7.23.1->ipykernel->jupyter==1.0.0->-r requirements.txt (line 37)) (0.8.4)
Requirement already satisfied: jupyter-server<3,>=1.8 in /usr/local/lib/python3.11/dist-packages (from notebook-shim>=0.2.3->nbclassic>=0.4.7->notebook->jupyter==1.0.0->-r requirements.txt (line 37)) (1.24.0)
Requirement already satisfied: pyasn1<0.7.0,>=0.4.6 in /usr/local/lib/python3.11/dist-packages (from pyasn1-modules>=0.2.1->google-auth<3,>=1.6.3->tensorboard<2.16,>=2.15->tensorflow<2.16.0,>=2.14.0->tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11)) (0.6.1)
Requirement already satisfied: oauthlib>=3.0.0 in /usr/local/lib/python3.11/dist-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib<2,>=0.5->tensorboard<2.16,>=2.15->tensorflow<2.16.0,>=2.14.0->tensorflow[and-cuda]<2.16.0,>=2.14.0->-r requirements.txt (line 11)) (3.2.2)
Requirement already satisfied: cffi>=1.0.1 in /usr/local/lib/python3.11/dist-packages (from argon2-cffi-bindings->argon2-cffi->notebook->jupyter==1.0.0->-r requirements.txt (line 37)) (1.17.1)
Requirement already satisfied: pycparser in /usr/local/lib/python3.11/dist-packages (from cffi>=1.0.1->argon2-cffi-bindings->argon2-cffi->notebook->jupyter==1.0.0->-r requirements.txt (line 37)) (2.22)
Requirement already satisfied: anyio<4,>=3.1.0 in /usr/local/lib/python3.11/dist-packages (from jupyter-server<3,>=1.8->notebook-shim>=0.2.3->nbclassic>=0.4.7->notebook->jupyter==1.0.0->-r requirements.txt (line 37)) (3.7.1)
Requirement already satisfied: websocket-client in /usr/local/lib/python3.11/dist-packages (from jupyter-server<3,>=1.8->notebook-shim>=0.2.3->nbclassic>=0.4.7->notebook->jupyter==1.0.0->-r requirements.txt (line 37)) (1.8.0)
Requirement already satisfied: sniffio>=1.1 in /usr/local/lib/python3.11/dist-packages (from anyio<4,>=3.1.0->jupyter-server<3,>=1.8->notebook-shim>=0.2.3->nbclassic>=0.4.7->notebook->jupyter==1.0.0->-r requirements.txt (line 37)) (1.3.1)
Downloading pandas-1.5.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.0 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 12.0/12.0 MB 119.5 MB/s eta 0:00:00
?25hDownloading gpytorch-1.10-py3-none-any.whl (255 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 255.2/255.2 kB 26.6 MB/s eta 0:00:00
?25hDownloading netCDF4-1.6.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.1 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.1/5.1 MB 10.6 MB/s eta 0:00:00
?25hDownloading jupyter-1.0.0-py2.py3-none-any.whl (2.7 kB)
Downloading scikit_learn-1.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.6 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9.6/9.6 MB 124.0 MB/s eta 0:00:00
?25hDownloading dataclasses_json-0.5.7-py3-none-any.whl (25 kB)
Downloading global_land_mask-1.0.0-py3-none-any.whl (1.8 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 90.9 MB/s eta 0:00:00
?25hDownloading Cartopy-0.22.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.9 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 11.9/11.9 MB 69.4 MB/s eta 0:00:00
?25hDownloading tensorflow-2.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (475.3 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 475.3/475.3 MB 3.3 MB/s eta 0:00:00
?25hDownloading tensorflow_probability-0.23.0-py2.py3-none-any.whl (6.9 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.9/6.9 MB 105.2 MB/s eta 0:00:00
?25hDownloading gpflow-2.9.2-py3-none-any.whl (392 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 392.9/392.9 kB 37.3 MB/s eta 0:00:00
?25hDownloading xarray-2024.3.0-py3-none-any.whl (1.1 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 69.1 MB/s eta 0:00:00
?25hDownloading fastparquet-2024.11.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.8 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 86.0 MB/s eta 0:00:00
?25hDownloading nbsphinx-0.9.7-py3-none-any.whl (31 kB)
Downloading numpydoc-1.8.0-py3-none-any.whl (64 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 64.0/64.0 kB 7.1 MB/s eta 0:00:00
?25hDownloading sphinxemoji-0.3.1-py3-none-any.whl (46 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 46.1/46.1 kB 4.5 MB/s eta 0:00:00
?25hDownloading sphinx_rtd_theme-3.0.2-py2.py3-none-any.whl (7.7 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.7/7.7 MB 108.8 MB/s eta 0:00:00
?25hDownloading nvidia_cublas_cu12-12.2.5.6-py3-none-manylinux1_x86_64.whl (417.8 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 417.8/417.8 MB 3.9 MB/s eta 0:00:00
?25hDownloading nvidia_cuda_cupti_cu12-12.2.142-py3-none-manylinux1_x86_64.whl (13.9 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 13.9/13.9 MB 105.5 MB/s eta 0:00:00
?25hDownloading nvidia_cuda_nvcc_cu12-12.2.140-py3-none-manylinux1_x86_64.whl (21.3 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 21.3/21.3 MB 45.9 MB/s eta 0:00:00
?25hDownloading nvidia_cuda_nvrtc_cu12-12.2.140-py3-none-manylinux1_x86_64.whl (23.4 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 23.4/23.4 MB 68.0 MB/s eta 0:00:00
?25hDownloading nvidia_cuda_runtime_cu12-12.2.140-py3-none-manylinux1_x86_64.whl (845 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 845.8/845.8 kB 48.4 MB/s eta 0:00:00
?25hDownloading nvidia_cudnn_cu12-8.9.4.25-py3-none-manylinux1_x86_64.whl (720.1 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 720.1/720.1 MB 1.3 MB/s eta 0:00:00
?25hDownloading nvidia_cufft_cu12-11.0.8.103-py3-none-manylinux1_x86_64.whl (98.6 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 98.6/98.6 MB 8.4 MB/s eta 0:00:00
?25hDownloading nvidia_curand_cu12-10.3.3.141-py3-none-manylinux1_x86_64.whl (56.5 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 56.5/56.5 MB 11.3 MB/s eta 0:00:00
?25hDownloading nvidia_cusolver_cu12-11.5.2.141-py3-none-manylinux1_x86_64.whl (124.9 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 124.9/124.9 MB 8.2 MB/s eta 0:00:00
?25hDownloading nvidia_cusparse_cu12-12.1.2.141-py3-none-manylinux1_x86_64.whl (195.3 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 195.3/195.3 MB 6.3 MB/s eta 0:00:00
?25hDownloading nvidia_nccl_cu12-2.16.5-py3-none-manylinux1_x86_64.whl (188.7 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 188.7/188.7 MB 6.4 MB/s eta 0:00:00
?25hDownloading nvidia_nvjitlink_cu12-12.2.140-py3-none-manylinux1_x86_64.whl (20.2 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 20.2/20.2 MB 93.6 MB/s eta 0:00:00
?25hDownloading check_shapes-1.1.1-py3-none-any.whl (45 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 45.8/45.8 kB 4.5 MB/s eta 0:00:00
?25hDownloading keras-2.15.0-py3-none-any.whl (1.7 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.7/1.7 MB 83.1 MB/s eta 0:00:00
?25hDownloading linear_operator-0.6-py3-none-any.whl (176 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 176.3/176.3 kB 19.5 MB/s eta 0:00:00
?25hDownloading marshmallow-3.26.1-py3-none-any.whl (50 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 50.9/50.9 kB 5.2 MB/s eta 0:00:00
?25hDownloading marshmallow_enum-1.5.1-py2.py3-none-any.whl (4.2 kB)
Downloading ml_dtypes-0.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.2 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.2/2.2 MB 93.9 MB/s eta 0:00:00
?25hDownloading sphinxcontrib_jquery-4.1-py2.py3-none-any.whl (121 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 121.1/121.1 kB 12.0 MB/s eta 0:00:00
?25hDownloading tensorboard-2.15.2-py3-none-any.whl (5.5 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.5/5.5 MB 90.4 MB/s eta 0:00:00
?25hDownloading tensorflow_estimator-2.15.0-py2.py3-none-any.whl (441 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 442.0/442.0 kB 42.6 MB/s eta 0:00:00
?25hDownloading typing_inspect-0.9.0-py3-none-any.whl (8.8 kB)
Downloading wrapt-1.14.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (78 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 78.4/78.4 kB 8.3 MB/s eta 0:00:00
?25hDownloading qtconsole-5.6.1-py3-none-any.whl (125 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 125.0/125.0 kB 13.5 MB/s eta 0:00:00
?25hDownloading dropstackframe-0.1.1-py3-none-any.whl (4.6 kB)
Downloading lark-1.2.2-py3-none-any.whl (111 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 111.0/111.0 kB 13.8 MB/s eta 0:00:00
?25hDownloading mypy_extensions-1.0.0-py3-none-any.whl (4.7 kB)
Downloading QtPy-2.4.3-py3-none-any.whl (95 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 95.0/95.0 kB 11.1 MB/s eta 0:00:00
?25hDownloading torch-2.0.1-cp311-cp311-manylinux1_x86_64.whl (619.9 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 619.9/619.9 MB 2.6 MB/s eta 0:00:00
?25hDownloading nvidia_cublas_cu11-11.10.3.66-py3-none-manylinux1_x86_64.whl (317.1 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 317.1/317.1 MB 3.1 MB/s eta 0:00:00
?25hDownloading nvidia_cuda_cupti_cu11-11.7.101-py3-none-manylinux1_x86_64.whl (11.8 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 11.8/11.8 MB 84.8 MB/s eta 0:00:00
?25hDownloading nvidia_cuda_nvrtc_cu11-11.7.99-2-py3-none-manylinux1_x86_64.whl (21.0 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 21.0/21.0 MB 67.9 MB/s eta 0:00:00
?25hDownloading nvidia_cuda_runtime_cu11-11.7.99-py3-none-manylinux1_x86_64.whl (849 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 849.3/849.3 kB 49.5 MB/s eta 0:00:00
?25hDownloading nvidia_cudnn_cu11-8.5.0.96-2-py3-none-manylinux1_x86_64.whl (557.1 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 557.1/557.1 MB 3.3 MB/s eta 0:00:00
?25hDownloading nvidia_cufft_cu11-10.9.0.58-py3-none-manylinux2014_x86_64.whl (168.4 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 168.4/168.4 MB 6.3 MB/s eta 0:00:00
?25hDownloading nvidia_curand_cu11-10.2.10.91-py3-none-manylinux1_x86_64.whl (54.6 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 54.6/54.6 MB 11.0 MB/s eta 0:00:00
?25hDownloading nvidia_cusolver_cu11-11.4.0.1-2-py3-none-manylinux1_x86_64.whl (102.6 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 102.6/102.6 MB 8.5 MB/s eta 0:00:00
?25hDownloading nvidia_cusparse_cu11-11.7.4.91-py3-none-manylinux1_x86_64.whl (173.2 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 173.2/173.2 MB 6.6 MB/s eta 0:00:00
?25hDownloading nvidia_nccl_cu11-2.14.3-py3-none-manylinux1_x86_64.whl (177.1 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 177.1/177.1 MB 6.5 MB/s eta 0:00:00
?25hDownloading nvidia_nvtx_cu11-11.7.91-py3-none-manylinux1_x86_64.whl (98 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 98.6/98.6 kB 10.2 MB/s eta 0:00:00
?25hDownloading triton-2.0.0-1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (63.3 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 63.3/63.3 MB 12.4 MB/s eta 0:00:00
?25hDownloading jaxtyping-0.2.38-py3-none-any.whl (56 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 56.4/56.4 kB 5.5 MB/s eta 0:00:00
?25hDownloading jedi-0.19.2-py2.py3-none-any.whl (1.6 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.6/1.6 MB 58.2 MB/s eta 0:00:00
?25hDownloading wadler_lindig-0.1.3-py3-none-any.whl (20 kB)
Downloading lit-18.1.8-py3-none-any.whl (96 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 96.4/96.4 kB 10.9 MB/s eta 0:00:00
?25hInstalling collected packages: lit, global-land-mask, wrapt, wadler-lindig, tensorflow-estimator, qtpy, nvidia-nvtx-cu11, nvidia-nvjitlink-cu12, nvidia-nccl-cu12, nvidia-nccl-cu11, nvidia-cusparse-cu11, nvidia-curand-cu12, nvidia-curand-cu11, nvidia-cufft-cu12, nvidia-cufft-cu11, nvidia-cuda-runtime-cu12, nvidia-cuda-runtime-cu11, nvidia-cuda-nvrtc-cu12, nvidia-cuda-nvrtc-cu11, nvidia-cuda-nvcc-cu12, nvidia-cuda-cupti-cu12, nvidia-cuda-cupti-cu11, nvidia-cublas-cu12, nvidia-cublas-cu11, mypy-extensions, ml-dtypes, marshmallow, lark, keras, jedi, dropstackframe, typing-inspect, scikit-learn, pandas, nvidia-cusparse-cu12, nvidia-cusolver-cu11, nvidia-cudnn-cu12, nvidia-cudnn-cu11, netCDF4, marshmallow-enum, jaxtyping, check-shapes, xarray, tensorflow-probability, sphinxemoji, sphinxcontrib-jquery, nvidia-cusolver-cu12, numpydoc, fastparquet, dataclasses-json, cartopy, tensorboard, sphinx-rtd-theme, qtconsole, tensorflow, gpflow, nbsphinx, jupyter, triton, torch, linear-operator, gpytorch
  Attempting uninstall: wrapt
    Found existing installation: wrapt 1.17.2
    Uninstalling wrapt-1.17.2:
      Successfully uninstalled wrapt-1.17.2
  Attempting uninstall: nvidia-nvjitlink-cu12
    Found existing installation: nvidia-nvjitlink-cu12 12.5.82
    Uninstalling nvidia-nvjitlink-cu12-12.5.82:
      Successfully uninstalled nvidia-nvjitlink-cu12-12.5.82
  Attempting uninstall: nvidia-nccl-cu12
    Found existing installation: nvidia-nccl-cu12 2.21.5
    Uninstalling nvidia-nccl-cu12-2.21.5:
      Successfully uninstalled nvidia-nccl-cu12-2.21.5
  Attempting uninstall: nvidia-curand-cu12
    Found existing installation: nvidia-curand-cu12 10.3.6.82
    Uninstalling nvidia-curand-cu12-10.3.6.82:
      Successfully uninstalled nvidia-curand-cu12-10.3.6.82
  Attempting uninstall: nvidia-cufft-cu12
    Found existing installation: nvidia-cufft-cu12 11.2.3.61
    Uninstalling nvidia-cufft-cu12-11.2.3.61:
      Successfully uninstalled nvidia-cufft-cu12-11.2.3.61
  Attempting uninstall: nvidia-cuda-runtime-cu12
    Found existing installation: nvidia-cuda-runtime-cu12 12.5.82
    Uninstalling nvidia-cuda-runtime-cu12-12.5.82:
      Successfully uninstalled nvidia-cuda-runtime-cu12-12.5.82
  Attempting uninstall: nvidia-cuda-nvrtc-cu12
    Found existing installation: nvidia-cuda-nvrtc-cu12 12.5.82
    Uninstalling nvidia-cuda-nvrtc-cu12-12.5.82:
      Successfully uninstalled nvidia-cuda-nvrtc-cu12-12.5.82
  Attempting uninstall: nvidia-cuda-nvcc-cu12
    Found existing installation: nvidia-cuda-nvcc-cu12 12.5.82
    Uninstalling nvidia-cuda-nvcc-cu12-12.5.82:
      Successfully uninstalled nvidia-cuda-nvcc-cu12-12.5.82
  Attempting uninstall: nvidia-cuda-cupti-cu12
    Found existing installation: nvidia-cuda-cupti-cu12 12.5.82
    Uninstalling nvidia-cuda-cupti-cu12-12.5.82:
      Successfully uninstalled nvidia-cuda-cupti-cu12-12.5.82
  Attempting uninstall: nvidia-cublas-cu12
    Found existing installation: nvidia-cublas-cu12 12.5.3.2
    Uninstalling nvidia-cublas-cu12-12.5.3.2:
      Successfully uninstalled nvidia-cublas-cu12-12.5.3.2
  Attempting uninstall: ml-dtypes
    Found existing installation: ml-dtypes 0.4.1
    Uninstalling ml-dtypes-0.4.1:
      Successfully uninstalled ml-dtypes-0.4.1
  Attempting uninstall: keras
    Found existing installation: keras 3.8.0
    Uninstalling keras-3.8.0:
      Successfully uninstalled keras-3.8.0
  Attempting uninstall: scikit-learn
    Found existing installation: scikit-learn 1.6.1
    Uninstalling scikit-learn-1.6.1:
      Successfully uninstalled scikit-learn-1.6.1
  Attempting uninstall: pandas
    Found existing installation: pandas 2.2.2
    Uninstalling pandas-2.2.2:
      Successfully uninstalled pandas-2.2.2
  Attempting uninstall: nvidia-cusparse-cu12
    Found existing installation: nvidia-cusparse-cu12 12.5.1.3
    Uninstalling nvidia-cusparse-cu12-12.5.1.3:
      Successfully uninstalled nvidia-cusparse-cu12-12.5.1.3
  Attempting uninstall: nvidia-cudnn-cu12
    Found existing installation: nvidia-cudnn-cu12 9.3.0.75
    Uninstalling nvidia-cudnn-cu12-9.3.0.75:
      Successfully uninstalled nvidia-cudnn-cu12-9.3.0.75
  Attempting uninstall: netCDF4
    Found existing installation: netCDF4 1.7.2
    Uninstalling netCDF4-1.7.2:
      Successfully uninstalled netCDF4-1.7.2
  Attempting uninstall: xarray
    Found existing installation: xarray 2025.1.2
    Uninstalling xarray-2025.1.2:
      Successfully uninstalled xarray-2025.1.2
  Attempting uninstall: tensorflow-probability
    Found existing installation: tensorflow-probability 0.25.0
    Uninstalling tensorflow-probability-0.25.0:
      Successfully uninstalled tensorflow-probability-0.25.0
  Attempting uninstall: nvidia-cusolver-cu12
    Found existing installation: nvidia-cusolver-cu12 11.6.3.83
    Uninstalling nvidia-cusolver-cu12-11.6.3.83:
      Successfully uninstalled nvidia-cusolver-cu12-11.6.3.83
  Attempting uninstall: tensorboard
    Found existing installation: tensorboard 2.18.0
    Uninstalling tensorboard-2.18.0:
      Successfully uninstalled tensorboard-2.18.0
  Attempting uninstall: tensorflow
    Found existing installation: tensorflow 2.18.0
    Uninstalling tensorflow-2.18.0:
      Successfully uninstalled tensorflow-2.18.0
  Attempting uninstall: triton
    Found existing installation: triton 3.1.0
    Uninstalling triton-3.1.0:
      Successfully uninstalled triton-3.1.0
  Attempting uninstall: torch
    Found existing installation: torch 2.5.1+cu124
    Uninstalling torch-2.5.1+cu124:
      Successfully uninstalled torch-2.5.1+cu124
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
google-colab 1.0.0 requires pandas==2.2.2, but you have pandas 1.5.3 which is incompatible.
tensorflow-text 2.18.1 requires tensorflow<2.19,>=2.18.0, but you have tensorflow 2.15.1 which is incompatible.
dask-cudf-cu12 25.2.2 requires pandas<2.2.4dev0,>=2.0, but you have pandas 1.5.3 which is incompatible.
mlxtend 0.23.4 requires scikit-learn>=1.3.1, but you have scikit-learn 1.2.2 which is incompatible.
mizani 0.13.1 requires pandas>=2.2.0, but you have pandas 1.5.3 which is incompatible.
torchaudio 2.5.1+cu124 requires torch==2.5.1, but you have torch 2.0.1 which is incompatible.
imbalanced-learn 0.13.0 requires scikit-learn<2,>=1.3.2, but you have scikit-learn 1.2.2 which is incompatible.
dask-expr 1.1.21 requires pandas>=2, but you have pandas 1.5.3 which is incompatible.
torchvision 0.20.1+cu124 requires torch==2.5.1, but you have torch 2.0.1 which is incompatible.
tf-keras 2.18.0 requires tensorflow<2.19,>=2.18, but you have tensorflow 2.15.1 which is incompatible.
plotnine 0.14.5 requires pandas>=2.2.0, but you have pandas 1.5.3 which is incompatible.
cudf-cu12 25.2.1 requires pandas<2.2.4dev0,>=2.0, but you have pandas 1.5.3 which is incompatible.
Successfully installed cartopy-0.22.0 check-shapes-1.1.1 dataclasses-json-0.5.7 dropstackframe-0.1.1 fastparquet-2024.11.0 global-land-mask-1.0.0 gpflow-2.9.2 gpytorch-1.10 jaxtyping-0.2.38 jedi-0.19.2 jupyter-1.0.0 keras-2.15.0 lark-1.2.2 linear-operator-0.6 lit-18.1.8 marshmallow-3.26.1 marshmallow-enum-1.5.1 ml-dtypes-0.3.2 mypy-extensions-1.0.0 nbsphinx-0.9.7 netCDF4-1.6.2 numpydoc-1.8.0 nvidia-cublas-cu11-11.10.3.66 nvidia-cublas-cu12-12.2.5.6 nvidia-cuda-cupti-cu11-11.7.101 nvidia-cuda-cupti-cu12-12.2.142 nvidia-cuda-nvcc-cu12-12.2.140 nvidia-cuda-nvrtc-cu11-11.7.99 nvidia-cuda-nvrtc-cu12-12.2.140 nvidia-cuda-runtime-cu11-11.7.99 nvidia-cuda-runtime-cu12-12.2.140 nvidia-cudnn-cu11-8.5.0.96 nvidia-cudnn-cu12-8.9.4.25 nvidia-cufft-cu11-10.9.0.58 nvidia-cufft-cu12-11.0.8.103 nvidia-curand-cu11-10.2.10.91 nvidia-curand-cu12-10.3.3.141 nvidia-cusolver-cu11-11.4.0.1 nvidia-cusolver-cu12-11.5.2.141 nvidia-cusparse-cu11-11.7.4.91 nvidia-cusparse-cu12-12.1.2.141 nvidia-nccl-cu11-2.14.3 nvidia-nccl-cu12-2.16.5 nvidia-nvjitlink-cu12-12.2.140 nvidia-nvtx-cu11-11.7.91 pandas-1.5.3 qtconsole-5.6.1 qtpy-2.4.3 scikit-learn-1.2.2 sphinx-rtd-theme-3.0.2 sphinxcontrib-jquery-4.1 sphinxemoji-0.3.1 tensorboard-2.15.2 tensorflow-2.15.1 tensorflow-estimator-2.15.0 tensorflow-probability-0.23.0 torch-2.0.1 triton-2.0.0 typing-inspect-0.9.0 wadler-lindig-0.1.3 wrapt-1.14.1 xarray-2024.3.0
if IN_COLAB:
    !pip install -e .
Obtaining file:///content/GPSat
  Preparing metadata (setup.py) ... ?25l?25hdone
Installing collected packages: GPSat
  Running setup.py develop for GPSat
Successfully installed GPSat-0.0.0
pip install --upgrade pandas
Requirement already satisfied: pandas in /usr/local/lib/python3.11/dist-packages (1.5.3)
Collecting pandas
  Downloading pandas-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (89 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 89.9/89.9 kB 4.5 MB/s eta 0:00:00
?25hRequirement already satisfied: numpy>=1.23.2 in /usr/local/lib/python3.11/dist-packages (from pandas) (1.26.4)
Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.11/dist-packages (from pandas) (2.8.2)
Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.11/dist-packages (from pandas) (2025.1)
Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.11/dist-packages (from pandas) (2025.1)
Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.11/dist-packages (from python-dateutil>=2.8.2->pandas) (1.17.0)
Downloading pandas-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.1 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 13.1/13.1 MB 63.3 MB/s eta 0:00:00
?25hInstalling collected packages: pandas
  Attempting uninstall: pandas
    Found existing installation: pandas 1.5.3
    Uninstalling pandas-1.5.3:
      Successfully uninstalled pandas-1.5.3
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
google-colab 1.0.0 requires pandas==2.2.2, but you have pandas 2.2.3 which is incompatible.
mlxtend 0.23.4 requires scikit-learn>=1.3.1, but you have scikit-learn 1.2.2 which is incompatible.
Successfully installed pandas-2.2.3
import os
import re
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from GPSat import get_data_path, get_parent_path
from GPSat.dataprepper import DataPrep
from GPSat.utils import WGS84toEASE2_New, EASE2toWGS84_New, cprint, grid_2d_flatten, get_weighted_values
from GPSat.local_experts import LocalExpertOI, get_results_from_h5file
from GPSat.plot_utils import plot_pcolormesh, get_projection, plot_pcolormesh_from_results_data
from GPSat.config_dataclasses import DataConfig, ModelConfig, PredictionLocsConfig, ExpertLocsConfig
from GPSat.postprocessing import glue_local_predictions_2d
import cartopy.crs as ccrs
import cartopy.feature as cfeat
df
x y t obs
0 -1.158352e+06 -2.326781e+06 19358.786713 0.00040
1 -1.153165e+06 -2.322564e+06 19358.786725 -0.00385
2 -1.147980e+06 -2.318345e+06 19358.786736 -0.00705
3 -1.142795e+06 -2.314125e+06 19358.786748 -0.00705
4 -1.137610e+06 -2.309902e+06 19358.786759 -0.00675
... ... ... ... ...
4946 1.307158e+06 -3.217842e+06 19368.517847 0.01555
4947 1.311551e+06 -3.222704e+06 19368.517859 0.03775
4948 1.315944e+06 -3.227565e+06 19368.517870 0.10420
4949 1.320338e+06 -3.232424e+06 19368.517882 0.13745
4950 1.324732e+06 -3.237280e+06 19368.517894 0.15085

4951 rows × 4 columns

x_Eddy, y_Eddy = WGS84toEASE2_New(lon=-171.5, lat=-77,lat_0=-90)
<ipython-input-12-571f612af049>:1: DeprecationWarning: Call to deprecated function (or staticmethod) WGS84toEASE2_New. (This function will be removed in future versions. Use `WGS84toEASE2` instead.)
  x_Eddy, y_Eddy = WGS84toEASE2_New(lon=-171.5, lat=-77,lat_0=-90)
# plt.scatter(df['lon'][df['lon']<-150][df['lat']<-72],df['lat'][df['lon']<-150][df['lat']<-72])
# plt.scatter(-171.5, -77, marker = 'x', color='red')
plt.scatter(df['x'],df['y'])
plt.scatter(x_Eddy, y_Eddy, marker = 'x', color='red')
<matplotlib.collections.PathCollection at 0x7bc5eea671d0>
_images/b7def420ffcb75df26a58ba74133e06ea96bfce3ba2b8e8b0fb2bae281d374d6.png
# condition=[df['x']<200000.0][df['x']>-600000.0][df['y']<-1000000.0][df['y']>-1800000.0]
plt.scatter(df['x'][df['x']<200000.0][df['x']>-600000.0][df['y']<-1000000.0][df['y']>-1800000.0],df['y'][df['x']<200000.0][df['x']>-600000.0][df['y']<-1000000.0][df['y']>-1800000.0])
plt.scatter(x_Eddy, y_Eddy, marker = 'x', color='red')
<matplotlib.collections.PathCollection at 0x7bc558edc210>
_images/ec91c4038ef082767653083ff25e01b7380e66b056b2a91b909ba28a40b4e263.png
# condition=[df['x']<200000.0][df['x']>-600000.0][df['y']<-1000000.0][df['y']>-1800000.0]
plt.scatter(df['x'][df['x']<-100000.0][df['x']>-300000.0][df['y']<-1350000.0][df['y']>-1550000.0],df['y'][df['x']<-100000.0][df['x']>-300000.0][df['y']<-1350000.0][df['y']>-1550000.0])
plt.scatter(x_Eddy, y_Eddy, marker = 'x', color='red')
<matplotlib.collections.PathCollection at 0x7bc5557d1ed0>
_images/4c53fb32ad213b44d9efda3bbd4dfddc9fa00632b3ef8b719f58373979a80482.png
df['t']
0       19358.786713
1       19358.786725
2       19358.786736
3       19358.786748
4       19358.786759
            ...     
3104    19368.517859
3105    19368.517870
3106    19368.517882
3107    19368.517894
3108    19368.517905
Name: t, Length: 3109, dtype: float64
# - spaced every 10km for some x,y range
# xy_grid = grid_2d_flatten(x_range=[-600000.0, 200000.0],
#                           y_range=[-1800000.0, -1000000.0],
#                           step_size=100_000)
xy_grid = grid_2d_flatten(x_range=[-300000.0, -100000.0],
                          y_range=[-1550000.0, -1350000.0],
                          step_size=20_000)



# store in dataframe
eloc = pd.DataFrame(xy_grid, columns=['x', 'y'])

# add a time coordinate
eloc['t'] = np.floor(df['t'].mean())

print("Local expert locations:")
eloc.head()
Local expert locations:
x y t
0 -290000.0 -1540000.0 19363.0
1 -270000.0 -1540000.0 19363.0
2 -250000.0 -1540000.0 19363.0
3 -230000.0 -1540000.0 19363.0
4 -210000.0 -1540000.0 19363.0
# plot expert locations
df['lon'], df['lat'] = EASE2toWGS84(df['x'], df['y'])
eloc['lon'], eloc['lat'] = EASE2toWGS84_New(eloc['x'], eloc['y'],lat_0=-90)


fig = plt.figure(figsize=(12, 12))
ax = fig.add_subplot(1, 1, 1, projection=get_projection('south'))

plot_pcolormesh(ax=ax,
                lon=eloc['lon'],
                lat=eloc['lat'],
                plot_data=0*eloc['t'],
                title="expert locations",
                scatter=True,
                s=20,
                extent=[10, -150, -80, -67],
                vmin=-0.5,vmax=0.5)

plot_pcolormesh(ax=ax,
                lon=df['lon'],
                lat=df['lat'],
                plot_data=df['obs'],
                title="example: binned obs",
                scatter=True,
                s=10,
                fig=fig,
                # extent=[-180, 180, -90, -60],
                extent=[10, -150, -80, -67],
                vmin=-0.5,vmax=0.5)

plt.scatter(x=-171.5, y=-77, s=20, marker='x', color='red', transform=ccrs.PlateCarree())

plt.tight_layout()
plt.show()
<ipython-input-19-2db4156885dd>:3: DeprecationWarning: Call to deprecated function (or staticmethod) EASE2toWGS84_New. (This function will be removed in future versions. Use `EASE2toWGS84` instead.)
  eloc['lon'], eloc['lat'] = EASE2toWGS84_New(eloc['x'], eloc['y'],lat_0=-90)
'plot_pcolormesh': 0.013 seconds
'plot_pcolormesh': 0.058 seconds
_images/33a0595528e5f277cafd6090fea0286d7a26f0d6fec709ecdb59d65050caed1a.png
# - spaced every 5km


# xy_grid = grid_2d_flatten(x_range=[-600000.0, 200000.0],
#                           y_range=[-1800000.0, -1000000.0],
#                           step_size=10_000)

xy_grid = grid_2d_flatten(x_range=[-300000.0, -100000.0],
                          y_range=[-1550000.0, -1350000.0],
                          step_size=5_000)


# store in dataframe
# NOTE: the missing 't' coordinate will be determine by the expert location
# - alternatively the prediction location can be specified
ploc = pd.DataFrame(xy_grid, columns=['x', 'y'])

# Add lon-lat measurements
ploc['lon'], ploc['lat'] = EASE2toWGS84_New(ploc['x'], ploc['y'], lat_0=-90)

print("Prediction locations:")
ploc
Prediction locations:
<ipython-input-20-ddfe51deed04>:19: DeprecationWarning: Call to deprecated function (or staticmethod) EASE2toWGS84_New. (This function will be removed in future versions. Use `EASE2toWGS84` instead.)
  ploc['lon'], ploc['lat'] = EASE2toWGS84_New(ploc['x'], ploc['y'], lat_0=-90)
x y lon lat
0 -297500.0 -1547500.0 -169.117906 -75.852711
1 -292500.0 -1547500.0 -169.296538 -75.861163
2 -287500.0 -1547500.0 -169.475381 -75.869477
3 -282500.0 -1547500.0 -169.654432 -75.877652
4 -277500.0 -1547500.0 -169.833687 -75.885688
... ... ... ... ...
1595 -122500.0 -1352500.0 -174.824670 -77.816683
1596 -117500.0 -1352500.0 -175.034829 -77.820664
1597 -112500.0 -1352500.0 -175.245123 -77.824480
1598 -107500.0 -1352500.0 -175.455545 -77.828131
1599 -102500.0 -1352500.0 -175.666091 -77.831617

1600 rows × 4 columns

# Set training and inference radius
training_radius = 100_000   # 300km
inference_radius = 50_000  # 200km

# Local expert locations config
local_expert = ExpertLocsConfig(source = eloc)

# Model config
# model = ModelConfig(oi_model = "GPflowSVGPModel", # Use GPflow SVGP model
model = ModelConfig(oi_model = "GPflowGPRModel", # Use GPflow GPR model
                    init_params = {
                        # normalise xy coordinates by 50km
                        "coords_scale": [10_000, 10_000, 1]
                        },
                    constraints = {
                        # set bounds on the lengthscale hyperparameters
                        "lengthscales": {
                            "low": [1e-08, 1e-08, 1e-08],
                            "high": [600_000, 600_000, 9]
                        }
                        }
                    )

# Data config
data = DataConfig(data_source = df,
                  obs_col = "obs",
                  coords_col = ["x", "y", "t"],
                  local_select = [
                    # Select data within 300km and ± 4 days of the expert location
                    {"col": "t", "comp": "<=", "val": 4},
                    {"col": "t", "comp": ">=", "val": -4},
                    {"col": ["x", "y"], "comp": "<", "val": training_radius}
                  ]
                )

# Prediction locs config
pred_loc = PredictionLocsConfig(method = "from_dataframe",
                                df = ploc,
                                max_dist = inference_radius)
locexp = LocalExpertOI(expert_loc_config = local_expert,
                       data_config = data,
                       model_config = model,
                       pred_loc_config = pred_loc)
'data_select': 0.000 seconds
'load': 0.000 seconds
in json_serializable - key: 'data_source' has value DataFrame/Series, but is too long: 4951 >  100
storing as str
in json_serializable - key: 'df' has value DataFrame/Series, but is too long: 1600 >  100
storing as str
# path to store results
store_path = get_parent_path("results", "inline_example.h5")

# for the purposes of a simple example, if store_path exists: delete it
if os.path.exists(store_path):
    cprint(f"removing: {store_path}")
    os.remove(store_path)

# run optimal interpolation
locexp.run(store_path=store_path)
---------
storing expert locations in 'expert_locs' table
exception occurred: 'No object named expert_locs in the file'
will now close object

---------
dropping expert locations that already exists in 'run_details' table
exception occurred: 'No object named run_details in the file'
will now close object

--------------------------------------------------
1 / 100
current local expert:
          x          y        t         lon        lat
0 -290000.0 -1540000.0  19363.0 -169.335424 -75.931873
'data_select': 0.000 seconds
'load': 0.000 seconds
'local_data_select': 0.004 seconds
number obs: 147
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 3.182 seconds
'get_parameters': 0.010 seconds
'set_lengthscales_constraints': 0.013 seconds
**********
optimization failed!
'optimise_parameters': 4.931 seconds
'get_parameters': 0.015 seconds
parameters:
lengthscales: array([1.e-12, 6.e+01, 1.e-08]) 
kernel_variance: 7801356.356427869
likelihood_variance: 7096984.216863724
'predict': 0.135 seconds
total run time : 8.88 seconds
--------------------------------------------------
2 / 100
current local expert:
          x          y        t         lon        lat
1 -270000.0 -1540000.0  19363.0 -170.055706 -75.964166
'local_data_select': 0.004 seconds
number obs: 147
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.055 seconds
'set_lengthscales_constraints': 0.016 seconds
'optimise_parameters': 0.801 seconds
'get_parameters': 0.012 seconds
parameters:
lengthscales: array([2.77332085, 1.61263187, 0.00328696]) 
kernel_variance: 263.3230921113171
likelihood_variance: 169.40790472504463
'predict': 0.114 seconds
total run time : 1.55 seconds
--------------------------------------------------
3 / 100
current local expert:
          x          y        t         lon        lat
2 -250000.0 -1540000.0  19363.0 -170.779176 -75.994217
'local_data_select': 0.004 seconds
number obs: 149
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.062 seconds
'set_lengthscales_constraints': 0.023 seconds
**********
optimization failed!
'optimise_parameters': 1.051 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([1.e-12, 6.e+01, 1.e-08]) 
kernel_variance: 1613382.15649649
likelihood_variance: 1973393.3464029315
'predict': 0.079 seconds
total run time : 1.63 seconds
--------------------------------------------------
4 / 100
current local expert:
          x          y        t         lon        lat
3 -230000.0 -1540000.0  19363.0 -171.505624 -76.022012
'local_data_select': 0.003 seconds
number obs: 153
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.043 seconds
'set_lengthscales_constraints': 0.017 seconds
**********
optimization failed!
'optimise_parameters': 0.897 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([1.e-12, 6.e+01, 1.e-08]) 
kernel_variance: 2239179.209779515
likelihood_variance: 2073241.2287818228
'predict': 0.083 seconds
total run time : 1.47 seconds
--------------------------------------------------
5 / 100
current local expert:
          x          y        t         lon        lat
4 -210000.0 -1540000.0  19363.0 -172.234834 -76.047539
'local_data_select': 0.003 seconds
number obs: 155
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.040 seconds
'set_lengthscales_constraints': 0.011 seconds
**********
optimization failed!
'optimise_parameters': 0.947 seconds
'get_parameters': 0.010 seconds
parameters:
lengthscales: array([1.e-12, 6.e+01, 9.e+00]) 
kernel_variance: 1881040.6207033112
likelihood_variance: 1858584.6101048533
'predict': 0.082 seconds
total run time : 1.51 seconds
--------------------------------------------------
6 / 100
current local expert:
          x          y        t         lon        lat
5 -190000.0 -1540000.0  19363.0 -172.966584 -76.070784
'local_data_select': 0.003 seconds
number obs: 156
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.042 seconds
'set_lengthscales_constraints': 0.011 seconds
**********
optimization failed!
'optimise_parameters': 0.935 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([1.20355598e-05, 6.00000000e+01, 1.00000000e-08]) 
kernel_variance: 355934.5247718521
likelihood_variance: 329485.9904135247
'predict': 0.080 seconds
total run time : 1.51 seconds
--------------------------------------------------
7 / 100
current local expert:
          x          y        t         lon        lat
6 -170000.0 -1540000.0  19363.0 -173.700646 -76.091738
'local_data_select': 0.003 seconds
number obs: 164
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.040 seconds
'set_lengthscales_constraints': 0.011 seconds
**********
optimization failed!
'optimise_parameters': 0.915 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([6.e+01, 1.e-12, 1.e-08]) 
kernel_variance: 783594.7980640159
likelihood_variance: 620303.635738509
'predict': 0.085 seconds
total run time : 1.49 seconds
--------------------------------------------------
8 / 100
current local expert:
          x          y        t         lon       lat
7 -150000.0 -1540000.0  19363.0 -174.436791 -76.11039
'local_data_select': 0.003 seconds
number obs: 168
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.043 seconds
'set_lengthscales_constraints': 0.011 seconds
**********
optimization failed!
'optimise_parameters': 0.734 seconds
'get_parameters': 0.010 seconds
parameters:
lengthscales: array([15.7541638 ,  7.66190735,  0.15010599]) 
kernel_variance: 0.006986610216502265
likelihood_variance: 0.00019129613077585375
'predict': 0.093 seconds
total run time : 1.32 seconds
--------------------------------------------------
9 / 100
current local expert:
          x          y        t         lon       lat
8 -130000.0 -1540000.0  19363.0 -175.174783 -76.12673
'local_data_select': 0.003 seconds
number obs: 158
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.040 seconds
'set_lengthscales_constraints': 0.011 seconds
'optimise_parameters': 0.699 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([59.99467847,  9.3166332 ,  0.49994067]) 
kernel_variance: 0.011354484112992067
likelihood_variance: 0.0004024127576160831
'predict': 0.088 seconds
total run time : 1.28 seconds
--------------------------------------------------
10 / 100
current local expert:
          x          y        t         lon        lat
9 -110000.0 -1540000.0  19363.0 -175.914383 -76.140751
'local_data_select': 0.003 seconds
number obs: 142
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.041 seconds
'set_lengthscales_constraints': 0.019 seconds
'optimise_parameters': 0.815 seconds
'get_parameters': 0.012 seconds
parameters:
lengthscales: array([59.95901367, 11.295655  ,  0.74188023]) 
kernel_variance: 0.01377076366820946
likelihood_variance: 0.0004627961848375243
'predict': 0.106 seconds
SAVING RESULTS TO TABLES:
run_details
preds
lengthscales
kernel_variance
likelihood_variance
total run time : 1.79 seconds
--------------------------------------------------
11 / 100
current local expert:
           x          y        t         lon        lat
10 -290000.0 -1520000.0  19363.0 -169.198382 -76.109223
'local_data_select': 0.005 seconds
number obs: 167
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.075 seconds
'set_lengthscales_constraints': 0.015 seconds
'optimise_parameters': 0.821 seconds
'get_parameters': 0.016 seconds
parameters:
lengthscales: array([5.99201346e+01, 5.71793036e-01, 1.15747407e-03]) 
kernel_variance: 530.7365634942533
likelihood_variance: 418.4733956964455
'predict': 0.162 seconds
total run time : 1.66 seconds
--------------------------------------------------
12 / 100
current local expert:
           x          y        t         lon       lat
11 -270000.0 -1520000.0  19363.0 -169.927522 -76.14192
'local_data_select': 0.003 seconds
number obs: 167
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.040 seconds
'set_lengthscales_constraints': 0.011 seconds
**********
optimization failed!
'optimise_parameters': 0.933 seconds
'get_parameters': 0.008 seconds
parameters:
lengthscales: array([6.e+01, 1.e-12, 1.e-08]) 
kernel_variance: 274329.0450548182
likelihood_variance: 232604.99709703692
'predict': 0.085 seconds
total run time : 1.51 seconds
--------------------------------------------------
13 / 100
current local expert:
           x          y        t         lon        lat
12 -250000.0 -1520000.0  19363.0 -170.659974 -76.172349
'local_data_select': 0.005 seconds
number obs: 167
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.042 seconds
'set_lengthscales_constraints': 0.012 seconds
**********
optimization failed!
'optimise_parameters': 0.921 seconds
'get_parameters': 0.010 seconds
parameters:
lengthscales: array([1.e-12, 6.e+01, 9.e+00]) 
kernel_variance: 667929.4762544954
likelihood_variance: 631096.8447431928
'predict': 0.091 seconds
total run time : 1.50 seconds
--------------------------------------------------
14 / 100
current local expert:
           x          y        t         lon        lat
13 -230000.0 -1520000.0  19363.0 -171.395518 -76.200495
'local_data_select': 0.003 seconds
number obs: 181
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.042 seconds
'set_lengthscales_constraints': 0.012 seconds
**********
optimization failed!
'optimise_parameters': 0.947 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([1.e-12, 6.e+01, 1.e-08]) 
kernel_variance: 1143351.285298442
likelihood_variance: 738381.4035808941
'predict': 0.088 seconds
total run time : 1.53 seconds
--------------------------------------------------
15 / 100
current local expert:
           x          y        t         lon        lat
14 -210000.0 -1520000.0  19363.0 -172.133932 -76.226346
'local_data_select': 0.003 seconds
number obs: 173
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.040 seconds
'set_lengthscales_constraints': 0.016 seconds
**********
optimization failed!
'optimise_parameters': 0.799 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([59.34920108,  6.39195305,  0.32296103]) 
kernel_variance: 0.003371040821541827
likelihood_variance: 0.0001423513343895632
'predict': 0.084 seconds
total run time : 1.39 seconds
--------------------------------------------------
16 / 100
current local expert:
           x          y        t         lon        lat
15 -190000.0 -1520000.0  19363.0 -172.874984 -76.249887
'local_data_select': 0.003 seconds
number obs: 167
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.043 seconds
'set_lengthscales_constraints': 0.011 seconds
**********
optimization failed!
'optimise_parameters': 0.633 seconds
'get_parameters': 0.015 seconds
parameters:
lengthscales: array([14.10875133,  7.79562786,  0.15168417]) 
kernel_variance: 0.0038728152407368184
likelihood_variance: 0.00017365570269738307
'predict': 0.083 seconds
total run time : 1.22 seconds
--------------------------------------------------
17 / 100
current local expert:
           x          y        t         lon        lat
16 -170000.0 -1520000.0  19363.0 -173.618439 -76.271109
'local_data_select': 0.003 seconds
number obs: 174
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.041 seconds
'set_lengthscales_constraints': 0.012 seconds
'optimise_parameters': 0.532 seconds
'get_parameters': 0.010 seconds
parameters:
lengthscales: array([6.00000000e+01, 5.99999906e+01, 1.00005011e-08]) 
kernel_variance: 2.096384910571246e-14
likelihood_variance: 1e-06
'predict': 0.087 seconds
total run time : 1.13 seconds
--------------------------------------------------
18 / 100
current local expert:
           x          y        t         lon        lat
17 -150000.0 -1520000.0  19363.0 -174.364059 -76.289999
'local_data_select': 0.004 seconds
number obs: 177
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.043 seconds
'set_lengthscales_constraints': 0.013 seconds
'optimise_parameters': 0.797 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([26.03238332,  4.26768489,  0.03467616]) 
kernel_variance: 0.005716718823477727
likelihood_variance: 0.0003378291839307238
'predict': 0.081 seconds
total run time : 1.38 seconds
--------------------------------------------------
19 / 100
current local expert:
           x          y        t         lon        lat
18 -130000.0 -1520000.0  19363.0 -175.111599 -76.306549
'local_data_select': 0.003 seconds
number obs: 167
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.042 seconds
'set_lengthscales_constraints': 0.013 seconds
**********
optimization failed!
'optimise_parameters': 0.876 seconds
'get_parameters': 0.013 seconds
parameters:
lengthscales: array([28.58517423,  4.51733152,  0.02989311]) 
kernel_variance: 0.007851958008388936
likelihood_variance: 0.0003510152359886195
'predict': 0.127 seconds
total run time : 1.66 seconds
--------------------------------------------------
20 / 100
current local expert:
           x          y        t         lon        lat
19 -110000.0 -1520000.0  19363.0 -175.860811 -76.320751
'local_data_select': 0.007 seconds
number obs: 151
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.060 seconds
'set_lengthscales_constraints': 0.016 seconds
**********
optimization failed!
'optimise_parameters': 0.849 seconds
'get_parameters': 0.017 seconds
parameters:
lengthscales: array([33.67356421,  4.52714504,  0.03916233]) 
kernel_variance: 0.008760805755286212
likelihood_variance: 0.00038042653812130723
'predict': 0.115 seconds
SAVING RESULTS TO TABLES:
run_details
preds
lengthscales
kernel_variance
likelihood_variance
total run time : 1.90 seconds
--------------------------------------------------
21 / 100
current local expert:
           x          y        t         lon        lat
20 -290000.0 -1500000.0  19363.0 -169.057815 -76.286455
'local_data_select': 0.004 seconds
number obs: 185
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.067 seconds
'set_lengthscales_constraints': 0.017 seconds
**********
optimization failed!
'optimise_parameters': 0.756 seconds
'get_parameters': 0.010 seconds
parameters:
lengthscales: array([ 4.4922713 , 10.92812909,  1.01850469]) 
kernel_variance: 0.0019408174787459438
likelihood_variance: 0.00035954647079020194
'predict': 0.080 seconds
total run time : 1.36 seconds
--------------------------------------------------
22 / 100
current local expert:
           x          y        t         lon        lat
21 -270000.0 -1500000.0  19363.0 -169.796026 -76.319567
'local_data_select': 0.003 seconds
number obs: 194
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.042 seconds
'set_lengthscales_constraints': 0.011 seconds
**********
optimization failed!
'optimise_parameters': 0.709 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([ 3.34874263, 10.0448936 ,  1.25294211]) 
kernel_variance: 0.0028610462330477533
likelihood_variance: 0.0001622884057274451
'predict': 0.080 seconds
total run time : 1.29 seconds
--------------------------------------------------
23 / 100
current local expert:
           x          y        t         lon        lat
22 -250000.0 -1500000.0  19363.0 -170.537678 -76.350383
'local_data_select': 0.003 seconds
number obs: 204
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.043 seconds
'set_lengthscales_constraints': 0.011 seconds
**********
optimization failed!
'optimise_parameters': 0.857 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([59.61749356,  4.67982446,  0.15522265]) 
kernel_variance: 0.00195412814582698
likelihood_variance: 0.00015813429841096829
'predict': 0.085 seconds
total run time : 1.46 seconds
--------------------------------------------------
24 / 100
current local expert:
           x          y        t         lon       lat
23 -230000.0 -1500000.0  19363.0 -171.282543 -76.37889
'local_data_select': 0.003 seconds
number obs: 198
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.042 seconds
'set_lengthscales_constraints': 0.012 seconds
**********
optimization failed!
'optimise_parameters': 0.753 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([59.87712403,  5.29111292,  0.26696513]) 
kernel_variance: 0.00231346133827049
likelihood_variance: 0.00016094821625560788
'predict': 0.080 seconds
total run time : 1.35 seconds
--------------------------------------------------
25 / 100
current local expert:
           x          y        t        lon        lat
24 -210000.0 -1500000.0  19363.0 -172.03039 -76.405073
'local_data_select': 0.003 seconds
number obs: 195
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.044 seconds
'set_lengthscales_constraints': 0.013 seconds
**********
optimization failed!
'optimise_parameters': 0.798 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([59.84766037,  6.5790506 ,  0.33996272]) 
kernel_variance: 0.003040328244664288
likelihood_variance: 0.00014265479653852896
'predict': 0.086 seconds
total run time : 1.39 seconds
--------------------------------------------------
26 / 100
current local expert:
           x          y        t         lon        lat
25 -190000.0 -1500000.0  19363.0 -172.780979 -76.428918
'local_data_select': 0.003 seconds
number obs: 189
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.051 seconds
'set_lengthscales_constraints': 0.012 seconds
**********
optimization failed!
'optimise_parameters': 0.818 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([59.85604943,  5.57212311,  0.15436987]) 
kernel_variance: 0.003083974765626412
likelihood_variance: 0.00014210854200243062
'predict': 0.094 seconds
total run time : 1.44 seconds
--------------------------------------------------
27 / 100
current local expert:
           x          y        t         lon        lat
26 -170000.0 -1500000.0  19363.0 -173.534068 -76.450414
'local_data_select': 0.004 seconds
number obs: 195
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.057 seconds
'set_lengthscales_constraints': 0.011 seconds
'optimise_parameters': 0.734 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([3.19075358e+01, 3.59556868e+00, 2.30144384e-02]) 
kernel_variance: 0.004339471536366453
likelihood_variance: 0.0002858314280749518
'predict': 0.084 seconds
total run time : 1.34 seconds
--------------------------------------------------
28 / 100
current local expert:
           x          y        t         lon        lat
27 -150000.0 -1500000.0  19363.0 -174.289407 -76.469549
'local_data_select': 0.003 seconds
number obs: 176
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.042 seconds
'set_lengthscales_constraints': 0.011 seconds
**********
optimization failed!
'optimise_parameters': 0.722 seconds
'get_parameters': 0.013 seconds
parameters:
lengthscales: array([21.34502932,  4.03190622,  0.05622506]) 
kernel_variance: 0.005297424033367199
likelihood_variance: 0.0003236452563572071
'predict': 0.123 seconds
total run time : 1.50 seconds
--------------------------------------------------
29 / 100
current local expert:
           x          y        t         lon        lat
28 -130000.0 -1500000.0  19363.0 -175.046743 -76.486315
'local_data_select': 0.004 seconds
number obs: 171
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.061 seconds
'set_lengthscales_constraints': 0.018 seconds
**********
optimization failed!
'optimise_parameters': 0.962 seconds
'get_parameters': 0.014 seconds
parameters:
lengthscales: array([17.3376387 ,  4.05146896,  0.04472076]) 
kernel_variance: 0.0057217738866584475
likelihood_variance: 0.000336092724770591
'predict': 0.110 seconds
total run time : 1.75 seconds
--------------------------------------------------
30 / 100
current local expert:
           x          y        t         lon        lat
29 -110000.0 -1500000.0  19363.0 -175.805817 -76.500701
'local_data_select': 0.004 seconds
number obs: 158
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.066 seconds
'set_lengthscales_constraints': 0.017 seconds
'optimise_parameters': 0.693 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([25.38526043,  4.0746396 ,  0.04140106]) 
kernel_variance: 0.006310954935601863
likelihood_variance: 0.000351773422675863
'predict': 0.080 seconds
SAVING RESULTS TO TABLES:
run_details
preds
lengthscales
kernel_variance
likelihood_variance
total run time : 1.48 seconds
--------------------------------------------------
31 / 100
current local expert:
           x          y        t         lon        lat
30 -290000.0 -1480000.0  19363.0 -168.913587 -76.463567
'local_data_select': 0.003 seconds
number obs: 196
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.040 seconds
'set_lengthscales_constraints': 0.011 seconds
'optimise_parameters': 0.725 seconds
'get_parameters': 0.015 seconds
parameters:
lengthscales: array([ 3.65007217, 20.75256691,  0.48339144]) 
kernel_variance: 0.0017250350882099916
likelihood_variance: 0.00032000484512576644
'predict': 0.097 seconds
total run time : 1.35 seconds
--------------------------------------------------
32 / 100
current local expert:
           x          y        t         lon        lat
31 -270000.0 -1480000.0  19363.0 -169.661089 -76.497103
'local_data_select': 0.003 seconds
number obs: 218
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.038 seconds
'set_lengthscales_constraints': 0.011 seconds
**********
optimization failed!
'optimise_parameters': 0.785 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([ 2.91267828, 59.4555614 ,  0.19684447]) 
kernel_variance: 0.001545290543054168
likelihood_variance: 0.0002610085024989924
'predict': 0.088 seconds
total run time : 1.39 seconds
--------------------------------------------------
33 / 100
current local expert:
           x          y        t         lon        lat
32 -250000.0 -1480000.0  19363.0 -170.412167 -76.528318
'local_data_select': 0.003 seconds
number obs: 228
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.043 seconds
'set_lengthscales_constraints': 0.012 seconds
**********
optimization failed!
'optimise_parameters': 0.710 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([ 4.12241892, 10.55796825,  0.16617875]) 
kernel_variance: 0.002012799268743723
likelihood_variance: 0.00015483171457930742
'predict': 0.100 seconds
total run time : 1.36 seconds
--------------------------------------------------
34 / 100
current local expert:
           x          y        t         lon        lat
33 -230000.0 -1480000.0  19363.0 -171.166585 -76.557194
'local_data_select': 0.003 seconds
number obs: 219
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.042 seconds
'set_lengthscales_constraints': 0.012 seconds
'optimise_parameters': 0.671 seconds
'get_parameters': 0.010 seconds
parameters:
lengthscales: array([59.89931355,  5.29976089,  0.26711148]) 
kernel_variance: 0.0021359041816065992
likelihood_variance: 0.0001417532562196196
'predict': 0.097 seconds
total run time : 1.29 seconds
--------------------------------------------------
35 / 100
current local expert:
           x          y        t         lon        lat
34 -210000.0 -1480000.0  19363.0 -171.924104 -76.583718
'local_data_select': 0.003 seconds
number obs: 219
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.044 seconds
'set_lengthscales_constraints': 0.011 seconds
**********
optimization failed!
'optimise_parameters': 0.784 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([58.85997938,  5.31358006,  0.16592811]) 
kernel_variance: 0.0023348963683938995
likelihood_variance: 0.00013268968058490337
'predict': 0.081 seconds
total run time : 1.40 seconds
--------------------------------------------------
36 / 100
current local expert:
           x          y        t         lon        lat
35 -190000.0 -1480000.0  19363.0 -172.684475 -76.607875
'local_data_select': 0.003 seconds
number obs: 226
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.041 seconds
'set_lengthscales_constraints': 0.011 seconds
'optimise_parameters': 0.721 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([59.81077296,  4.13993912,  0.17268685]) 
kernel_variance: 0.00276830603956339
likelihood_variance: 0.00029544555955017375
'predict': 0.082 seconds
total run time : 1.33 seconds
--------------------------------------------------
37 / 100
current local expert:
           x          y        t         lon        lat
36 -170000.0 -1480000.0  19363.0 -173.447445 -76.629653
'local_data_select': 0.003 seconds
number obs: 203
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.039 seconds
'set_lengthscales_constraints': 0.011 seconds
**********
optimization failed!
'optimise_parameters': 0.690 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([27.52885095,  3.36261451,  0.05261236]) 
kernel_variance: 0.0033595139866240075
likelihood_variance: 0.00026967673469575025
'predict': 0.083 seconds
total run time : 1.43 seconds
--------------------------------------------------
38 / 100
current local expert:
           x          y        t         lon       lat
37 -150000.0 -1480000.0  19363.0 -174.212757 -76.64904
'local_data_select': 0.004 seconds
number obs: 192
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.059 seconds
'set_lengthscales_constraints': 0.016 seconds
'optimise_parameters': 0.850 seconds
'get_parameters': 0.014 seconds
parameters:
lengthscales: array([23.80393701,  3.61891681,  0.0714497 ]) 
kernel_variance: 0.004429660342765444
likelihood_variance: 0.0002958920665639531
'predict': 0.113 seconds
total run time : 1.67 seconds
--------------------------------------------------
39 / 100
current local expert:
           x          y        t         lon        lat
38 -130000.0 -1480000.0  19363.0 -174.980146 -76.666027
'local_data_select': 0.006 seconds
number obs: 166
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.059 seconds
'set_lengthscales_constraints': 0.016 seconds
'optimise_parameters': 0.854 seconds
'get_parameters': 0.017 seconds
parameters:
lengthscales: array([18.13008937,  3.76211976,  0.11013853]) 
kernel_variance: 0.0058577188783598185
likelihood_variance: 0.0003265075177582429
'predict': 0.427 seconds
total run time : 2.21 seconds
--------------------------------------------------
40 / 100
current local expert:
           x          y        t         lon        lat
39 -110000.0 -1480000.0  19363.0 -175.749345 -76.680603
'local_data_select': 0.003 seconds
number obs: 162
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.041 seconds
'set_lengthscales_constraints': 0.011 seconds
**********
optimization failed!
'optimise_parameters': 0.927 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([25.70587639,  3.95310455,  0.03155972]) 
kernel_variance: 0.005878429104084391
likelihood_variance: 0.0003596315855718761
'predict': 0.086 seconds
SAVING RESULTS TO TABLES:
run_details
preds
lengthscales
kernel_variance
likelihood_variance
total run time : 1.70 seconds
--------------------------------------------------
41 / 100
current local expert:
           x          y        t         lon        lat
40 -290000.0 -1460000.0  19363.0 -168.765556 -76.640555
'local_data_select': 0.003 seconds
number obs: 213
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.041 seconds
'set_lengthscales_constraints': 0.014 seconds
**********
optimization failed!
'optimise_parameters': 0.745 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([ 2.46483457, 16.69053035,  0.43844965]) 
kernel_variance: 0.0014087175485096087
likelihood_variance: 0.0002500235137478129
'predict': 0.083 seconds
total run time : 1.37 seconds
--------------------------------------------------
42 / 100
current local expert:
           x          y        t         lon        lat
41 -270000.0 -1460000.0  19363.0 -169.522576 -76.674528
'local_data_select': 0.003 seconds
number obs: 227
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.041 seconds
'set_lengthscales_constraints': 0.011 seconds
'optimise_parameters': 0.761 seconds
'get_parameters': 0.014 seconds
parameters:
lengthscales: array([ 2.89175115, 59.7508782 ,  0.15324217]) 
kernel_variance: 0.0013809610646636243
likelihood_variance: 0.0002530654316649846
'predict': 0.086 seconds
total run time : 1.38 seconds
--------------------------------------------------
43 / 100
current local expert:
           x          y        t         lon        lat
42 -250000.0 -1460000.0  19363.0 -170.283314 -76.706151
'local_data_select': 0.003 seconds
number obs: 237
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.040 seconds
'set_lengthscales_constraints': 0.011 seconds
**********
optimization failed!
'optimise_parameters': 0.867 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([ 5.2261506 , 58.85606384,  0.14497894]) 
kernel_variance: 0.0016292237627041001
likelihood_variance: 0.00029928975684241914
'predict': 0.083 seconds
total run time : 1.47 seconds
--------------------------------------------------
44 / 100
current local expert:
           x          y        t         lon        lat
43 -230000.0 -1460000.0  19363.0 -171.047527 -76.735406
'local_data_select': 0.003 seconds
number obs: 249
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.046 seconds
'set_lengthscales_constraints': 0.018 seconds
'optimise_parameters': 0.867 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([58.79910171,  4.51037895,  0.17222387]) 
kernel_variance: 0.0018547260859715165
likelihood_variance: 0.00013453061519932573
'predict': 0.080 seconds
total run time : 1.50 seconds
--------------------------------------------------
45 / 100
current local expert:
           x          y        t         lon       lat
44 -210000.0 -1460000.0  19363.0 -171.814964 -76.76228
'local_data_select': 0.003 seconds
number obs: 252
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.042 seconds
'set_lengthscales_constraints': 0.011 seconds
'optimise_parameters': 0.812 seconds
'get_parameters': 0.011 seconds
parameters:
lengthscales: array([59.69805456,  5.33442753,  0.1605741 ]) 
kernel_variance: 0.002330862798755213
likelihood_variance: 0.00014253900172150072
'predict': 0.091 seconds
total run time : 1.45 seconds
--------------------------------------------------
46 / 100
current local expert:
           x          y        t        lon        lat
45 -190000.0 -1460000.0  19363.0 -172.58537 -76.786757
'local_data_select': 0.003 seconds
number obs: 244
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.045 seconds
'set_lengthscales_constraints': 0.013 seconds
**********
optimization failed!
'optimise_parameters': 1.080 seconds
'get_parameters': 0.013 seconds
parameters:
lengthscales: array([58.4484013 ,  3.38598767,  0.12800801]) 
kernel_variance: 0.002351132622282369
likelihood_variance: 0.00026805352635938346
'predict': 0.126 seconds
total run time : 1.93 seconds
--------------------------------------------------
47 / 100
current local expert:
           x          y        t         lon        lat
46 -170000.0 -1460000.0  19363.0 -173.358481 -76.808824
'local_data_select': 0.004 seconds
number obs: 219
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.064 seconds
'set_lengthscales_constraints': 0.019 seconds
**********
optimization failed!
'optimise_parameters': 1.033 seconds
'get_parameters': 0.013 seconds
parameters:
lengthscales: array([37.48200686,  3.26176813,  0.05216011]) 
kernel_variance: 0.003285995680549559
likelihood_variance: 0.00024735524281572563
'predict': 0.124 seconds
total run time : 1.86 seconds
--------------------------------------------------
48 / 100
current local expert:
           x          y        t         lon       lat
47 -150000.0 -1460000.0  19363.0 -174.134029 -76.82847
'local_data_select': 0.003 seconds
number obs: 202
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.042 seconds
'set_lengthscales_constraints': 0.012 seconds
'optimise_parameters': 0.703 seconds
'get_parameters': 0.010 seconds
parameters:
lengthscales: array([27.61558959,  3.2990428 ,  0.0694941 ]) 
kernel_variance: 0.0034254719049933552
likelihood_variance: 0.00027468905545678944
'predict': 0.083 seconds
total run time : 1.34 seconds
--------------------------------------------------
49 / 100
current local expert:
           x          y        t        lon        lat
48 -130000.0 -1460000.0  19363.0 -174.91174 -76.845684
'local_data_select': 0.003 seconds
number obs: 180
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.042 seconds
'set_lengthscales_constraints': 0.011 seconds
'optimise_parameters': 0.581 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([6.e+01, 1.e-12, 1.e-08]) 
kernel_variance: 75.74032635665677
likelihood_variance: 1e-06
'predict': 0.079 seconds
total run time : 1.20 seconds
--------------------------------------------------
50 / 100
current local expert:
           x          y        t         lon        lat
49 -110000.0 -1460000.0  19363.0 -175.691335 -76.860456
'local_data_select': 0.003 seconds
number obs: 162
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.049 seconds
'set_lengthscales_constraints': 0.011 seconds
'optimise_parameters': 0.551 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([6.00000000e+01, 2.89409157e-03, 1.00000000e-08]) 
kernel_variance: 9.10443494800943e-08
likelihood_variance: 4.5296774083698334e-06
'predict': 0.079 seconds
SAVING RESULTS TO TABLES:
run_details
preds
lengthscales
kernel_variance
likelihood_variance
total run time : 1.34 seconds
--------------------------------------------------
51 / 100
current local expert:
           x          y        t         lon        lat
50 -290000.0 -1440000.0  19363.0 -168.613571 -76.817416
'local_data_select': 0.003 seconds
number obs: 220
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.041 seconds
'set_lengthscales_constraints': 0.015 seconds
'optimise_parameters': 0.920 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([ 1.85865777, 21.11402695,  0.24909062]) 
kernel_variance: 0.0010405956096852154
likelihood_variance: 0.00022270336126937215
'predict': 0.093 seconds
total run time : 1.57 seconds
--------------------------------------------------
52 / 100
current local expert:
           x          y        t         lon        lat
51 -270000.0 -1440000.0  19363.0 -169.380345 -76.851837
'local_data_select': 0.003 seconds
number obs: 235
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.041 seconds
'set_lengthscales_constraints': 0.011 seconds
'optimise_parameters': 0.912 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([ 2.94153261, 58.7051455 ,  0.13455084]) 
kernel_variance: 0.001250499336469039
likelihood_variance: 0.00025546050698698256
'predict': 0.083 seconds
total run time : 1.56 seconds
--------------------------------------------------
53 / 100
current local expert:
           x          y        t         lon        lat
52 -250000.0 -1440000.0  19363.0 -170.150985 -76.883879
'local_data_select': 0.003 seconds
number obs: 246
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.041 seconds
'set_lengthscales_constraints': 0.011 seconds
**********
optimization failed!
'optimise_parameters': 0.808 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([ 9.96096828, 13.17625897,  0.18889899]) 
kernel_variance: 0.0018430661116530726
likelihood_variance: 0.00031592329054783814
'predict': 0.089 seconds
total run time : 1.47 seconds
--------------------------------------------------
54 / 100
current local expert:
           x          y        t         lon        lat
53 -230000.0 -1440000.0  19363.0 -170.925242 -76.913525
'local_data_select': 0.003 seconds
number obs: 263
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.041 seconds
'set_lengthscales_constraints': 0.012 seconds
**********
optimization failed!
'optimise_parameters': 0.830 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([24.07132308,  5.27588399,  0.10149548]) 
kernel_variance: 0.0016599308035690236
likelihood_variance: 0.0001475249812889026
'predict': 0.092 seconds
total run time : 1.51 seconds
--------------------------------------------------
55 / 100
current local expert:
           x          y        t         lon        lat
54 -210000.0 -1440000.0  19363.0 -171.702855 -76.940758
'local_data_select': 0.004 seconds
number obs: 271
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.060 seconds
'set_lengthscales_constraints': 0.019 seconds
'optimise_parameters': 0.983 seconds
'get_parameters': 0.013 seconds
parameters:
lengthscales: array([4.46125682e+01, 5.79309547e+00, 2.43982089e-02]) 
kernel_variance: 0.0022724909287428307
likelihood_variance: 0.00015328295707427882
'predict': 0.138 seconds
total run time : 1.84 seconds
--------------------------------------------------
56 / 100
current local expert:
           x          y        t         lon        lat
55 -190000.0 -1440000.0  19363.0 -172.483558 -76.965564
'local_data_select': 0.004 seconds
number obs: 256
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.055 seconds
'set_lengthscales_constraints': 0.018 seconds
**********
optimization failed!
'optimise_parameters': 0.951 seconds
'get_parameters': 0.013 seconds
parameters:
lengthscales: array([32.77738528,  4.0730184 ,  0.05471112]) 
kernel_variance: 0.002099588994009539
likelihood_variance: 0.00030017118816032853
'predict': 0.154 seconds
total run time : 1.75 seconds
--------------------------------------------------
57 / 100
current local expert:
           x          y        t         lon        lat
56 -170000.0 -1440000.0  19363.0 -173.267079 -76.987929
'local_data_select': 0.003 seconds
number obs: 236
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.038 seconds
'set_lengthscales_constraints': 0.011 seconds
**********
optimization failed!
'optimise_parameters': 0.762 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([22.74957269,  3.08524596,  0.03997997]) 
kernel_variance: 0.002673684017734677
likelihood_variance: 0.00025812078797324164
'predict': 0.083 seconds
total run time : 1.40 seconds
--------------------------------------------------
58 / 100
current local expert:
           x          y        t         lon       lat
57 -150000.0 -1440000.0  19363.0 -174.053137 -77.00784
'local_data_select': 0.003 seconds
number obs: 209
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.040 seconds
'set_lengthscales_constraints': 0.011 seconds
**********
optimization failed!
'optimise_parameters': 0.852 seconds
'get_parameters': 0.010 seconds
parameters:
lengthscales: array([30.19659041,  3.25988497,  0.06945688]) 
kernel_variance: 0.0033559270389551038
likelihood_variance: 0.0002542241716452303
'predict': 0.089 seconds
total run time : 1.52 seconds
--------------------------------------------------
59 / 100
current local expert:
           x          y        t         lon        lat
58 -130000.0 -1440000.0  19363.0 -174.841448 -77.025287
'local_data_select': 0.003 seconds
number obs: 199
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.046 seconds
'set_lengthscales_constraints': 0.011 seconds
**********
optimization failed!
'optimise_parameters': 0.762 seconds
'get_parameters': 0.010 seconds
parameters:
lengthscales: array([30.09312319,  3.49158738,  0.07328512]) 
kernel_variance: 0.0035372949964303647
likelihood_variance: 0.0002949402962404239
'predict': 0.086 seconds
total run time : 1.41 seconds
--------------------------------------------------
60 / 100
current local expert:
           x          y        t         lon        lat
59 -110000.0 -1440000.0  19363.0 -175.631723 -77.040261
'local_data_select': 0.003 seconds
number obs: 172
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.044 seconds
'set_lengthscales_constraints': 0.011 seconds
**********
optimization failed!
'optimise_parameters': 0.972 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([1.e-12, 6.e+01, 1.e-08]) 
kernel_variance: 1443976.8922059285
likelihood_variance: 938263.9954554918
'predict': 0.083 seconds
SAVING RESULTS TO TABLES:
run_details
preds
lengthscales
kernel_variance
likelihood_variance
total run time : 1.79 seconds
--------------------------------------------------
61 / 100
current local expert:
           x          y        t         lon        lat
60 -290000.0 -1420000.0  19363.0 -168.457474 -76.994148
'local_data_select': 0.003 seconds
number obs: 214
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.043 seconds
'set_lengthscales_constraints': 0.014 seconds
**********
optimization failed!
'optimise_parameters': 0.987 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([ 1.26070619, 59.96425457,  0.29534219]) 
kernel_variance: 0.0008308424536768916
likelihood_variance: 0.00018129417704226426
'predict': 0.082 seconds
total run time : 1.66 seconds
--------------------------------------------------
62 / 100
current local expert:
           x          y        t         lon        lat
61 -270000.0 -1420000.0  19363.0 -169.234244 -77.029029
'local_data_select': 0.003 seconds
number obs: 229
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.043 seconds
'set_lengthscales_constraints': 0.012 seconds
**********
optimization failed!
'optimise_parameters': 0.889 seconds
'get_parameters': 0.010 seconds
parameters:
lengthscales: array([ 2.02826595, 59.7140976 ,  0.16995106]) 
kernel_variance: 0.0010183257359015947
likelihood_variance: 0.0002171958140936087
'predict': 0.080 seconds
total run time : 1.53 seconds
--------------------------------------------------
63 / 100
current local expert:
           x          y        t        lon        lat
62 -250000.0 -1420000.0  19363.0 -170.01504 -77.061502
'local_data_select': 0.003 seconds
number obs: 254
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.042 seconds
'set_lengthscales_constraints': 0.012 seconds
'optimise_parameters': 0.836 seconds
'get_parameters': 0.014 seconds
parameters:
lengthscales: array([ 5.02335893, 58.37855011,  0.13737276]) 
kernel_variance: 0.001552464007428954
likelihood_variance: 0.00028388290070746093
'predict': 0.114 seconds
total run time : 1.66 seconds
--------------------------------------------------
64 / 100
current local expert:
           x          y        t       lon        lat
63 -230000.0 -1420000.0  19363.0 -170.7996 -77.091548
'local_data_select': 0.004 seconds
number obs: 270
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.061 seconds
'set_lengthscales_constraints': 0.016 seconds
**********
optimization failed!
'optimise_parameters': 0.997 seconds
'get_parameters': 0.012 seconds
parameters:
lengthscales: array([55.19211026,  5.66823653,  0.14636875]) 
kernel_variance: 0.0017223665199533893
likelihood_variance: 0.00014242039096781675
'predict': 0.118 seconds
total run time : 1.87 seconds
--------------------------------------------------
65 / 100
current local expert:
           x          y        t         lon       lat
64 -210000.0 -1420000.0  19363.0 -171.587655 -77.11915
'local_data_select': 0.007 seconds
number obs: 274
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.070 seconds
'set_lengthscales_constraints': 0.024 seconds
**********
optimization failed!
'optimise_parameters': 0.812 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([4.93861330e+01, 5.86093420e+00, 4.52550029e-02]) 
kernel_variance: 0.001795864769421274
likelihood_variance: 0.00014664583070986967
'predict': 0.086 seconds
total run time : 1.52 seconds
--------------------------------------------------
66 / 100
current local expert:
           x          y        t         lon        lat
65 -190000.0 -1420000.0  19363.0 -172.378929 -77.144294
'local_data_select': 0.003 seconds
number obs: 265
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.042 seconds
'set_lengthscales_constraints': 0.012 seconds
**********
optimization failed!
'optimise_parameters': 0.820 seconds
'get_parameters': 0.010 seconds
parameters:
lengthscales: array([3.64129861e+01, 3.01166377e+00, 2.02959305e-02]) 
kernel_variance: 0.0029195215108380923
likelihood_variance: 0.00011709343275151167
'predict': 0.084 seconds
total run time : 1.47 seconds
--------------------------------------------------
67 / 100
current local expert:
           x          y        t         lon        lat
66 -170000.0 -1420000.0  19363.0 -173.173138 -77.166964
'local_data_select': 0.003 seconds
number obs: 245
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.044 seconds
'set_lengthscales_constraints': 0.012 seconds
**********
optimization failed!
'optimise_parameters': 0.801 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([3.08279732e+01, 3.00027906e+00, 2.74742527e-02]) 
kernel_variance: 0.0023865414878063993
likelihood_variance: 0.00026059295894753697
'predict': 0.086 seconds
total run time : 1.47 seconds
--------------------------------------------------
68 / 100
current local expert:
           x          y        t         lon        lat
67 -150000.0 -1420000.0  19363.0 -173.969991 -77.187149
'local_data_select': 0.003 seconds
number obs: 227
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.042 seconds
'set_lengthscales_constraints': 0.011 seconds
**********
optimization failed!
'optimise_parameters': 0.858 seconds
'get_parameters': 0.010 seconds
parameters:
lengthscales: array([31.34275079,  3.2097384 ,  0.03246959]) 
kernel_variance: 0.002888067729521723
likelihood_variance: 0.00027016940563303514
'predict': 0.086 seconds
total run time : 1.52 seconds
--------------------------------------------------
69 / 100
current local expert:
           x          y        t         lon        lat
68 -130000.0 -1420000.0  19363.0 -174.769193 -77.204836
'local_data_select': 0.003 seconds
number obs: 211
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.041 seconds
'set_lengthscales_constraints': 0.011 seconds
**********
optimization failed!
'optimise_parameters': 1.053 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([1.e-12, 6.e+01, 1.e-08]) 
kernel_variance: 2604887.4641727726
likelihood_variance: 1694600.8006028188
'predict': 0.093 seconds
total run time : 1.73 seconds
--------------------------------------------------
70 / 100
current local expert:
           x          y        t         lon        lat
69 -110000.0 -1420000.0  19363.0 -175.570441 -77.220016
'local_data_select': 0.003 seconds
number obs: 186
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.044 seconds
'set_lengthscales_constraints': 0.013 seconds
'optimise_parameters': 0.624 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([5.99999238e+01, 8.84804721e-01, 6.03429005e-04]) 
kernel_variance: 206.67514321346516
likelihood_variance: 207.69601383865492
'predict': 0.087 seconds
SAVING RESULTS TO TABLES:
run_details
preds
lengthscales
kernel_variance
likelihood_variance
total run time : 1.57 seconds
--------------------------------------------------
71 / 100
current local expert:
           x          y        t         lon        lat
70 -290000.0 -1400000.0  19363.0 -168.297099 -77.170746
'local_data_select': 0.004 seconds
number obs: 216
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.045 seconds
'set_lengthscales_constraints': 0.012 seconds
**********
optimization failed!
'optimise_parameters': 0.786 seconds
'get_parameters': 0.014 seconds
parameters:
lengthscales: array([1.33906487e+00, 3.69050526e+01, 3.08685472e-02]) 
kernel_variance: 0.0007704684837634084
likelihood_variance: 0.00018154124922652138
'predict': 0.138 seconds
total run time : 1.66 seconds
--------------------------------------------------
72 / 100
current local expert:
           x          y        t         lon      lat
71 -270000.0 -1400000.0  19363.0 -169.084118 -77.2061
'local_data_select': 0.006 seconds
number obs: 234
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.060 seconds
'set_lengthscales_constraints': 0.016 seconds
**********
optimization failed!
'optimise_parameters': 1.091 seconds
'get_parameters': 0.013 seconds
parameters:
lengthscales: array([ 2.19584614, 58.28687806,  0.18954941]) 
kernel_variance: 0.0008982542392717008
likelihood_variance: 0.0002216775836051891
'predict': 0.119 seconds
total run time : 1.98 seconds
--------------------------------------------------
73 / 100
current local expert:
           x          y        t         lon        lat
72 -250000.0 -1400000.0  19363.0 -169.875328 -77.239015
'local_data_select': 0.005 seconds
number obs: 263
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.063 seconds
'set_lengthscales_constraints': 0.019 seconds
**********
optimization failed!
'optimise_parameters': 1.102 seconds
'get_parameters': 0.008 seconds
parameters:
lengthscales: array([ 2.923148  , 59.64131973,  0.16474176]) 
kernel_variance: 0.001844926748300084
likelihood_variance: 0.0001235334126383009
'predict': 0.082 seconds
total run time : 1.80 seconds
--------------------------------------------------
74 / 100
current local expert:
           x          y        t        lon        lat
73 -230000.0 -1400000.0  19363.0 -170.67046 -77.269472
'local_data_select': 0.003 seconds
number obs: 272
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.046 seconds
'set_lengthscales_constraints': 0.014 seconds
**********
optimization failed!
'optimise_parameters': 1.192 seconds
'get_parameters': 0.010 seconds
parameters:
lengthscales: array([56.2407954 ,  6.21646083,  0.17979533]) 
kernel_variance: 0.0018512188908922746
likelihood_variance: 0.00014332459623429765
'predict': 0.090 seconds
total run time : 1.88 seconds
--------------------------------------------------
75 / 100
current local expert:
           x          y        t         lon        lat
74 -210000.0 -1400000.0  19363.0 -171.469234 -77.297454
'local_data_select': 0.003 seconds
number obs: 259
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.041 seconds
'set_lengthscales_constraints': 0.011 seconds
'optimise_parameters': 0.578 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([6.00000000e+01, 5.99999983e+01, 1.00026666e-08]) 
kernel_variance: 1.3502638359028693e-13
likelihood_variance: 1.0000000000000072e-06
'predict': 0.083 seconds
total run time : 1.26 seconds
--------------------------------------------------
76 / 100
current local expert:
           x          y        t         lon        lat
75 -190000.0 -1400000.0  19363.0 -172.271363 -77.322945
'local_data_select': 0.003 seconds
number obs: 259
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.045 seconds
'set_lengthscales_constraints': 0.012 seconds
'optimise_parameters': 0.586 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([6.00000000e+01, 5.99999972e+01, 1.00000318e-08]) 
kernel_variance: 5.41974973270781e-13
likelihood_variance: 1e-06
'predict': 0.095 seconds
total run time : 1.28 seconds
--------------------------------------------------
77 / 100
current local expert:
           x          y        t         lon       lat
76 -170000.0 -1400000.0  19363.0 -173.076551 -77.34593
'local_data_select': 0.003 seconds
number obs: 253
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.042 seconds
'set_lengthscales_constraints': 0.011 seconds
**********
optimization failed!
'optimise_parameters': 1.126 seconds
'get_parameters': 0.008 seconds
parameters:
lengthscales: array([6.e+01, 1.e-12, 1.e-08]) 
kernel_variance: 627827.6270875446
likelihood_variance: 908150.4122805251
'predict': 0.083 seconds
total run time : 1.80 seconds
--------------------------------------------------
78 / 100
current local expert:
           x          y        t         lon        lat
77 -150000.0 -1400000.0  19363.0 -173.884496 -77.366396
'local_data_select': 0.003 seconds
number obs: 245
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.040 seconds
'set_lengthscales_constraints': 0.011 seconds
**********
optimization failed!
'optimise_parameters': 1.083 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([6.e+01, 1.e-12, 9.e+00]) 
kernel_variance: 408297.04600681545
likelihood_variance: 444311.3562001074
'predict': 0.083 seconds
total run time : 1.78 seconds
--------------------------------------------------
79 / 100
current local expert:
           x          y        t        lon       lat
78 -130000.0 -1400000.0  19363.0 -174.69489 -77.38433
'local_data_select': 0.005 seconds
number obs: 226
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.054 seconds
'set_lengthscales_constraints': 0.012 seconds
**********
optimization failed!
'optimise_parameters': 1.064 seconds
'get_parameters': 0.016 seconds
parameters:
lengthscales: array([1.e-12, 6.e+01, 9.e+00]) 
kernel_variance: 372716.9878540058
likelihood_variance: 289755.58994221577
'predict': 0.120 seconds
total run time : 1.94 seconds
--------------------------------------------------
80 / 100
current local expert:
           x          y        t         lon        lat
79 -110000.0 -1400000.0  19363.0 -175.507419 -77.399722
'local_data_select': 0.005 seconds
number obs: 185
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.066 seconds
'set_lengthscales_constraints': 0.018 seconds
'optimise_parameters': 0.832 seconds
'get_parameters': 0.014 seconds
parameters:
lengthscales: array([4.2677219 , 1.34716062, 9.        ]) 
kernel_variance: 866.4196461587734
likelihood_variance: 809.8839427719266
'predict': 0.120 seconds
SAVING RESULTS TO TABLES:
run_details
preds
lengthscales
kernel_variance
likelihood_variance
total run time : 1.96 seconds
--------------------------------------------------
81 / 100
current local expert:
           x          y        t         lon        lat
80 -290000.0 -1380000.0  19363.0 -168.132268 -77.347208
'local_data_select': 0.004 seconds
number obs: 219
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.056 seconds
'set_lengthscales_constraints': 0.017 seconds
**********
optimization failed!
'optimise_parameters': 1.086 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([ 1.21527313, 59.5256727 ,  0.22153104]) 
kernel_variance: 0.000665858301797853
likelihood_variance: 0.00017429291704933726
'predict': 0.082 seconds
total run time : 1.78 seconds
--------------------------------------------------
82 / 100
current local expert:
           x          y        t         lon        lat
81 -270000.0 -1380000.0  19363.0 -168.929797 -77.383048
'local_data_select': 0.003 seconds
number obs: 244
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.041 seconds
'set_lengthscales_constraints': 0.012 seconds
**********
optimization failed!
'optimise_parameters': 1.093 seconds
'get_parameters': 0.013 seconds
parameters:
lengthscales: array([6.e+01, 1.e-12, 9.e+00]) 
kernel_variance: 1901327.7538486742
likelihood_variance: 1256212.0106798988
'predict': 0.095 seconds
total run time : 1.80 seconds
--------------------------------------------------
83 / 100
current local expert:
           x          y        t         lon        lat
82 -250000.0 -1380000.0  19363.0 -169.731694 -77.416417
'local_data_select': 0.003 seconds
number obs: 255
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.042 seconds
'set_lengthscales_constraints': 0.012 seconds
**********
optimization failed!
'optimise_parameters': 1.063 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([6.e+01, 1.e-12, 9.e+00]) 
kernel_variance: 446928.7816148273
likelihood_variance: 369171.7553887289
'predict': 0.090 seconds
total run time : 1.78 seconds
--------------------------------------------------
84 / 100
current local expert:
           x          y        t         lon        lat
83 -230000.0 -1380000.0  19363.0 -170.537678 -77.447297
'local_data_select': 0.003 seconds
number obs: 259
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.056 seconds
'set_lengthscales_constraints': 0.014 seconds
**********
optimization failed!
'optimise_parameters': 1.103 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([6.e+01, 1.e-12, 9.e+00]) 
kernel_variance: 535800.9157707004
likelihood_variance: 418380.5830652219
'predict': 0.084 seconds
total run time : 1.80 seconds
--------------------------------------------------
85 / 100
current local expert:
           x          y        t         lon       lat
84 -210000.0 -1380000.0  19363.0 -171.347458 -77.47567
'local_data_select': 0.003 seconds
number obs: 258
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.043 seconds
'set_lengthscales_constraints': 0.011 seconds
**********
optimization failed!
'optimise_parameters': 1.126 seconds
'get_parameters': 0.010 seconds
parameters:
lengthscales: array([6.e+01, 1.e-12, 1.e-08]) 
kernel_variance: 1049888.2983032032
likelihood_variance: 985122.2448811908
'predict': 0.081 seconds
total run time : 1.81 seconds
--------------------------------------------------
86 / 100
current local expert:
           x          y        t         lon        lat
85 -190000.0 -1380000.0  19363.0 -172.160737 -77.501518
'local_data_select': 0.003 seconds
number obs: 246
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.043 seconds
'set_lengthscales_constraints': 0.011 seconds
**********
optimization failed!
'optimise_parameters': 1.056 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([1.e-12, 6.e+01, 9.e+00]) 
kernel_variance: 50330.332923329384
likelihood_variance: 339685.64152146556
'predict': 0.089 seconds
total run time : 1.85 seconds
--------------------------------------------------
87 / 100
current local expert:
           x          y        t         lon        lat
86 -170000.0 -1380000.0  19363.0 -172.977206 -77.524826
'local_data_select': 0.004 seconds
number obs: 246
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.060 seconds
'set_lengthscales_constraints': 0.016 seconds
**********
optimization failed!
'optimise_parameters': 1.341 seconds
'get_parameters': 0.014 seconds
parameters:
lengthscales: array([60.        , 58.40785303,  9.        ]) 
kernel_variance: 415639.7178462585
likelihood_variance: 352668.9248177189
'predict': 0.120 seconds
total run time : 2.22 seconds
--------------------------------------------------
88 / 100
current local expert:
           x          y        t         lon       lat
87 -150000.0 -1380000.0  19363.0 -173.796552 -77.54558
'local_data_select': 0.004 seconds
number obs: 245
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.065 seconds
'set_lengthscales_constraints': 0.022 seconds
**********
optimization failed!
'optimise_parameters': 1.366 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([1.0000000e-12, 5.9999945e+01, 9.0000000e+00]) 
kernel_variance: 489037.37140942505
likelihood_variance: 432837.5429455384
'predict': 0.088 seconds
total run time : 2.12 seconds
--------------------------------------------------
89 / 100
current local expert:
           x          y        t         lon        lat
88 -130000.0 -1380000.0  19363.0 -174.618453 -77.563768
'local_data_select': 0.003 seconds
number obs: 230
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.042 seconds
'set_lengthscales_constraints': 0.011 seconds
**********
optimization failed!
'optimise_parameters': 1.077 seconds
'get_parameters': 0.014 seconds
parameters:
lengthscales: array([39.1029526, 60.       ,  9.       ]) 
kernel_variance: 1066569.5329724357
likelihood_variance: 993259.1401655526
'predict': 0.086 seconds
total run time : 1.79 seconds
--------------------------------------------------
90 / 100
current local expert:
           x          y        t         lon        lat
89 -110000.0 -1380000.0  19363.0 -175.442581 -77.579379
'local_data_select': 0.003 seconds
number obs: 197
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.040 seconds
'set_lengthscales_constraints': 0.011 seconds
**********
optimization failed!
'optimise_parameters': 0.994 seconds
'get_parameters': 0.010 seconds
parameters:
lengthscales: array([6.e+01, 1.e-12, 9.e+00]) 
kernel_variance: 651956.4524615568
likelihood_variance: 624562.0588080342
'predict': 0.085 seconds
SAVING RESULTS TO TABLES:
run_details
preds
lengthscales
kernel_variance
likelihood_variance
total run time : 1.86 seconds
--------------------------------------------------
91 / 100
current local expert:
           x          y        t         lon       lat
90 -290000.0 -1360000.0  19363.0 -167.962798 -77.52353
'local_data_select': 0.003 seconds
number obs: 225
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.057 seconds
'set_lengthscales_constraints': 0.012 seconds
**********
optimization failed!
'optimise_parameters': 1.068 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([59.9999998 , 59.98720489,  9.        ]) 
kernel_variance: 314288.864680253
likelihood_variance: 281281.6934737831
'predict': 0.081 seconds
total run time : 1.78 seconds
--------------------------------------------------
92 / 100
current local expert:
           x          y        t         lon        lat
91 -270000.0 -1360000.0  19363.0 -168.771108 -77.559868
'local_data_select': 0.003 seconds
number obs: 243
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.042 seconds
'set_lengthscales_constraints': 0.011 seconds
**********
optimization failed!
'optimise_parameters': 1.088 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([1.00000000e-12, 1.00000003e-12, 9.00000000e+00]) 
kernel_variance: 400335.0876039828
likelihood_variance: 292357.4283001339
'predict': 0.089 seconds
total run time : 1.80 seconds
--------------------------------------------------
93 / 100
current local expert:
           x          y        t         lon        lat
92 -250000.0 -1360000.0  19363.0 -169.583972 -77.593705
'local_data_select': 0.004 seconds
number obs: 251
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.041 seconds
'set_lengthscales_constraints': 0.012 seconds
**********
optimization failed!
'optimise_parameters': 1.091 seconds
'get_parameters': 0.010 seconds
parameters:
lengthscales: array([6.e+01, 1.e-12, 9.e+00]) 
kernel_variance: 396292.9378299423
likelihood_variance: 269048.0246517181
'predict': 0.086 seconds
total run time : 1.88 seconds
--------------------------------------------------
94 / 100
current local expert:
           x          y        t         lon       lat
93 -230000.0 -1360000.0  19363.0 -170.401097 -77.62502
'local_data_select': 0.004 seconds
number obs: 240
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.062 seconds
'set_lengthscales_constraints': 0.016 seconds
**********
optimization failed!
'optimise_parameters': 1.304 seconds
'get_parameters': 0.013 seconds
parameters:
lengthscales: array([6.00000000e+01, 9.73013965e-09, 9.00000000e+00]) 
kernel_variance: 282103.3960845048
likelihood_variance: 201891.98134719965
'predict': 0.123 seconds
total run time : 2.23 seconds
--------------------------------------------------
95 / 100
current local expert:
           x          y        t         lon        lat
94 -210000.0 -1360000.0  19363.0 -171.222183 -77.653794
'local_data_select': 0.008 seconds
number obs: 239
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.076 seconds
'set_lengthscales_constraints': 0.016 seconds
**********
optimization failed!
'optimise_parameters': 1.277 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([6.e+01, 1.e-12, 9.e+00]) 
kernel_variance: 294985.8757116482
likelihood_variance: 227642.02425499258
'predict': 0.081 seconds
total run time : 2.04 seconds
--------------------------------------------------
96 / 100
current local expert:
           x          y        t         lon        lat
95 -190000.0 -1360000.0  19363.0 -172.046918 -77.680009
'local_data_select': 0.003 seconds
number obs: 241
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.041 seconds
'set_lengthscales_constraints': 0.011 seconds
**********
optimization failed!
'optimise_parameters': 1.080 seconds
'get_parameters': 0.008 seconds
parameters:
lengthscales: array([5.46454347e-06, 6.00000000e+01, 9.00000000e+00]) 
kernel_variance: 316812.210950431
likelihood_variance: 236552.98136566495
'predict': 0.087 seconds
total run time : 1.79 seconds
--------------------------------------------------
97 / 100
current local expert:
           x          y        t         lon       lat
96 -170000.0 -1360000.0  19363.0 -172.874984 -77.70365
'local_data_select': 0.003 seconds
number obs: 236
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.042 seconds
'set_lengthscales_constraints': 0.012 seconds
**********
optimization failed!
'optimise_parameters': 1.094 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([1.e-12, 6.e+01, 9.e+00]) 
kernel_variance: 1036958.0435977805
likelihood_variance: 1168701.3119434898
'predict': 0.084 seconds
total run time : 1.81 seconds
--------------------------------------------------
98 / 100
current local expert:
           x          y        t         lon        lat
97 -150000.0 -1360000.0  19363.0 -173.706052 -77.724701
'local_data_select': 0.003 seconds
number obs: 229
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.042 seconds
'set_lengthscales_constraints': 0.010 seconds
'optimise_parameters': 0.634 seconds
'get_parameters': 0.011 seconds
parameters:
lengthscales: array([4.91384277, 2.31329841, 9.        ]) 
kernel_variance: 3033.7828149086513
likelihood_variance: 3031.358206669376
'predict': 0.089 seconds
total run time : 1.35 seconds
--------------------------------------------------
99 / 100
current local expert:
           x          y        t         lon       lat
98 -130000.0 -1360000.0  19363.0 -174.539787 -77.74315
'local_data_select': 0.003 seconds
number obs: 213
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.042 seconds
'set_lengthscales_constraints': 0.012 seconds
**********
optimization failed!
'optimise_parameters': 1.020 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([60., 60.,  9.]) 
kernel_variance: 1347085.9357263257
likelihood_variance: 1197811.4852574226
'predict': 0.091 seconds
total run time : 1.76 seconds
--------------------------------------------------
100 / 100
current local expert:
           x          y        t         lon        lat
99 -110000.0 -1360000.0  19363.0 -175.375849 -77.758986
'local_data_select': 0.003 seconds
number obs: 193
found GPU
setting lengthscales to: [1. 1. 1.]
'__init__': 0.043 seconds
'set_lengthscales_constraints': 0.012 seconds
**********
optimization failed!
'optimise_parameters': 1.067 seconds
'get_parameters': 0.009 seconds
parameters:
lengthscales: array([56.83317866,  0.21353714,  9.        ]) 
kernel_variance: 1255394.441093562
likelihood_variance: 1199052.9927734844
'predict': 0.083 seconds
SAVING RESULTS TO TABLES:
run_details
preds
lengthscales
kernel_variance
likelihood_variance
total run time : 1.96 seconds
'run': 168.373 seconds
# extract, store in dict
dfs, _ = get_results_from_h5file(store_path)

print(f"tables in results file: {list(dfs.keys())}")
reading in results
getting all tables
merging on expert location data
table: 'oi_config' does not have all coords_col: ['x', 'y', 't'] in columns, not merging on expert_locations
tables in results file: ['expert_locs', 'kernel_variance', 'lengthscales', 'likelihood_variance', 'oi_config', 'preds', 'run_details']
dfs.keys()
dict_keys(['expert_locs', 'kernel_variance', 'lengthscales', 'likelihood_variance', 'oi_config', 'preds', 'run_details'])
dfs['lengthscales']
x y t _dim_0 lengthscales lon lat
0 -290000.0 -1540000.0 19363.0 0 1.000000e-12 -169.335424 -75.931873
1 -290000.0 -1540000.0 19363.0 1 6.000000e+01 -169.335424 -75.931873
2 -290000.0 -1540000.0 19363.0 2 1.000000e-08 -169.335424 -75.931873
3 -270000.0 -1540000.0 19363.0 0 2.773321e+00 -170.055706 -75.964166
4 -270000.0 -1540000.0 19363.0 1 1.612632e+00 -170.055706 -75.964166
... ... ... ... ... ... ... ...
295 -130000.0 -1360000.0 19363.0 1 6.000000e+01 -174.539787 -77.743150
296 -130000.0 -1360000.0 19363.0 2 9.000000e+00 -174.539787 -77.743150
297 -110000.0 -1360000.0 19363.0 0 5.683318e+01 -175.375849 -77.758986
298 -110000.0 -1360000.0 19363.0 1 2.135371e-01 -175.375849 -77.758986
299 -110000.0 -1360000.0 19363.0 2 9.000000e+00 -175.375849 -77.758986

300 rows × 7 columns

preds_data = dfs["preds"]
preds_data.head()

# multiple local experts may make predictions at the same prediction location (pred_loc).
# - for each prediction at a given location, take we weighted combination
# - weights being a function of the distance to each local expert that made a prediction at a given location.

plt_data = glue_local_predictions_2d(preds_df=preds_data,
                                     pred_loc_cols=["pred_loc_x", "pred_loc_y"],
                                     xprt_loc_cols=["x", "y"],
                                     vars_to_glue=["f*", "f*_var"],
                                     inference_radius=inference_radius)

plt_data.head()
pred_loc_x pred_loc_y f* f*_var
0 -297500.0 -1547500.0 0.001225 4.658899e+06
1 -297500.0 -1542500.0 0.002226 4.219413e+06
2 -297500.0 -1537500.0 0.005016 3.657230e+06
3 -297500.0 -1532500.0 0.008267 3.038105e+06
4 -297500.0 -1527500.0 0.013497 2.391145e+06
#inference 50 radius 100 loc 20km
eddylon,eddylat = EASE2toWGS84_New(x_Eddy,y_Eddy,lat_0=-90)
eloc['lon'],eloc['lat'] = EASE2toWGS84_New(eloc['x'],eloc['y'],lat_0=-90)
ploc['lon'],ploc['lat'] = EASE2toWGS84_New(ploc['x'],ploc['y'],lat_0=-90)
df['lon'],df['lat'] = EASE2toWGS84_New(df['x'],df['y'],lat_0=-90)
plt_data['lon'],plt_data['lat'] = EASE2toWGS84_New(plt_data['pred_loc_x'],plt_data['pred_loc_y'],lat_0=-90)

fig,ax = plt.subplots(1,2,figsize=(10,5),subplot_kw=dict(projection=ccrs.SouthPolarStereo()))
for c in range(2):
    ax[c].set_extent([-140, -180, -80, -67],ccrs.PlateCarree())
    ax[c].add_feature(cfeat.LAND,color=(0.8,0.8,0.8))
    #ax.scatter(eloc['lon'],eloc['lat'],s=1,color='r',transform=ccrs.PlateCarree())
    #ax.scatter(ploc['lon'],ploc['lat'],s=1,color='b',transform=ccrs.PlateCarree())
    if c == 0:
        ax[c].scatter(df['lon'],df['lat'],c=df['obs'],s=1,cmap='RdBu_r',vmin=-0.1,vmax=0.1,transform=ccrs.PlateCarree())
    else:
        ax[c].scatter(plt_data['lon'],plt_data['lat'],c=plt_data['f*'],s=1,cmap='RdBu_r',vmin=-0.1,vmax=0.1,transform=ccrs.PlateCarree())
    ax[c].scatter(eddylon,eddylat,s=5,color='k',transform=ccrs.PlateCarree(),marker='x')
plt.subplots_adjust(wspace=0.05)
plt.show()
<ipython-input-28-9edd7b7919e0>:2: DeprecationWarning: Call to deprecated function (or staticmethod) EASE2toWGS84_New. (This function will be removed in future versions. Use `EASE2toWGS84` instead.)
  eddylon,eddylat = EASE2toWGS84_New(x_Eddy,y_Eddy,lat_0=-90)
<ipython-input-28-9edd7b7919e0>:3: DeprecationWarning: Call to deprecated function (or staticmethod) EASE2toWGS84_New. (This function will be removed in future versions. Use `EASE2toWGS84` instead.)
  eloc['lon'],eloc['lat'] = EASE2toWGS84_New(eloc['x'],eloc['y'],lat_0=-90)
<ipython-input-28-9edd7b7919e0>:4: DeprecationWarning: Call to deprecated function (or staticmethod) EASE2toWGS84_New. (This function will be removed in future versions. Use `EASE2toWGS84` instead.)
  ploc['lon'],ploc['lat'] = EASE2toWGS84_New(ploc['x'],ploc['y'],lat_0=-90)
<ipython-input-28-9edd7b7919e0>:5: DeprecationWarning: Call to deprecated function (or staticmethod) EASE2toWGS84_New. (This function will be removed in future versions. Use `EASE2toWGS84` instead.)
  df['lon'],df['lat'] = EASE2toWGS84_New(df['x'],df['y'],lat_0=-90)
<ipython-input-28-9edd7b7919e0>:6: DeprecationWarning: Call to deprecated function (or staticmethod) EASE2toWGS84_New. (This function will be removed in future versions. Use `EASE2toWGS84` instead.)
  plt_data['lon'],plt_data['lat'] = EASE2toWGS84_New(plt_data['pred_loc_x'],plt_data['pred_loc_y'],lat_0=-90)
_images/335bed331058a8d90e0f7771d691138dcb25b57df47ee2607419497f05f97b2a.png
#inference 100 radius 300 loc 40km
eddylon,eddylat = EASE2toWGS84_New(x_Eddy,y_Eddy,lat_0=-90)
eloc['lon'],eloc['lat'] = EASE2toWGS84_New(eloc['x'],eloc['y'],lat_0=-90)
ploc['lon'],ploc['lat'] = EASE2toWGS84_New(ploc['x'],ploc['y'],lat_0=-90)
df['lon'],df['lat'] = EASE2toWGS84_New(df['x'],df['y'],lat_0=-90)
plt_data['lon'],plt_data['lat'] = EASE2toWGS84_New(plt_data['pred_loc_x'],plt_data['pred_loc_y'],lat_0=-90)

fig,ax = plt.subplots(1,2,figsize=(10,5),subplot_kw=dict(projection=ccrs.SouthPolarStereo()))
for c in range(2):
    ax[c].set_extent([-140, -180, -80, -67],ccrs.PlateCarree())
    ax[c].add_feature(cfeat.LAND,color=(0.8,0.8,0.8))
    #ax.scatter(eloc['lon'],eloc['lat'],s=1,color='r',transform=ccrs.PlateCarree())
    #ax.scatter(ploc['lon'],ploc['lat'],s=1,color='b',transform=ccrs.PlateCarree())
    if c == 0:
        ax[c].scatter(df['lon'],df['lat'],c=df['obs'],s=1,cmap='RdBu_r',vmin=-0.1,vmax=0.1,transform=ccrs.PlateCarree())
    else:
        ax[c].scatter(plt_data['lon'],plt_data['lat'],c=plt_data['f*'],s=1,cmap='RdBu_r',vmin=-0.1,vmax=0.1,transform=ccrs.PlateCarree())
    ax[c].scatter(eddylon,eddylat,s=5,color='k',transform=ccrs.PlateCarree(),marker='x')
plt.subplots_adjust(wspace=0.05)
plt.show()
<ipython-input-42-dd9df13b3a26>:2: DeprecationWarning: Call to deprecated function (or staticmethod) EASE2toWGS84_New. (This function will be removed in future versions. Use `EASE2toWGS84` instead.)
  eddylon,eddylat = EASE2toWGS84_New(x_Eddy,y_Eddy,lat_0=-90)
<ipython-input-42-dd9df13b3a26>:3: DeprecationWarning: Call to deprecated function (or staticmethod) EASE2toWGS84_New. (This function will be removed in future versions. Use `EASE2toWGS84` instead.)
  eloc['lon'],eloc['lat'] = EASE2toWGS84_New(eloc['x'],eloc['y'],lat_0=-90)
<ipython-input-42-dd9df13b3a26>:4: DeprecationWarning: Call to deprecated function (or staticmethod) EASE2toWGS84_New. (This function will be removed in future versions. Use `EASE2toWGS84` instead.)
  ploc['lon'],ploc['lat'] = EASE2toWGS84_New(ploc['x'],ploc['y'],lat_0=-90)
<ipython-input-42-dd9df13b3a26>:5: DeprecationWarning: Call to deprecated function (or staticmethod) EASE2toWGS84_New. (This function will be removed in future versions. Use `EASE2toWGS84` instead.)
  df['lon'],df['lat'] = EASE2toWGS84_New(df['x'],df['y'],lat_0=-90)
<ipython-input-42-dd9df13b3a26>:6: DeprecationWarning: Call to deprecated function (or staticmethod) EASE2toWGS84_New. (This function will be removed in future versions. Use `EASE2toWGS84` instead.)
  plt_data['lon'],plt_data['lat'] = EASE2toWGS84_New(plt_data['pred_loc_x'],plt_data['pred_loc_y'],lat_0=-90)
_images/f2bcc7e12658dbaaf87f0904d0972b44067372e0e5fcee224cc7e3c23d5f4523.png
eddylon,eddylat = EASE2toWGS84_New(x_Eddy,y_Eddy,lat_0=-90)
eloc['lon'],eloc['lat'] = EASE2toWGS84_New(eloc['x'],eloc['y'],lat_0=-90)
ploc['lon'],ploc['lat'] = EASE2toWGS84_New(ploc['x'],ploc['y'],lat_0=-90)
df['lon'],df['lat'] = EASE2toWGS84_New(df['x'],df['y'],lat_0=-90)
plt_data['lon'],plt_data['lat'] = EASE2toWGS84_New(plt_data['pred_loc_x'],plt_data['pred_loc_y'],lat_0=-90)

fig,ax = plt.subplots(1,2,figsize=(10,5),subplot_kw=dict(projection=ccrs.SouthPolarStereo()))
for c in range(2):
    ax[c].set_extent([-140, -180, -80, -67],ccrs.PlateCarree())
    ax[c].add_feature(cfeat.LAND,color=(0.8,0.8,0.8))
    #ax.scatter(eloc['lon'],eloc['lat'],s=1,color='r',transform=ccrs.PlateCarree())
    #ax.scatter(ploc['lon'],ploc['lat'],s=1,color='b',transform=ccrs.PlateCarree())
    if c == 0:
        ax[c].scatter(df['lon'],df['lat'],c=df['obs'],s=1,cmap='RdBu_r',vmin=-0.1,vmax=0.1,transform=ccrs.PlateCarree())
    else:
        ax[c].scatter(plt_data['lon'],plt_data['lat'],c=plt_data['f*'],s=1,cmap='RdBu_r',vmin=-0.1,vmax=0.1,transform=ccrs.PlateCarree())
    ax[c].scatter(eddylon,eddylat,s=5,color='k',transform=ccrs.PlateCarree(),marker='x')
plt.subplots_adjust(wspace=0.05)
plt.show()
_images/d8bdc3a552483614753bc1b528f4c23543de8284a18d43599f47bea55bc4f6cd.png
plt_data.shape
(1600, 4)
x_grid=np.asarray(plt_data['pred_loc_x']).reshape(40,40,order='C')
y_grid=np.asarray(plt_data['pred_loc_y']).reshape(40,40,order='C')
z_grid=np.asarray(plt_data['f*']).reshape(40,40,order='C')
v_grid=np.asarray(plt_data['f*_var']).reshape(40,40)
#inference 50 radius 100 loc 20km
plt.pcolor(x_grid,y_grid,z_grid,vmin=0,vmax=0.2)
plt.colorbar()
<matplotlib.colorbar.Colorbar at 0x7fa28498f970>
_images/385a752a89f093f0ba34c9dd8454ce38474195c71e0e41676c90236efdb0eab0.png
#inference 100 radius 300 loc 40km
plt.pcolor(x_grid,y_grid,z_grid,vmin=0,vmax=0.2)
plt.colorbar()
<matplotlib.colorbar.Colorbar at 0x7fa4d154ef50>
_images/d9eead25a48604f8888a828c802a0285cb702e0048fbb674a2042965cabb55c1.png
plt.scatter(df['x'], df['y'], c=df['obs'], s=100, vmin=0, vmax=0.2)  # 'obs' as both color and size
plt.xlim((-300000.0, -100000.0))
plt.ylim((-1550000.0, -1350000.0))
plt.colorbar()  # Add colorbar to show the mapping of 'obs' values to colors
plt.show()
_images/6b7d3b09f7a1cddfbec2d7b8ce8c9bd8bb1efdad82e1e64e50059948d230d660.png
plt.scatter(df['x'], df['y'], c=df['t']-19358.786713, s=100)#, vmin=0, vmax=0.2)  # 'obs' as both color and size
plt.xlim((-300000.0, -100000.0))
plt.ylim((-1550000.0, -1350000.0))
plt.colorbar()  # Add colorbar to show the mapping of 'obs' values to colors
plt.show()
_images/ddd6bf8e2950a22d5a5b684485ed05ba72db717941a89c95e6efa710cd5c2368.png