SUBROUTINE transform(theta,px_in, p_total, px, py) USE nrtype USE precision_def USE parameters ! module with coordinates and constants IMPLICIT NONE REAL(RP), INTENT(IN) :: theta REAL(RP), INTENT(INOUT) :: px_in, p_total, px,py !Change into cartesian coordinates px = px_in*sin(theta) + p_total*cos(theta) py = px_in*cos(theta) - p_total*sin(theta) END SUBROUTINE transform