code: def combine_first(self, other):
          
          out = ops.fillna(self, other, join="outer", dataset_join="outer")
          return out
docs: Combine two Datasets, default to data_vars of self.
  
          The new coordinates follow the normal broadcasting and alignment rules
          of ``join='outer'``.  Vacant cells in the expanded coordinates are
          filled with np.nan.
  
          Parameters
          ----------
          other : DataArray
              Used to fill all matching missing values in this array.
  
          Returns
          -------
          DataArray