vect_cross Subroutine

private subroutine vect_cross(e, p1, p2)

Arguments

Type IntentOptional Attributes Name
real(kind=ESMF_KIND_R8), intent(out) :: e(3)
real(kind=ESMF_KIND_R8), intent(in) :: p1(3)
real(kind=ESMF_KIND_R8), intent(in) :: p2(3)

Called by

proc~~vect_cross~~CalledByGraph proc~vect_cross vect_cross proc~mirror_latlon mirror_latlon proc~mirror_latlon->proc~vect_cross proc~gnomonic_ed gnomonic_ed proc~gnomonic_ed->proc~mirror_latlon proc~gnomonic_grids gnomonic_grids proc~gnomonic_grids->proc~gnomonic_ed proc~esmf_utilcreatecscoords ESMF_UtilCreateCSCoords proc~esmf_utilcreatecscoords->proc~gnomonic_grids proc~esmf_utilcreatecscoordspar ESMF_UtilCreateCSCoordsPar proc~esmf_utilcreatecscoordspar->proc~gnomonic_grids

Source Code

 subroutine vect_cross(e, p1, p2)
 real(ESMF_KIND_R8), intent(in) :: p1(3), p2(3)
 real(ESMF_KIND_R8), intent(out):: e(3)
!
! Perform cross products of 3D vectors: e = P1 X P2
!
      e(1) = p1(2)*p2(3) - p1(3)*p2(2)
      e(2) = p1(3)*p2(1) - p1(1)*p2(3)
      e(3) = p1(1)*p2(2) - p1(2)*p2(1)

 end subroutine vect_cross