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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 70 - (show annotations)
Mon Jun 24 15:39:52 2013 UTC (10 years, 10 months ago) by guez
Original Path: trunk/libf/phylmd/hgardfou.f90
File size: 1210 byte(s)
In procedure, "addfi" access directly the module variable "dtphys"
instead of going through an argument.

In "conflx", do not create a local variable for temperature with
reversed order of vertical levels. Instead, give an actual argument
with reversed order in "physiq".

Changed names of variables "rmd" and "rmv" from module "suphec_m" to
"md" and "mv".

In "hgardfou", print only the first temperature out of range found.

1 module hgardfou_m
2
3 IMPLICIT none
4
5 contains
6
7 SUBROUTINE hgardfou(t, tsol)
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), tsol(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(tsol(:, nsrf) > temp_max .or. tsol(:, nsrf) < temp_min)
37 if (jbad <= klon) then
38 PRINT *, 'hgardfou: temperature out of range'
39 print *, "tsol(", jbad, ", ", nsrf, ") = ", tsol(jbad, nsrf)
40 stop 1
41 ENDIF
42 ENDDO
43
44 END SUBROUTINE hgardfou
45
46 end module hgardfou_m

  ViewVC Help
Powered by ViewVC 1.1.21