/[MITgcm]/MITgcm/pkg/exf/exf_check_range.F
ViewVC logotype

Diff of /MITgcm/pkg/exf/exf_check_range.F

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

revision 1.23 by heimbach, Thu Jul 28 13:53:31 2005 UTC revision 1.24 by heimbach, Thu May 25 18:32:55 2006 UTC
# Line 64  c Line 64  c
64  c             Heat flux.  c             Heat flux.
65                if ( ( hflux(i,j,bi,bj) .GT. 1600. .OR.                if ( ( hflux(i,j,bi,bj) .GT. 1600. .OR.
66       &               hflux(i,j,bi,bj) .LT. -500. ) .AND.       &               hflux(i,j,bi,bj) .LT. -500. ) .AND.
67       &              hFacC(i,j,1,bi,bj) .NE. 0. ) then       &              maskC(i,j,1,bi,bj) .NE. 0. ) then
68                   write(standardmessageunit,'(A,3(1X,I6),2X,D22.15)')                   write(standardmessageunit,'(A,3(1X,I6),2X,D22.15)')
69       &                'EXF WARNING: hflux out of range for i,j,it= ',       &                'EXF WARNING: hflux out of range for i,j,it= ',
70       &                i, j, myiter, hflux(i,j,bi,bj)       &                i, j, myiter, hflux(i,j,bi,bj)
# Line 73  c             Heat flux. Line 73  c             Heat flux.
73  c  c
74  c             Salt flux.  c             Salt flux.
75                if ( ABS(sflux(i,j,bi,bj)) .GT. 1.E-6 .AND.                if ( ABS(sflux(i,j,bi,bj)) .GT. 1.E-6 .AND.
76       &             hFacC(i,j,1,bi,bj) .NE. 0. ) then       &             maskC(i,j,1,bi,bj) .NE. 0. ) then
77                   write(standardmessageunit,'(A,3(1X,I6),2X,D22.15)')                   write(standardmessageunit,'(A,3(1X,I6),2X,D22.15)')
78       &                'EXF WARNING: sflux out of range for i,j,it= ',       &                'EXF WARNING: sflux out of range for i,j,it= ',
79       &                i, j, myiter, sflux(i,j,bi,bj)       &                i, j, myiter, sflux(i,j,bi,bj)
# Line 82  c             Salt flux. Line 82  c             Salt flux.
82  c  c
83  c             Zonal wind stress.  c             Zonal wind stress.
84                if ( ABS(ustress(i,j,bi,bj)) .GT. 2.7 .AND.                if ( ABS(ustress(i,j,bi,bj)) .GT. 2.7 .AND.
85       &             hFacW(i,j,1,bi,bj) .NE. 0. ) then       &             maskW(i,j,1,bi,bj) .NE. 0. ) then
86                   write(standardmessageunit,'(A,3(1X,I6),2X,D22.15)')                   write(standardmessageunit,'(A,3(1X,I6),2X,D22.15)')
87       &                'EXF WARNING: ustress out of range for i,j,it= ',       &                'EXF WARNING: ustress out of range for i,j,it= ',
88       &                i, j, myiter, ustress(i,j,bi,bj)       &                i, j, myiter, ustress(i,j,bi,bj)
# Line 91  c             Zonal wind stress. Line 91  c             Zonal wind stress.
91  c  c
92  c             Meridional wind stress.  c             Meridional wind stress.
93                if ( ABS(vstress(i,j,bi,bj)) .GT. 2.3 .AND.                if ( ABS(vstress(i,j,bi,bj)) .GT. 2.3 .AND.
94       &             hFacS(i,j,1,bi,bj) .NE. 0. ) then       &             maskS(i,j,1,bi,bj) .NE. 0. ) then
95                   write(standardmessageunit,'(A,3(1X,I6),2X,D22.15)')                   write(standardmessageunit,'(A,3(1X,I6),2X,D22.15)')
96       &                'EXF WARNING: vstress out of range for i,j,it= ',       &                'EXF WARNING: vstress out of range for i,j,it= ',
97       &                i, j, myiter, vstress(i,j,bi,bj)       &                i, j, myiter, vstress(i,j,bi,bj)
# Line 101  c Line 101  c
101  #ifdef ALLOW_ATM_WIND  #ifdef ALLOW_ATM_WIND
102  c             zonal wind speed  c             zonal wind speed
103                if ( ABS(uwind(i,j,bi,bj)) .GT. 100. .AND.                if ( ABS(uwind(i,j,bi,bj)) .GT. 100. .AND.
104       &             hFacW(i,j,1,bi,bj) .NE. 0. ) then       &             maskW(i,j,1,bi,bj) .NE. 0. ) then
105                   write(standardmessageunit,'(A,3(1X,I6),2X,D22.15)')                   write(standardmessageunit,'(A,3(1X,I6),2X,D22.15)')
106       &                'EXF WARNING: uwind out of range for i,j,it= ',       &                'EXF WARNING: uwind out of range for i,j,it= ',
107       &                i, j, myiter, uwind(i,j,bi,bj)       &                i, j, myiter, uwind(i,j,bi,bj)
# Line 110  c             zonal wind speed Line 110  c             zonal wind speed
110  c  c
111  c             zonal wind speed  c             zonal wind speed
112                if ( ABS(vwind(i,j,bi,bj)) .GT. 100. .AND.                if ( ABS(vwind(i,j,bi,bj)) .GT. 100. .AND.
113       &             hFacS(i,j,1,bi,bj) .NE. 0. ) then       &             maskS(i,j,1,bi,bj) .NE. 0. ) then
114                   write(standardmessageunit,'(A,3(1X,I6),2X,D22.15)')                   write(standardmessageunit,'(A,3(1X,I6),2X,D22.15)')
115       &                'EXF WARNING: vwind out of range for i,j,it= ',       &                'EXF WARNING: vwind out of range for i,j,it= ',
116       &                i, j, myiter, vwind(i,j,bi,bj)       &                i, j, myiter, vwind(i,j,bi,bj)
117                   exferr = 1                   exferr = 1
118                endif                endif
119  #endif  #endif
120    c
121    c             wind speed modulus
122                  if ( ( wspeed(i,j,bi,bj) .LT. 0. .OR.
123         &              wspeed(i,j,bi,bj) .GT. 100. ) .AND.
124         &              maskS(i,j,1,bi,bj) .NE. 0. ) then
125                     write(standardmessageunit,'(A,3(1X,I6),2X,D22.15)')
126         &              'EXF WARNING: wspeed out of range for i,j,it= ',
127         &              i, j, myiter, wspeed(i,j,bi,bj)
128                     exferr = 1
129                  endif
130    
131  #ifdef ALLOW_ATM_TEMP  #ifdef ALLOW_ATM_TEMP
132  c             2-m air temperature  c             2-m air temperature
133                if ( (atemp(i,j,bi,bj) .LT. 183 .OR.                if ( (atemp(i,j,bi,bj) .LT. 183 .OR.
134       &             atemp(i,j,bi,bj) .GT. 343 ) .AND.       &             atemp(i,j,bi,bj) .GT. 343 ) .AND.
135       &             hFacC(i,j,1,bi,bj) .NE. 0. ) then       &             maskC(i,j,1,bi,bj) .NE. 0. ) then
136                   write(standardmessageunit,'(2A,3(1X,I6),2X,D22.15)')                   write(standardmessageunit,'(2A,3(1X,I6),2X,D22.15)')
137       &                'EXF WARNING: atemp + exf_offset_atemp ',       &                'EXF WARNING: atemp + exf_offset_atemp ',
138       &                'out of range for i,j,it= ',       &                'out of range for i,j,it= ',
# Line 133  c Line 143  c
143  c             2-m specific humidity  c             2-m specific humidity
144                if ( (aqh(i,j,bi,bj) .LT. 0. .OR.                if ( (aqh(i,j,bi,bj) .LT. 0. .OR.
145       &             aqh(i,j,bi,bj) .GT. 0.1 ) .AND.       &             aqh(i,j,bi,bj) .GT. 0.1 ) .AND.
146       &             hFacC(i,j,1,bi,bj) .NE. 0. ) then       &             maskC(i,j,1,bi,bj) .NE. 0. ) then
147                   write(standardmessageunit,'(A,3(1X,I6),2X,D22.15)')                   write(standardmessageunit,'(A,3(1X,I6),2X,D22.15)')
148       &                'EXF WARNING: aqh out of range for i,j,it= ',       &                'EXF WARNING: aqh out of range for i,j,it= ',
149       &                i, j, myiter, aqh(i,j,bi,bj)       &                i, j, myiter, aqh(i,j,bi,bj)
# Line 143  c Line 153  c
153  c             precipitation rate  c             precipitation rate
154                if ( (precip(i,j,bi,bj) .LT. 0. .OR.                if ( (precip(i,j,bi,bj) .LT. 0. .OR.
155       &             precip(i,j,bi,bj) .GT. 2.E-6 ) .AND.       &             precip(i,j,bi,bj) .GT. 2.E-6 ) .AND.
156       &             hFacC(i,j,1,bi,bj) .NE. 0. ) then       &             maskC(i,j,1,bi,bj) .NE. 0. ) then
157                   write(standardmessageunit,'(A,3(1X,I6),2X,D22.15)')                   write(standardmessageunit,'(A,3(1X,I6),2X,D22.15)')
158       &                'EXF WARNING: precip out of range for i,j,it= ',       &                'EXF WARNING: precip out of range for i,j,it= ',
159       &                i, j, myiter, precip(i,j,bi,bj)       &                i, j, myiter, precip(i,j,bi,bj)
160                   exferr = 1                   exferr = 1
161                endif                endif
162    c
163    c             snow
164                  if ( (snowprecip(i,j,bi,bj) .LT. 0. .OR.
165         &             snowprecip(i,j,bi,bj) .GT. 2.E-6 ) .AND.
166         &             maskC(i,j,1,bi,bj) .NE. 0. ) then
167                     write(standardmessageunit,'(A,3(1X,I6),2X,D22.15)')
168         &             'EXF WARNING: snowprecip out of range for i,j,it= ',
169         &             i, j, myiter, snowprecip(i,j,bi,bj)
170                     exferr = 1
171                  endif
172  #endif  #endif
173    
174  #ifdef SHORTWAVE_HEATING  #ifdef SHORTWAVE_HEATING
175  c             Short wave radiative flux.  c             Short wave radiative flux.
176                if ( (swflux(i,j,bi,bj) .GT. 1. .OR.                if ( (swflux(i,j,bi,bj) .GT. 1. .OR.
177       &             swflux(i,j,bi,bj) .LT. -1000. ) .AND.       &             swflux(i,j,bi,bj) .LT. -1000. ) .AND.
178       &             hFacC(i,j,1,bi,bj) .NE. 0. ) then       &             maskC(i,j,1,bi,bj) .NE. 0. ) then
179                   write(standardmessageunit,'(A,3(1X,I6),2X,D22.15)')                   write(standardmessageunit,'(A,3(1X,I6),2X,D22.15)')
180       &                'EXF WARNING: swflux out of range for i,j,it= ',       &                'EXF WARNING: swflux out of range for i,j,it= ',
181       &                i, j, myiter, swflux(i,j,bi,bj)       &                i, j, myiter, swflux(i,j,bi,bj)
# Line 167  c             Short wave radiative flux. Line 187  c             Short wave radiative flux.
187  c             Runoff.  c             Runoff.
188                if ( (runoff(i,j,bi,bj) .LT. 0. .OR.                if ( (runoff(i,j,bi,bj) .LT. 0. .OR.
189       &             runoff(i,j,bi,bj) .GT. 1.E-6 ) .AND.       &             runoff(i,j,bi,bj) .GT. 1.E-6 ) .AND.
190       &             hFacC(i,j,1,bi,bj) .NE. 0. ) then       &             maskC(i,j,1,bi,bj) .NE. 0. ) then
191                   write(standardmessageunit,'(A,3(1X,I6),2X,D22.15)')                   write(standardmessageunit,'(A,3(1X,I6),2X,D22.15)')
192       &                'EXF WARNING: runoff out of range for i,j,it= ',       &                'EXF WARNING: runoff out of range for i,j,it= ',
193       &                i, j, myiter, runoff(i,j,bi,bj)       &                i, j, myiter, runoff(i,j,bi,bj)

Legend:
Removed from v.1.23  
changed lines
  Added in v.1.24

  ViewVC Help
Powered by ViewVC 1.1.22