code: def identifier_hash(identifier, sigfig=None):
      
      if sigfig is None:
          sigfig = id_sigfig
  
      # convert identifier to integers and order of magnitude
      as_int, multiplier = util.sigfig_int(identifier, sigfig)
      # make all scales positive
      if (multiplier < 0).any():
          multiplier += np.abs(multiplier.min())
      hashable = (as_int * (10 ** multiplier)).astype(np.int64)
      md5 = util.md5_object(hashable)
      return md5
docs: Hash an identifier array to a specified number of
      significant figures.
  
      Parameters
      ----------
      identifier : (n,) float
        Vector of properties
      sigfig : (n,) int
        Number of sigfigs per property
  
      Returns
      ----------
      md5 : str
        MD5 hash of identifier