docs: def _read_moment_tensor_from_ndk_string(ndk_string, system='USE'):
      """
      Reads the moment tensor from the ndk_string representation
      ndk_string = [Mrr, sigMrr, Mtt, sigMtt, Mpp, sigMpp, Mrt, sigMrt, Mrp,
                    sigMrp, Mtp, sigMtp]
      Output tensors should be of format:
          expected = [[Mtt, Mtp, Mtr],
                      [Mtp, Mpp, Mpr],
                      [Mtr, Mpr, Mrr]]
          sigma = [[sigMtt, sigMtp, sigMtr],
                   [sigMtp, sigMpp, sigMpr],
                   [sigMtr, sigMpr, sigMrr]]
      Exponent returned in Nm
  
      :param str ndk_string:
          String of data in ndk format (line 4 of event)
      :param str system:
          Reference frame of tensor Up, South, East {USE} or North, East, Down
          (NED)
      """
      exponent = float(ndk_string[0:2]) - 7.
      mkr = np.array([2, 9, 15], dtype=int)
      vector = []
      for i in range(0, 6):
          vector.extend([
              float(ndk_string[mkr[0]:mkr[1]]),
              float(ndk_string[mkr[1]:mkr[2]])])
          mkr = mkr + 13
      vector = np.array(vector)
      mrr, mtt, mpp, mrt, mrp, mtp = tuple(vector[np.arange(0, 12, 2)])
      sig_mrr, sig_mtt, sig_mpp, sig_mrt, sig_mrp, sig_mtp = \
          tuple(vector[np.arange(1, 13, 2)])
  
      tensor = utils.COORD_SYSTEM[system](mrr, mtt, mpp, mrt, mrp, mtp)
      tensor = (10. ** exponent) * tensor
  
      sigma = utils.COORD_SYSTEM[system](sig_mrr, sig_mtt, sig_mpp,
                                         sig_mrt, sig_mrp, sig_mtp)
      sigma = (10. ** exponent) * sigma
  
      return tensor, sigma, exponent