FIELD_KNOWN Function

function FIELD_KNOWN(THETA, PHI) result(F)

Target field for Part A: equal unit weight on all three basis families at each of the eight known modes; zero elsewhere. A genuine finite sum over eight independent modes, not a shortcut.

Returns: The target vector field , complex 3-vector.

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: THETA

Colatitude in radians, .

real(kind=dp), intent(in) :: PHI

Longitude in radians, .

Return Value complex(kind=dp), DIMENSION(3)


Calls

proc~~field_known~~CallsGraph proc~field_known FIELD_KNOWN interface~pvsh_pol PVSH_POL proc~field_known->interface~pvsh_pol interface~pvsh_rad PVSH_RAD proc~field_known->interface~pvsh_rad interface~pvsh_tor PVSH_TOR proc~field_known->interface~pvsh_tor proc~pvsh_pol_dp PVSH_POL_DP interface~pvsh_pol->proc~pvsh_pol_dp proc~pvsh_rad_dp PVSH_RAD_DP interface~pvsh_rad->proc~pvsh_rad_dp proc~pvsh_tor_dp PVSH_TOR_DP interface~pvsh_tor->proc~pvsh_tor_dp dcos dcos proc~pvsh_pol_dp->dcos dsin dsin proc~pvsh_pol_dp->dsin interface~assoc_legendre_and_deriv ASSOC_LEGENDRE_AND_DERIV proc~pvsh_pol_dp->interface~assoc_legendre_and_deriv interface~log_fact LOG_FACT proc~pvsh_pol_dp->interface~log_fact interface~ssh SSH proc~pvsh_rad_dp->interface~ssh proc~pvsh_tor_dp->dcos proc~pvsh_tor_dp->dsin proc~pvsh_tor_dp->interface~assoc_legendre_and_deriv proc~pvsh_tor_dp->interface~log_fact proc~assoc_legendre_and_deriv_dp ASSOC_LEGENDRE_AND_DERIV_DP interface~assoc_legendre_and_deriv->proc~assoc_legendre_and_deriv_dp proc~log_fact_dp LOG_FACT_DP interface~log_fact->proc~log_fact_dp proc~ssh_dp SSH_DP interface~ssh->proc~ssh_dp proc~assoc_legendre_and_deriv_dp->interface~log_fact proc~ssh_dp->dcos proc~ssh_dp->interface~log_fact interface~assoc_legendre ASSOC_LEGENDRE proc~ssh_dp->interface~assoc_legendre proc~assoc_legendre_dp ASSOC_LEGENDRE_DP interface~assoc_legendre->proc~assoc_legendre_dp proc~assoc_legendre_dp->interface~log_fact

Source Code

  FUNCTION FIELD_KNOWN(THETA, PHI) RESULT(F)
  IMPLICIT NONE
  REAL(KIND=dp), INTENT(IN) :: THETA
  REAL(KIND=dp), INTENT(IN) :: PHI
  COMPLEX(KIND=dp), DIMENSION(3) :: F
  INTEGER(KIND=i4) :: K
  F = DCMPLX(0.d0, 0.d0)
  DO K = 1, N_KNOWN
    F = F + PVSH_RAD(L_KNOWN(K), M_KNOWN(K), THETA, PHI) &
          + PVSH_POL(L_KNOWN(K), M_KNOWN(K), THETA, PHI) &
          + PVSH_TOR(L_KNOWN(K), M_KNOWN(K), THETA, PHI)
  ENDDO
  END FUNCTION FIELD_KNOWN