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

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 207 by guez, Thu Sep 1 10:30:53 2016 UTC revision 227 by guez, Thu Nov 2 15:47:03 2017 UTC
# Line 4  module hgardfou_m Line 4  module hgardfou_m
4    
5  contains  contains
6    
7    SUBROUTINE hgardfou(t, ftsol)    SUBROUTINE hgardfou(t_seri, ftsol)
8    
9      ! From phylmd/hgardfou.F, v 1.1.1.1 2004/05/19 12:53:07      ! 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.      ! This procedure aborts the program if the temperature gets out of range.
12    
13      USE indicesol, ONLY: nbsrf      use abort_gcm_m, only: abort_gcm
14        USE indicesol, ONLY: nbsrf, clnsurf
15      USE dimphy, ONLY: klev, klon      USE dimphy, ONLY: klev, klon
16      use nr_util, only: ifirstloc      use nr_util, only: ifirstloc
17        use phyetat0_m, only: rlon, rlat
18    
19      REAL, intent(in):: t(klon, klev), ftsol(klon, nbsrf)      REAL, intent(in):: t_seri(:, :) ! (klon, klev)
20        REAL, intent(in):: ftsol(:, :) ! (klon, nbsrf)
21    
22      ! Variables local to the procedure:      ! Variables local to the procedure:
23    
# Line 24  contains Line 27  contains
27      !----------------------------------------------------------      !----------------------------------------------------------
28    
29      DO k = 1, klev      DO k = 1, klev
30         jbad = ifirstloc(t(:, k) > temp_max .or. t(:, k) < temp_min)         jbad = ifirstloc(t_seri(:, k) > temp_max .or. t_seri(:, k) < temp_min)
31         if (jbad <= klon) then         if (jbad <= klon) then
32            PRINT *, 'hgardfou: temperature out of range'            print *, "t_seri(", jbad, ", ", k, ") = ", t_seri(jbad, k)
33            print *, "t(", jbad, ", ", k, ") = ", t(jbad, k)            call abort_gcm('hgardfou', 'temperature out of range')
           stop 1  
34         end if         end if
35      ENDDO      ENDDO
36    
# Line 36  contains Line 38  contains
38         jbad = ifirstloc(ftsol(:, nsrf) > temp_max &         jbad = ifirstloc(ftsol(:, nsrf) > temp_max &
39              .or. ftsol(:, nsrf) < temp_min)              .or. ftsol(:, nsrf) < temp_min)
40         if (jbad <= klon) then         if (jbad <= klon) then
41            PRINT *, 'hgardfou: temperature out of range'            print *, "ftsol(position index =", jbad, ", sub-surface index =", &
42            print *, "ftsol(", jbad, ", ", nsrf, ") = ", ftsol(jbad, nsrf)                 nsrf, ") =", ftsol(jbad, nsrf)
43            stop 1            print *, "sub-surface name: ", clnsurf(nsrf)
44              print *, "longitude:", rlon(jbad), "degrees east"
45              print *, "latitude:", rlat(jbad), "degrees north"
46              call abort_gcm('hgardfou', 'temperature out of range')
47         ENDIF         ENDIF
48      ENDDO      ENDDO
49    

Legend:
Removed from v.207  
changed lines
  Added in v.227

  ViewVC Help
Powered by ViewVC 1.1.21