  Complex computer codes or models can often be run in a hierarchy of different
levels of complexity ranging from the very basic to the sophisticated. The top
levels in this hierarchy are typically expensive to run, which limits the
number of possible runs. To make use of runs over all levels, and crucially
improve predictions at the top level, we use multi-level Gaussian process
emulators (GPs). The accuracy of the GP greatly depends on the design of the
training points. In this paper, we present a multi-level adaptive sampling
algorithm to sequentially increase the set of design points to optimally
improve the fit of the GP. The normalised expected leave-one-out
cross-validation error is calculated at all unobserved locations, and a new
design point is chosen using expected improvement combined with a repulsion
function. This criterion is calculated for each model level weighted by an
associated cost for the code at that level. Hence, at each iteration, our
algorithm optimises for both the new point location and the model level. The
algorithm is extended to batch selection as well as single point selection,
where batches can be designed for single levels or optimally across all levels.
