docs: def annual_frequency_of_exceedence(poe, t_haz):
      """
      :param poe: array of probabilities of exceedence
      :param t_haz: hazard investigation time
      :returns: array of frequencies (with +inf values where poe=1)
      """
      with warnings.catch_warnings():
          warnings.simplefilter("ignore")
          # avoid RuntimeWarning: divide by zero encountered in log
          return - numpy.log(1. - poe) / t_haz