/[lmdze]/trunk/Sources/phylmd/hgardfou.f
ViewVC logotype

Contents of /trunk/Sources/phylmd/hgardfou.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 207 - (show annotations)
Thu Sep 1 10:30:53 2016 UTC (7 years, 8 months ago) by guez
File size: 1230 byte(s)
New philosophy on compiler options.

Removed source code for thermcep = f. (Not used in LMDZ either.)

1 module hgardfou_m
2
3 IMPLICIT none
4
5 contains
6
7 SUBROUTINE hgardfou(t, ftsol)
8
9 ! From phylmd/hgardfou.F, v 1.1.1.1 2004/05/19 12:53:07
10
11 ! This procedure aborts the program if the temperature gets out of range.
12
13 USE indicesol, ONLY: nbsrf
14 USE dimphy, ONLY: klev, klon
15 use nr_util, only: ifirstloc
16
17 REAL, intent(in):: t(klon, klev), ftsol(klon, nbsrf)
18
19 ! Variables local to the procedure:
20
21 real, parameter:: temp_min = 50., temp_max = 370. ! temperature range, in K
22 INTEGER k, nsrf, jbad
23
24 !----------------------------------------------------------
25
26 DO k = 1, klev
27 jbad = ifirstloc(t(:, k) > temp_max .or. t(:, k) < temp_min)
28 if (jbad <= klon) then
29 PRINT *, 'hgardfou: temperature out of range'
30 print *, "t(", jbad, ", ", k, ") = ", t(jbad, k)
31 stop 1
32 end if
33 ENDDO
34
35 DO nsrf = 1, nbsrf
36 jbad = ifirstloc(ftsol(:, nsrf) > temp_max &
37 .or. ftsol(:, nsrf) < temp_min)
38 if (jbad <= klon) then
39 PRINT *, 'hgardfou: temperature out of range'
40 print *, "ftsol(", jbad, ", ", nsrf, ") = ", ftsol(jbad, nsrf)
41 stop 1
42 ENDIF
43 ENDDO
44
45 END SUBROUTINE hgardfou
46
47 end module hgardfou_m

  ViewVC Help
Powered by ViewVC 1.1.21