source: LMDZ.3.3/trunk/libf/dyn3d/fxyhyper.F @ 210

Last change on this file since 210 was 207, checked in by lmdz, 24 years ago

petit detail
LF

  • Property svn:eol-style set to native
  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 3.2 KB
Line 
1c
2c $Header$
3c
4       SUBROUTINE fxyhyper ( yzoom, grossy, dzoomy,tauy  ,   
5     ,                       xzoom, grossx, dzoomx,taux  ,
6     , rlatu,yprimu,rlatv,yprimv,rlatu1,  yprimu1,  rlatu2,  yprimu2  ,
7     , rlonu,xprimu,rlonv,xprimv,rlonm025,xprimm025,rlonp025,xprimp025)
8
9       IMPLICIT NONE
10c
11c      Auteur :  P. Le Van .
12c
13c      d'apres  formulations de R. Sadourny .
14c
15c
16c     Ce spg calcule les latitudes( routine fyhyp ) et longitudes( fxhyp )
17c            par des  fonctions  a tangente hyperbolique .
18c
19c     Il y a 3 parametres ,en plus des coordonnees du centre du zoom (xzoom
20c                      et  yzoom )   : 
21c
22c     a) le grossissement du zoom  :  grossy  ( en y ) et grossx ( en x )
23c     b) l' extension     du zoom  :  dzoomy  ( en y ) et dzoomx ( en x )
24c     c) la raideur de la transition du zoom  :   taux et tauy   
25c
26c  N.B : Il vaut mieux avoir   :   grossx * dzoomx <  pi    ( radians )
27c ******
28c                  et              grossy * dzoomy <  pi/2  ( radians )
29c
30#include "dimensions.h"
31#include "paramet.h"
32
33
34c   .....  Arguments  ...
35c
36       REAL xzoom,yzoom,grossx,grossy,dzoomx,dzoomy,taux,tauy
37       REAL rlatu(jjp1), yprimu(jjp1),rlatv(jjm), yprimv(jjm),
38     , rlatu1(jjm), yprimu1(jjm), rlatu2(jjm), yprimu2(jjm)
39       REAL rlonu(iip1),xprimu(iip1),rlonv(iip1),xprimv(iip1),
40     , rlonm025(iip1),xprimm025(iip1), rlonp025(iip1),xprimp025(iip1)
41
42c   ....   var. locales   .....
43c
44       INTEGER i,j
45c
46
47       CALL fyhyp ( yzoom, grossy, dzoomy,tauy  ,
48     ,  rlatu, yprimu,rlatv,yprimv,rlatu2,yprimu2,rlatu1,yprimu1 )
49
50       CALL fxhyp(xzoom,grossx,dzoomx,taux,rlonm025,xprimm025,rlonv,
51     , xprimv,rlonu,xprimu,rlonp025,xprimp025 )
52
53
54        DO i = 1, iip1
55          IF(rlonp025(i).LT.rlonv(i))  THEN
56           WRITE(6,*) ' Attention !  rlonp025 < rlonv',i
57            STOP
58          ENDIF
59
60          IF(rlonv(i).LT.rlonm025(i))  THEN
61           WRITE(6,*) ' Attention !  rlonm025 > rlonv',i
62            STOP
63          ENDIF
64
65          IF(rlonp025(i).GT.rlonu(i))  THEN
66           WRITE(6,*) ' Attention !  rlonp025 > rlonu',i
67            STOP
68          ENDIF
69        ENDDO
70
71        WRITE(6,*) '  *** TEST DE COHERENCE  OK    POUR   FX **** '
72
73c
74       DO j = 1, jjm
75c
76       IF(rlatu1(j).LE.rlatu2(j))   THEN
77         WRITE(6,*)'Attention ! rlatu1 < rlatu2 ',rlatu1(j), rlatu2(j),j
78         STOP 13
79       ENDIF
80c
81       IF(rlatu2(j).LE.rlatu(j+1))  THEN
82        WRITE(6,*)'Attention ! rlatu2 < rlatup1 ',rlatu2(j),rlatu(j+1),j
83        STOP 14
84       ENDIF
85c
86       IF(rlatu(j).LE.rlatu1(j))    THEN
87        WRITE(6,*)' Attention ! rlatu < rlatu1 ',rlatu(j),rlatu1(j),j
88        STOP 15
89       ENDIF
90c
91       IF(rlatv(j).LE.rlatu2(j))    THEN
92        WRITE(6,*)' Attention ! rlatv < rlatu2 ',rlatv(j),rlatu2(j),j
93        STOP 16
94       ENDIF
95c
96       IF(rlatv(j).ge.rlatu1(j))    THEN
97        WRITE(6,*)' Attention ! rlatv > rlatu1 ',rlatv(j),rlatu1(j),j
98        STOP 17
99       ENDIF
100c
101       IF(rlatv(j).ge.rlatu(j))     THEN
102        WRITE(6,*) ' Attention ! rlatv > rlatu ',rlatv(j),rlatu(j),j
103        STOP 18
104       ENDIF
105c
106       ENDDO
107c
108       WRITE(6,*) '  *** TEST DE COHERENCE  OK    POUR   FY **** '
109       WRITE(6,25)
11025     FORMAT(//)
111c
112
113       RETURN
114       END
115
Note: See TracBrowser for help on using the repository browser.