code: def _calc_corr(self, profile):
          
          depth = np.array([l.depth_mid for l in profile[:-1]])
          thick = np.diff(depth)
          depth = depth[1:]
  
          # Depth dependent correlation
          corr_depth = (self.rho_200 * np.power(
              (depth + self.rho_0) / (200 + self.rho_0), self.b))
          corr_depth[depth > 200] = self.rho_200
  
          # Thickness dependent correlation
          corr_thick = self.rho_0 * np.exp(-thick / self.delta)
  
          # Final correlation
          # Correlation coefficient
          corr = (1 - corr_depth) * corr_thick + corr_depth
  
          # Bedrock is perfectly correlated with layer above it
          corr = np.r_[corr, 1]
  
          return corr
docs: Compute the adjacent-layer correlations
  
          Parameters
          ----------
          profile : :class:`site.Profile`
              Input site profile
  
          Yields
          ------
          corr : :class:`numpy.array`
              Adjacent-layer correlations