f_sts_cov_core Function

public pure function f_sts_cov_core(x, y, ddof) result(cov)

Computes covariance.

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: x(:)

x vector (assumed size array)

real(kind=wp), intent(in) :: y(:)

y vector (assumed size array)

real(kind=wp), intent(in) :: ddof

delta degrees of freedom

Return Value real(kind=wp)

covariance


Calls

proc~~f_sts_cov_core~~CallsGraph proc~f_sts_cov_core f_sts_cov_core proc~f_sts_mean_core f_sts_mean_core proc~f_sts_cov_core->proc~f_sts_mean_core

Called by

proc~~f_sts_cov_core~~CalledByGraph proc~f_sts_cov_core f_sts_cov_core proc~f_sts_cov f_sts_cov proc~f_sts_cov->proc~f_sts_cov_core proc~f_sts_pcc_core f_sts_pcc_core proc~f_sts_pcc_core->proc~f_sts_cov_core proc~f_sts_trend_core f_sts_trend_core proc~f_sts_trend_core->proc~f_sts_cov_core interface~fsml_cov fsml_cov interface~fsml_cov->proc~f_sts_cov proc~f_sts_pcc f_sts_pcc proc~f_sts_pcc->proc~f_sts_pcc_core proc~f_sts_trend f_sts_trend proc~f_sts_trend->proc~f_sts_trend_core interface~fsml_pcc fsml_pcc interface~fsml_pcc->proc~f_sts_pcc interface~fsml_trend fsml_trend interface~fsml_trend->proc~f_sts_trend

Source Code

pure function f_sts_cov_core(x, y, ddof) result(cov)

! ==== Description
!! Computes covariance.

! ==== Declarations
  real(wp), intent(in) :: x(:) !! x vector (assumed size array)
  real(wp), intent(in) :: y(:) !! y vector (assumed size array)
  real(wp), intent(in) :: ddof !! delta degrees of freedom
  real(wp)             :: xbar !! mean of x
  real(wp)             :: ybar !! mean of y
  real(wp)             :: cov  !! covariance

! ==== Instructions
  xbar = f_sts_mean_core(x)
  ybar = f_sts_mean_core(y)
  cov = dot_product( (x - xbar), (y - ybar) ) / &
      & (real(size(x), kind=wp) - ddof)

end function f_sts_cov_core