code: def _identify_surface_sites(self, thickness):
          
          for atom in self.particles():
              if len(self.bond_graph.neighbors(atom)) == 1:
                  if atom.name == 'O' and atom.pos[2] > thickness:
                      atom.name = 'OS'
                      port = mb.Port(anchor=atom)
                      port.spin(np.pi/2, [1, 0, 0])
                      port.translate(np.array([0.0, 0.0, 0.1]))
                      self.add(port, "port_{}".format(len(self.referenced_ports())))
docs: Label surface sites and add ports above them.