Philippe 23/02/2016: lfi2cdf: modif for JPHEXT/=1
[MNH-git_open_source-lfs.git] / LIBTOOLS / tools / diachro / src / DIAPRO / resolvtot.f90
1 !     ######spl
2       MODULE MODI_RESOLVI
3 !     ###################
4 !
5 INTERFACE
6 !
7 SUBROUTINE RESOLVI(HCARIN,KI,KOUT)
8 CHARACTER(LEN=*)  :: HCARIN
9 INTEGER           :: KI, KOUT
10 END SUBROUTINE RESOLVI
11 !
12 END INTERFACE
13 END MODULE MODI_RESOLVI
14 !     ##################################
15       SUBROUTINE RESOLVI(HCARIN,KI,KOUT)
16 !     ##################################
17 !
18 !!****  *RESOLVI* - 
19 !!
20 !!    PURPOSE
21 !!    -------
22 !      
23 !
24 !!**  METHOD
25 !!    ------
26 !!     
27 !!     N.A.
28 !!
29 !!    EXTERNAL
30 !!    --------
31 !!      None
32 !!
33 !!    IMPLICIT ARGUMENTS
34 !!    ------------------
35 !!      Module
36 !!
37 !!      Module
38 !!
39 !!    REFERENCE
40 !!    ---------
41 !!
42 !!
43 !!    AUTHOR
44 !!    ------
45 !!      J. Duron    * Laboratoire d'Aerologie *
46 !!
47 !!
48 !!    MODIFICATIONS
49 !!    -------------
50 !!      Original       24/11/95
51 !!      Updated   PM   02/12/94
52 !-------------------------------------------------------------------------------
53 !
54 !*       0.    DECLARATIONS
55 !              ------------
56 !
57 USE MODD_RESOLVCAR
58
59 IMPLICIT NONE
60 !
61 !*       0.1   Dummy arguments
62 !              ---------------
63
64 CHARACTER(LEN=*) :: HCARIN
65 INTEGER          :: KI, KOUT
66 !
67 !*       0.1   Local variables
68 !              ---------------
69
70 CHARACTER(LEN=8) :: YC8
71 INTEGER          :: ILENC
72 INTEGER          :: J,JM, I
73
74 !
75 !------------------------------------------------------------------------------
76 ILENC=LEN_TRIM(HCARIN)
77
78 DO J=KI,ILENC
79   IF(HCARIN(J:J) == '=')EXIT
80 ENDDO
81
82 JM=J+1
83 YC8='        '
84 I=0
85
86 DO J=JM,ILENC
87   IF(HCARIN(J:J) == '0'.OR.HCARIN(J:J) == '1'.OR.HCARIN(J:J) == '2'  &
88     .OR.HCARIN(J:J) == '3'.OR.HCARIN(J:J) == '4'.OR.HCARIN(J:J) == '5' &
89     .OR.HCARIN(J:J) == '6'.OR.HCARIN(J:J) == '7'.OR.HCARIN(J:J) == '8' &
90     .OR.HCARIN(J:J) == '9')THEN
91     YC8(1:1)=HCARIN(J:J)
92     I=1
93     IF(J+I > ILENC)EXIT
94     IF(HCARIN(J+1:J+1) /= '0' .AND. HCARIN(J+1:J+1) /= '1' .AND.  &
95        HCARIN(J+1:J+1) /= '2' .AND. HCARIN(J+1:J+1) /= '3' .AND.  &
96        HCARIN(J+1:J+1) /= '4' .AND. HCARIN(J+1:J+1) /= '5' .AND.  &
97        HCARIN(J+1:J+1) /= '6' .AND. HCARIN(J+1:J+1) /= '7' .AND.  &
98        HCARIN(J+1:J+1) /= '8' .AND. HCARIN(J+1:J+1) /= '9')THEN
99        EXIT
100     ELSE
101       YC8(2:2)=HCARIN(J+1:J+1)
102       I=2
103       IF(J+I > ILENC)EXIT
104       IF(HCARIN(J+2:J+2) /= '0' .AND. HCARIN(J+2:J+2) /= '1' .AND.  &
105          HCARIN(J+2:J+2) /= '2' .AND. HCARIN(J+2:J+2) /= '3' .AND.  &
106          HCARIN(J+2:J+2) /= '4' .AND. HCARIN(J+2:J+2) /= '5' .AND.  &
107          HCARIN(J+2:J+2) /= '6' .AND. HCARIN(J+2:J+2) /= '7' .AND.  &
108          HCARIN(J+2:J+2) /= '8' .AND. HCARIN(J+2:J+2) /= '9')THEN
109          EXIT
110       ELSE
111         YC8(3:3)=HCARIN(J+2:J+2)
112         I=3
113         IF(J+I > ILENC)EXIT
114         IF(HCARIN(J+3:J+3) /= '0' .AND. HCARIN(J+3:J+3) /= '1' .AND.  &
115            HCARIN(J+3:J+3) /= '2' .AND. HCARIN(J+3:J+3) /= '3' .AND.  &
116            HCARIN(J+3:J+3) /= '4' .AND. HCARIN(J+3:J+3) /= '5' .AND.  &
117            HCARIN(J+3:J+3) /= '6' .AND. HCARIN(J+3:J+3) /= '7' .AND.  &
118            HCARIN(J+3:J+3) /= '8' .AND. HCARIN(J+3:J+3) /= '9')THEN
119            EXIT
120         ELSE
121           YC8(4:4)=HCARIN(J+3:J+3)
122           I=4
123           IF(J+I > ILENC)EXIT
124           IF(HCARIN(J+4:J+4) /= '0' .AND. HCARIN(J+4:J+4) /= '1' .AND.  &
125              HCARIN(J+4:J+4) /= '2' .AND. HCARIN(J+4:J+4) /= '3' .AND.  &
126              HCARIN(J+4:J+4) /= '4' .AND. HCARIN(J+4:J+4) /= '5' .AND.  &
127              HCARIN(J+4:J+4) /= '6' .AND. HCARIN(J+4:J+4) /= '7' .AND.  &
128              HCARIN(J+4:J+4) /= '8' .AND. HCARIN(J+4:J+4) /= '9')THEN
129              EXIT
130           ELSE
131             YC8(5:5)=HCARIN(J+4:J+4)
132             I=5
133             IF(J+I > ILENC)EXIT
134             IF(HCARIN(J+5:J+5) /= '0' .AND. HCARIN(J+5:J+5) /= '1' .AND.  &
135                HCARIN(J+5:J+5) /= '2' .AND. HCARIN(J+5:J+5) /= '3' .AND.  &
136                HCARIN(J+5:J+5) /= '4' .AND. HCARIN(J+5:J+5) /= '5' .AND.  &
137                HCARIN(J+5:J+5) /= '6' .AND. HCARIN(J+5:J+5) /= '7' .AND.  &
138                HCARIN(J+5:J+5) /= '8' .AND. HCARIN(J+5:J+5) /= '9')THEN
139                EXIT
140             ELSE
141               YC8(6:6)=HCARIN(J+5:J+5)
142               I=6
143               IF(J+I > ILENC)EXIT
144               IF(HCARIN(J+6:J+6) /= '0' .AND. HCARIN(J+6:J+6) /= '1' .AND.  &
145                  HCARIN(J+6:J+6) /= '2' .AND. HCARIN(J+6:J+6) /= '3' .AND.  &
146                  HCARIN(J+6:J+6) /= '4' .AND. HCARIN(J+6:J+6) /= '5' .AND.  &
147                  HCARIN(J+6:J+6) /= '6' .AND. HCARIN(J+6:J+6) /= '7' .AND.  &
148                  HCARIN(J+6:J+6) /= '8' .AND. HCARIN(J+6:J+6) /= '9')THEN
149                  EXIT
150               ELSE
151                 YC8(7:7)=HCARIN(J+6:J+6)
152                 I=7
153                 IF(J+I > ILENC)EXIT
154                 IF(HCARIN(J+7:J+7) /= '0' .AND. HCARIN(J+7:J+7) /= '1' .AND.  &
155                    HCARIN(J+7:J+7) /= '2' .AND. HCARIN(J+7:J+7) /= '3' .AND.  &
156                    HCARIN(J+7:J+7) /= '4' .AND. HCARIN(J+7:J+7) /= '5' .AND.  &
157                    HCARIN(J+7:J+7) /= '6' .AND. HCARIN(J+7:J+7) /= '7' .AND.  &
158                    HCARIN(J+7:J+7) /= '8' .AND. HCARIN(J+7:J+7) /= '9')THEN
159                    EXIT
160                 ELSE
161                   YC8(8:8)=HCARIN(J+7:J+7)
162                   I=8
163                   IF(J+I > ILENC)EXIT
164                   IF(HCARIN(J+8:J+8) /= '0' .AND. HCARIN(J+8:J+8) /= '1' .AND. &
165                      HCARIN(J+8:J+8) /= '2' .AND. HCARIN(J+8:J+8) /= '3' .AND. &
166                      HCARIN(J+8:J+8) /= '4' .AND. HCARIN(J+8:J+8) /= '5' .AND. &
167                      HCARIN(J+8:J+8) /= '6' .AND. HCARIN(J+8:J+8) /= '8' .AND. &
168                      HCARIN(J+8:J+8) /= '8' .AND. HCARIN(J+8:J+8) /= '9')THEN
169                      EXIT
170                   ELSE
171                     print *,' PB AVEC LA VALEUR FOURNIE  ', &
172                     HCARIN(J-1:J+9),' VERIFIEZ LA ET RENTREZ LA A NOUVEAU ', &
173                     '(8 chiffres MAXIMUM)'
174                     KOUT=999999999
175                     RETURN
176                   ENDIF
177                 ENDIF
178               ENDIF
179             ENDIF
180           ENDIF
181         ENDIF
182       ENDIF
183     ENDIF
184   ENDIF
185 ENDDO
186
187 IF(I == 0)THEN
188 print *,' ABSENCE DE VALEUR. VERIFIEZ ET RENTREZ LA A NOUVEAU '
189 KOUT=999999999
190 RETURN
191 ENDIF
192 READ(YC8(1:I),*)KOUT
193 IF(HCARIN(J-1:J-1) == '-')KOUT=KOUT*(-1)
194     
195 RETURN
196 END SUBROUTINE RESOLVI  
197 !     ######spl
198       MODULE MODI_RESOLVIARRAY
199 !     ########################
200 !
201 INTERFACE
202 !
203 SUBROUTINE RESOLVIARRAY(HCARIN,KIND,KOUT,KIARRAY)
204 CHARACTER(LEN=*)  :: HCARIN
205 INTEGER          :: KIND, KIARRAY
206 INTEGER,DIMENSION(:)             :: KOUT
207 END SUBROUTINE RESOLVIARRAY
208 !
209 END INTERFACE
210 END MODULE MODI_RESOLVIARRAY
211 !     #################################################
212       SUBROUTINE RESOLVIARRAY(HCARIN,KIND,KOUT,KIARRAY)
213 !     #################################################
214 !
215 !!****  *RESOLVIARRAY* - 
216 !!
217 !!    PURPOSE
218 !!    -------
219 !      
220 !
221 !!**  METHOD
222 !!    ------
223 !!     
224 !!     N.A.
225 !!
226 !!    EXTERNAL
227 !!    --------
228 !!      None
229 !!
230 !!    IMPLICIT ARGUMENTS
231 !!    ------------------
232 !!      Module
233 !!
234 !!      Module
235 !!
236 !!    REFERENCE
237 !!    ---------
238 !!
239 !!
240 !!    AUTHOR
241 !!    ------
242 !!      J. Duron    * Laboratoire d'Aerologie *
243 !!
244 !!
245 !!    MODIFICATIONS
246 !!    -------------
247 !!      Original       24/11/95
248 !!      Updated   PM   02/12/94
249 !-------------------------------------------------------------------------------
250 !
251 !*       0.    DECLARATIONS
252 !              ------------
253 !
254 USE MODD_RESOLVCAR
255 USE MODN_PARA
256
257 IMPLICIT NONE
258 !
259 !*       0.1   Dummy arguments
260 !              ---------------
261
262 CHARACTER(LEN=*) :: HCARIN
263 INTEGER          :: KIND, KIARRAY
264 INTEGER,DIMENSION(:)             :: KOUT
265 !
266 !*       0.1   Local variables
267 !              ---------------
268
269 INTEGER           :: ILENC
270 INTEGER           :: J,JM, JMF
271 INTEGER           :: INBV, IND9999
272
273 !
274 !------------------------------------------------------------------------------
275 ILENC=LEN_TRIM(HCARIN)
276 KOUT=9999
277
278 DO J=KIND,ILENC
279   IF(HCARIN(J:J) == '=')EXIT
280 ENDDO
281
282 JM=J+1
283 DO J=1,10
284   IF(HCARIN(JM:JM) == ' ')THEN
285     JM=JM+1
286   ELSE
287     EXIT
288   ENDIF
289 ENDDO
290
291 IND9999=INDEX(HCARIN(JM:ILENC),'9999.')
292 IF(IND9999 == 0)THEN
293   IND9999=INDEX(HCARIN(JM:ILENC),'9999')
294 ENDIF
295 IF(IND9999 == 0)THEN
296   JMF=ILENC
297 ELSE
298   JMF=IND9999+JM-1+3
299 ENDIF
300 INBV=0
301 DO J=JM,JMF
302   IF(HCARIN(J:J) == ',')THEN
303     INBV=INBV+1
304   ENDIF
305 ENDDO
306
307 IF(IND9999 == 0)THEN
308   INBV=INBV+1
309 ENDIF
310 READ(HCARIN(JM:JMF),*)(KOUT(J),J=1,INBV)
311 KIARRAY=INBV
312 IF(NVERBIA >= 5)THEN
313   print *,' RESOLVIARRAY ',INBV,(KOUT(J),J=1,INBV)
314 ENDIF
315 RETURN
316 END SUBROUTINE RESOLVIARRAY
317 !     ######spl
318       MODULE MODI_RESOLVK
319 !     ###################
320 !
321 INTERFACE
322 !
323 SUBROUTINE RESOLVK(HCARIN,KINDK,KJ)
324 CHARACTER(LEN=*) :: HCARIN
325 INTEGER          :: KINDK, KJ
326 END SUBROUTINE RESOLVK
327 !
328 END INTERFACE
329 !
330 END MODULE MODI_RESOLVK
331 !     ###################################
332       SUBROUTINE RESOLVK(HCARIN,KINDK,KJ)
333 !     ###################################
334 !
335 !!****  *RESOLVK* - 
336 !!
337 !!    PURPOSE
338 !!    -------
339 !      
340 !
341 !!**  METHOD
342 !!    ------
343 !!     
344 !!     N.A.
345 !!
346 !!    EXTERNAL
347 !!    --------
348 !!      None
349 !!
350 !!    IMPLICIT ARGUMENTS
351 !!    ------------------
352 !!      Module
353 !!
354 !!      Module
355 !!
356 !!    REFERENCE
357 !!    ---------
358 !!
359 !!
360 !!    AUTHOR
361 !!    ------
362 !!      J. Duron    * Laboratoire d'Aerologie *
363 !!
364 !!
365 !!    MODIFICATIONS
366 !!    -------------
367 !!      Original       24/11/95
368 !!      Updated   PM   02/12/94
369 !-------------------------------------------------------------------------------
370 !
371 !*       0.    DECLARATIONS
372 !              ------------
373 !
374 USE MODD_RESOLVCAR
375
376 IMPLICIT NONE
377 !
378 !*       0.1   Dummy arguments
379 !              ---------------
380
381 CHARACTER(LEN=*) :: HCARIN
382 INTEGER          :: KINDK, KJ
383 !
384 !*       0.1   Local variables
385 !              ---------------
386
387 CHARACTER(LEN=80) :: YCART
388 CHARACTER(LEN=20) :: YCAR
389 INTEGER          :: ILENC, ILENCART
390 INTEGER          :: INDKF, INDTO, INDBY, INDV, INDVM
391 INTEGER          :: ICAS, J
392
393 !
394 !------------------------------------------------------------------------------
395 INDKF = 0
396 INDTO = 0
397 INDBY = 0
398 INDV  = 0
399 ICAS = 0
400
401 NBLVLKDIA(KJ,:)=0
402 NLVLKDIA(:,KJ,:)=0
403 LVLKDIALL(KJ,:)=.FALSE.
404
405 IF(KINDK == 0)THEN
406   LVLKDIALL(KJ,:) = .TRUE.
407   RETURN
408 END IF
409
410 ILENC = LEN(HCARIN)
411
412 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
413   INDTO = INDEX(HCARIN(KINDK+3:ILENC),'_TO_')
414   INDBY = INDEX(HCARIN(KINDK+3:ILENC),'_BY_')
415   INDKF = INDEX(HCARIN(KINDK+3:ILENC),'_')
416   IF(INDTO /= 0)THEN
417   IF(INDKF < INDTO)THEN
418 !
419 ! ICAS = 1  Niveau K unique ou plusieurs separes par des virgules
420 !
421     INDTO=0;INDBY=0
422     ICAS = 1
423   ELSE IF(INDKF == INDTO)THEN
424 !
425 ! ICAS = 3  Niv1 _TO_ Nivn _BY_ Nivx
426 !
427     IF(INDBY /= 0)THEN
428       DO J=INDTO+4+KINDK+3,INDBY+KINDK+3
429         IF(HCARIN(J:J) == '_')THEN
430           IF(HCARIN(J:J+3) == '_BY_')THEN
431             EXIT
432           ELSE
433             INDBY=0
434             EXIT
435           END IF
436         END IF
437       ENDDO
438     END IF
439     IF(INDBY /= 0)THEN
440       INDKF=INDEX(HCARIN(KINDK+3+INDBY+4:ILENC),'_')
441       IF(INDKF /= 0)INDKF=INDKF+INDBY+4
442       ICAS = 3
443       LKINCRDIA(KJ,:) = .TRUE.
444     ELSE
445 !
446 ! ICAS = 2  Niv1 _TO_ Nivn
447 !
448       INDKF=INDEX(HCARIN(KINDK+3+INDTO+4:ILENC),'_')
449       IF(INDKF /= 0)INDKF=INDKF+INDTO+4
450       ICAS = 2
451       LKINCRDIA(KJ,:) = .TRUE.
452     END IF
453   END IF
454   ELSE
455     ICAS = 1
456   END IF
457 IF(INDKF == 0)THEN
458   INDKF = ILENC
459 ELSE
460   INDKF = INDKF+KINDK+3-1-1
461 END IF
462
463
464 YCART(1:LEN(YCART))=' '
465 YCAR(1:LEN(YCAR))=' '
466 !
467 ! Extraction de la partie Niveaux K dans YCART(1:ILENCART)
468 !
469 !print *,' KINDK INDKF ',KINDK,INDKF
470 YCART = ADJUSTL(HCARIN(KINDK+3:INDKF))
471 ILENCART = LEN_TRIM(YCART)
472 !print *,' YCART ',ILENCART,' ',YCART
473
474 ! Recherche a nouveau des chaines de car. _TO_ , _BY_ et d'une virgule
475 ! par rapport au debut de YCART
476
477 INDTO = INDEX(YCART,'_TO_')
478 INDBY = INDEX(YCART,'_BY_')
479 INDV = INDEX(YCART(1:ILENCART),',')
480 IF(ICAS == 1 .AND. INDV == 0)ICAS=0
481 !
482 ! Expression des Niveaux K par mots-cles (LVLKALL ou LVLK1....)
483 !
484 IF(YCART(1:7) == 'LVLKALL')THEN
485   LVLKDIALL(KJ,:) = .TRUE.
486   if(nverbia >0)then
487   print *,' RESOLVK LVLKALL '
488   print *,' LVLKDIALL ',LVLKDIALL(KJ,1)
489   print *,' NBLVLKDIA ',NBLVLKDIA(KJ,1)
490   print *,' NLVLKDIA ',(NLVLKDIA(J,KJ,1),J=1,NBLVLKDIA(KJ,1))
491   endif
492   RETURN
493
494 ELSE IF(YCART(1:4) == 'LVLK')THEN
495 !print *,' YCART(1:4) ',YCART(1:4),' ICAS ',ICAS
496
497   NBLVLKDIA(KJ,:)=NBLVLKDIA(KJ,:)+1
498   SELECT CASE(ICAS)
499     CASE(1)
500 !print *,' INDV YCART(5:5) ',INDV,YCART(5:5)
501       IF(INDV-4-1 == 1)READ(YCART(5:5),'(I1)')NLVLKDIA(NBLVLKDIA(KJ,1),KJ,1)
502       IF(INDV-4-1 == 2)READ(YCART(5:6),'(I2)')NLVLKDIA(NBLVLKDIA(KJ,1),KJ,1)
503       NLVLKDIA(NBLVLKDIA(KJ,:),KJ,:)=NLVLKDIA(NBLVLKDIA(KJ,1),KJ,1)
504       DO J = 1,100
505         INDVM=INDV
506         INDV=0
507         INDV=INDEX(YCART(INDVM+1:ILENCART),',')
508         IF(INDV == 0)THEN
509           NBLVLKDIA(KJ,:)=NBLVLKDIA(KJ,:)+1
510           IF(ILENCART-(INDVM+4) == 1)READ(YCART(INDVM+4+1:INDVM+4+1),'(I1)')NLVLKDIA(NBLVLKDIA(KJ,1),KJ,1)
511           IF(ILENCART-(INDVM+4) == 2)READ(YCART(INDVM+4+1:ILENCART),'(I2)')NLVLKDIA(NBLVLKDIA(KJ,1),KJ,1)
512           NLVLKDIA(NBLVLKDIA(KJ,:),KJ,:)=NLVLKDIA(NBLVLKDIA(KJ,1),KJ,1)
513           EXIT
514         ELSE
515           INDV=INDV+INDVM
516           NBLVLKDIA(KJ,:)=NBLVLKDIA(KJ,:)+1
517           IF(INDV-(INDVM+4)-1 == 1)READ(YCART(INDVM+4+1:INDVM+4+1),'(I1)')NLVLKDIA(NBLVLKDIA(KJ,1),KJ,1)
518           IF(INDV-(INDVM+4)-1 == 2)READ(YCART(INDVM+4+1:INDV-1),'(I2)')NLVLKDIA(NBLVLKDIA(KJ,1),KJ,1)
519           NLVLKDIA(NBLVLKDIA(KJ,:),KJ,:)=NLVLKDIA(NBLVLKDIA(KJ,1),KJ,1)
520         END IF
521       ENDDO   
522       
523     CASE(2)
524       IF(INDTO-4-1 == 1)READ(YCART(5:5),'(I1)')NLVLKDIA(NBLVLKDIA(KJ,1),KJ,1)
525       IF(INDTO-4-1 == 2)READ(YCART(5:6),'(I2)')NLVLKDIA(NBLVLKDIA(KJ,1),KJ,1)
526       NLVLKDIA(NBLVLKDIA(KJ,:),KJ,:)=NLVLKDIA(NBLVLKDIA(KJ,1),KJ,1)
527       NBLVLKDIA(KJ,:)=NBLVLKDIA(KJ,:)+1
528       IF(ILENCART-(INDTO+3+4) == 1)READ(YCART(INDTO+3+4+1:INDTO+3+4+1),'(I1)')NLVLKDIA(NBLVLKDIA(KJ,1),KJ,1)
529       IF(ILENCART-(INDTO+3+4) == 2)READ(YCART(INDTO+3+4+1:ILENCART),'(I2)')NLVLKDIA(NBLVLKDIA(KJ,1),KJ,1)
530       NLVLKDIA(NBLVLKDIA(KJ,:),KJ,:)=NLVLKDIA(NBLVLKDIA(KJ,1),KJ,1)
531 ! 1 seul temps
532     CASE DEFAULT
533       IF(ILENCART-4 == 1)READ(YCART(5:5),'(I1)')NLVLKDIA(NBLVLKDIA(KJ,1),KJ,1)
534       IF(ILENCART-4 == 2)READ(YCART(5:6),'(I2)')NLVLKDIA(NBLVLKDIA(KJ,1),KJ,1)
535       NLVLKDIA(NBLVLKDIA(KJ,:),KJ,:)=NLVLKDIA(NBLVLKDIA(KJ,1),KJ,1)
536
537   END SELECT
538   if(nverbia >0)then
539   print *,' RESOLVK ICAS '
540   print *,' LVLKDIALL ',LVLKDIALL(KJ,1)
541   print *,' NBLVLKDIA ',NBLVLKDIA(KJ,1)
542   print *,' NLVLKDIA ',(NLVLKDIA(J,KJ,1),J=1,NBLVLKDIA(KJ,1))
543   endif
544   RETURN
545 ELSE
546
547 !
548 ! Expression des Niveaux K en numerique
549 !
550   IF(INDV == 0)THEN
551
552 ! Cas  _TO_  _BY_
553
554     IF(INDTO /= 0)THEN
555       YCAR = ADJUSTL(YCART(1:INDTO-1))
556       NBLVLKDIA(KJ,:) = NBLVLKDIA(KJ,:)+1
557       CALL CARINT(YCAR(1:LEN_TRIM(YCAR)),NLVLKDIA(NBLVLKDIA(KJ,1),KJ,1))
558       NLVLKDIA(NBLVLKDIA(KJ,:),KJ,:)=NLVLKDIA(NBLVLKDIA(KJ,1),KJ,1)
559       IF(INDBY /= 0)THEN
560         YCAR(1:LEN(YCAR))=' '
561         YCAR = ADJUSTL(YCART(INDTO+4:INDBY-1))
562         NBLVLKDIA(KJ,:) = NBLVLKDIA(KJ,:)+1
563         CALL CARINT(YCAR(1:LEN_TRIM(YCAR)),NLVLKDIA(NBLVLKDIA(KJ,1),KJ,1))
564         NLVLKDIA(NBLVLKDIA(KJ,:),KJ,:)=NLVLKDIA(NBLVLKDIA(KJ,1),KJ,1)
565         YCAR(1:LEN(YCAR))=' '
566         YCAR = ADJUSTL(YCART(INDBY+4:ILENCART))
567         NBLVLKDIA(KJ,:) = NBLVLKDIA(KJ,:)+1
568         CALL CARINT(YCAR(1:LEN_TRIM(YCAR)),NLVLKDIA(NBLVLKDIA(KJ,1),KJ,1))
569         NLVLKDIA(NBLVLKDIA(KJ,:),KJ,:)=NLVLKDIA(NBLVLKDIA(KJ,1),KJ,1)
570       ELSE
571         YCAR(1:LEN(YCAR))=' '
572         YCAR = ADJUSTL(YCART(INDTO+4:ILENCART))
573         NBLVLKDIA(KJ,:) = NBLVLKDIA(KJ,:)+1
574         CALL CARINT(YCAR(1:LEN_TRIM(YCAR)),NLVLKDIA(NBLVLKDIA(KJ,1),KJ,1))
575         NLVLKDIA(NBLVLKDIA(KJ,:),KJ,:)=NLVLKDIA(NBLVLKDIA(KJ,1),KJ,1)
576       END IF
577     ELSE
578
579 ! Cas un seul niveau en fin de chaine de car. HCARIN ou au milieu
580
581       IF(ILENCART > 9)THEN
582         print *,' PB ecriture temps '
583         STOP
584       ELSE
585         YCAR = ADJUSTL(YCART(1:ILENCART))
586         NBLVLKDIA(KJ,:) = NBLVLKDIA(KJ,:)+1
587         CALL CARINT(YCAR(1:LEN_TRIM(YCAR)),NLVLKDIA(NBLVLKDIA(KJ,1),KJ,1))
588         NLVLKDIA(NBLVLKDIA(KJ,:),KJ,:)=NLVLKDIA(NBLVLKDIA(KJ,1),KJ,1)
589       END IF
590
591     END IF
592
593   ELSE
594
595 ! Presence de virgules
596
597     YCAR = ADJUSTL(YCART(1:INDV-1))
598     NBLVLKDIA(KJ,:) = NBLVLKDIA(KJ,:)+1
599     CALL CARINT(YCAR(1:LEN_TRIM(YCAR)),NLVLKDIA(NBLVLKDIA(KJ,1),KJ,1))
600     NLVLKDIA(NBLVLKDIA(KJ,:),KJ,:)=NLVLKDIA(NBLVLKDIA(KJ,1),KJ,1)
601     DO J = 1,100
602       INDVM=INDV
603       INDV = 0
604       YCAR(1:LEN(YCAR))=' '
605       INDV = INDEX(YCART(INDVM+1:ILENCART),',')
606 !     print *,' INDV ',INDV
607       IF(INDV == 0)THEN
608         YCAR = ADJUSTL(YCART(INDVM+1:ILENCART))
609         NBLVLKDIA(KJ,:) = NBLVLKDIA(KJ,:)+1
610         CALL CARINT(YCAR(1:LEN_TRIM(YCAR)),NLVLKDIA(NBLVLKDIA(KJ,1),KJ,1))
611         NLVLKDIA(NBLVLKDIA(KJ,:),KJ,:)=NLVLKDIA(NBLVLKDIA(KJ,1),KJ,1)
612         EXIT
613       ELSE
614         INDV=INDV+INDVM
615         YCAR = ADJUSTL(YCART(INDVM+1:INDV-1))
616         NBLVLKDIA(KJ,:) = NBLVLKDIA(KJ,:)+1
617         CALL CARINT(YCAR(1:LEN_TRIM(YCAR)),NLVLKDIA(NBLVLKDIA(KJ,1),KJ,1))
618         NLVLKDIA(NBLVLKDIA(KJ,:),KJ,:)=NLVLKDIA(NBLVLKDIA(KJ,1),KJ,1)
619       END IF
620     ENDDO
621
622
623   END IF
624 !
625 END IF
626 !-----------------------------------------------------------------------------
627 !
628 !*       2.       EXITS
629 !                 -----
630
631 if(nverbia >0)then
632 print *,' RESOLVK '
633 print *,' LVLKDIALL ',LVLKDIALL(KJ,1)
634 print *,' NBLVLKDIA ',NBLVLKDIA(KJ,1)
635 print *,' NLVLKDIA ',(NLVLKDIA(J,KJ,1),J=1,NBLVLKDIA(KJ,1))
636 endif
637 RETURN
638 END SUBROUTINE RESOLVK  
639 !     ######spl
640       MODULE MODI_RESOLVN
641 !     ###################
642 !
643 INTERFACE
644 !
645 SUBROUTINE RESOLVN(HCARIN,KINDN,KJ)
646 CHARACTER(LEN=*) :: HCARIN
647 INTEGER          :: KINDN, KJ
648 END SUBROUTINE RESOLVN
649 !
650 END INTERFACE
651 !
652 END MODULE MODI_RESOLVN
653 !     ###################################
654       SUBROUTINE RESOLVN(HCARIN,KINDN,KJ)
655 !     ###################################
656 !
657 !!****  *RESOLVN* - 
658 !!
659 !!    PURPOSE
660 !!    -------
661 !      
662 !
663 !!**  METHOD
664 !!    ------
665 !!     
666 !!     N.A.
667 !!
668 !!    EXTERNAL
669 !!    --------
670 !!      None
671 !!
672 !!    IMPLICIT ARGUMENTS
673 !!    ------------------
674 !!      Module
675 !!
676 !!      Module
677 !!
678 !!    REFERENCE
679 !!    ---------
680 !!
681 !!
682 !!    AUTHOR
683 !!    ------
684 !!      J. Duron    * Laboratoire d'Aerologie *
685 !!
686 !!
687 !!    MODIFICATIONS
688 !!    -------------
689 !!      Original       24/11/95
690 !!      Updated   PM   02/12/94
691 !-------------------------------------------------------------------------------
692 !
693 !*       0.    DECLARATIONS
694 !              ------------
695 !
696 USE MODD_RESOLVCAR
697
698 IMPLICIT NONE
699 !
700 !*       0.1   Dummy arguments
701 !              ---------------
702
703 CHARACTER(LEN=*) :: HCARIN
704 INTEGER          :: KINDN, KJ
705 !
706 !*       0.1   Local variables
707 !              ---------------
708
709 CHARACTER(LEN=80) :: YCART
710 CHARACTER(LEN=20) :: YCAR
711 INTEGER          :: ILENC, ILENCART
712 INTEGER          :: INDPF, INDTO, INDBY, INDV, INDVM
713 INTEGER          :: ICAS, J
714
715 !
716 !------------------------------------------------------------------------------
717 INDPF = 0
718 INDTO = 0
719 INDBY = 0
720 INDV  = 0
721 ICAS = 0
722
723 NBNDIA(KJ)=0
724 NNDIA(:,KJ)=0
725 LNDIALL(KJ)=.FALSE.
726
727 IF(KINDN == 0)THEN
728   LNDIALL(KJ) = .TRUE.
729   RETURN
730 END IF
731
732 ILENC = LEN(HCARIN)
733
734 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
735   INDTO = INDEX(HCARIN(KINDN+3:ILENC),'_TO_')
736   INDBY = INDEX(HCARIN(KINDN+3:ILENC),'_BY_')
737   INDPF = INDEX(HCARIN(KINDN+3:ILENC),'_')
738   IF(INDTO /= 0)THEN
739   IF(INDPF < INDTO)THEN
740 !
741 ! ICAS = 1  Num. unique ou separes par des virgules
742 !
743     INDTO=0;INDBY=0
744     ICAS = 1
745   ELSE IF(INDPF == INDTO)THEN
746 !
747 ! ICAS = 3  Proc1 _TO_ Procn _BY_ Procx
748 !
749     IF(INDBY /= 0)THEN
750       DO J=INDTO+4+KINDN+3,INDBY+KINDN+3
751         IF(HCARIN(J:J) == '_')THEN
752           IF(HCARIN(J:J+3) == '_BY_')THEN
753             EXIT
754           ELSE
755             INDBY=0
756             EXIT
757           END IF
758         END IF
759       ENDDO
760     END IF
761     IF(INDBY /= 0)THEN
762       INDPF=INDEX(HCARIN(KINDN+3+INDBY+4:ILENC),'_')
763       IF(INDPF /= 0)INDPF=INDPF+INDBY+4
764       ICAS = 3
765       LPINCRDIA(KJ) = .TRUE.
766     ELSE
767 !
768 ! ICAS = 2  Num1 _TO_ Numn
769 !
770       INDPF=INDEX(HCARIN(KINDN+3+INDTO+4:ILENC),'_')
771       IF(INDPF /= 0)INDPF=INDPF+INDTO+4
772       ICAS = 2
773       LPINCRDIA(KJ) = .TRUE.
774     END IF
775   END IF
776   ELSE
777     ICAS = 1
778   END IF
779 IF(INDPF == 0)THEN
780   INDPF = ILENC
781 ELSE
782   INDPF = INDPF+KINDN+3-1-1
783 END IF
784
785
786 YCART(1:LEN(YCART))=' '
787 YCAR(1:LEN(YCAR))=' '
788 !
789 ! Extraction de la partie Numeros (masques ou traj.) dans YCART(1:ILENCART)
790 !
791 !print *,' KINDN INDPF ',KINDN,INDPF
792 YCART = ADJUSTL(HCARIN(KINDN+3:INDPF))
793 ILENCART = LEN_TRIM(YCART)
794 !print *,' YCART ',ILENCART,' ',YCART
795
796 ! Recherche a nouveau des chaines de car. _TO_ , _BY_ et d'une virgule
797 ! par rapport au debut de YCART
798
799 INDTO = INDEX(YCART,'_TO_')
800 INDBY = INDEX(YCART,'_BY_')
801 INDV = INDEX(YCART(1:ILENCART),',')
802 IF(ICAS == 1 .AND. INDV == 0)ICAS=0
803 !
804 ! Expression des Numeros par mots-cles (NALL ou N1....)
805 !
806 IF(YCART(1:4) == 'NALL')THEN
807   LNDIALL(KJ) = .TRUE.
808   if (nverbia>0) then
809   print *,' RESOLVN NALL '
810   print *,' LNDIALL ',LNDIALL(KJ)
811   print *,' NBNDIA ',NBNDIA(KJ)
812   print *,' NNDIA ',(NNDIA(J,KJ),J=1,NBNDIA(KJ))
813   endif
814   RETURN
815
816 ELSE IF(YCART(1:1) == 'N')THEN
817 !print *,' YCART(1:1) ',YCART(1:1),' ICAS ',ICAS
818
819   NBNDIA(KJ)=NBNDIA(KJ)+1
820   SELECT CASE(ICAS)
821     CASE(1)
822 !print *,' INDV YCART(2:2) ',INDV,YCART(2:2)
823       IF(INDV-1-1 == 1)READ(YCART(2:2),'(I1)')NNDIA(NBNDIA(KJ),KJ)
824       IF(INDV-1-1 == 2)READ(YCART(2:3),'(I2)')NNDIA(NBNDIA(KJ),KJ)
825       DO J = 1,100
826         INDVM=INDV
827         INDV=0
828         INDV=INDEX(YCART(INDVM+1:ILENCART),',')
829         IF(INDV == 0)THEN
830           NBNDIA(KJ)=NBNDIA(KJ)+1
831           IF(ILENCART-(INDVM+1) == 1)READ(YCART(INDVM+1+1:INDVM+1+1),'(I1)')NNDIA(NBNDIA(KJ),KJ)
832           IF(ILENCART-(INDVM+1) == 2)READ(YCART(INDVM+1+1:ILENCART),'(I2)')NNDIA(NBNDIA(KJ),KJ)
833           EXIT
834         ELSE
835           INDV=INDV+INDVM
836           NBNDIA(KJ)=NBNDIA(KJ)+1
837           IF(INDV-(INDVM+1)-1 == 1)READ(YCART(INDVM+1+1:INDVM+1+1),'(I1)')NNDIA(NBNDIA(KJ),KJ)
838           IF(INDV-(INDVM+1)-1 == 2)READ(YCART(INDVM+1+1:INDV-1),'(I2)')NNDIA(NBNDIA(KJ),KJ)
839         END IF
840       ENDDO   
841       
842     CASE(2)
843       IF(INDTO-1-1 == 1)READ(YCART(2:2),'(I1)')NNDIA(NBNDIA(KJ),KJ)
844       IF(INDTO-1-1 == 2)READ(YCART(2:3),'(I2)')NNDIA(NBNDIA(KJ),KJ)
845       NBNDIA(KJ)=NBNDIA(KJ)+1
846       IF(ILENCART-(INDTO+3+1) == 1)READ(YCART(INDTO+3+1+1:INDTO+3+1+1),'(I1)')NNDIA(NBNDIA(KJ),KJ)
847       IF(ILENCART-(INDTO+3+1) == 2)READ(YCART(INDTO+3+1+1:ILENCART),'(I2)')NNDIA(NBNDIA(KJ),KJ)
848 ! 1 seul temps
849     CASE DEFAULT
850       IF(ILENCART-1 == 1)READ(YCART(2:2),'(I1)')NNDIA(NBNDIA(KJ),KJ)
851       IF(ILENCART-1 == 2)READ(YCART(2:3),'(I2)')NNDIA(NBNDIA(KJ),KJ)
852
853   END SELECT
854   if (nverbia>0) then
855   print *,' RESOLVN ICAS '
856   print *,' LNDIALL ',LNDIALL(KJ)
857   print *,' NBNDIA ',NBNDIA(KJ)
858   print *,' NNDIA ',(NNDIA(J,KJ),J=1,NBNDIA(KJ))
859   endif
860   RETURN
861 ELSE
862
863 !
864 ! Expression des numeros en numerique
865 !
866   IF(INDV == 0)THEN
867
868 ! Cas  _TO_  _BY_
869
870     IF(INDTO /= 0)THEN
871       YCAR = ADJUSTL(YCART(1:INDTO-1))
872       NBNDIA(KJ) = NBNDIA(KJ)+1
873       CALL CARINT(YCAR(1:LEN_TRIM(YCAR)),NNDIA(NBNDIA(KJ),KJ))
874       IF(INDBY /= 0)THEN
875         YCAR(1:LEN(YCAR))=' '
876         YCAR = ADJUSTL(YCART(INDTO+4:INDBY-1))
877         NBNDIA(KJ) = NBNDIA(KJ)+1
878         CALL CARINT(YCAR(1:LEN_TRIM(YCAR)),NNDIA(NBNDIA(KJ),KJ))
879         YCAR(1:LEN(YCAR))=' '
880         YCAR = ADJUSTL(YCART(INDBY+4:ILENCART))
881         NBNDIA(KJ) = NBNDIA(KJ)+1
882         CALL CARINT(YCAR(1:LEN_TRIM(YCAR)),NNDIA(NBNDIA(KJ),KJ))
883       ELSE
884         YCAR(1:LEN(YCAR))=' '
885         YCAR = ADJUSTL(YCART(INDTO+4:ILENCART))
886         NBNDIA(KJ) = NBNDIA(KJ)+1
887         CALL CARINT(YCAR(1:LEN_TRIM(YCAR)),NNDIA(NBNDIA(KJ),KJ))
888       END IF
889     ELSE
890
891 ! Cas un seul processus en fin de chaine de car. HCARIN ou au milieu
892
893       IF(ILENCART > 9)THEN
894         print *,' PB ecriture temps '
895         STOP
896       ELSE
897         YCAR = ADJUSTL(YCART(1:ILENCART))
898         NBNDIA(KJ) = NBNDIA(KJ)+1
899         CALL CARINT(YCAR(1:LEN_TRIM(YCAR)),NNDIA(NBNDIA(KJ),KJ))
900       END IF
901
902     END IF
903
904   ELSE
905
906 ! Presence de virgules
907
908     YCAR = ADJUSTL(YCART(1:INDV-1))
909     NBNDIA(KJ) = NBNDIA(KJ)+1
910     CALL CARINT(YCAR(1:LEN_TRIM(YCAR)),NNDIA(NBNDIA(KJ),KJ))
911     DO J = 1,100
912       INDVM=INDV
913       INDV = 0
914       YCAR(1:LEN(YCAR))=' '
915       INDV = INDEX(YCART(INDVM+1:ILENCART),',')
916 !     print *,' INDV ',INDV
917       IF(INDV == 0)THEN
918         YCAR = ADJUSTL(YCART(INDVM+1:ILENCART))
919         NBNDIA(KJ) = NBNDIA(KJ)+1
920         CALL CARINT(YCAR(1:LEN_TRIM(YCAR)),NNDIA(NBNDIA(KJ),KJ))
921         EXIT
922       ELSE
923         INDV=INDV+INDVM
924         YCAR = ADJUSTL(YCART(INDVM+1:INDV-1))
925         NBNDIA(KJ) = NBNDIA(KJ)+1
926         CALL CARINT(YCAR(1:LEN_TRIM(YCAR)),NNDIA(NBNDIA(KJ),KJ))
927       END IF
928     ENDDO
929
930
931   END IF
932 !
933 END IF
934 !-----------------------------------------------------------------------------
935 !
936 !*       2.       EXITS
937 !                 -----
938
939 if (nverbia>0) then
940 print *,' end of RESOLVN '
941 print *,' LNDIALL ',LNDIALL(KJ)
942 print *,' NBNDIA ',NBNDIA(KJ)
943 print *,' NNDIA ',(NNDIA(J,KJ),J=1,NBNDIA(KJ))
944 endif
945 RETURN
946 END SUBROUTINE RESOLVN  
947 !     ######spl
948       MODULE MODI_RESOLVON
949 !     ####################
950 !
951 INTERFACE
952 !
953 SUBROUTINE RESOLVON(HCARIN,KINDON)
954 CHARACTER(LEN=*) :: HCARIN
955 INTEGER          :: KINDON
956 END SUBROUTINE RESOLVON
957 !
958 END INTERFACE
959 !
960 END MODULE MODI_RESOLVON
961 !     ##################################
962       SUBROUTINE RESOLVON(HCARIN,KINDON)
963 !     ##################################
964 !
965 !!****  *RESOLVON* - 
966 !!
967 !!    PURPOSE
968 !!    -------
969 !      
970 !
971 !!**  METHOD
972 !!    ------
973 !!     
974 !!     N.A.
975 !!
976 !!    EXTERNAL
977 !!    --------
978 !!      None
979 !!
980 !!    IMPLICIT ARGUMENTS
981 !!    ------------------
982 !!      Module
983 !!
984 !!      Module
985 !!
986 !!    REFERENCE
987 !!    ---------
988 !!
989 !!
990 !!    AUTHOR
991 !!    ------
992 !!      J. Duron    * Laboratoire d'Aerologie *
993 !!
994 !!
995 !!    MODIFICATIONS
996 !!    -------------
997 !!      Original       24/11/95
998 !!      Updated   PM   02/12/94
999 !-------------------------------------------------------------------------------
1000 !
1001 !*       0.    DECLARATIONS
1002 !              ------------
1003 !
1004 USE MODD_RESOLVCAR
1005
1006 IMPLICIT NONE
1007 !
1008 !*       0.1   Dummy arguments
1009 !              ---------------
1010
1011 CHARACTER(LEN=*) :: HCARIN
1012 INTEGER          :: KINDON
1013 !
1014 !*       0.1   Local variables
1015 !              ---------------
1016
1017 CHARACTER(LEN=LEN_TRIM(HCARIN)) :: YCARIN
1018 INTEGER          :: ILENC, INDON, INDONM, ILONMS, INDMINUS, INDPLUS
1019 INTEGER          :: J
1020 LOGICAL          :: OMINUS, OPLUS
1021
1022 !
1023 !------------------------------------------------------------------------------
1024 OMINUS=LMINUS
1025 OPLUS=LPLUS
1026 LSUPERDIA=.TRUE.
1027 NSUPERDIA=NSUPERDIA+1
1028 ILENC=LEN_TRIM(HCARIN)
1029 CARSUP(NSUPERDIA)(1:KINDON-1)=HCARIN(1:KINDON-1)
1030 INDONM=KINDON
1031 IF(LMINUS)THEN
1032   ILONMS=7
1033   NBPM=NBPM+1
1034   NUMPM(NBPM)=2
1035 ELSE IF(LPLUS)THEN
1036   ILONMS=6
1037   NBPM=NBPM+1
1038   NUMPM(NBPM)=1
1039 ELSE
1040   ILONMS=4
1041   NBPM=NBPM+1
1042   NUMPM(NBPM)=3
1043 ENDIF
1044 DO J=1,100
1045 YCARIN(1:LEN(YCARIN))=' '
1046 YCARIN(1:ILENC-INDONM-ILONMS+1)=ADJUSTL(HCARIN(INDONM+ILONMS:ILENC))
1047 INDONM=INDONM+(ILONMS-1)
1048 INDON=INDEX(YCARIN,'_ON_')
1049 INDMINUS=INDEX(YCARIN,'_MINUS_')
1050 INDPLUS=INDEX(YCARIN,'_PLUS_')
1051 IF(INDON == 0)THEN
1052   IF(INDMINUS == 0)THEN
1053     IF(INDPLUS == 0)THEN
1054     ELSE
1055       INDON=INDPLUS
1056       NBPM=NBPM+1
1057       NUMPM(NBPM)=1
1058       ILONMS=6
1059     ENDIF
1060   ELSE
1061     IF(INDPLUS == 0)THEN
1062       INDON=INDMINUS
1063       NBPM=NBPM+1
1064       NUMPM(NBPM)=2
1065       ILONMS=7
1066     ELSE
1067       IF(INDMINUS < INDPLUS)THEN
1068         INDON=INDMINUS
1069         NBPM=NBPM+1
1070         NUMPM(NBPM)=2
1071         ILONMS=7
1072       ELSE
1073         INDON=INDPLUS
1074         NBPM=NBPM+1
1075         NUMPM(NBPM)=1
1076         ILONMS=6
1077       ENDIF
1078     ENDIF
1079   ENDIF
1080
1081 ELSE
1082
1083 ! INDON =/= 0
1084
1085   IF(INDMINUS == 0 .AND. INDPLUS == 0)THEN
1086     NBPM=NBPM+1
1087     NUMPM(NBPM)=3
1088     ILONMS=4
1089   ELSE
1090     IF(INDMINUS == 0)THEN
1091       IF(INDON < INDPLUS)THEN
1092         NBPM=NBPM+1
1093         NUMPM(NBPM)=3
1094         ILONMS=4
1095       ELSE
1096         INDON=INDPLUS
1097         NBPM=NBPM+1
1098         NUMPM(NBPM)=1
1099         ILONMS=6
1100       ENDIF
1101     ELSE
1102       IF(INDPLUS == 0)THEN
1103         IF(INDON < INDMINUS)THEN
1104           NBPM=NBPM+1
1105           NUMPM(NBPM)=3
1106           ILONMS=4
1107         ELSE
1108           INDON=INDMINUS
1109           NBPM=NBPM+1
1110           NUMPM(NBPM)=2
1111           ILONMS=7
1112         ENDIF
1113       ELSE
1114 ! ON + et -
1115         IF(INDON < INDMINUS .AND. INDON < INDPLUS)THEN
1116           NBPM=NBPM+1
1117           NUMPM(NBPM)=3
1118           ILONMS=4
1119         ELSE IF(INDMINUS < INDON .AND. INDMINUS < INDPLUS)THEN
1120           INDON=INDMINUS
1121           NBPM=NBPM+1
1122           NUMPM(NBPM)=2
1123           ILONMS=7
1124         ELSE IF(INDPLUS < INDON .AND. INDPLUS < INDMINUS)THEN
1125           INDON=INDPLUS
1126           NBPM=NBPM+1
1127           NUMPM(NBPM)=1
1128           ILONMS=6
1129         ENDIF
1130       ENDIF
1131     ENDIF
1132   ENDIF
1133 ENDIF
1134 IF(INDON == 0)THEN
1135   NSUPERDIA=NSUPERDIA+1
1136   CARSUP(NSUPERDIA)(1:LEN_TRIM(YCARIN))=ADJUSTL(YCARIN(1:LEN_TRIM(YCARIN)))
1137 EXIT
1138 ELSE
1139   NSUPERDIA=NSUPERDIA+1
1140   CARSUP(NSUPERDIA)(1:INDON-1)=ADJUSTL(YCARIN(1:INDON-1))
1141   INDONM=INDONM+INDON
1142 ENDIF
1143 ENDDO
1144 NBPMT=0
1145 DO J=1,NBPM
1146   IF(NUMPM(J) == 1 .OR. NUMPM(J) == 2)THEN
1147     NBPMT=NBPMT+1
1148   ENDIF
1149 ENDDO
1150 LMINUS=OMINUS
1151 LPLUS=OPLUS
1152 !print *,' resolvon NBPM NUMPM ',NBPM,NUMPM(1:NBPM)
1153 if(nverbia >0)then
1154 print *,'resolvon NBPM NUMPM ',NBPM,NUMPM(1:NBPM)
1155 endif
1156 RETURN
1157 END SUBROUTINE RESOLVON  
1158 !     ######spl
1159       MODULE MODI_RESOLVP
1160 !     ###################
1161 !
1162 INTERFACE
1163 !
1164 SUBROUTINE RESOLVP(HCARIN,KINDP,KJ)
1165 CHARACTER(LEN=*) :: HCARIN
1166 INTEGER          :: KINDP, KJ
1167 END SUBROUTINE RESOLVP
1168 !
1169 END INTERFACE
1170 !
1171 END MODULE MODI_RESOLVP
1172 !     ###################################
1173       SUBROUTINE RESOLVP(HCARIN,KINDP,KJ)
1174 !     ###################################
1175 !
1176 !!****  *RESOLVP* - 
1177 !!
1178 !!    PURPOSE
1179 !!    -------
1180 !      
1181 !
1182 !!**  METHOD
1183 !!    ------
1184 !!     
1185 !!     N.A.
1186 !!
1187 !!    EXTERNAL
1188 !!    --------
1189 !!      None
1190 !!
1191 !!    IMPLICIT ARGUMENTS
1192 !!    ------------------
1193 !!      Module
1194 !!
1195 !!      Module
1196 !!
1197 !!    REFERENCE
1198 !!    ---------
1199 !!
1200 !!
1201 !!    AUTHOR
1202 !!    ------
1203 !!      J. Duron    * Laboratoire d'Aerologie *
1204 !!
1205 !!
1206 !!    MODIFICATIONS
1207 !!    -------------
1208 !!      Original       24/11/95
1209 !!      Updated   PM   02/12/94
1210 !-------------------------------------------------------------------------------
1211 !
1212 !*       0.    DECLARATIONS
1213 !              ------------
1214 !
1215 USE MODD_RESOLVCAR
1216
1217 IMPLICIT NONE
1218 !
1219 !*       0.1   Dummy arguments
1220 !              ---------------
1221
1222 CHARACTER(LEN=*) :: HCARIN
1223 INTEGER          :: KINDP, KJ
1224 !
1225 !*       0.1   Local variables
1226 !              ---------------
1227
1228 CHARACTER(LEN=80) :: YCART
1229 CHARACTER(LEN=20) :: YCAR
1230 INTEGER          :: ILENC, ILENCART
1231 INTEGER          :: INDPF, INDTO, INDBY, INDV, INDVM
1232 INTEGER          :: ICAS, J
1233
1234 !
1235 !------------------------------------------------------------------------------
1236 INDPF = 0
1237 INDTO = 0
1238 INDBY = 0
1239 INDV  = 0
1240 ICAS = 0
1241
1242 NBPROCDIA(KJ)=0
1243 NPROCDIA(:,KJ)=0
1244 LPROCDIALL(KJ)=.FALSE.
1245
1246 IF(KINDP == 0)THEN
1247   LPROCDIALL(KJ) = .TRUE.
1248   RETURN
1249 END IF
1250
1251 ILENC = LEN(HCARIN)
1252
1253 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1254   INDTO = INDEX(HCARIN(KINDP+3:ILENC),'_TO_')
1255   INDBY = INDEX(HCARIN(KINDP+3:ILENC),'_BY_')
1256   INDPF = INDEX(HCARIN(KINDP+3:ILENC),'_')
1257   IF(INDTO /= 0)THEN
1258   IF(INDPF < INDTO)THEN
1259 !
1260 ! ICAS = 1  Proc. unique ou separes par des virgules
1261 !
1262     INDTO=0;INDBY=0
1263     ICAS = 1
1264   ELSE IF(INDPF == INDTO)THEN
1265 !
1266 ! ICAS = 3  Proc1 _TO_ Procn _BY_ Procx
1267 !
1268     IF(INDBY /= 0)THEN
1269       DO J=INDTO+4+KINDP+3,INDBY+KINDP+3
1270         IF(HCARIN(J:J) == '_')THEN
1271           IF(HCARIN(J:J+3) == '_BY_')THEN
1272             EXIT
1273           ELSE
1274             INDBY=0
1275             EXIT
1276           END IF
1277         END IF
1278       ENDDO
1279     END IF
1280     IF(INDBY /= 0)THEN
1281       INDPF=INDEX(HCARIN(KINDP+3+INDBY+4:ILENC),'_')
1282       IF(INDPF /= 0)INDPF=INDPF+INDBY+4
1283       ICAS = 3
1284       LPINCRDIA(KJ) = .TRUE.
1285     ELSE
1286 !
1287 ! ICAS = 2  Proc1 _TO_ Procn
1288 !
1289       INDPF=INDEX(HCARIN(KINDP+3+INDTO+4:ILENC),'_')
1290       IF(INDPF /= 0)INDPF=INDPF+INDTO+4
1291       ICAS = 2
1292       LPINCRDIA(KJ) = .TRUE.
1293     END IF
1294   END IF
1295   ELSE
1296     ICAS = 1
1297   END IF
1298 IF(INDPF == 0)THEN
1299   INDPF = ILENC
1300 ELSE
1301   INDPF = INDPF+KINDP+3-1-1
1302 END IF
1303
1304
1305 YCART(1:LEN(YCART))=' '
1306 YCAR(1:LEN(YCAR))=' '
1307 !
1308 ! Extraction de la partie Processus dans YCART(1:ILENCART)
1309 !
1310 !print *,' KINDP INDPF ',KINDP,INDPF
1311 YCART = ADJUSTL(HCARIN(KINDP+3:INDPF))
1312 ILENCART = LEN_TRIM(YCART)
1313 !print *,' YCART ',ILENCART,' ',YCART
1314
1315 ! Recherche a nouveau des chaines de car. _TO_ , _BY_ et d'une virgule
1316 ! par rapport au debut de YCART
1317
1318 INDTO = INDEX(YCART,'_TO_')
1319 INDBY = INDEX(YCART,'_BY_')
1320 INDV = INDEX(YCART(1:ILENCART),',')
1321 IF(ICAS == 1 .AND. INDV == 0)ICAS=0
1322 !
1323 ! Expression des Processus par mots-cles (PROCALL ou PROC1....)
1324 !
1325 IF(YCART(1:7) == 'PROCALL')THEN
1326   LPROCDIALL(KJ) = .TRUE.
1327   print *,' RESOLVP PROCALL '
1328   print *,' LPROCDIALL ',LPROCDIALL(KJ)
1329   print *,' NBPROCDIA ',NBPROCDIA(KJ)
1330   print *,' NPROCDIA ',(NPROCDIA(J,KJ),J=1,NBPROCDIA(KJ))
1331   RETURN
1332
1333 ELSE IF(YCART(1:4) == 'PROC')THEN
1334 !print *,' YCART(1:4) ',YCART(1:4),' ICAS ',ICAS
1335
1336   NBPROCDIA(KJ)=NBPROCDIA(KJ)+1
1337   SELECT CASE(ICAS)
1338     CASE(1)
1339 !print *,' INDV YCART(5:5) ',INDV,YCART(5:5)
1340       IF(INDV-4-1 == 1)READ(YCART(5:5),'(I1)')NPROCDIA(NBPROCDIA(KJ),KJ)
1341       IF(INDV-4-1 == 2)READ(YCART(5:6),'(I2)')NPROCDIA(NBPROCDIA(KJ),KJ)
1342       DO J = 1,100
1343         INDVM=INDV
1344         INDV=0
1345         INDV=INDEX(YCART(INDVM+1:ILENCART),',')
1346         IF(INDV == 0)THEN
1347           NBPROCDIA(KJ)=NBPROCDIA(KJ)+1
1348           IF(ILENCART-(INDVM+4) == 1)READ(YCART(INDVM+4+1:INDVM+4+1),'(I1)')NPROCDIA(NBPROCDIA(KJ),KJ)
1349           IF(ILENCART-(INDVM+4) == 2)READ(YCART(INDVM+4+1:ILENCART),'(I2)')NPROCDIA(NBPROCDIA(KJ),KJ)
1350           EXIT
1351         ELSE
1352           INDV=INDV+INDVM
1353           NBPROCDIA(KJ)=NBPROCDIA(KJ)+1
1354           IF(INDV-(INDVM+4)-1 == 1)READ(YCART(INDVM+4+1:INDVM+4+1),'(I1)')NPROCDIA(NBPROCDIA(KJ),KJ)
1355           IF(INDV-(INDVM+4)-1 == 2)READ(YCART(INDVM+4+1:INDV-1),'(I2)')NPROCDIA(NBPROCDIA(KJ),KJ)
1356         END IF
1357       ENDDO   
1358       
1359     CASE(2)
1360       IF(INDTO-4-1 == 1)READ(YCART(5:5),'(I1)')NPROCDIA(NBPROCDIA(KJ),KJ)
1361       IF(INDTO-4-1 == 2)READ(YCART(5:6),'(I2)')NPROCDIA(NBPROCDIA(KJ),KJ)
1362       NBPROCDIA(KJ)=NBPROCDIA(KJ)+1
1363       IF(ILENCART-(INDTO+3+4) == 1)READ(YCART(INDTO+3+4+1:INDTO+3+4+1),'(I1)')NPROCDIA(NBPROCDIA(KJ),KJ)
1364       IF(ILENCART-(INDTO+3+4) == 2)READ(YCART(INDTO+3+4+1:ILENCART),'(I2)')NPROCDIA(NBPROCDIA(KJ),KJ)
1365 ! 1 seul temps
1366     CASE DEFAULT
1367       IF(ILENCART-4 == 1)READ(YCART(5:5),'(I1)')NPROCDIA(NBPROCDIA(KJ),KJ)
1368       IF(ILENCART-4 == 2)READ(YCART(5:6),'(I2)')NPROCDIA(NBPROCDIA(KJ),KJ)
1369
1370   END SELECT
1371   print *,' RESOLVP ICAS '
1372   print *,' LPROCDIALL ',LPROCDIALL(KJ)
1373   print *,' NBPROCDIA ',NBPROCDIA(KJ)
1374   print *,' NPROCDIA ',(NPROCDIA(J,KJ),J=1,NBPROCDIA(KJ))
1375   RETURN
1376 ELSE
1377
1378 !
1379 ! Expression des processus en numerique
1380 !
1381   IF(INDV == 0)THEN
1382
1383 ! Cas  _TO_  _BY_
1384
1385     IF(INDTO /= 0)THEN
1386       YCAR = ADJUSTL(YCART(1:INDTO-1))
1387       NBPROCDIA(KJ) = NBPROCDIA(KJ)+1
1388       CALL CARINT(YCAR(1:LEN_TRIM(YCAR)),NPROCDIA(NBPROCDIA(KJ),KJ))
1389       IF(INDBY /= 0)THEN
1390         YCAR(1:LEN(YCAR))=' '
1391         YCAR = ADJUSTL(YCART(INDTO+4:INDBY-1))
1392         NBPROCDIA(KJ) = NBPROCDIA(KJ)+1
1393         CALL CARINT(YCAR(1:LEN_TRIM(YCAR)),NPROCDIA(NBPROCDIA(KJ),KJ))
1394         YCAR(1:LEN(YCAR))=' '
1395         YCAR = ADJUSTL(YCART(INDBY+4:ILENCART))
1396         NBPROCDIA(KJ) = NBPROCDIA(KJ)+1
1397         CALL CARINT(YCAR(1:LEN_TRIM(YCAR)),NPROCDIA(NBPROCDIA(KJ),KJ))
1398       ELSE
1399         YCAR(1:LEN(YCAR))=' '
1400         YCAR = ADJUSTL(YCART(INDTO+4:ILENCART))
1401         NBPROCDIA(KJ) = NBPROCDIA(KJ)+1
1402         CALL CARINT(YCAR(1:LEN_TRIM(YCAR)),NPROCDIA(NBPROCDIA(KJ),KJ))
1403       END IF
1404     ELSE
1405
1406 ! Cas un seul processus en fin de chaine de car. HCARIN ou au milieu
1407
1408       IF(ILENCART > 9)THEN
1409         print *,' PB ecriture temps '
1410         STOP
1411       ELSE
1412         YCAR = ADJUSTL(YCART(1:ILENCART))
1413         NBPROCDIA(KJ) = NBPROCDIA(KJ)+1
1414         CALL CARINT(YCAR(1:LEN_TRIM(YCAR)),NPROCDIA(NBPROCDIA(KJ),KJ))
1415       END IF
1416
1417     END IF
1418
1419   ELSE
1420
1421 ! Presence de virgules
1422
1423     YCAR = ADJUSTL(YCART(1:INDV-1))
1424     NBPROCDIA(KJ) = NBPROCDIA(KJ)+1
1425     CALL CARINT(YCAR(1:LEN_TRIM(YCAR)),NPROCDIA(NBPROCDIA(KJ),KJ))
1426     DO J = 1,100
1427       INDVM=INDV
1428       INDV = 0
1429       YCAR(1:LEN(YCAR))=' '
1430       INDV = INDEX(YCART(INDVM+1:ILENCART),',')
1431 !     print *,' INDV ',INDV
1432       IF(INDV == 0)THEN
1433         YCAR = ADJUSTL(YCART(INDVM+1:ILENCART))
1434         NBPROCDIA(KJ) = NBPROCDIA(KJ)+1
1435         CALL CARINT(YCAR(1:LEN_TRIM(YCAR)),NPROCDIA(NBPROCDIA(KJ),KJ))
1436         EXIT
1437       ELSE
1438         INDV=INDV+INDVM
1439         YCAR = ADJUSTL(YCART(INDVM+1:INDV-1))
1440         NBPROCDIA(KJ) = NBPROCDIA(KJ)+1
1441         CALL CARINT(YCAR(1:LEN_TRIM(YCAR)),NPROCDIA(NBPROCDIA(KJ),KJ))
1442       END IF
1443     ENDDO
1444
1445
1446   END IF
1447 !
1448 END IF
1449 !-----------------------------------------------------------------------------
1450 !
1451 !*       2.       EXITS
1452 !                 -----
1453
1454 print *,' RESOLVP '
1455 print *,' LPROCDIALL ',LPROCDIALL(KJ)
1456 print *,' NBPROCDIA ',NBPROCDIA(KJ)
1457 print *,' NPROCDIA ',(NPROCDIA(J,KJ),J=1,NBPROCDIA(KJ))
1458 RETURN
1459 END SUBROUTINE RESOLVP  
1460 !     ######spl
1461       MODULE MODI_RESOLVX
1462 !     ###################
1463 !
1464 INTERFACE
1465 !
1466 SUBROUTINE RESOLVX(HCARIN,KIND,POUT)
1467 CHARACTER(LEN=*) :: HCARIN
1468 INTEGER          :: KIND
1469 REAL             :: POUT
1470 END SUBROUTINE RESOLVX
1471 !
1472 END INTERFACE
1473 !
1474 END MODULE MODI_RESOLVX
1475 !     ########################################
1476       SUBROUTINE RESOLVX(HCARIN,KIND,POUT)
1477 !     ########################################
1478 !
1479 !!****  *RESOLVX* - 
1480 !!
1481 !!    PURPOSE
1482 !!    -------
1483 !      
1484 !
1485 !!**  METHOD
1486 !!    ------
1487 !!     
1488 !!     N.A.
1489 !!
1490 !!    EXTERNAL
1491 !!    --------
1492 !!      None
1493 !!
1494 !!    IMPLICIT ARGUMENTS
1495 !!    ------------------
1496 !!      Module
1497 !!
1498 !!      Module
1499 !!
1500 !!    REFERENCE
1501 !!    ---------
1502 !!
1503 !!
1504 !!    AUTHOR
1505 !!    ------
1506 !!      J. Duron    * Laboratoire d'Aerologie *
1507 !!
1508 !!
1509 !!    MODIFICATIONS
1510 !!    -------------
1511 !!      Original       24/11/95
1512 !!      Updated   PM   02/12/94
1513 !-------------------------------------------------------------------------------
1514 !
1515 !*       0.    DECLARATIONS
1516 !              ------------
1517 !
1518 USE MODD_RESOLVCAR
1519 USE MODN_PARA
1520
1521 IMPLICIT NONE
1522 !
1523 !*       0.1   Dummy arguments
1524 !              ---------------
1525
1526 CHARACTER(LEN=*) :: HCARIN
1527 INTEGER          :: KIND
1528 REAL             :: POUT
1529 !
1530 !*       0.1   Local variables
1531 !              ---------------
1532
1533 CHARACTER(LEN=15) :: YC15
1534 INTEGER           :: ILENC, ILENC15
1535 INTEGER           :: J,JM
1536
1537 !
1538 !------------------------------------------------------------------------------
1539 ILENC=LEN_TRIM(HCARIN)
1540
1541 DO J=KIND,ILENC
1542   IF(HCARIN(J:J) == '=')EXIT
1543 ENDDO
1544
1545 JM=J+1
1546 DO J=1,10
1547   IF(HCARIN(JM:JM) == ' ')THEN
1548     JM=JM+1
1549   ELSE
1550     EXIT
1551   ENDIF
1552 ENDDO
1553 YC15='               '
1554
1555 DO J=JM,ILENC
1556   IF(HCARIN(J:J) == '0'.OR.HCARIN(J:J) == '1'.OR.HCARIN(J:J) == '2'  &
1557     .OR.HCARIN(J:J) == '3'.OR.HCARIN(J:J) == '4'.OR.HCARIN(J:J) == '5' &
1558     .OR.HCARIN(J:J) == '6'.OR.HCARIN(J:J) == '7'.OR.HCARIN(J:J) == '8' &
1559     .OR.HCARIN(J:J) == '9'.OR.HCARIN(J:J) == '.' .OR. &
1560     HCARIN(J:J) == '+' .OR.HCARIN(J:J) == '-' .OR.HCARIN(J:J) == 'E' &
1561     .OR.HCARIN(J:J) == 'e')THEN
1562     YC15(1:1)=HCARIN(J:J)
1563      IF(J+1 > ILENC)EXIT
1564     IF(HCARIN(J+1:J+1) /= '0' .AND. HCARIN(J+1:J+1) /= '1' .AND.  &
1565        HCARIN(J+1:J+1) /= '2' .AND. HCARIN(J+1:J+1) /= '3' .AND.  &
1566        HCARIN(J+1:J+1) /= '4' .AND. HCARIN(J+1:J+1) /= '5' .AND.  &
1567        HCARIN(J+1:J+1) /= '6' .AND. HCARIN(J+1:J+1) /= '7' .AND.  &
1568        HCARIN(J+1:J+1) /= '8' .AND. HCARIN(J+1:J+1) /= '9' .AND.  &
1569        HCARIN(J+1:J+1) /= '+' .AND. HCARIN(J+1:J+1) /= '-' .AND.  &
1570        HCARIN(J+1:J+1) /= 'E' .AND. HCARIN(J+1:J+1) /= 'e' .AND.  &
1571        HCARIN(J+1:J+1) /= '.')THEN
1572        EXIT
1573     ELSE
1574       YC15(2:2)=HCARIN(J+1:J+1)
1575       IF(J+2 > ILENC)EXIT
1576       IF(HCARIN(J+2:J+2) /= '0' .AND. HCARIN(J+2:J+2) /= '1' .AND.  &
1577          HCARIN(J+2:J+2) /= '2' .AND. HCARIN(J+2:J+2) /= '3' .AND.  &
1578          HCARIN(J+2:J+2) /= '4' .AND. HCARIN(J+2:J+2) /= '5' .AND.  &
1579          HCARIN(J+2:J+2) /= '6' .AND. HCARIN(J+2:J+2) /= '7' .AND.  &
1580          HCARIN(J+2:J+2) /= '8' .AND. HCARIN(J+2:J+2) /= '9' .AND.  &
1581          HCARIN(J+2:J+2) /= '+' .AND. HCARIN(J+2:J+2) /= '-' .AND.  &
1582          HCARIN(J+2:J+2) /= 'E' .AND. HCARIN(J+2:J+2) /= 'e' .AND.  &
1583          HCARIN(J+2:J+2) /= '.')THEN
1584          EXIT
1585       ELSE
1586         YC15(3:3)=HCARIN(J+2:J+2)
1587         IF(J+3 > ILENC)EXIT
1588         IF(HCARIN(J+3:J+3) /= '0' .AND. HCARIN(J+3:J+3) /= '1' .AND.  &
1589            HCARIN(J+3:J+3) /= '2' .AND. HCARIN(J+3:J+3) /= '3' .AND.  &
1590            HCARIN(J+3:J+3) /= '4' .AND. HCARIN(J+3:J+3) /= '5' .AND.  &
1591            HCARIN(J+3:J+3) /= '6' .AND. HCARIN(J+3:J+3) /= '7' .AND.  &
1592            HCARIN(J+3:J+3) /= '8' .AND. HCARIN(J+3:J+3) /= '9' .AND.  &
1593            HCARIN(J+3:J+3) /= '+' .AND. HCARIN(J+3:J+3) /= '-' .AND.  &
1594            HCARIN(J+3:J+3) /= 'E' .AND. HCARIN(J+3:J+3) /= 'e' .AND.  &
1595            HCARIN(J+3:J+3) /= '.')THEN
1596            EXIT
1597         ELSE
1598           YC15(4:4)=HCARIN(J+3:J+3)
1599           IF(J+4 > ILENC)EXIT
1600           IF(HCARIN(J+4:J+4) /= '0' .AND. HCARIN(J+4:J+4) /= '1' .AND. &
1601              HCARIN(J+4:J+4) /= '2' .AND. HCARIN(J+4:J+4) /= '3' .AND. &
1602              HCARIN(J+4:J+4) /= '4' .AND. HCARIN(J+4:J+4) /= '5' .AND. &
1603              HCARIN(J+4:J+4) /= '6' .AND. HCARIN(J+4:J+4) /= '7' .AND. &
1604              HCARIN(J+4:J+4) /= '8' .AND. HCARIN(J+4:J+4) /= '9' .AND. &
1605              HCARIN(J+4:J+4) /= '+' .AND. HCARIN(J+4:J+4) /= '-' .AND. &
1606              HCARIN(J+4:J+4) /= 'E' .AND. HCARIN(J+4:J+4) /= 'e' .AND. &
1607              HCARIN(J+4:J+4) /= '.')THEN
1608              EXIT
1609            ELSE
1610              YC15(5:5)=HCARIN(J+4:J+4)
1611              IF(J+5 > ILENC)EXIT
1612              IF(HCARIN(J+5:J+5) /= '0' .AND. HCARIN(J+5:J+5) /= '1' .AND. &
1613                 HCARIN(J+5:J+5) /= '2' .AND. HCARIN(J+5:J+5) /= '3' .AND. &
1614                 HCARIN(J+5:J+5) /= '4' .AND. HCARIN(J+5:J+5) /= '5' .AND. &
1615                 HCARIN(J+5:J+5) /= '6' .AND. HCARIN(J+5:J+5) /= '7' .AND. &
1616                 HCARIN(J+5:J+5) /= '8' .AND. HCARIN(J+5:J+5) /= '9' .AND. &
1617                 HCARIN(J+5:J+5) /= '+' .AND. HCARIN(J+5:J+5) /= '-' .AND. &
1618                 HCARIN(J+5:J+5) /= 'E' .AND. HCARIN(J+5:J+5) /= 'e' .AND. &
1619                 HCARIN(J+5:J+5) /= '.')THEN
1620                 EXIT
1621               ELSE
1622                 YC15(6:6)=HCARIN(J+5:J+5)
1623                 IF(J+6 > ILENC)EXIT
1624                 IF(HCARIN(J+6:J+6) /= '0' .AND. HCARIN(J+6:J+6) /= '1' .AND. &
1625                    HCARIN(J+6:J+6) /= '2' .AND. HCARIN(J+6:J+6) /= '3' .AND. &
1626                    HCARIN(J+6:J+6) /= '4' .AND. HCARIN(J+6:J+6) /= '5' .AND. &
1627                    HCARIN(J+6:J+6) /= '6' .AND. HCARIN(J+6:J+6) /= '7' .AND. &
1628                    HCARIN(J+6:J+6) /= '8' .AND. HCARIN(J+6:J+6) /= '9' .AND. &
1629                    HCARIN(J+6:J+6) /= '+' .AND. HCARIN(J+6:J+6) /= '-' .AND. &
1630                    HCARIN(J+6:J+6) /= 'E' .AND. HCARIN(J+6:J+6) /= 'e' .AND. &
1631                    HCARIN(J+6:J+6) /= '.')THEN
1632                    EXIT
1633                  ELSE
1634                    YC15(7:7)=HCARIN(J+6:J+6)
1635                    IF(J+7 > ILENC)EXIT
1636                    IF(HCARIN(J+7:J+7) /= '0' .AND. HCARIN(J+7:J+7) /= '1' .AND.&
1637                       HCARIN(J+7:J+7) /= '2' .AND. HCARIN(J+7:J+7) /= '3' .AND.&
1638                       HCARIN(J+7:J+7) /= '4' .AND. HCARIN(J+7:J+7) /= '5' .AND.&
1639                       HCARIN(J+7:J+7) /= '6' .AND. HCARIN(J+7:J+7) /= '7' .AND.&
1640                       HCARIN(J+7:J+7) /= '8' .AND. HCARIN(J+7:J+7) /= '9' .AND.&
1641                       HCARIN(J+7:J+7) /= '+' .AND. HCARIN(J+7:J+7) /= '-' .AND.&
1642                       HCARIN(J+7:J+7) /= 'E' .AND. HCARIN(J+7:J+7) /= 'e' .AND.&
1643                       HCARIN(J+7:J+7) /= '.')THEN
1644                       EXIT
1645                     ELSE
1646                       YC15(8:8)=HCARIN(J+7:J+7)
1647                       IF(J+8 > ILENC)EXIT
1648                       IF(HCARIN(J+8:J+8) /= '0' .AND.  &
1649                          HCARIN(J+8:J+8) /= '1' .AND.  &
1650                          HCARIN(J+8:J+8) /= '2' .AND.  &
1651                          HCARIN(J+8:J+8) /= '3' .AND.  &
1652                          HCARIN(J+8:J+8) /= '4' .AND.  &
1653                          HCARIN(J+8:J+8) /= '5' .AND.  &
1654                          HCARIN(J+8:J+8) /= '6' .AND.  &
1655                          HCARIN(J+8:J+8) /= '7' .AND.  &
1656                          HCARIN(J+8:J+8) /= '8' .AND.  &
1657                          HCARIN(J+8:J+8) /= '9' .AND.  &
1658                          HCARIN(J+8:J+8) /= '+' .AND.  &
1659                          HCARIN(J+8:J+8) /= '-' .AND.  &
1660                          HCARIN(J+8:J+8) /= 'E' .AND.  &
1661                          HCARIN(J+8:J+8) /= 'e' .AND.  &
1662                          HCARIN(J+8:J+8) /= '.')THEN
1663                          EXIT
1664                        ELSE
1665                          YC15(9:9)=HCARIN(J+8:J+8)
1666                          IF(J+9 > ILENC)EXIT
1667                          IF(HCARIN(J+9:J+9) /= '0' .AND.  &
1668                             HCARIN(J+9:J+9) /= '1' .AND.  &
1669                             HCARIN(J+9:J+9) /= '2' .AND.  &
1670                             HCARIN(J+9:J+9) /= '3' .AND.  &
1671                             HCARIN(J+9:J+9) /= '4' .AND.  &
1672                             HCARIN(J+9:J+9) /= '5' .AND.  &
1673                             HCARIN(J+9:J+9) /= '6' .AND.  &
1674                             HCARIN(J+9:J+9) /= '7' .AND.  &
1675                             HCARIN(J+9:J+9) /= '8' .AND.  &
1676                             HCARIN(J+9:J+9) /= '9' .AND.  &
1677                             HCARIN(J+9:J+9) /= '+' .AND.  &
1678                             HCARIN(J+9:J+9) /= '-' .AND.  &
1679                             HCARIN(J+9:J+9) /= 'E' .AND.  &
1680                             HCARIN(J+9:J+9) /= 'e' .AND.  &
1681                             HCARIN(J+9:J+9) /= '.')THEN
1682                             EXIT
1683                           ELSE
1684                             YC15(10:10)=HCARIN(J+9:J+9)
1685                             IF(J+10 > ILENC)EXIT
1686                             IF(HCARIN(J+10:J+10) /= '0' .AND.  &
1687                               HCARIN(J+10:J+10) /= '1' .AND.  &
1688                               HCARIN(J+10:J+10) /= '2' .AND.  &
1689                               HCARIN(J+10:J+10) /= '3' .AND.  &
1690                               HCARIN(J+10:J+10) /= '4' .AND.  &
1691                               HCARIN(J+10:J+10) /= '5' .AND.  &
1692                               HCARIN(J+10:J+10) /= '6' .AND.  &
1693                               HCARIN(J+10:J+10) /= '7' .AND.  &
1694                               HCARIN(J+10:J+10) /= '8' .AND.  &
1695                               HCARIN(J+10:J+10) /= '9' .AND.  &
1696                               HCARIN(J+10:J+10) /= '+' .AND.  &
1697                               HCARIN(J+10:J+10) /= '-' .AND.  &
1698                               HCARIN(J+10:J+10) /= 'E' .AND.  &
1699                               HCARIN(J+10:J+10) /= 'e' .AND.  &
1700                               HCARIN(J+10:J+10) /= '.')THEN
1701                               EXIT
1702                             ELSE
1703                               YC15(11:11)=HCARIN(J+10:J+10)
1704                                IF(J+11 > ILENC)EXIT
1705                               IF(HCARIN(J+11:J+11) /= '0' .AND.  &
1706                                  HCARIN(J+11:J+11) /= '1' .AND.  &
1707                                  HCARIN(J+11:J+11) /= '2' .AND.  &
1708                                  HCARIN(J+11:J+11) /= '3' .AND.  &
1709                                  HCARIN(J+11:J+11) /= '4' .AND.  &
1710                                  HCARIN(J+11:J+11) /= '5' .AND.  &
1711                                  HCARIN(J+11:J+11) /= '6' .AND.  &
1712                                  HCARIN(J+11:J+11) /= '7' .AND.  &
1713                                  HCARIN(J+11:J+11) /= '8' .AND.  &
1714                                  HCARIN(J+11:J+11) /= '9' .AND.  &
1715                                  HCARIN(J+11:J+11) /= '+' .AND.  &
1716                                  HCARIN(J+11:J+11) /= '-' .AND.  &
1717                                  HCARIN(J+11:J+11) /= 'E' .AND.  &
1718                                  HCARIN(J+11:J+11) /= 'e' .AND.  &
1719                                  HCARIN(J+11:J+11) /= '.')THEN
1720                                  EXIT
1721                                ELSE
1722                                  YC15(12:12)=HCARIN(J+11:J+11)
1723                                  IF(J+12 > ILENC)EXIT
1724                                  IF(HCARIN(J+12:J+12) /= '0' .AND.  &
1725                                    HCARIN(J+12:J+12) /= '1' .AND.  &
1726                                    HCARIN(J+12:J+12) /= '2' .AND.  &
1727                                    HCARIN(J+12:J+12) /= '3' .AND.  &
1728                                    HCARIN(J+12:J+12) /= '4' .AND.  &
1729                                    HCARIN(J+12:J+12) /= '5' .AND.  &
1730                                    HCARIN(J+12:J+12) /= '6' .AND.  &
1731                                    HCARIN(J+12:J+12) /= '7' .AND.  &
1732                                    HCARIN(J+12:J+12) /= '8' .AND.  &
1733                                    HCARIN(J+12:J+12) /= '9' .AND.  &
1734                                    HCARIN(J+12:J+12) /= '+' .AND.  &
1735                                    HCARIN(J+12:J+12) /= '-' .AND.  &
1736                                    HCARIN(J+12:J+12) /= 'E' .AND.  &
1737                                    HCARIN(J+12:J+12) /= 'e' .AND.  &
1738                                    HCARIN(J+12:J+12) /= '.')THEN
1739                                    EXIT
1740                                  ELSE
1741                                  YC15(13:13)=HCARIN(J+12:J+12)
1742                                  IF(J+13 > ILENC)EXIT
1743                                  IF(HCARIN(J+13:J+13) /= '0' .AND.  &
1744                                    HCARIN(J+13:J+13) /= '1' .AND.  &
1745                                    HCARIN(J+13:J+13) /= '2' .AND.  &
1746                                    HCARIN(J+13:J+13) /= '3' .AND.  &
1747                                    HCARIN(J+13:J+13) /= '4' .AND.  &
1748                                    HCARIN(J+13:J+13) /= '5' .AND.  &
1749                                    HCARIN(J+13:J+13) /= '6' .AND.  &
1750                                    HCARIN(J+13:J+13) /= '7' .AND.  &
1751                                    HCARIN(J+13:J+13) /= '8' .AND.  &
1752                                    HCARIN(J+13:J+13) /= '9' .AND.  &
1753                                    HCARIN(J+13:J+13) /= '+' .AND.  &
1754                                    HCARIN(J+13:J+13) /= '-' .AND.  &
1755                                    HCARIN(J+13:J+13) /= 'E' .AND.  &
1756                                    HCARIN(J+13:J+13) /= 'e' .AND.  &
1757                                    HCARIN(J+13:J+13) /= '.')THEN
1758                                    EXIT
1759                                  ELSE
1760                                  YC15(14:14)=HCARIN(J+13:J+13)
1761                                  IF(J+14 > ILENC)EXIT
1762                                  IF(HCARIN(J+14:J+14) /= '0' .AND.  &
1763                                    HCARIN(J+14:J+14) /= '1' .AND.  &
1764                                    HCARIN(J+14:J+14) /= '2' .AND.  &
1765                                    HCARIN(J+14:J+14) /= '3' .AND.  &
1766                                    HCARIN(J+14:J+14) /= '4' .AND.  &
1767                                    HCARIN(J+14:J+14) /= '5' .AND.  &
1768                                    HCARIN(J+14:J+14) /= '6' .AND.  &
1769                                    HCARIN(J+14:J+14) /= '7' .AND.  &
1770                                    HCARIN(J+14:J+14) /= '8' .AND.  &
1771                                    HCARIN(J+14:J+14) /= '9' .AND.  &
1772                                    HCARIN(J+14:J+14) /= '+' .AND.  &
1773                                    HCARIN(J+14:J+14) /= '-' .AND.  &
1774                                    HCARIN(J+14:J+14) /= 'E' .AND.  &
1775                                    HCARIN(J+14:J+14) /= 'e' .AND.  &
1776                                    HCARIN(J+14:J+14) /= '.')THEN
1777                                    EXIT
1778                                  ELSE
1779                                  YC15(15:15)=HCARIN(J+11:J+11)
1780                                  IF(J+15 > ILENC)EXIT
1781                                  IF(HCARIN(J+15:J+15) /= '0' .AND.  &
1782                                    HCARIN(J+15:J+15) /= '1' .AND.  &
1783                                    HCARIN(J+15:J+15) /= '2' .AND.  &
1784                                    HCARIN(J+15:J+15) /= '3' .AND.  &
1785                                    HCARIN(J+15:J+15) /= '4' .AND.  &
1786                                    HCARIN(J+15:J+15) /= '5' .AND.  &
1787                                    HCARIN(J+15:J+15) /= '6' .AND.  &
1788                                    HCARIN(J+15:J+15) /= '7' .AND.  &
1789                                    HCARIN(J+15:J+15) /= '8' .AND.  &
1790                                    HCARIN(J+15:J+15) /= '9' .AND.  &
1791                                    HCARIN(J+15:J+15) /= '+' .AND.  &
1792                                    HCARIN(J+15:J+15) /= '-' .AND.  &
1793                                    HCARIN(J+15:J+15) /= 'E' .AND.  &
1794                                    HCARIN(J+15:J+15) /= 'e' .AND.  &
1795                                    HCARIN(J+15:J+15) /= '.')THEN
1796                                    EXIT
1797                                  ELSE
1798                                    print *,' PB AVEC LA VALEUR FOURNIE ', &
1799                                    HCARIN(J:J+15),' ARRET PG. VERIFIEZ SA VALEUR '
1800                                  ENDIF
1801                                  ENDIF
1802                                  ENDIF
1803                                  ENDIF
1804                                ENDIF
1805                             ENDIF
1806                        ENDIF
1807                      ENDIF
1808                    ENDIF
1809                  ENDIF
1810               ENDIF
1811            ENDIF
1812         ENDIF
1813       ENDIF
1814     ENDIF
1815   ENDIF
1816 ENDDO
1817
1818
1819 YC15=ADJUSTL(YC15)
1820 ILENC15 = LEN_TRIM(YC15)
1821 !print *, ' ILENC15 ',ILENC15,YC15
1822 READ(YC15,*)POUT
1823
1824 RETURN
1825 END SUBROUTINE RESOLVX
1826 !     ######spl
1827       MODULE MODI_RESOLVXISOLEV
1828 !     #########################
1829 !
1830 INTERFACE
1831 !
1832 SUBROUTINE RESOLVXISOLEV(HCARIN,KIND,POUT)
1833 CHARACTER(LEN=*) :: HCARIN
1834 INTEGER          :: KIND
1835 REAL,DIMENSION(:) :: POUT
1836 END SUBROUTINE RESOLVXISOLEV
1837 !
1838 END INTERFACE
1839 !
1840 END MODULE MODI_RESOLVXISOLEV
1841 !     ########################################
1842       SUBROUTINE RESOLVXISOLEV(HCARIN,KIND,POUT)
1843 !     ########################################
1844 !
1845 !!****  *RESOLVXISOLEV* - 
1846 !!
1847 !!    PURPOSE
1848 !!    -------
1849 !      
1850 !
1851 !!**  METHOD
1852 !!    ------
1853 !!     
1854 !!     N.A.
1855 !!
1856 !!    EXTERNAL
1857 !!    --------
1858 !!      None
1859 !!
1860 !!    IMPLICIT ARGUMENTS
1861 !!    ------------------
1862 !!      Module
1863 !!
1864 !!      Module
1865 !!
1866 !!    REFERENCE
1867 !!    ---------
1868 !!
1869 !!
1870 !!    AUTHOR
1871 !!    ------
1872 !!      J. Duron    * Laboratoire d'Aerologie *
1873 !!
1874 !!
1875 !!    MODIFICATIONS
1876 !!    -------------
1877 !!      Original       24/11/95
1878 !!      Updated   PM   02/12/94
1879 !-------------------------------------------------------------------------------
1880 !
1881 !*       0.    DECLARATIONS
1882 !              ------------
1883 !
1884 USE MODD_RESOLVCAR
1885 USE MODN_PARA
1886
1887 IMPLICIT NONE
1888 !
1889 !*       0.1   Dummy arguments
1890 !              ---------------
1891
1892 CHARACTER(LEN=*) :: HCARIN
1893 INTEGER          :: KIND
1894 REAL,DIMENSION(:)             :: POUT
1895 !
1896 !*       0.1   Local variables
1897 !              ---------------
1898
1899 INTEGER           :: ILENC
1900 INTEGER           :: J,JM, JMF
1901 INTEGER           :: INBV, IND9999
1902
1903 !
1904 !------------------------------------------------------------------------------
1905 ILENC=LEN_TRIM(HCARIN)
1906 POUT=9999.
1907
1908 DO J=KIND,ILENC
1909   IF(HCARIN(J:J) == '=')EXIT
1910 ENDDO
1911
1912 JM=J+1
1913 DO J=1,10
1914   IF(HCARIN(JM:JM) == ' ')THEN
1915     JM=JM+1
1916   ELSE
1917     EXIT
1918   ENDIF
1919 ENDDO
1920
1921 IND9999=INDEX(HCARIN(JM:ILENC),'9999.')
1922 JMF=IND9999+JM-1+3
1923 INBV=0
1924 IF(NVERBIA >= 5)THEN
1925   print *,' RESOLVXISOLEV carin: ',ind9999,jm,jmf,HCARIN(JM:JMF)
1926 ENDIF
1927 DO J=JM,JMF
1928   IF(HCARIN(J:J) == ',')THEN
1929     INBV=INBV+1
1930   ENDIF
1931 ENDDO
1932
1933 READ(HCARIN(JM:JMF),*)(POUT(J),J=1,INBV+1)
1934 IF(NVERBIA >= 5)THEN
1935   print *,' RESOLVXISOLEV ',INBV+1,(POUT(J),J=1,INBV+1)
1936 ENDIF
1937 RETURN
1938 END SUBROUTINE RESOLVXISOLEV
1939 !     ######spl
1940       MODULE MODI_RESOLVT
1941 !     ###################
1942 !
1943 INTERFACE
1944 !
1945 SUBROUTINE RESOLVT(HCARIN,KINDT,KJ)
1946 CHARACTER(LEN=*) :: HCARIN
1947 INTEGER          :: KINDT, KJ
1948 END SUBROUTINE RESOLVT
1949 !
1950 END INTERFACE
1951 !
1952 END MODULE MODI_RESOLVT
1953 !     ##################################
1954       SUBROUTINE RESOLVT(HCARIN,KINDT,KJ)
1955 !     ###################################
1956 !
1957 !!****  *RESOLVT* - 
1958 !!
1959 !!    PURPOSE
1960 !!    -------
1961 !      
1962 !
1963 !!**  METHOD
1964 !!    ------
1965 !!     
1966 !!     N.A.
1967 !!
1968 !!    EXTERNAL
1969 !!    --------
1970 !!      None
1971 !!
1972 !!    IMPLICIT ARGUMENTS
1973 !!    ------------------
1974 !!      Module
1975 !!
1976 !!    REFERENCE
1977 !!    ---------
1978 !!
1979 !!
1980 !!    AUTHOR
1981 !!    ------
1982 !!      J. Duron    * Laboratoire d'Aerologie *
1983 !!
1984 !!
1985 !!    MODIFICATIONS
1986 !!    -------------
1987 !!      Original       24/11/95
1988 !!      Updated   PM   02/12/94
1989 !-------------------------------------------------------------------------------
1990 !
1991 !*       0.    DECLARATIONS
1992 !              ------------
1993 !
1994 USE MODD_RESOLVCAR
1995
1996 IMPLICIT NONE
1997 !
1998 !*       0.1   Dummy arguments
1999 !              ---------------
2000
2001 CHARACTER(LEN=*) :: HCARIN
2002 INTEGER          :: KINDT, KJ
2003 !
2004 !*       0.1   Local variables
2005 !              ---------------
2006
2007 CHARACTER(LEN=LEN(HCARIN)) :: YCART
2008 CHARACTER(LEN=20) :: YCAR
2009 INTEGER          :: ILENC, ILENCART
2010 INTEGER          :: INDTF, INDTO, INDBY, INDV, INDVM
2011 INTEGER          :: ICAS, J
2012
2013 !
2014 !------------------------------------------------------------------------------
2015 INDTF = 0
2016 INDTO = 0
2017 INDBY = 0
2018 INDV  = 0
2019 ICAS = 0
2020
2021 NBTIMEDIA(KJ,:)=0
2022 NTIMEDIA(:,KJ,:)=0
2023 XTIMEDIA(:,KJ,:)=0.
2024 LTIMEDIALL(KJ,:)=.FALSE.
2025 LTINCRDIA(KJ,:)=.FALSE.
2026
2027 IF(KINDT == 0)THEN
2028   LTIMEDIALL(KJ,:) = .TRUE.
2029   RETURN
2030 END IF
2031
2032 ILENC = LEN(HCARIN)
2033
2034 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2035 INDTO = INDEX(HCARIN(KINDT+3:ILENC),'_TO_')
2036 INDBY = INDEX(HCARIN(KINDT+3:ILENC),'_BY_')
2037 INDTF = INDEX(HCARIN(KINDT+3:ILENC),'_')
2038 IF(INDTO /= 0)THEN
2039   IF(INDTF < INDTO)THEN
2040 !
2041 ! ICAS = 1  Temps unique ou separes par des virgules
2042 !
2043     INDTO=0;INDBY=0
2044     ICAS = 1
2045   ELSE IF(INDTF == INDTO)THEN
2046 !
2047 ! ICAS = 3  Temps1 _TO_ Tempsn _BY_ Tempsx
2048 !
2049     IF(INDBY /= 0)THEN
2050       DO J=INDTO+4+KINDT+3,INDBY+KINDT+3
2051         IF(HCARIN(J:J) == '_')THEN
2052           IF(HCARIN(J:J+3) == '_BY_')THEN
2053             EXIT
2054           ELSE
2055             INDBY=0
2056             EXIT
2057           END IF
2058         END IF
2059       ENDDO
2060     END IF
2061     IF(INDBY /= 0)THEN
2062       INDTF=INDEX(HCARIN(KINDT+3+INDBY+4:ILENC),'_')
2063       IF(INDTF /= 0)INDTF=INDTF+INDBY+4
2064       ICAS = 3
2065       LTINCRDIA(KJ,:) = .TRUE.
2066     ELSE
2067 !
2068 ! ICAS = 2  Temps1 _TO_ Tempsn
2069 !
2070       INDTF=INDEX(HCARIN(KINDT+3+INDTO+4:ILENC),'_')
2071       IF(INDTF /= 0)INDTF=INDTF+INDTO+4
2072       ICAS = 2
2073       LTINCRDIA(KJ,:) = .TRUE.
2074     END IF
2075   END IF
2076 ELSE
2077   ICAS = 1
2078 END IF
2079
2080 IF(INDTF == 0)THEN
2081   INDTF = ILENC
2082 ELSE
2083   INDTF = INDTF+KINDT+3-1-1
2084 END IF
2085
2086
2087 YCART(1:LEN(YCART))=' '
2088 YCAR(1:LEN(YCAR))=' '
2089 !
2090 ! Extraction de la partie Temps dans YCART(1:ILENCART)
2091 !
2092 YCART = ADJUSTL(HCARIN(KINDT+3:INDTF))
2093 ILENCART = LEN_TRIM(YCART)
2094 if (nverbia >0) then
2095   print *,' ICAS KINDT INDTF ',ICAS,KINDT,INDTF
2096   print *,' YCART ',ILENCART,' ',YCART
2097 endif
2098
2099 ! Recherche a nouveau des chaines de car. _TO_ , _BY_ et d'une virgule
2100 ! par rapport au debut de YCART
2101
2102 INDTO = INDEX(YCART,'_TO_')
2103 INDBY = INDEX(YCART,'_BY_')
2104 INDV = INDEX(YCART(1:ILENCART),',')
2105 IF(ICAS == 1 .AND. INDV == 0)ICAS=0
2106 !
2107 ! Expression du temps par mots-cles (TIMEALL ou TIME1....)
2108 !
2109 IF(YCART(1:7) == 'TIMEALL')THEN
2110   LTIMEDIALL(KJ,:) = .TRUE.
2111 if (nverbia >0) then
2112   print *,' RESOLVT TIMEALL '
2113   print *,' LTIMEDIALL(KJ,1) ',LTIMEDIALL(KJ,1)
2114   print *,' NBTIMEDIA(KJ,1) ',NBTIMEDIA(KJ,1)
2115   print *,' NTIMEDIA ',(NTIMEDIA(J,KJ,1),J=1,NBTIMEDIA(KJ,1))
2116   print *,' XTIMEDIA ',(XTIMEDIA(J,KJ,1),J=1,NBTIMEDIA(KJ,1))
2117 endif
2118   RETURN
2119
2120 ELSE IF(YCART(1:4) == 'TIME')THEN
2121 !print *,' YCART(1:4) ',YCART(1:4),' ICAS ',ICAS
2122
2123   NBTIMEDIA(KJ,:)=NBTIMEDIA(KJ,:)+1
2124   SELECT CASE(ICAS)
2125     CASE(1)
2126 !print *,' INDV YCART(5:5) ',INDV,YCART(5:5)
2127       READ(YCART(5:INDV-1),*)NTIMEDIA(NBTIMEDIA(KJ,1),KJ,1)
2128       NTIMEDIA(NBTIMEDIA(KJ,:),KJ,:)=NTIMEDIA(NBTIMEDIA(KJ,1),KJ,1)
2129       DO J = 1,100
2130         INDVM=INDV
2131         INDV=0
2132         INDV=INDEX(YCART(INDVM+1:ILENCART),',')
2133         IF(INDV == 0)THEN
2134           NBTIMEDIA(KJ,:)=NBTIMEDIA(KJ,:)+1
2135           READ(YCART(INDVM+4+1:ILENCART),*)NTIMEDIA(NBTIMEDIA(KJ,1),KJ,1)
2136           NTIMEDIA(NBTIMEDIA(KJ,:),KJ,:)=NTIMEDIA(NBTIMEDIA(KJ,1),KJ,1)
2137           EXIT
2138         ELSE
2139           INDV=INDV+INDVM
2140           NBTIMEDIA(KJ,:)=NBTIMEDIA(KJ,:)+1
2141           READ(YCART(INDVM+4+1:INDV-1),*)NTIMEDIA(NBTIMEDIA(KJ,1),KJ,1)
2142           NTIMEDIA(NBTIMEDIA(KJ,:),KJ,:)=NTIMEDIA(NBTIMEDIA(KJ,1),KJ,1)
2143         END IF
2144       ENDDO   
2145       
2146     CASE(2)
2147       READ(YCART(5:INDTO-1),*)NTIMEDIA(NBTIMEDIA(KJ,1),KJ,1)
2148       NTIMEDIA(NBTIMEDIA(KJ,:),KJ,:)=NTIMEDIA(NBTIMEDIA(KJ,1),KJ,1)
2149       NBTIMEDIA(KJ,:)=NBTIMEDIA(KJ,:)+1
2150       READ(YCART(INDTO+3+4+1:ILENCART),*)NTIMEDIA(NBTIMEDIA(KJ,1),KJ,1)
2151       NTIMEDIA(NBTIMEDIA(KJ,:),KJ,:)=NTIMEDIA(NBTIMEDIA(KJ,1),KJ,1)
2152 ! 1 seul temps
2153     CASE DEFAULT
2154       READ(YCART(5:ILENCART),*)NTIMEDIA(NBTIMEDIA(KJ,1),KJ,1)
2155       NTIMEDIA(NBTIMEDIA(KJ,:),KJ,:)=NTIMEDIA(NBTIMEDIA(KJ,1),KJ,1)
2156
2157   END SELECT
2158 if (nverbia >0) then
2159   print *,' RESOLVT ICAS '
2160   print *,' LTIMEDIALL(KJ,1) ',LTIMEDIALL(KJ,1)
2161   print *,' NBTIMEDIA(KJ,1) ',NBTIMEDIA(KJ,1)
2162   print *,' NTIMEDIA ',(NTIMEDIA(J,KJ,1),J=1,NBTIMEDIA(KJ,1))
2163   print *,' XTIMEDIA ',(XTIMEDIA(J,KJ,1),J=1,NBTIMEDIA(KJ,1))
2164 endif
2165   RETURN
2166 ELSE
2167
2168 !
2169 ! Expression du temps en numerique
2170 !
2171   IF(INDV == 0)THEN
2172
2173 ! Cas  _TO_  _BY_
2174
2175     IF(INDTO /= 0)THEN
2176       YCAR = ADJUSTL(YCART(1:INDTO-1))
2177       NBTIMEDIA(KJ,:) = NBTIMEDIA(KJ,:)+1
2178       CALL CAREAL(YCAR(1:LEN_TRIM(YCAR)),XTIMEDIA(NBTIMEDIA(KJ,1),KJ,1))
2179       XTIMEDIA(NBTIMEDIA(KJ,:),KJ,:)=XTIMEDIA(NBTIMEDIA(KJ,1),KJ,1)
2180       IF(INDBY /= 0)THEN
2181         YCAR(1:LEN(YCAR))=' '
2182         YCAR = ADJUSTL(YCART(INDTO+4:INDBY-1))
2183         NBTIMEDIA(KJ,:) = NBTIMEDIA(KJ,:)+1
2184         CALL CAREAL(YCAR(1:LEN_TRIM(YCAR)),XTIMEDIA(NBTIMEDIA(KJ,1),KJ,1))
2185         XTIMEDIA(NBTIMEDIA(KJ,:),KJ,:)=XTIMEDIA(NBTIMEDIA(KJ,1),KJ,1)
2186         YCAR(1:LEN(YCAR))=' '
2187         YCAR = ADJUSTL(YCART(INDBY+4:ILENCART))
2188         NBTIMEDIA(KJ,:) = NBTIMEDIA(KJ,:)+1
2189         CALL CAREAL(YCAR(1:LEN_TRIM(YCAR)),XTIMEDIA(NBTIMEDIA(KJ,1),KJ,1))
2190         XTIMEDIA(NBTIMEDIA(KJ,:),KJ,:)=XTIMEDIA(NBTIMEDIA(KJ,1),KJ,1)
2191       ELSE
2192         YCAR(1:LEN(YCAR))=' '
2193         YCAR = ADJUSTL(YCART(INDTO+4:ILENCART))
2194         NBTIMEDIA(KJ,:) = NBTIMEDIA(KJ,:)+1
2195         CALL CAREAL(YCAR(1:LEN_TRIM(YCAR)),XTIMEDIA(NBTIMEDIA(KJ,1),KJ,1))
2196         XTIMEDIA(NBTIMEDIA(KJ,:),KJ,:)=XTIMEDIA(NBTIMEDIA(KJ,1),KJ,1)
2197       END IF
2198     ELSE
2199
2200 ! Cas un seul temps en fin de chaine de car. HCARIN ou au milieu
2201
2202       IF(ILENCART > 9)THEN
2203         print *,' PB ecriture temps '
2204         STOP
2205       ELSE
2206         YCAR = ADJUSTL(YCART(1:ILENCART))
2207         NBTIMEDIA(KJ,:) = NBTIMEDIA(KJ,:)+1
2208         CALL CAREAL(YCAR(1:LEN_TRIM(YCAR)),XTIMEDIA(NBTIMEDIA(KJ,1),KJ,1))
2209         XTIMEDIA(NBTIMEDIA(KJ,:),KJ,:)=XTIMEDIA(NBTIMEDIA(KJ,1),KJ,1)
2210       END IF
2211
2212     END IF
2213
2214   ELSE
2215
2216 ! Presence de virgules
2217
2218     YCAR = ADJUSTL(YCART(1:INDV-1))
2219     NBTIMEDIA(KJ,:) = NBTIMEDIA(KJ,:)+1
2220     CALL CAREAL(YCAR(1:LEN_TRIM(YCAR)),XTIMEDIA(NBTIMEDIA(KJ,1),KJ,1))
2221     XTIMEDIA(NBTIMEDIA(KJ,:),KJ,:)=XTIMEDIA(NBTIMEDIA(KJ,1),KJ,1)
2222     DO J = 1,100
2223       INDVM=INDV
2224       INDV = 0
2225       YCAR(1:LEN(YCAR))=' '
2226       INDV = INDEX(YCART(INDVM+1:ILENCART),',')
2227 !     print *,' INDV ',INDV
2228       IF(INDV == 0)THEN
2229         YCAR = ADJUSTL(YCART(INDVM+1:ILENCART))
2230         NBTIMEDIA(KJ,:) = NBTIMEDIA(KJ,:)+1
2231         CALL CAREAL(YCAR(1:LEN_TRIM(YCAR)),XTIMEDIA(NBTIMEDIA(KJ,1),KJ,1))
2232         XTIMEDIA(NBTIMEDIA(KJ,:),KJ,:)=XTIMEDIA(NBTIMEDIA(KJ,1),KJ,1)
2233         EXIT
2234       ELSE
2235         INDV=INDV+INDVM
2236         YCAR = ADJUSTL(YCART(INDVM+1:INDV-1))
2237         NBTIMEDIA(KJ,:) = NBTIMEDIA(KJ,:)+1
2238         CALL CAREAL(YCAR(1:LEN_TRIM(YCAR)),XTIMEDIA(NBTIMEDIA(KJ,1),KJ,1))
2239         XTIMEDIA(NBTIMEDIA(KJ,:),KJ,:)=XTIMEDIA(NBTIMEDIA(KJ,1),KJ,1)
2240       END IF
2241     ENDDO
2242
2243
2244   END IF
2245 !
2246 END IF
2247 !-----------------------------------------------------------------------------
2248 !
2249 !*       2.       EXITS
2250 !                 -----
2251
2252 if (nverbia >0) then
2253 print *,' end of RESOLVT '
2254 print *,' LTIMEDIALL(KJ,1) ',LTIMEDIALL(KJ,1)
2255 print *,' NBTIMEDIA(KJ,1) ',NBTIMEDIA(KJ,1)
2256 print *,' NTIMEDIA ',(NTIMEDIA(J,KJ,1),J=1,NBTIMEDIA(KJ,1))
2257 print *,' XTIMEDIA ',(XTIMEDIA(J,KJ,1),J=1,NBTIMEDIA(KJ,1))
2258 endif
2259 RETURN
2260 END SUBROUTINE RESOLVT  
2261 !     ######spl
2262       MODULE MODI_RESOLVL
2263 !     ###################
2264 !
2265 INTERFACE
2266 !
2267 SUBROUTINE RESOLVL(HCARIN,K,OLOGIC)
2268 CHARACTER(LEN=*) :: HCARIN
2269 INTEGER          :: K
2270 LOGICAL         :: OLOGIC
2271 END SUBROUTINE RESOLVL
2272 !
2273 END INTERFACE
2274 !
2275 END MODULE MODI_RESOLVL
2276 !     ###################################
2277       SUBROUTINE RESOLVL(HCARIN,K,OLOGIC)
2278 !     ###################################
2279 !
2280 !!****  *RESOLVL* - 
2281 !!
2282 !!    PURPOSE
2283 !!    -------
2284 !      
2285 !
2286 !!**  METHOD
2287 !!    ------
2288 !!     
2289 !!     N.A.
2290 !!
2291 !!    EXTERNAL
2292 !!    --------
2293 !!      None
2294 !!
2295 !!    IMPLICIT ARGUMENTS
2296 !!    ------------------
2297 !!      Module
2298 !!
2299 !!      Module
2300 !!
2301 !!    REFERENCE
2302 !!    ---------
2303 !!
2304 !!
2305 !!    AUTHOR
2306 !!    ------
2307 !!      J. Duron    * Laboratoire d'Aerologie *
2308 !!
2309 !!
2310 !!    MODIFICATIONS
2311 !!    -------------
2312 !!      Original       24/11/95
2313 !!      Updated   PM   02/12/94
2314 !-------------------------------------------------------------------------------
2315 !
2316 !*       0.    DECLARATIONS
2317 !              ------------
2318 !
2319 USE MODD_RESOLVCAR
2320 USE MODN_NCAR
2321
2322 IMPLICIT NONE
2323 !
2324 !*       0.1   Dummy arguments
2325 !              ---------------
2326
2327 CHARACTER(LEN=*) :: HCARIN
2328 INTEGER          :: K
2329 LOGICAL         :: OLOGIC
2330 !
2331 !*       0.1   Local variables
2332 !              ---------------
2333
2334 CHARACTER(LEN=3) :: YC3
2335 INTEGER          :: ILENC
2336 INTEGER          :: J,JM, I
2337
2338 !
2339 !------------------------------------------------------------------------------
2340 ILENC=LEN_TRIM(HCARIN)
2341
2342 if(nverbia >0)then
2343   print *,' HCARIN K RESOLVL ',HCARIN,K
2344 endif
2345 DO J=K,ILENC
2346   IF(HCARIN(J:J) == '=')EXIT
2347 ENDDO
2348
2349 JM=J+1
2350 YC3='   '
2351 I=0
2352
2353 if(nverbia >0)then
2354 print *,' RESOLVL JM,ILENC ',JM,ILENC
2355 endif
2356 DO J=JM,ILENC
2357   IF(HCARIN(J:J) == 'T'.OR.HCARIN(J:J) == 'F')THEN
2358     YC3(1:1)=HCARIN(J:J)
2359     I=1
2360     EXIT
2361   ENDIF
2362 ENDDO
2363
2364 IF(I == 0)THEN
2365 print *,' PB AVEC LA VALEUR FOURNIE DE ',HCARIN(1:JM-2),'  ', &
2366  HCARIN(1:LEN_TRIM(HCARIN)),' VERIFIEZ SA VALEUR '
2367   RETURN
2368 ENDIF
2369 if(nverbia >0)then
2370   print *,' RESOLVL YC3 ',YC3
2371 endif
2372 IF(I == 1)READ(YC3(1:1),'(L1)')OLOGIC
2373 print *,HCARIN(1:JM-2),' FOURNI ',OLOGIC
2374 RETURN
2375 END SUBROUTINE RESOLVL  
2376 !     ######spl
2377       MODULE MODI_RESOLVZ
2378 !     ###################
2379 !
2380 INTERFACE
2381 !
2382 SUBROUTINE RESOLVZ(HCARIN,KINDZ,KJ)
2383 CHARACTER(LEN=*) :: HCARIN
2384 INTEGER          :: KINDZ, KJ
2385 END SUBROUTINE RESOLVZ
2386 !
2387 END INTERFACE
2388 !
2389 END MODULE MODI_RESOLVZ
2390 !     ###################################
2391       SUBROUTINE RESOLVZ(HCARIN,KINDZ,KJ)
2392 !     ###################################
2393 !
2394 !!****  *RESOLVZ* - 
2395 !!
2396 !!    PURPOSE
2397 !!    -------
2398 !      
2399 !
2400 !!**  METHOD
2401 !!    ------
2402 !!     
2403 !!     N.A.
2404 !!
2405 !!    EXTERNAL
2406 !!    --------
2407 !!      None
2408 !!
2409 !!    IMPLICIT ARGUMENTS
2410 !!    ------------------
2411 !!      Module
2412 !!
2413 !!      Module
2414 !!
2415 !!    REFERENCE
2416 !!    ---------
2417 !!
2418 !!
2419 !!    AUTHOR
2420 !!    ------
2421 !!      J. Duron    * Laboratoire d'Aerologie *
2422 !!
2423 !!
2424 !!    MODIFICATIONS
2425 !!    -------------
2426 !!      Original       24/11/95
2427 !!      Updated   PM   02/12/94
2428 !-------------------------------------------------------------------------------
2429 !
2430 !*       0.    DECLARATIONS
2431 !              ------------
2432 !
2433 USE MODD_RESOLVCAR
2434
2435 IMPLICIT NONE
2436 !
2437 !*       0.1   Dummy arguments
2438 !              ---------------
2439
2440 CHARACTER(LEN=*) :: HCARIN
2441 INTEGER          :: KINDZ, KJ
2442 !
2443 !*       0.1   Local variables
2444 !              ---------------
2445
2446 CHARACTER(LEN=80) :: YCART
2447 CHARACTER(LEN=20) :: YCAR
2448 INTEGER          :: ILENC, ILENCART
2449 INTEGER          :: INDTF, INDTO, INDBY, INDV, INDVM
2450 INTEGER          :: ICAS, J
2451
2452 !
2453 !------------------------------------------------------------------------------
2454 INDTF = 0
2455 INDTO = 0
2456 INDBY = 0
2457 INDV  = 0
2458 ICAS = 0
2459
2460 NBLVLZDIA(KJ)=0
2461 NLVLZDIA(:,KJ)=0
2462 XLVLZDIA(:,KJ)=0.
2463 LZINCRDIA(KJ)=.FALSE.
2464
2465 ILENC = LEN(HCARIN)
2466
2467 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2468   INDTO = INDEX(HCARIN(KINDZ+3:ILENC),'_TO_')
2469   INDBY = INDEX(HCARIN(KINDZ+3:ILENC),'_BY_')
2470   INDTF = INDEX(HCARIN(KINDZ+3:ILENC),'_')
2471   IF(INDTO /= 0)THEN
2472   IF(INDTF < INDTO)THEN
2473 !
2474 ! ICAS = 1  Niveau Z unique ou plusieurs separes par des virgules
2475 !
2476     INDTO=0;INDBY=0
2477     ICAS = 1
2478   ELSE IF(INDTF == INDTO)THEN
2479 !
2480 ! ICAS = 3  NivZ1 _TO_ NivZn _BY_ NivZx
2481 !
2482     IF(INDBY /= 0)THEN
2483       DO J=INDTO+4+KINDZ+3,INDBY+KINDZ+3
2484         IF(HCARIN(J:J) == '_')THEN
2485           IF(HCARIN(J:J+3) == '_BY_')THEN
2486             EXIT
2487           ELSE
2488             INDBY=0
2489             EXIT
2490           END IF
2491         END IF
2492       ENDDO
2493     END IF
2494     IF(INDBY /= 0)THEN
2495       INDTF=INDEX(HCARIN(KINDZ+3+INDBY+4:ILENC),'_')
2496       IF(INDTF /= 0)INDTF=INDTF+INDBY+4
2497       ICAS = 3
2498       LZINCRDIA(KJ) = .TRUE.
2499     ELSE
2500 !
2501 ! ICAS = 2  NivZ1 _TO_ NivZn
2502 !
2503       INDTF=INDEX(HCARIN(KINDZ+3+INDTO+4:ILENC),'_')
2504       IF(INDTF /= 0)INDTF=INDTF+INDTO+4
2505       ICAS = 2
2506       LZINCRDIA(KJ) = .TRUE.
2507     END IF
2508   END IF
2509   ELSE
2510     ICAS = 1
2511   END IF
2512 IF(INDTF == 0)THEN
2513   INDTF = ILENC
2514 ELSE
2515   INDTF = INDTF+KINDZ+3-1-1
2516 END IF
2517
2518
2519 YCART(1:LEN(YCART))=' '
2520 YCAR(1:LEN(YCAR))=' '
2521 !
2522 ! Extraction de la partie Niveaux Z dans YCART(1:ILENCART)
2523 !
2524 !print *,' KINDZ INDTF ',KINDZ,INDTF
2525 YCART = ADJUSTL(HCARIN(KINDZ+3:INDTF))
2526 ILENCART = LEN_TRIM(YCART)
2527 !print *,' YCART ',ILENCART,' ',YCART
2528
2529 ! Recherche a nouveau des chaines de car. _TO_ , _BY_ et d'une virgule
2530 ! par rapport au debut de YCART
2531
2532 INDTO = INDEX(YCART,'_TO_')
2533 INDBY = INDEX(YCART,'_BY_')
2534 INDV = INDEX(YCART(1:ILENCART),',')
2535 IF(ICAS == 1 .AND. INDV == 0)ICAS=0
2536 !
2537 ! Expression des niveaux Z par mots-cles (LVLZ1....)
2538 !
2539 IF(YCART(1:4) == 'LVLZ')THEN
2540 !print *,' YCART(1:4) ',YCART(1:4),' ICAS ',ICAS
2541
2542   NBLVLZDIA(KJ)=NBLVLZDIA(KJ)+1
2543   SELECT CASE(ICAS)
2544     CASE(1)
2545 !print *,' INDV YCART(5:5) ',INDV,YCART(5:5)
2546       IF(INDV-4-1 == 1)READ(YCART(5:5),'(I1)')NLVLZDIA(NBLVLZDIA(KJ),KJ)
2547       IF(INDV-4-1 == 2)READ(YCART(5:6),'(I2)')NLVLZDIA(NBLVLZDIA(KJ),KJ)
2548       DO J = 1,100
2549         INDVM=INDV
2550         INDV=0
2551         INDV=INDEX(YCART(INDVM+1:ILENCART),',')
2552         IF(INDV == 0)THEN
2553           NBLVLZDIA(KJ)=NBLVLZDIA(KJ)+1
2554           IF(ILENCART-(INDVM+4) == 1)READ(YCART(INDVM+4+1:INDVM+4+1),'(I1)')NLVLZDIA(NBLVLZDIA(KJ),KJ)
2555           IF(ILENCART-(INDVM+4) == 2)READ(YCART(INDVM+4+1:ILENCART),'(I2)')NLVLZDIA(NBLVLZDIA(KJ),KJ)
2556           EXIT
2557         ELSE
2558           INDV=INDV+INDVM
2559           NBLVLZDIA(KJ)=NBLVLZDIA(KJ)+1
2560           IF(INDV-(INDVM+4)-1 == 1)READ(YCART(INDVM+4+1:INDVM+4+1),'(I1)')NLVLZDIA(NBLVLZDIA(KJ),KJ)
2561           IF(INDV-(INDVM+4)-1 == 2)READ(YCART(INDVM+4+1:INDV-1),'(I2)')NLVLZDIA(NBLVLZDIA(KJ),KJ)
2562         END IF
2563       ENDDO   
2564       
2565     CASE(2)
2566       IF(INDTO-4-1 == 1)READ(YCART(5:5),'(I1)')NLVLZDIA(NBLVLZDIA(KJ),KJ)
2567       IF(INDTO-4-1 == 2)READ(YCART(5:6),'(I2)')NLVLZDIA(NBLVLZDIA(KJ),KJ)
2568       NBLVLZDIA(KJ)=NBLVLZDIA(KJ)+1
2569       IF(ILENCART-(INDTO+3+4) == 1)READ(YCART(INDTO+3+4+1:INDTO+3+4+1),'(I1)')NLVLZDIA(NBLVLZDIA(KJ),KJ)
2570       IF(ILENCART-(INDTO+3+4) == 2)READ(YCART(INDTO+3+4+1:ILENCART),'(I2)')NLVLZDIA(NBLVLZDIA(KJ),KJ)
2571 ! 1 seul temps
2572     CASE DEFAULT
2573       IF(ILENCART-4 == 1)READ(YCART(5:5),'(I1)')NLVLZDIA(NBLVLZDIA(KJ),KJ)
2574       IF(ILENCART-4 == 2)READ(YCART(5:6),'(I2)')NLVLZDIA(NBLVLZDIA(KJ),KJ)
2575
2576   END SELECT
2577   print *,' RESOLVZ ICAS '
2578   print *,' NBLVLZDIA ',NBLVLZDIA(KJ)
2579   print *,' NLVLZDIA ',(NLVLZDIA(J,KJ),J=1,NBLVLZDIA(KJ))
2580   print *,' XLVLZDIA ',(XLVLZDIA(J,KJ),J=1,NBLVLZDIA(KJ))
2581   RETURN
2582 ELSE
2583
2584 !
2585 ! Expression des niveaux Z en numerique
2586 !
2587   IF(INDV == 0)THEN
2588
2589 ! Cas  _TO_  _BY_
2590
2591     IF(INDTO /= 0)THEN
2592       YCAR = ADJUSTL(YCART(1:INDTO-1))
2593       NBLVLZDIA(KJ) = NBLVLZDIA(KJ)+1
2594       CALL CAREAL(YCAR(1:LEN_TRIM(YCAR)),XLVLZDIA(NBLVLZDIA(KJ),KJ))
2595       IF(INDBY /= 0)THEN
2596         YCAR(1:LEN(YCAR))=' '
2597         YCAR = ADJUSTL(YCART(INDTO+4:INDBY-1))
2598         NBLVLZDIA(KJ) = NBLVLZDIA(KJ)+1
2599         CALL CAREAL(YCAR(1:LEN_TRIM(YCAR)),XLVLZDIA(NBLVLZDIA(KJ),KJ))
2600         YCAR(1:LEN(YCAR))=' '
2601         YCAR = ADJUSTL(YCART(INDBY+4:ILENCART))
2602         NBLVLZDIA(KJ) = NBLVLZDIA(KJ)+1
2603         CALL CAREAL(YCAR(1:LEN_TRIM(YCAR)),XLVLZDIA(NBLVLZDIA(KJ),KJ))
2604       ELSE
2605         YCAR(1:LEN(YCAR))=' '
2606         YCAR = ADJUSTL(YCART(INDTO+4:ILENCART))
2607         NBLVLZDIA(KJ) = NBLVLZDIA(KJ)+1
2608         CALL CAREAL(YCAR(1:LEN_TRIM(YCAR)),XLVLZDIA(NBLVLZDIA(KJ),KJ))
2609       END IF
2610     ELSE
2611
2612 ! Cas un seul niveau Z en fin de chaine de car. HCARIN ou au milieu
2613
2614       IF(ILENCART > 9)THEN
2615         print *,' PB ecriture temps '
2616         STOP
2617       ELSE
2618         YCAR = ADJUSTL(YCART(1:ILENCART))
2619         NBLVLZDIA(KJ) = NBLVLZDIA(KJ)+1
2620         CALL CAREAL(YCAR(1:LEN_TRIM(YCAR)),XLVLZDIA(NBLVLZDIA(KJ),KJ))
2621       END IF
2622
2623     END IF
2624
2625   ELSE
2626
2627 ! Presence de virgules
2628
2629     YCAR = ADJUSTL(YCART(1:INDV-1))
2630     NBLVLZDIA(KJ) = NBLVLZDIA(KJ)+1
2631     CALL CAREAL(YCAR(1:LEN_TRIM(YCAR)),XLVLZDIA(NBLVLZDIA(KJ),KJ))
2632     DO J = 1,100
2633       INDVM=INDV
2634       INDV = 0
2635       YCAR(1:LEN(YCAR))=' '
2636       INDV = INDEX(YCART(INDVM+1:ILENCART),',')
2637 !     print *,' INDV ',INDV
2638       IF(INDV == 0)THEN
2639         YCAR = ADJUSTL(YCART(INDVM+1:ILENCART))
2640         NBLVLZDIA(KJ) = NBLVLZDIA(KJ)+1
2641         CALL CAREAL(YCAR(1:LEN_TRIM(YCAR)),XLVLZDIA(NBLVLZDIA(KJ),KJ))
2642         EXIT
2643       ELSE
2644         INDV=INDV+INDVM
2645         YCAR = ADJUSTL(YCART(INDVM+1:INDV-1))
2646         NBLVLZDIA(KJ) = NBLVLZDIA(KJ)+1
2647         CALL CAREAL(YCAR(1:LEN_TRIM(YCAR)),XLVLZDIA(NBLVLZDIA(KJ),KJ))
2648       END IF
2649     ENDDO
2650
2651
2652   END IF
2653 !
2654 END IF
2655 !-----------------------------------------------------------------------------
2656 !
2657 !*       2.       EXITS
2658 !                 -----
2659
2660 print *,' RESOLVZ '
2661 print *,' NBLVLZDIA ',NBLVLZDIA(KJ)
2662 print *,' NLVLZDIA ',(NLVLZDIA(J,KJ),J=1,NBLVLZDIA(KJ))
2663 print *,' XLVLZDIA ',(XLVLZDIA(J,KJ),J=1,NBLVLZDIA(KJ))
2664 RETURN
2665 END SUBROUTINE RESOLVZ