docs: def get_stddevs(self, C_SIG, stddev_types, num_sites):
          """
          Returns the standard deviations
  
          N.B. In the paper, and with confirmation from the author, the
          aleatory variability terms from the empirical model are used in
          conjunction with the median coefficients from the stochastic model.
          In the empirical model, coefficients for a single-station intra-event
          sigma are derived. These are labeled as "phi". Inter-event coefficients
          corresponding to two observed geothermal sequences (Soultz-Sous-Forets
          and Basel) are also derived. The inter-event standard deviation is
          therefore taken as the ordinary mean of the two inter-event
          sigma terms
          """
          stddevs = []
          intra = C_SIG['phi']
          inter = (C_SIG['tau_s'] + C_SIG['tau_b']) / 2.0
          total = sqrt(intra ** 2.0 + inter ** 2.0)
          for stddev_type in stddev_types:
              assert stddev_type in self.DEFINED_FOR_STANDARD_DEVIATION_TYPES
              if stddev_type == const.StdDev.TOTAL:
                  stddevs.append(total + np.zeros(num_sites))
              elif stddev_type == const.StdDev.INTER_EVENT:
                  stddevs.append(inter + np.zeros(num_sites))
              elif stddev_type == const.StdDev.INTRA_EVENT:
                  stddevs.append(intra + np.zeros(num_sites))
          return stddevs