GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: dyn3d_common/test_period.F Lines: 0 60 0.0 %
Date: 2023-06-30 12:51:15 Branches: 0 42 0.0 %

Line Branch Exec Source
1
!
2
! $Header$
3
!
4
      SUBROUTINE test_period ( ucov, vcov, teta, q, p, phis )
5
c
6
c     Auteur : P. Le Van
7
c    ---------
8
c  ....  Cette routine teste la periodicite en longitude des champs   ucov,
9
c                           teta, q , p et phis                 ..........
10
c
11
      USE infotrac, ONLY : nqtot
12
c
13
c     IMPLICIT NONE
14
c
15
      INCLUDE "dimensions.h"
16
      INCLUDE "paramet.h"
17
c
18
c    ......  Arguments   ......
19
c
20
      REAL ucov(ip1jmp1,llm), vcov(ip1jm,llm), teta(ip1jmp1,llm) ,
21
     ,      q(ip1jmp1,llm,nqtot), p(ip1jmp1,llmp1), phis(ip1jmp1)
22
c
23
c   .....  Variables  locales  .....
24
c
25
      INTEGER ij,l,nq
26
c
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
58
c
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)
66
c         STOP
67
          ENDIF
68
         ENDDO
69
      ENDDO
70
71
c
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
84
c
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
113
c
114
c
115
         RETURN
116
         END