code: def plot_co2_kernel(
      kernel: gpflow.kernels.Kernel,
      *,
      optimize: bool = False,
  ) -> None:
      model = gpflow.models.GPR(
          (Xco2, Yco2),
          kernel=kernel,
      )
      if optimize:
          opt = gpflow.optimizers.Scipy()
          opt.minimize(
              model.training_loss,
              model.trainable_variables,
              options=opt_options,
          )
      gpflow.utilities.print_summary(model, "notebook")
  
      _, (ax1, ax2) = plt.subplots(nrows=1, ncols=2)
      plot_co2_model_prediction(ax1, model, 1950, 2050)
      plot_co2_model_prediction(ax2, model, 2015, 2030)
  
file_path: GPflow/doc/sphinx/notebooks/getting_started/parameters_and_their_optimisation.pct.py
imports: import os
  import warnings
  from typing import Optional
  import matplotlib.pyplot
  import numpy
  import pandas
  import tensorflow
  import tensorflow_probability
  from check_shapes import check_shapes
  from matplotlib.axes import Axes
  import gpflow
  from gpflow.ci_utils import is_continuous_integration
label_desc: Use image node_id 3 for calling a global function with example usage: plot_co2_kernel(kernel) without return types