source: LMDZ6/trunk/libf/dyn3d_common/test_period.f90 @ 5444

Last change on this file since 5444 was 5285, checked in by abarral, 2 months ago

As discussed internally, remove generic ONLY: ... for new _mod_h modules

  • 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.2 KB
Line 
1!
2! $Header$
3!
4SUBROUTINE test_period ( ucov, vcov, teta, q, p, phis )
5  !
6  ! Auteur : P. Le Van
7  !    ---------
8  !  ....  Cette routine teste la periodicite en longitude des champs   ucov,
9  !                       teta, q , p et phis                 ..........
10  !
11  USE infotrac, ONLY : nqtot
12  USE dimensions_mod, ONLY: iim, llm
13  USE paramet_mod_h
14IMPLICIT NONE
15  !
16  !    ......  Arguments   ......
17  !
18  REAL :: ucov(ip1jmp1,llm), vcov(ip1jm,llm), teta(ip1jmp1,llm) , &
19        q(ip1jmp1,llm,nqtot), p(ip1jmp1,llmp1), phis(ip1jmp1)
20  !
21  !   .....  Variables  locales  .....
22  !
23  INTEGER :: ij,l,nq
24  !
25  DO l = 1, llm
26     DO ij = 1, ip1jmp1, iip1
27      IF( ucov(ij,l).NE.ucov(ij+iim,l) )  THEN
28      PRINT *,'STOP dans test_period car ---  UCOV  ---  n est pas', &
29            ' periodique en longitude ! '
30      PRINT *,' l,  ij = ', l, ij, ij+iim
31      STOP
32      ENDIF
33      IF( teta(ij,l).NE.teta(ij+iim,l) )  THEN
34      PRINT *,'STOP dans test_period car ---  TETA  ---  n est pas', &
35            ' periodique en longitude ! '
36      PRINT *,' l,  ij = ', l, ij, ij+iim &
37            , teta(ij,l),   teta(ij+iim,l)
38      STOP
39      ENDIF
40     ENDDO
41
42     do ij=1,iim
43      if (teta(ij,l).ne.teta(1,l) &
44            .or.teta(ip1jm+ij,l).ne.teta(ip1jm+1,l) ) then
45      PRINT *,'STOP dans test_period car ---  TETA  ---  n est pas', &
46            ' constant aux poles ! '
47      print*,'teta(',1 ,',',l,')=',teta(1 ,l)
48      print*,'teta(',ij,',',l,')=',teta(ij,l)
49      print*,'teta(',ip1jm+1 ,',',l,')=',teta(ip1jm+1 ,l)
50      print*,'teta(',ip1jm+ij,',',l,')=',teta(ip1jm+ij,l)
51      stop
52      endif
53     enddo
54  ENDDO
55
56  !
57  DO l = 1, llm
58     DO ij = 1, ip1jm, iip1
59      IF( vcov(ij,l).NE.vcov(ij+iim,l) )  THEN
60      PRINT *,'STOP dans test_period car ---  VCOV  ---  n est pas', &
61            ' periodique en longitude !'
62      PRINT *,' l,  ij = ', l, ij, ij+iim,vcov(ij+iim,l),vcov(ij,l)
63      vcov(ij+iim,l)=vcov(ij,l)
64      ! STOP
65      ENDIF
66     ENDDO
67  ENDDO
68
69  !
70  DO nq =1, nqtot
71    DO l =1, llm
72      DO ij = 1, ip1jmp1, iip1
73      IF( q(ij,l,nq).NE.q(ij+iim,l,nq) )  THEN
74      PRINT *,'STOP dans test_period car ---  Q  ---  n est pas ', &
75            'periodique en longitude !'
76      PRINT *,' nq , l,  ij = ', nq, l, ij, ij+iim
77      STOP
78      ENDIF
79      ENDDO
80    ENDDO
81  ENDDO
82  !
83   DO l = 1, llm
84     DO ij = 1, ip1jmp1, iip1
85      IF( p(ij,l).NE.p(ij+iim,l) )  THEN
86      PRINT *,'STOP dans test_period car ---  P  ---  n est pas', &
87            ' periodique en longitude !'
88      PRINT *,' l ij = ',l, ij, ij+iim
89      STOP
90      ENDIF
91      IF( phis(ij).NE.phis(ij+iim) )  THEN
92      PRINT *,'STOP dans test_period car ---  PHIS  ---  n est pas', &
93            ' periodique en longitude !  l, IJ = ', l, ij,ij+iim
94      PRINT *,' ij = ', ij, ij+iim
95      STOP
96      ENDIF
97     ENDDO
98     do ij=1,iim
99      if (p(ij,l).ne.p(1,l) &
100            .or.p(ip1jm+ij,l).ne.p(ip1jm+1,l) ) then
101      PRINT *,'STOP dans test_period car ---  P     ---  n est pas', &
102            ' constant aux poles ! '
103      print*,'p(',1 ,',',l,')=',p(1 ,l)
104      print*,'p(',ij,',',l,')=',p(ij,l)
105      print*,'p(',ip1jm+1 ,',',l,')=',p(ip1jm+1 ,l)
106      print*,'p(',ip1jm+ij,',',l,')=',p(ip1jm+ij,l)
107      stop
108      endif
109     enddo
110   ENDDO
111  !
112  !
113     RETURN
114END SUBROUTINE test_period
Note: See TracBrowser for help on using the repository browser.