SURFEX v8.1
General documentation of Surfex
isrchfltpv.body.h
Go to the documentation of this file.
1 !define ISRCHFLTPV_N
2 !define ISRCHFLTPV_ARRAY(I)
3 !define ISRCHFLTPV_INC
4 !define ISRCHFLTPV_TARGET
5 !define ISRCHFLTPV_NBITER
6 !define ISRCHFLTPV_RESULT
7  ISRCHFLTPV_RESULT = -1
8  IF (ISRCHFLTPV_N.LE.0) THEN
9  ISRCHFLTPV_RESULT=0
10  ELSE
11 
12 
13  IF (ISRCHFLTPV_NBITER.EQ.8) THEN
14 
15  DO ISRCHFLTPV_I=1,ISRCHFLTPV_N-ISRCHFLTPV_NBITER
16  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I-1)).LT.ISRCHFLTPV_TARGET ) THEN
17  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I)).LT.ISRCHFLTPV_TARGET ) THEN
18  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I+1)).LT.ISRCHFLTPV_TARGET ) THEN
19  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I+2)).LT.ISRCHFLTPV_TARGET ) THEN
20  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I+3)).LT.ISRCHFLTPV_TARGET ) THEN
21  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I+4)).LT.ISRCHFLTPV_TARGET ) THEN
22  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I+5)).LT.ISRCHFLTPV_TARGET ) THEN
23  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I+6)).LT.ISRCHFLTPV_TARGET ) THEN
24  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I+7)).LT.ISRCHFLTPV_TARGET ) THEN
25  ISRCHFLTPV_RESULT=ISRCHFLTPV_I
26  EXIT
27  ENDIF
28  ENDIF
29  ENDIF
30  ENDIF
31  ENDIF
32  ENDIF
33  ENDIF
34  ENDIF
35  ENDIF
36  ENDDO
37 
38  IF (ISRCHFLTPV_RESULT .LT. 0) THEN
39  DO ISRCHFLTPV_I=ISRCHFLTPV_N-ISRCHFLTPV_NBITER+1,ISRCHFLTPV_N
40  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I-1))&
41  &.LT.ISRCHFLTPV_TARGET ) THEN
42  ISRCHFLTPV_RESULT=ISRCHFLTPV_I
43  EXIT
44  ENDIF
45  ENDDO
46  ENDIF
47 
48 
49  ELSEIF (ISRCHFLTPV_NBITER.EQ.6) THEN
50 
51  DO ISRCHFLTPV_I=1,ISRCHFLTPV_N-ISRCHFLTPV_NBITER
52  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I-1)).LT.ISRCHFLTPV_TARGET ) THEN
53  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I)).LT.ISRCHFLTPV_TARGET ) THEN
54  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I+1)).LT.ISRCHFLTPV_TARGET ) THEN
55  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I+2)).LT.ISRCHFLTPV_TARGET ) THEN
56  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I+3)).LT.ISRCHFLTPV_TARGET ) THEN
57  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I+4)).LT.ISRCHFLTPV_TARGET ) THEN
58  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I+5)).LT.ISRCHFLTPV_TARGET ) THEN
59  ISRCHFLTPV_RESULT=ISRCHFLTPV_I
60  EXIT
61  ENDIF
62  ENDIF
63  ENDIF
64  ENDIF
65  ENDIF
66  ENDIF
67  ENDIF
68  ENDDO
69 
70  IF (ISRCHFLTPV_RESULT .LT. 0) THEN
71  DO ISRCHFLTPV_I=ISRCHFLTPV_N-ISRCHFLTPV_NBITER+1,ISRCHFLTPV_N
72  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I-1))&
73  &.LT.ISRCHFLTPV_TARGET ) THEN
74  ISRCHFLTPV_RESULT=ISRCHFLTPV_I
75  EXIT
76  ENDIF
77  ENDDO
78  ENDIF
79 
80  ELSEIF (ISRCHFLTPV_NBITER.EQ.5) THEN
81 
82  DO ISRCHFLTPV_I=1,ISRCHFLTPV_N-ISRCHFLTPV_NBITER
83  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I-1))&
84  &.LT.ISRCHFLTPV_TARGET ) THEN
85  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I))&
86  &.LT.ISRCHFLTPV_TARGET ) THEN
87  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I+1))&
88  &.LT.ISRCHFLTPV_TARGET ) THEN
89  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I+2))&
90  &.LT.ISRCHFLTPV_TARGET ) THEN
91  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I+3))&
92  &.LT.ISRCHFLTPV_TARGET ) THEN
93  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I+4))&
94  &.LT.ISRCHFLTPV_TARGET ) THEN
95  ISRCHFLTPV_RESULT=ISRCHFLTPV_I
96  EXIT
97  ENDIF
98  ENDIF
99  ENDIF
100  ENDIF
101  ENDIF
102  ENDIF
103  ENDDO
104 
105  IF (ISRCHFLTPV_RESULT .LT. 0) THEN
106  DO ISRCHFLTPV_I=ISRCHFLTPV_N-ISRCHFLTPV_NBITER+1,ISRCHFLTPV_N
107  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I-1))&
108  &.LT.ISRCHFLTPV_TARGET ) THEN
109  ISRCHFLTPV_RESULT=ISRCHFLTPV_I
110  EXIT
111  ENDIF
112  ENDDO
113  ENDIF
114 
115 
116 
117  ELSEIF (ISRCHFLTPV_NBITER.EQ.4) THEN
118 
119  DO ISRCHFLTPV_I=1,ISRCHFLTPV_N-ISRCHFLTPV_NBITER
120  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I-1))&
121  &.LT.ISRCHFLTPV_TARGET ) THEN
122  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I))&
123  &.LT.ISRCHFLTPV_TARGET ) THEN
124  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I+1))&
125  &.LT.ISRCHFLTPV_TARGET ) THEN
126  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I+2))&
127  &.LT.ISRCHFLTPV_TARGET ) THEN
128  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I+3))&
129  &.LT.ISRCHFLTPV_TARGET ) THEN
130 
131  ISRCHFLTPV_RESULT=ISRCHFLTPV_I
132  EXIT
133  ENDIF
134  ENDIF
135  ENDIF
136  ENDIF
137  ENDIF
138  ENDDO
139 
140  IF (ISRCHFLTPV_RESULT .LT. 0) THEN
141  DO ISRCHFLTPV_I=ISRCHFLTPV_N-ISRCHFLTPV_NBITER+1,ISRCHFLTPV_N
142  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I-1))&
143  &.LT.ISRCHFLTPV_TARGET ) THEN
144  ISRCHFLTPV_RESULT=ISRCHFLTPV_I
145  EXIT
146  ENDIF
147  ENDDO
148  ENDIF
149 
150 
151  ELSEIF (ISRCHFLTPV_NBITER.EQ.3) THEN
152 
153  DO ISRCHFLTPV_I=1,ISRCHFLTPV_N-ISRCHFLTPV_NBITER
154  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I-1))&
155  &.LT.ISRCHFLTPV_TARGET ) THEN
156  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I))&
157  &.LT.ISRCHFLTPV_TARGET ) THEN
158  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I+1))&
159  &.LT.ISRCHFLTPV_TARGET ) THEN
160  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I+2))&
161  &.LT.ISRCHFLTPV_TARGET ) THEN
162  ISRCHFLTPV_RESULT=ISRCHFLTPV_I
163  EXIT
164  ENDIF
165  ENDIF
166  ENDIF
167  ENDIF
168  ENDDO
169 
170  IF (ISRCHFLTPV_RESULT .LT. 0) THEN
171  DO ISRCHFLTPV_I=ISRCHFLTPV_N-ISRCHFLTPV_NBITER+1,ISRCHFLTPV_N
172  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I-1))&
173  &.LT.ISRCHFLTPV_TARGET ) THEN
174  ISRCHFLTPV_RESULT=ISRCHFLTPV_I
175  EXIT
176  ENDIF
177  ENDDO
178  ENDIF
179 
180  ELSEIF (ISRCHFLTPV_NBITER.EQ.2) THEN
181 
182  DO ISRCHFLTPV_I=1,ISRCHFLTPV_N-ISRCHFLTPV_NBITER
183  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I-1))&
184  &.LT.ISRCHFLTPV_TARGET ) THEN
185  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I))&
186  &.LT.ISRCHFLTPV_TARGET ) THEN
187  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I+1))&
188  &.LT.ISRCHFLTPV_TARGET ) THEN
189  ISRCHFLTPV_RESULT=ISRCHFLTPV_I
190  EXIT
191  ENDIF
192  ENDIF
193  ENDIF
194  ENDDO
195 
196  IF (ISRCHFLTPV_RESULT .LT. 0) THEN
197  DO ISRCHFLTPV_I=ISRCHFLTPV_N-ISRCHFLTPV_NBITER+1,ISRCHFLTPV_N
198  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I-1))&
199  &.LT.ISRCHFLTPV_TARGET ) THEN
200  ISRCHFLTPV_RESULT=ISRCHFLTPV_I
201  EXIT
202  ENDIF
203  ENDDO
204  ENDIF
205 
206  ELSEIF (ISRCHFLTPV_NBITER.EQ.1) THEN
207 
208  DO ISRCHFLTPV_I=1,ISRCHFLTPV_N-ISRCHFLTPV_NBITER
209  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I-1))&
210  &.LT.ISRCHFLTPV_TARGET ) THEN
211  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I))&
212  &.LT.ISRCHFLTPV_TARGET ) THEN
213  ISRCHFLTPV_RESULT=ISRCHFLTPV_I
214  EXIT
215  ENDIF
216  ENDIF
217  ENDDO
218 
219  IF (ISRCHFLTPV_RESULT .LT. 0) THEN
220  DO ISRCHFLTPV_I=ISRCHFLTPV_N-ISRCHFLTPV_NBITER+1,ISRCHFLTPV_N
221  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I-1))&
222  &.LT.ISRCHFLTPV_TARGET ) THEN
223  ISRCHFLTPV_RESULT=ISRCHFLTPV_I
224  EXIT
225  ENDIF
226  ENDDO
227  ENDIF
228 
229  ELSEIF (ISRCHFLTPV_NBITER.EQ.0) THEN
230 
231  DO ISRCHFLTPV_I=1,ISRCHFLTPV_N-ISRCHFLTPV_NBITER
232  IF ( ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC*(ISRCHFLTPV_I-1))&
233  &.LT.ISRCHFLTPV_TARGET ) THEN
234  ISRCHFLTPV_RESULT=ISRCHFLTPV_I
235  EXIT
236  ENDIF
237  ENDDO
238 
239  ELSE
240  CALL ABOR1('ISRCHFLTPV: ERROR WITH NBITER VALUE')
241  ENDIF
242 
243  IF (ISRCHFLTPV_RESULT .LT. 0) THEN
244  ISRCHFLTPV_RESULT=ISRCHFLTPV_N+1
245  ENDIF
246 
247  ENDIF
!define ISRCHFLTPV_N !define ISRCHFLTPV_ARRAY(I) !define ISRCHFLTPV_INC !define ISRCHFLTPV_TARGET !define ISRCHFLTPV_NBITER !define ISRCHFLTPV_RESULT ISRCHFLTPV_RESULT
!define ISRCHFLTPV_N !define ISRCHFLTPV_N ISRCHFLTPV_NBITER IF(ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC *(ISRCHFLTPV_I-1)).LT.ISRCHFLTPV_TARGET) THEN IF(ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC *(ISRCHFLTPV_I)).LT.ISRCHFLTPV_TARGET) THEN IF(ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC *(ISRCHFLTPV_I+1)).LT.ISRCHFLTPV_TARGET) THEN IF(ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC *(ISRCHFLTPV_I+2)).LT.ISRCHFLTPV_TARGET) THEN IF(ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC *(ISRCHFLTPV_I+3)).LT.ISRCHFLTPV_TARGET) THEN IF(ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC *(ISRCHFLTPV_I+4)).LT.ISRCHFLTPV_TARGET) THEN IF(ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC *(ISRCHFLTPV_I+5)).LT.ISRCHFLTPV_TARGET) THEN IF(ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC *(ISRCHFLTPV_I+6)).LT.ISRCHFLTPV_TARGET) THEN IF(ISRCHFLTPV_ARRAY(1+ISRCHFLTPV_INC *(ISRCHFLTPV_I+7)).LT.ISRCHFLTPV_TARGET) THEN ISRCHFLTPV_RESULT