source: CPL/oasis3-mct/branches/OASIS3-MCT_2.0_branch/examples/test_interpolation/function_ana.F90 @ 4775

Last change on this file since 4775 was 4775, checked in by aclsce, 5 years ago
  • Imported oasis3-mct from Cerfacs svn server (not suppotred anymore).

The version has been extracted from https://oasis3mct.cerfacs.fr/svn/branches/OASIS3-MCT_2.0_branch/oasis3-mct@1818

File size: 1.1 KB
Line 
1SUBROUTINE function_ana(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 defined 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  !
40END SUBROUTINE function_ana
41!
Note: See TracBrowser for help on using the repository browser.