code: def _load_or_get_from_model(self, var, start_date=None, end_date=None,
                                  time_offset=None, model=None, **DataAttrs):
          
          grid_attrs = None if model is None else model.grid_attrs
  
          try:
              return self.load_variable(
                  var, start_date=start_date, end_date=end_date,
                  time_offset=time_offset, grid_attrs=grid_attrs, **DataAttrs)
          except (KeyError, IOError) as e:
              if var.name not in GRID_ATTRS or model is None:
                  raise e
              else:
                  try:
                      return getattr(model, var.name)
                  except AttributeError:
                      raise AttributeError(
                          'Grid attribute {} could not be located either '
                          'through this DataLoader or in the provided Model '
                          'object: {}.'.format(var, model))
docs: Load a DataArray for the requested variable and time range
  
          Supports both access of grid attributes either through the DataLoader
          or through an optionally-provided Model object.  Defaults to using
          the version found in the DataLoader first.