code: def add_to_grid(self, candidate):
      # Checks to prevent numerical over/underflow from corrupting the grid
      candidate[candidate > 1.0] = 1.0
      candidate[candidate < 0.0] = 0.0
  
      # Set up the grid
      self.grid = np.vstack((self.grid, candidate))
      self.status = np.append(
          self.status, np.zeros(1, dtype=int) + int(CANDIDATE_STATE)
      )
  
      self.values = np.append(self.values, np.zeros(1) + np.nan)
      self.durs = np.append(self.durs, np.zeros(1) + np.nan)
      self.proc_ids = np.append(self.proc_ids, np.zeros(1, dtype=int))
  
      # Save this out.
      self._save_jobs()
      return self.grid.shape[0] - 1
  
imports: import os
  import sys
  import tempfile
  import pickle
  import numpy
  import numpy.random
  from .spearmint_pb2 import *
  from .Locker import *
  from .sobol_lib import *
  from .helpers import *
  import logging
label_desc: Use image node_id 14 for calling the ExperimentGrid obj's underlying member method code with example usage: obj.add_to_grid(candidate) and returns: unknown