1 |
guez |
17 |
module minmaxqfi_m |
2 |
|
|
|
3 |
|
|
IMPLICIT none |
4 |
|
|
|
5 |
|
|
contains |
6 |
|
|
|
7 |
|
|
SUBROUTINE minmaxqfi(zq, qmin, qmax, comment) |
8 |
|
|
|
9 |
|
|
! From phylmd/minmaxqfi.F, version 1.1.1.1 2004/05/19 12:53:09 |
10 |
|
|
|
11 |
|
|
use dimens_m, only: llm |
12 |
|
|
use dimphy, only: klon |
13 |
guez |
36 |
use nr_util, only: assert |
14 |
guez |
17 |
|
15 |
|
|
real, intent(in):: zq(:, :), qmin, qmax |
16 |
|
|
CHARACTER(len=*), intent(in):: comment |
17 |
|
|
|
18 |
|
|
! Variables local to the procedure: |
19 |
|
|
|
20 |
|
|
INTEGER jadrs(klon), jbad, k, i |
21 |
|
|
|
22 |
|
|
!--------------------------------- |
23 |
|
|
|
24 |
|
|
call assert(shape(zq) == (/klon, llm/), "minmaxqfi") |
25 |
|
|
|
26 |
|
|
DO k = 1, llm |
27 |
|
|
jbad = 0 |
28 |
|
|
DO i = 1, klon |
29 |
|
|
IF (zq(i, k) > qmax .OR. zq(i, k) < qmin) THEN |
30 |
|
|
jbad = jbad + 1 |
31 |
|
|
jadrs(jbad) = i |
32 |
|
|
ENDIF |
33 |
|
|
ENDDO |
34 |
|
|
IF (jbad > 0) THEN |
35 |
|
|
PRINT *, comment |
36 |
|
|
DO i = 1, jbad |
37 |
|
|
PRINT *, "zq(", jadrs(i), ", ", k, ") = ", zq(jadrs(i), k) |
38 |
|
|
ENDDO |
39 |
|
|
ENDIF |
40 |
|
|
ENDDO |
41 |
|
|
|
42 |
|
|
end SUBROUTINE minmaxqfi |
43 |
|
|
|
44 |
|
|
end module minmaxqfi_m |