code: def check_data_health(self, props=[], element=None):
          r
          health = HealthDict()
          if props == []:
              props = self.props(element)
          else:
              if type(props) == str:
                  props = [props]
          for item in props:
              health[item] = []
              if self[item].dtype == 'O':
                  health[item] = 'No checks on object'
              elif sp.sum(sp.isnan(self[item])) > 0:
                  health[item] = 'Has NaNs'
              elif sp.shape(self[item])[0] != self._count(item.split('.')[0]):
                  health[item] = 'Wrong Length'
          return health
docs: r"""
          Check the health of pore and throat data arrays.
  
          Parameters
          ----------
          element : string, optional
              Can be either 'pore' or 'throat', which will limit the checks to
              only those data arrays.
  
          props : list of pore (or throat) properties, optional
              If given, will limit the health checks to only the specfied
              properties.  Also useful for checking existance.
  
          Returns
          -------
          Returns a HealthDict object which a basic dictionary with an added
          ``health`` attribute that is True is all entries in the dict are
          deemed healthy (empty lists), or False otherwise.
  
          Examples
          --------
          >>> import openpnm
          >>> pn = openpnm.network.Cubic(shape=[5, 5, 5])
          >>> h = pn.check_data_health()
          >>> h.health
          True