When trained on \(\tilde{Y}\) , GP returns the mean
\(\tilde{\mathcal {G}}_{\mathrm {GP}}(\mathbf {\theta })\)  and the (diagonal)
covariance matrix \(\tilde{\Sigma }_{\mathrm {GP}}(\mathbf {\theta })\) . We use tools from scikit-learn [1]} to train the emulator. After the diagonalization, we can train a scalar-valued GP for each of the 96 output dimensions, rather than having to train processes with vector-valued output. We construct a kernel by summing an Automatic Relevance Determination (ARD) radial basis function kernel and a white-noise kernel. The ARD kernel is a standard squared exponential kernel, where each input dimension has an independent lengthscale hyperparameter. This corresponds to regression,
rather than interpolation, and the variance of the
white noise kernel reflects the noise level assumed
in the regression. We train by learning 4 hyperparameters: the radial basis function variance, a lengthscale for each of the two parameters \(\mathbf {\theta }\)  (due to ARD), and the white-noise variance. We train using the input–output pairs of the initial ensemble plus \(N=5\)  subsequent iterations of the EKI algorithm. We use \(M=100\)  ensemble members; thus, the training requires \((N+1)\times M = 600\)  short (30-day) runs of our GCM.
