[4775] | 1 | SUBROUTINE function_sent(ni,nj, & |
---|
| 2 | coords_1,coords_2, & |
---|
| 3 | fnc_ana,ib) |
---|
| 4 | !********************************************************************************************************************* |
---|
| 5 | ! |
---|
| 6 | IMPLICIT NONE |
---|
| 7 | ! |
---|
| 8 | #ifdef NO_USE_DOUBLE_PRECISION |
---|
| 9 | INTEGER, PARAMETER :: wp = SELECTED_REAL_KIND(6,37) ! real |
---|
| 10 | #elif USE_DOUBLE_PRECISION |
---|
| 11 | INTEGER, PARAMETER :: wp = SELECTED_REAL_KIND(12,307) ! double |
---|
| 12 | #endif |
---|
| 13 | ! |
---|
| 14 | ! Constants |
---|
| 15 | ! |
---|
| 16 | REAL (kind=wp), PARAMETER :: coef = 2. |
---|
| 17 | ! |
---|
| 18 | REAL (kind=wp), PARAMETER :: dp_pi=3.14159265359 |
---|
| 19 | REAL (kind=wp), PARAMETER :: dp_length= 1.2*dp_pi |
---|
| 20 | REAL (kind=wp), PARAMETER :: dp_conv = dp_pi/180. |
---|
| 21 | ! |
---|
| 22 | INTEGER, INTENT(in) :: ni,nj,ib |
---|
| 23 | ! |
---|
| 24 | INTEGER :: i,j |
---|
| 25 | ! |
---|
| 26 | REAL (kind=wp), INTENT(out) :: fnc_ana(ni,nj) |
---|
| 27 | ! |
---|
| 28 | REAL (kind=wp) :: coords_1(ni,nj) |
---|
| 29 | REAL (kind=wp) :: coords_2(ni,nj) |
---|
| 30 | ! |
---|
| 31 | ! |
---|
| 32 | DO j=1,nj |
---|
| 33 | DO i=1,ni |
---|
| 34 | fnc_ana(i,j) = ib*(coef - COS(dp_pi*(ACOS(COS(coords_2(i,j)* dp_conv)* & |
---|
| 35 | COS(coords_1(i,j)* dp_conv))/dp_length))) |
---|
| 36 | ENDDO |
---|
| 37 | ENDDO |
---|
| 38 | ! |
---|
| 39 | ! |
---|
| 40 | END SUBROUTINE function_sent |
---|
| 41 | ! |
---|