code: def effect_emd(d1, d2):
      
      return sum(abs(marginal_zero(d1, i) - marginal_zero(d2, i))
                 for i in range(d1.ndim))
docs: Compute the EMD between two effect repertoires.
  
      Because the nodes are independent, the EMD between effect repertoires is
      equal to the sum of the EMDs between the marginal distributions of each
      node, and the EMD between marginal distribution for a node is the absolute
      difference in the probabilities that the node is OFF.
  
      Args:
          d1 (np.ndarray): The first repertoire.
          d2 (np.ndarray): The second repertoire.
  
      Returns:
          float: The EMD between ``d1`` and ``d2``.