code: def Nsurfs_ads_in_slab(self):
          
  
          struct = self.structure
          weights = [s.species.weight for s in struct]
          center_of_mass = np.average(struct.frac_coords,
                                      weights=weights, axis=0)
  
          Nsurfs = 0
          # Are there adsorbates on top surface?
          if any([site.species_string in self.ads_entries_dict.keys() for \
                  site in struct if site.frac_coords[2] > center_of_mass[2]]):
              Nsurfs += 1
          # Are there adsorbates on bottom surface?
          if any([site.species_string in self.ads_entries_dict.keys() for \
                  site in struct if site.frac_coords[2] < center_of_mass[2]]):
              Nsurfs += 1
  
          return Nsurfs
docs: Returns the TOTAL number of adsorbed surfaces in the slab