subroutine printCase(C, V1, V2, V3, V4, PI) implicit none integer :: C real :: V1, V2, V3, V4, PI real :: TV1, TV2, SV1, SV2, CV1, CV2 real :: SA, A, B, R TV1 = -TAND(V1) TV2 = TAN(V2) SV1 = SIND(V1) SV2 = SIN(V2) CV1 = COSD(V1) CV2 = COS(V2) A = ACOS(TV1*TV2) B = 1.0+0.033*COS(2*PI*V3/365.0) SA = SIN(A) R = 15.392*B*(A*SV1*SV2+CV1*CV2*SA) R = R*(2.501-0.002361*V4) write(*,'(A,I2.2)') 'Case: ', C write(*,'(A,F40.35)') 'V1: ', V1 write(*,'(A,F40.35)') 'V2: ', V2 write(*,'(A,F40.35)') 'TV1: ', TV1 write(*,'(A,B32.32)') 'TV1bin: ', TV1 write(*,'(A,F40.35)') 'TV2: ', TV2 write(*,'(A,F40.35)') 'SV1: ', SV1 write(*,'(A,B32.32)') 'SV1bin: ', SV1 write(*,'(A,F40.35)') 'SV2: ', SV2 write(*,'(A,F40.35)') 'CV1: ', CV1 write(*,'(A,B32.32)') 'CV1bin: ', CV1 write(*,'(A,F40.35)') 'CV2: ', CV2 write(*,'(A,F40.35)') 'SA : ', SA write(*,'(A,F40.35)') 'A: ', A write(*,'(A,F40.35)') 'B: ', B write(*,'(A,F40.35)') 'R: ', R end subroutine printCase program tangent implicit none real :: V1, V2, V3, V4, PI V2 = -0.40112295746803283691406250000000000 V3 = 2.0 PI = 3.141592 ! case 1 V1 = -7.10521984100341796875000000000000000 V4 = 25.29999923706054687500000000000000000 call printCase(1, V1, V2, V3, V4, PI) ! case 2 V1 = -10.81274986267089843750000000000000000 V4 = 25.29999923706054687500000000000000000 call printCase(2, V1, V2, V3, V4, PI) ! case 3 V1 = -7.23411989212036132812500000000000000 V4 = 25.60000038146972656250000000000000000 call printCase(3, V1, V2, V3, V4, PI) ! case 4 V1 = -10.2611398696899414062500000000000000 V4 = 25.29999923706054687500000000000000000 call printCase(4, V1, V2, V3, V4, PI) end program tangent