code: def _add_grid_attributes(self, ds):
          
          for name_int, names_ext in self._grid_attrs.items():
              ds_coord_name = set(names_ext).intersection(set(ds.coords) |
                                                          set(ds.data_vars))
              model_attr = getattr(self.model, name_int, None)
              if ds_coord_name and (model_attr is not None):
                  # Force coords to have desired name.
                  ds = ds.rename({list(ds_coord_name)[0]: name_int})
                  ds = ds.set_coords(name_int)
                  if not np.array_equal(ds[name_int], model_attr):
                      if np.allclose(ds[name_int], model_attr):
                          msg = ("Values for '{0}' are nearly (but not exactly) "
                                 "the same in the Run {1} and the Model {2}.  "
                                 "Therefore replacing Run's values with the "
                                 "model's.".format(name_int, self.run,
                                                   self.model))
                          logging.info(msg)
                          ds[name_int].values = model_attr.values
                      else:
                          msg = ("Model coordinates for '{0}' do not match those"
                                 " in Run: {1} vs. {2}"
                                 "".format(name_int, ds[name_int], model_attr))
                          logging.info(msg)
  
              else:
                  # Bring in coord from model object if it exists.
                  ds = ds.load()
                  if model_attr is not None:
                      ds[name_int] = model_attr
                      ds = ds.set_coords(name_int)
              if (self.dtype_in_vert == 'pressure' and
                      internal_names.PLEVEL_STR in ds.coords):
                  self.pressure = ds.level
          return ds
docs: Add model grid attributes to a dataset