source: LMDZ5/branches/IPSLCM6.0.8/libf/dyn3d_common/test_period.F @ 5444

Last change on this file since 5444 was 1999, checked in by Laurent Fairhead, 11 years ago

Merged trunk changes r1920:1997 into testing branch

  • Property copyright set to
    Name of program: LMDZ
    Creation date: 1984
    Version: LMDZ5
    License: CeCILL version 2
    Holder: Laboratoire de m\'et\'eorologie dynamique, CNRS, UMR 8539
    See the license file in the root directory
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.5 KB
Line 
1!
2! $Header$
3!
4      SUBROUTINE test_period ( ucov, vcov, teta, q, p, phis )
5c
6c     Auteur : P. Le Van 
7c    ---------
8c  ....  Cette routine teste la periodicite en longitude des champs   ucov,
9c                           teta, q , p et phis                 ..........
10c
11      USE infotrac, ONLY : nqtot
12c
13c     IMPLICIT NONE
14c
15#include "dimensions.h"
16#include "paramet.h"
17c
18c    ......  Arguments   ......
19c
20      REAL ucov(ip1jmp1,llm), vcov(ip1jm,llm), teta(ip1jmp1,llm) ,
21     ,      q(ip1jmp1,llm,nqtot), p(ip1jmp1,llmp1), phis(ip1jmp1)
22c
23c   .....  Variables  locales  .....
24c
25      INTEGER ij,l,nq
26c
27      DO l = 1, llm
28         DO ij = 1, ip1jmp1, iip1
29          IF( ucov(ij,l).NE.ucov(ij+iim,l) )  THEN
30          PRINT *,'STOP dans test_period car ---  UCOV  ---  n est pas', 
31     ,  ' periodique en longitude ! '
32          PRINT *,' l,  ij = ', l, ij, ij+iim
33          STOP
34          ENDIF
35          IF( teta(ij,l).NE.teta(ij+iim,l) )  THEN
36          PRINT *,'STOP dans test_period car ---  TETA  ---  n est pas', 
37     ,   ' periodique en longitude ! '
38          PRINT *,' l,  ij = ', l, ij, ij+iim
39     ,      , teta(ij,l),   teta(ij+iim,l)
40          STOP
41          ENDIF
42         ENDDO
43
44         do ij=1,iim
45          if (teta(ij,l).ne.teta(1,l)
46     s     .or.teta(ip1jm+ij,l).ne.teta(ip1jm+1,l) ) then
47          PRINT *,'STOP dans test_period car ---  TETA  ---  n est pas', 
48     ,  ' constant aux poles ! '
49          print*,'teta(',1 ,',',l,')=',teta(1 ,l)
50          print*,'teta(',ij,',',l,')=',teta(ij,l)
51          print*,'teta(',ip1jm+1 ,',',l,')=',teta(ip1jm+1 ,l)
52          print*,'teta(',ip1jm+ij,',',l,')=',teta(ip1jm+ij,l)
53          stop
54          endif
55         enddo
56      ENDDO
57
58c
59      DO l = 1, llm
60         DO ij = 1, ip1jm, iip1
61          IF( vcov(ij,l).NE.vcov(ij+iim,l) )  THEN
62          PRINT *,'STOP dans test_period car ---  VCOV  ---  n est pas', 
63     ,   ' periodique en longitude !'
64          PRINT *,' l,  ij = ', l, ij, ij+iim,vcov(ij+iim,l),vcov(ij,l)
65          vcov(ij+iim,l)=vcov(ij,l)
66c         STOP
67          ENDIF
68         ENDDO
69      ENDDO
70     
71c
72      DO nq =1, nqtot
73        DO l =1, llm
74          DO ij = 1, ip1jmp1, iip1
75          IF( q(ij,l,nq).NE.q(ij+iim,l,nq) )  THEN
76          PRINT *,'STOP dans test_period car ---  Q  ---  n est pas ', 
77     ,   'periodique en longitude !'
78          PRINT *,' nq , l,  ij = ', nq, l, ij, ij+iim
79          STOP
80          ENDIF
81          ENDDO
82        ENDDO
83      ENDDO
84c
85       DO l = 1, llm
86         DO ij = 1, ip1jmp1, iip1
87          IF( p(ij,l).NE.p(ij+iim,l) )  THEN
88          PRINT *,'STOP dans test_period car ---  P  ---  n est pas', 
89     ,    ' periodique en longitude !'
90          PRINT *,' l ij = ',l, ij, ij+iim
91          STOP
92          ENDIF
93          IF( phis(ij).NE.phis(ij+iim) )  THEN
94          PRINT *,'STOP dans test_period car ---  PHIS  ---  n est pas', 
95     ,   ' periodique en longitude !  l, IJ = ', l, ij,ij+iim
96          PRINT *,' ij = ', ij, ij+iim
97          STOP
98          ENDIF
99         ENDDO
100         do ij=1,iim
101          if (p(ij,l).ne.p(1,l)
102     s     .or.p(ip1jm+ij,l).ne.p(ip1jm+1,l) ) then
103          PRINT *,'STOP dans test_period car ---  P     ---  n est pas', 
104     ,  ' constant aux poles ! '
105          print*,'p(',1 ,',',l,')=',p(1 ,l)
106          print*,'p(',ij,',',l,')=',p(ij,l)
107          print*,'p(',ip1jm+1 ,',',l,')=',p(ip1jm+1 ,l)
108          print*,'p(',ip1jm+ij,',',l,')=',p(ip1jm+ij,l)
109          stop
110          endif
111         enddo
112       ENDDO
113c
114c
115         RETURN
116         END
Note: See TracBrowser for help on using the repository browser.