GCC Code Coverage Report


Directory: ./
File: dyn3d_common/fxy.f
Date: 2022-01-11 19:19:34
Exec Total Coverage
Lines: 0 21 0.0%
Branches: 0 6 0.0%

Line Branch Exec Source
1 !
2 ! $Id: fxy.F 2598 2016-07-22 09:28:39Z emillour $
3 !
4 SUBROUTINE fxy (rlatu,yprimu,rlatv,yprimv,rlatu1,yprimu1,
5 , rlatu2,yprimu2,
6 , rlonu,xprimu,rlonv,xprimv,rlonm025,xprimm025,rlonp025,xprimp025)
7
8 USE comconst_mod, ONLY: pi
9 USE serre_mod, ONLY: pxo,pyo,alphax,alphay,transx,transy
10
11 IMPLICIT NONE
12
13 c Auteur : P. Le Van
14 c
15 c Calcul des longitudes et des latitudes pour une fonction f(x,y)
16 c a tangente sinusoidale et eventuellement avec zoom .
17 c
18 c
19 include "dimensions.h"
20 include "paramet.h"
21
22 INTEGER i,j
23
24 REAL rlatu(jjp1), yprimu(jjp1),rlatv(jjm), yprimv(jjm),
25 , rlatu1(jjm), yprimu1(jjm), rlatu2(jjm), yprimu2(jjm)
26 REAL rlonu(iip1),xprimu(iip1),rlonv(iip1),xprimv(iip1),
27 , rlonm025(iip1),xprimm025(iip1), rlonp025(iip1),xprimp025(iip1)
28
29 !
30 ! $Header$
31 !
32 c--------------------------------------------------------------
33 REAL ripx
34 REAL fx,fxprim,fy,fyprim,ri,rj,bigy
35 c
36 c....stretching in x...
37 c
38 ripx( ri )= (ri-1.0) *2.*pi/REAL(iim)
39 fx ( ri )= ripx(ri) + transx +
40 * alphax * SIN( ripx(ri)+transx-pxo ) - pi
41 fxprim(ri) = 2.*pi/REAL(iim) *
42 * ( 1.+ alphax * COS( ripx(ri)+transx-pxo ) )
43
44 c....stretching in y...
45 c
46 bigy(rj) = 2.* (REAL(jjp1)-rj ) *pi/jjm
47 fy(rj) = ( bigy(rj) + transy +
48 * alphay * SIN( bigy(rj)+transy-pyo ) ) /2. - pi/2.
49 fyprim(rj) = ( pi/jjm ) * ( 1.+
50 * alphay * COS( bigy(rj)+transy-pyo ) )
51
52 c fy(rj)= pyo-pisjjm*(rj-transy)+coefalpha*SIN(depisjm*(rj-
53 c * transy ))
54 c fyprim(rj)= pisjjm-pisjjm*coefy2* COS(depisjm*(rj-transy))
55 c--------------------------------------------------------------
56
57
58 c ...... calcul des latitudes et de y' .....
59 c
60 DO j = 1, jjm + 1
61 rlatu(j) = fy ( REAL( j ) )
62 yprimu(j) = fyprim( REAL( j ) )
63 ENDDO
64
65
66 DO j = 1, jjm
67
68 rlatv(j) = fy ( REAL( j ) + 0.5 )
69 rlatu1(j) = fy ( REAL( j ) + 0.25 )
70 rlatu2(j) = fy ( REAL( j ) + 0.75 )
71
72 yprimv(j) = fyprim( REAL( j ) + 0.5 )
73 yprimu1(j) = fyprim( REAL( j ) + 0.25 )
74 yprimu2(j) = fyprim( REAL( j ) + 0.75 )
75
76 ENDDO
77
78 c
79 c ..... calcul des longitudes et de x' .....
80 c
81 DO i = 1, iim + 1
82 rlonv(i) = fx ( REAL( i ) )
83 rlonu(i) = fx ( REAL( i ) + 0.5 )
84 rlonm025(i) = fx ( REAL( i ) - 0.25 )
85 rlonp025(i) = fx ( REAL( i ) + 0.25 )
86
87 xprimv (i) = fxprim ( REAL( i ) )
88 xprimu (i) = fxprim ( REAL( i ) + 0.5 )
89 xprimm025(i) = fxprim ( REAL( i ) - 0.25 )
90 xprimp025(i) = fxprim ( REAL( i ) + 0.25 )
91 ENDDO
92
93 c
94 RETURN
95 END
96
97