source: LMDZ4/branches/LMDZ4_V3_patches/libf/phylmd/hgardfou.F @ 3157

Last change on this file since 3157 was 943, checked in by lmdzadmin, 17 years ago

Ajout coordonnees geographiques et pourcentages pour les plantages
IM

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.4 KB
Line 
1!
2! $Header$
3!
4      SUBROUTINE hgardfou (rlon,rlat,pctsrf,t,tsol,text)
5      use dimphy
6      IMPLICIT none
7c======================================================================
8c Verifier la temperature
9c======================================================================
10#include "dimensions.h"
11cym#include "dimphy.h"
12#include "YOMCST.h"
13#include "indicesol.h"
14      REAL rlon(klon), rlat(klon), pctsrf(klon, nbsrf)
15      REAL t(klon,klev), tsol(klon,nbsrf)
16      CHARACTER*(*) text
17C
18      INTEGER i, k, nsrf
19      REAL zt(klon)
20      INTEGER jadrs(klon), jbad
21      LOGICAL ok
22c
23      LOGICAL firstcall
24      SAVE firstcall
25      DATA firstcall /.TRUE./
26      IF (firstcall) THEN
27         PRINT*, 'hgardfou garantit la temperature dans [100,370] K'
28         firstcall = .FALSE.
29c
30         DO i = 1, klon
31          print*,'i=',i,'rlon=',rlon(i),'rlat=',rlat(i)
32         ENDDO
33c
34      ENDIF
35c
36      ok = .TRUE.
37      DO k = 1, klev
38         DO i = 1, klon
39            zt(i) = t(i,k)
40         ENDDO
41#ifdef CRAY
42         CALL WHENFGT(klon, zt, 1, 370.0, jadrs, jbad)
43#else
44         jbad = 0
45         DO i = 1, klon
46         IF (zt(i).GT.370.0) THEN
47            jbad = jbad + 1
48            jadrs(jbad) = i
49         ENDIF
50         ENDDO
51#endif
52         IF (jbad .GT. 0) THEN
53           ok = .FALSE.
54           DO i = 1, jbad
55             PRINT *,'i,k,temperature,lon,lat,pourc ter,oce,lic,sic =',
56     $       jadrs(i),k,zt(jadrs(i)),rlon(jadrs(i)),rlat(jadrs(i)),
57     $       (pctsrf(jadrs(i),nsrf),nsrf=1,nbsrf)
58           ENDDO
59         ENDIF
60#ifdef CRAY
61         CALL WHENFLT(klon, zt, 1, 100.0, jadrs, jbad)
62#else
63         jbad = 0
64         DO i = 1, klon
65!         IF (zt(i).LT.100.0) THEN
66         IF (zt(i).LT.50.0) THEN
67            jbad = jbad + 1
68            jadrs(jbad) = i
69         ENDIF
70         ENDDO
71#endif
72         IF (jbad .GT. 0) THEN
73           ok = .FALSE.
74           DO i = 1, jbad
75             PRINT *,'i,k,temperature,lon,lat,pourc ter,oce,lic,sic =',
76     $       jadrs(i),k,zt(jadrs(i)),rlon(jadrs(i)),rlat(jadrs(i)),
77     $       (pctsrf(jadrs(i),nsrf),nsrf=1,nbsrf)
78           ENDDO
79         ENDIF
80      ENDDO
81c
82      DO nsrf = 1, nbsrf
83         DO i = 1, klon
84            zt(i) = tsol(i,nsrf)
85         ENDDO
86#ifdef CRAY
87         CALL WHENFGT(klon, zt, 1, 370.0, jadrs, jbad)
88#else
89         jbad = 0
90         DO i = 1, klon
91         IF (zt(i).GT.370.0) THEN
92            jbad = jbad + 1
93            jadrs(jbad) = i
94         ENDIF
95         ENDDO
96#endif
97         IF (jbad .GT. 0) THEN
98           ok = .FALSE.
99           DO i = 1, jbad
100            PRINT *,'i,nsrf,temperature,lon,lat,pourc ter,oce,lic,sic ='
101     $      ,jadrs(i),nsrf,zt(jadrs(i)),rlon(jadrs(i)),rlat(jadrs(i))
102     $      ,pctsrf(jadrs(i),nsrf)
103           ENDDO
104         ENDIF
105#ifdef CRAY
106         CALL WHENFLT(klon, zt, 1, 100.0, jadrs, jbad)
107#else
108         jbad = 0
109         DO i = 1, klon
110!         IF (zt(i).LT.100.0) THEN
111         IF (zt(i).LT.50.0) THEN
112            jbad = jbad + 1
113            jadrs(jbad) = i
114         ENDIF
115         ENDDO
116#endif
117         IF (jbad .GT. 0) THEN
118           ok = .FALSE.
119           DO i = 1, jbad
120            PRINT *,'i,nsrf,temperature,lon,lat,pourc ter,oce,lic,sic ='
121     $      ,jadrs(i),nsrf,zt(jadrs(i)),rlon(jadrs(i)),rlat(jadrs(i))
122     $      ,pctsrf(jadrs(i),nsrf)
123           ENDDO
124         ENDIF
125      ENDDO
126c
127      IF (.NOT. ok) THEN
128         PRINT*, 'hgardfou s arrete ', text
129         CALL abort
130      ENDIF
131
132      RETURN
133      END
Note: See TracBrowser for help on using the repository browser.