SURFEX v8.1
General documentation of Surfex
lfiist.F90
Go to the documentation of this file.
1 ! Oct-2012 P. Marguinaud 64b LFI
2 ! Jan-2011 P. Marguinaud Thread-safe LFI
3 
4 SUBROUTINE lfiist_fort &
5 & (lfi, krang, ldapfe )
6 USE lfimod, ONLY : lficom
7 USE parkind1, ONLY : jprb
8 USE yomhook , ONLY : lhook, dr_hook
10 IMPLICIT NONE
11 !****
12 ! SOUS-PROGRAMME IMPRIMANT LES STATISTIQUES D'UTILISATION D'UNE
13 ! UNITE LOGIQUE TRAITEE PAR LE LOGICIEL DE FICHIERS INDEXES LFI.
14 ! CE SOUS-PROGRAMME EST ***A USAGE INTERNE*** DU LOGICIEL; CELUI
15 ! A APPELER PAR L'UTILISATEUR QUI DESIRE AVOIR CES STATISTIQUES
16 ! AUTREMENT QU'A LA FERMETURE DU FICHIER EST *LFISTA* .
17 !**
18 ! ARGUMENTS : KRANG (ENTREE) ==> RANG ( DANS LA TABLE *LFI%NUMERO* )
19 ! DE L'UNITE LOGIQUE CONCERNEE;
20 ! LDAPFE (ENTREE) ==> VRAI SI L'APPEL EST FAIT LORS DE
21 ! LA FERMETURE (PAR *LFIFER*) .
22 !
23 ! Modifications:
24 !
25 ! 02/06/97, Jean Clochard.
26 !
27 ! -Modification des impressions pour que l'annee puisse
28 ! etre imprimee avec 4 chiffres.
29 !
30 !
31 TYPE(lficom) :: LFI
32 CHARACTER CLOPER*(lfi%jplspx)
33 !
34 INTEGER (KIND=JPLIKB) IIDATE, IIHEUR
35 INTEGER (KIND=JPLIKB) KRANG, INUMER, IREP, IMDESC
36 INTEGER (KIND=JPLIKB) IDATEM, IHEURM, IANNEE, IMOIS
37 INTEGER (KIND=JPLIKB) IJOUR, IHEURE, IMINUT, ISECON
38 INTEGER (KIND=JPLIKB) IDECAL, IDERNI, INLNOM, J
39 INTEGER (KIND=JPLIKB) IDEROP, IDERCO, IDERAP, INBPIR
40 INTEGER (KIND=JPLIKB) INBALO, IFACTM, ILARPH
41 INTEGER (KIND=JPLIKB) INALPP, ILONGF, ILDONN, INTRUA
42 INTEGER (KIND=JPLIKB) INALDO, INPPIU, INUTIL
43 INTEGER (KIND=JPLIKB) INTRUO, ILOMIN, ILOMAX, IREESP
44 INTEGER (KIND=JPLIKB) IREECO, IREELO, INALIP
45 INTEGER (KIND=JPLIKB) INAMAX, INMOUL, INMOUE, INMOUT
46 INTEGER (KIND=JPLIKB) INMOLL, INMOLE, INMOLT
47 INTEGER (KIND=JPLIKB) INLECT, INECRI, INRENO, INSUPP
48 INTEGER (KIND=JPLIKB) INIMES, INTPPI
49 !
50 LOGICAL LDAPFE
51 !
52 CHARACTER(LEN=LFI%JPLSPX) CLNSPR
53 CHARACTER(LEN=LFI%JPLMES) CLMESS
54 CHARACTER(LEN=LFI%JPLFTX) CLACTI
55 LOGICAL LLFATA
56 
57 !**
58 ! 1. - CONTROLES DES PARAMETRES D'APPEL.
59 !-----------------------------------------------------------------------
60 !
61 REAL(KIND=JPRB) :: ZHOOK_HANDLE
62 IF (lhook) CALL dr_hook('LFIIST_FORT',0,zhook_handle)
63 clacti=''
64 IF (krang.LE.0.OR.krang.GT.lfi%JPNXFI) THEN
65  inumer=lfi%JPNIL
66 ELSE
67  inumer=lfi%NUMERO(krang)
68  irep=0
69 ENDIF
70 !
71 IF (inumer.EQ.lfi%JPNIL) THEN
72  irep=-14
73  GOTO 1001
74 ENDIF
75 !**
76 ! 2. - IMPRESSION DES STATISTIQUES.
77 !-----------------------------------------------------------------------
78 !
79 CALL lfidah_fort &
80 & (lfi, iidate,iiheur)
81 idatem=iidate
82 iheurm=iiheur
83 iannee=idatem/10000
84 ijour =mod(idatem,100_jplikb )
85 imois =idatem/100-100*iannee
86 iheure=iheurm/10000
87 isecon=mod(iheurm,100_jplikb )
88 iminut=iheurm/100-100*iheure
89 !
90 IF (lfi%LFRANC) THEN
91  WRITE (unit=lfi%NULOUT,fmt=9010)inumer,iannee,imois, &
92 & ijour,iheure,iminut,isecon
93 !
94  IF (ldapfe) THEN
95  WRITE (unit=lfi%NULOUT,fmt=9020)
96  ELSEIF (lfi%LNOUFI(krang)) THEN
97  WRITE (unit=lfi%NULOUT,fmt=9025)
98  ENDIF
99 !
100 ELSE
101  WRITE (unit=lfi%NULOUT,fmt=9011)inumer,iannee,imois, &
102 & ijour,iheure,iminut,isecon
103 !
104  IF (ldapfe) THEN
105  WRITE (unit=lfi%NULOUT,fmt=9021)
106  ELSEIF (lfi%LNOUFI(krang)) THEN
107  WRITE (unit=lfi%NULOUT,fmt=9026)
108  ENDIF
109 !
110 ENDIF
111 !
112 IF (.NOT.ldapfe.OR.ixnims(krang).EQ.0) THEN
113 !
114  IF (lfi%LFRANC) THEN
115  clmess=' X NOM du Fichier='''
116  ELSE
117  clmess=' X File NAME='''
118  ENDIF
119 !
120  idecal=int(index(clmess,''''), jplikb)
121  iderni=111
122  inlnom=min(lfi%NLNOMF(krang),lfi%JPLFIX,iderni-2-idecal)
123  clmess(idecal+1:idecal+inlnom+1)= &
124 & lfi%CNOMFI(krang)(1:inlnom)//''''
125  clmess(iderni:iderni)='X'
126  WRITE (unit=lfi%NULOUT,fmt=9015) trim(clmess)
127 !
128  IF (lfi%CNOMSY(krang).NE.lfi%CNOMFI(krang)) THEN
129 !
130  IF (lfi%LFRANC) THEN
131  clmess=' X NOM *SYSTEME*: '''
132  ELSE
133  clmess=' X SYSTEM NAME: '''
134  ENDIF
135 !
136  idecal=int(index(clmess,''''), jplikb)
137  iderni=111
138  inlnom=min(lfi%NLNOMS(krang),lfi%JPLFIX,iderni-2-idecal)
139  clmess(idecal+1:idecal+inlnom+1)= &
140 & lfi%CNOMSY(krang)(1:inlnom)//''''
141  clmess(iderni:iderni)='X'
142  WRITE (unit=lfi%NULOUT,fmt=9015) trim(clmess)
143  ENDIF
144 !
145 ENDIF
146 !
147 iderop=lfi%NDEROP(krang)
148 !
149 IF (iderop.EQ.0) THEN
150  cloper='LFIOUV'
151 ELSEIF (iderop.EQ.1) THEN
152  cloper='LFIECR'
153 ELSEIF (iderop.EQ.2) THEN
154  cloper='LFILEC'
155 ELSEIF (iderop.EQ.3) THEN
156  cloper='LFIMST'
157 ELSEIF (iderop.EQ.4) THEN
158  cloper='LFIERF'
159 ELSEIF (iderop.EQ.5) THEN
160  cloper='LFINIM'
161 ELSEIF (iderop.EQ.6) THEN
162  cloper='LFITAM'
163 ELSEIF (iderop.EQ.7) THEN
164  cloper='LFINFO'
165 ELSEIF (iderop.EQ.8) THEN
166  cloper='LFISTA'
167 ELSEIF (iderop.EQ.9) THEN
168  cloper='LFIFER'
169 ELSEIF (iderop.EQ.10) THEN
170  cloper='LFILAS'
171 ELSEIF (iderop.EQ.11) THEN
172  cloper='LFICAS'
173 ELSEIF (iderop.EQ.12) THEN
174  cloper='LFINAF'
175 ELSEIF (iderop.EQ.13) THEN
176  cloper='LFIREN'
177 ELSEIF (iderop.EQ.14) THEN
178  cloper='LFIPOS'
179 ELSEIF (iderop.EQ.15) THEN
180  cloper='LFISUP'
181 ELSEIF (iderop.EQ.16) THEN
182  cloper='LFILAP'
183 ELSEIF (iderop.EQ.17) THEN
184  cloper='LFICAP'
185 ELSEIF (iderop.EQ.18) THEN
186  cloper='LFILAF'
187 ELSEIF (iderop.EQ.19) THEN
188  cloper='LFIOEF'
189 ELSEIF (iderop.EQ.20) THEN
190  cloper='LFIOSF'
191 ELSEIF (iderop.EQ.21) THEN
192  cloper='LFIOMF'
193 ELSEIF (iderop.EQ.22) THEN
194  cloper='LFIPXF'
195 ELSE
196  cloper=lfi%CHINCO(:lfi%JPLSPX)
197 ENDIF
198 !
199 iderco=lfi%NDERCO(krang)
200 iderap=lfi%MDES1D(ixm(lfi%JPNAPH,krang))
201 inbpir=lfi%MDES1D(ixm(lfi%JPNPIR,krang))
202 inbalo=lfi%MDES1D(ixm(lfi%JPNALO,krang))
203 ifactm=lfi%MFACTM(krang)
204 ilarph=lfi%JPLARD*ifactm
205 inalpp=lfi%JPNAPP*ifactm
206 !
207 IF (lfi%LMODIF(krang).AND..NOT.ldapfe) THEN
208 !
209 ! Il faut inclure, dans la longueur totale du fichier,
210 ! les eventuels articles physiques (de donnees, mais aussi d'index)
211 ! qui n'auraient pas encore ete ecrits.
212 !
213  DO j=0,lfi%JPNPDF-1
214  iderap=max(iderap,lfi%NUMAPD(j,krang))
215  ENDDO
216 !
217  intppi=(inbalo-1+inalpp)/inalpp
218 !
219  IF (intppi.GT.inbpir) THEN
220  imdesc=lfi%MDES1D(ixm(ilarph+1-intppi+inbpir,krang))
221  iderap=max(iderap,imdesc+1)
222  ENDIF
223 !
224 ENDIF
225 !
226 ilongf=ilarph*iderap
227 ildonn=lfi%MDES1D(ixm(lfi%JPLTAL,krang))
228 !
229 IF (ldapfe) THEN
230  intrua=lfi%MDES1D(ixm(lfi%JPNTRU,krang))
231 ELSE
232  intrua=lfi%MDES1D(ixm(lfi%JPNTRU,krang))+lfi%NBTROU(krang)
233 ENDIF
234 !
235 inaldo=inbalo-intrua
236 !
237 ! NOMBRE DE P.P.I. "UTILES" (EN DECOMPTANT LES TROUS D'INDEX)
238 !
239 inppiu=(inaldo-1+inalpp)/inalpp
240 inutil=ilongf-ildonn-ilarph*(1+2*inppiu)
241 intruo=lfi%NBTROU(krang)
242 ilomin=lfi%MDES1D(ixm(lfi%JPLNAL,krang))
243 ilomax=lfi%MDES1D(ixm(lfi%JPLXAL,krang))
244 !
245 IF (lfi%LFRANC) THEN
246  WRITE (unit=lfi%NULOUT,fmt=9030)cloper,iderco
247  WRITE (unit=lfi%NULOUT,fmt=9040)ilongf,ildonn,ilarph,inutil
248  WRITE (unit=lfi%NULOUT,fmt=9050)intrua,intruo
249 !
250  IF (ldapfe.OR..NOT.lfi%LMIMAL(krang)) THEN
251  WRITE (unit=lfi%NULOUT,fmt=9060)inaldo,ilomin,ilomax
252  ELSE
253  WRITE (unit=lfi%NULOUT,fmt=9070)inaldo,ilomin,ilomax
254  ENDIF
255 !
256 ELSE
257  WRITE (unit=lfi%NULOUT,fmt=9031)cloper,iderco
258  WRITE (unit=lfi%NULOUT,fmt=9041)ilongf,ildonn,ilarph,inutil
259  WRITE (unit=lfi%NULOUT,fmt=9051)intrua,intruo
260 !
261  IF (ldapfe.OR..NOT.lfi%LMIMAL(krang)) THEN
262  WRITE (unit=lfi%NULOUT,fmt=9061)inaldo,ilomin,ilomax
263  ELSE
264  WRITE (unit=lfi%NULOUT,fmt=9071)inaldo,ilomin,ilomax
265  ENDIF
266 !
267 ENDIF
268 !
269 IF (ldapfe) THEN
270  ireesp=lfi%MDES1D(ixm(lfi%JPNRES,krang))-lfi%NREESP(krang)
271  ireeco=lfi%MDES1D(ixm(lfi%JPNREC,krang))-lfi%NREECO(krang)
272  ireelo=lfi%MDES1D(ixm(lfi%JPNREL,krang))-lfi%NREELO(krang)
273 ELSE
274  ireesp=lfi%MDES1D(ixm(lfi%JPNRES,krang))
275  ireeco=lfi%MDES1D(ixm(lfi%JPNREC,krang))
276  ireelo=lfi%MDES1D(ixm(lfi%JPNREC,krang))
277 ENDIF
278 !
279 idatem=lfi%MDES1D(ixm(lfi%JPDCRE,krang))
280 iheurm=lfi%MDES1D(ixm(lfi%JPHCRE,krang))
281 iannee=idatem/10000
282 ijour =mod(idatem,100_jplikb )
283 imois =idatem/100-100*iannee
284 iheure=iheurm/10000
285 isecon=mod(iheurm,100_jplikb )
286 iminut=iheurm/100-100*iheure
287 !
288 IF (lfi%LFRANC) THEN
289  IF (.NOT.lfi%LNOUFI(krang)) &
290 & WRITE (unit=lfi%NULOUT,fmt=9080)' AVANT',ireesp,ireeco,ireelo
291  WRITE (unit=lfi%NULOUT,fmt=9080)'DEPUIS',lfi%NREESP(krang), &
292 & lfi%NREECO(krang),lfi%NREELO(krang)
293  WRITE (unit=lfi%NULOUT,fmt=9090) &
294 & 'CREATION du FICHIER (Premiere Ouverture)', &
295 & iannee,imois,ijour,iheure,iminut,isecon
296 ELSE
297  IF (.NOT.lfi%LNOUFI(krang)) &
298 & WRITE (unit=lfi%NULOUT,fmt=9081)'BEFORE',ireesp,ireeco,ireelo
299  WRITE (unit=lfi%NULOUT,fmt=9081)' SINCE',lfi%NREESP(krang), &
300 & lfi%NREECO(krang), lfi%NREELO(krang)
301  WRITE (unit=lfi%NULOUT,fmt=9091) &
302 & 'FILE CREATION (Very First Opening) ', &
303 & iannee,imois,ijour,iheure,iminut,isecon
304 ENDIF
305 !
306 IF (.NOT.lfi%LNOUFI(krang).OR.lfi%LMODIF(krang)) THEN
307  idatem=lfi%MDES1D(ixm(lfi%JPDMNG,krang))
308  iheurm=lfi%MDES1D(ixm(lfi%JPHMNG,krang))
309  iannee=idatem/10000
310  ijour =mod(idatem,100_jplikb )
311  imois =idatem/100-100*iannee
312  iheure=iheurm/10000
313  isecon=mod(iheurm,100_jplikb )
314  iminut=iheurm/100-100*iheure
315 !
316  IF (lfi%LFRANC) THEN
317  WRITE (unit=lfi%NULOUT,fmt=9090) &
318 & 'Premiere Modification "NON GARANTIE" ', &
319 & iannee,imois,ijour,iheure,iminut,isecon
320  ELSE
321  WRITE (unit=lfi%NULOUT,fmt=9091) &
322 & 'First "not guaranteed" Modification ', &
323 & iannee,imois,ijour,iheure,iminut,isecon
324  ENDIF
325 !
326 ENDIF
327 !
328 IF (ldapfe.OR..NOT.lfi%LNOUFI(krang)) THEN
329  idatem=lfi%MDES1D(ixm(lfi%JPDDMG,krang))
330  iheurm=lfi%MDES1D(ixm(lfi%JPHDMG,krang))
331  iannee=idatem/10000
332  ijour =mod(idatem,100_jplikb )
333  imois =idatem/100-100*iannee
334  iheure=iheurm/10000
335  isecon=mod(iheurm,100_jplikb )
336  iminut=iheurm/100-100*iheure
337 !
338  IF (lfi%LFRANC) THEN
339  WRITE (unit=lfi%NULOUT,fmt=9090) &
340 & 'Derniere FERMETURE apres Modification ', &
341 & iannee,imois,ijour,iheure,iminut,isecon
342  ELSE
343  WRITE (unit=lfi%NULOUT,fmt=9091) &
344 & 'Last CLOSE made after a Modification', &
345 & iannee,imois,ijour,iheure,iminut,isecon
346  ENDIF
347 !
348 ENDIF
349 !
350 inalip=inalpp*inbpir
351 inamax=inalip+inalpp*(ilarph-lfi%JPLDOC)
352 inmoul=lfi%NBMOLU(krang)
353 inmoue=lfi%NBMOEC(krang)
354 inmout=inmoul+inmoue
355 inmoll=ilarph*lfi%NBREAD(krang)
356 inmole=ilarph*lfi%NBWRIT(krang)
357 inmolt=inmoll+inmole
358 inlect=lfi%NBLECT(krang)
359 inecri=lfi%NBNECR(krang)+lfi%NREESP(krang)+ &
360 & lfi%NREECO(krang)+lfi%NREELO(krang)
361 inreno=lfi%NBRENO(krang)
362 insupp=lfi%NBSUPP(krang)
363 !
364 IF (lfi%LFRANC) THEN
365  WRITE (unit=lfi%NULOUT,fmt=9100)inalip,inamax
366  WRITE (unit=lfi%NULOUT,fmt=9110) &
367 & 'UTILISATEUR','EN LECTURE','EN ECRITURE', &
368 & inmoul,inmoue,inmout
369  WRITE (unit=lfi%NULOUT,fmt=9110) &
370 & ' LOGICIEL ','PAR "READ"','PAR "WRITE"', &
371 & inmoll,inmole,inmolt
372  WRITE (unit=lfi%NULOUT,fmt=9120)inlect,inecri,inreno,insupp
373 ELSE
374  WRITE (unit=lfi%NULOUT,fmt=9101)inalip,inamax
375  WRITE (unit=lfi%NULOUT,fmt=9111) &
376 & ' USER ',' For INPUT ',' For OUTPUT ', &
377 & inmoul,inmoue,inmout
378  WRITE (unit=lfi%NULOUT,fmt=9111) &
379 & 'SOFTWARE','Through READ','Through WRITE', &
380 & inmoll,inmole,inmolt
381  WRITE (unit=lfi%NULOUT,fmt=9121)inlect,inecri,inreno,insupp
382 ENDIF
383 !**
384 ! 10. - PHASE TERMINALE : MESSAGERIE INTERNE EVENTUELLE,
385 ! VIA LE SOUS-PROGRAMME "LFIEMS", ET ABORT EVENTUEL.
386 !-----------------------------------------------------------------------
387 !
388 1001 CONTINUE
389 llfata=llmoer(irep,krang)
390 !
391 IF (lfi%LMISOP.OR.llfata) THEN
392  inimes=2
393  clnspr='LFIIST'
394  WRITE (unit=clmess,fmt='(''IREP='',I4,'', KRANG='',I3, &
395 & '', LDAPFE= '',L1)') irep,krang,ldapfe
396  CALL lfiems_fort &
397 & (lfi, inumer,inimes,irep,llfata, &
398 & clmess,clnspr,clacti)
399 ENDIF
400 !
401 IF (lhook) CALL dr_hook('LFIIST_FORT',1,zhook_handle)
402 RETURN
403 !
404  9010 FORMAT (/,/,t2,110('X'),/,' X',t111,'X',/,' X',t15, &
405 & 'Statistiques d''Utilisation de l''Unite Logique Indexee',i4, &
406 & ' (le',i5.2,2('/',i2.2),' a',i3.2,2(':',i2.2),')',t111,'X', &
407 & /,' X',t15,42('- '),'-',t111,'X',/,' X',t111,'X')
408 !
409  9011 FORMAT (/,/,t2,110('X'),/,' X',t111,'X',/,' X',t15, &
410 & 'Statistics of Use for LFI Indexed Logical Unit Number',i4, &
411 & ' (on',i5.2,2('/',i2.2),' at',i3.2,2(':',i2.2),')',t111,'X', &
412 & /,' X',t15,42('- '),'-',t111,'X',/,' X',t111,'X')
413 !
414  9015 FORMAT (a,/,' X',t111,'X')
415 !
416  9020 FORMAT (' X',t29, &
417 & '----- Cette Unite Logique est en cours de FERMETURE -----', &
418 & t111,'X',/,' X',t111,'X')
419 !
420  9021 FORMAT (' X',t30, &
421 & '----- This Logical Unit is currently being CLOSED -----', &
422 & t111,'X',/,' X',t111,'X')
423 !
424  9025 FORMAT (' X',t30, &
425 & '----- Cette Unite Logique est en mode "CREATION" -----', &
426 & t111,'X',/,' X',t111,'X')
427 !
428  9026 FORMAT (' X',t31, &
429 & '----- This Logical Unit is in "CREATION" Mode -----', &
430 & t111,'X',/,' X',t111,'X')
431 !
432  9030 FORMAT (' X Dernier Sous-Programme utilise: "',a6, &
433 & '", Code-Reponse correspondant a cet appel:',i4, &
434 & t111,'X',/,' X',t111,'X')
435 !
436  9031 FORMAT (' X Name of Last Used SUBROUTINE: "',a6, &
437 & '", Response Code corresponding to this call:',i4, &
438 & t111,'X',/,' X',t111,'X')
439 !
440  9040 FORMAT (' X LONGUEUR TOTALE en mots: du FICHIER=',i9, &
441 & ', des DONNEES=',i9,', d''un Article "PHYSIQUE"=',i6,t111,'X', &
442 & /,' X',t111,'X',/,' X Mots "PERDUS" par l''Utili', &
443 & 'sation (Articles d''Index inutiles, Trous, Fin du fichier) =', &
444 & i8,t111,'X',/,' X',t111,'X')
445 !
446  9041 FORMAT (' X TOTAL LENGTH in words: of FILE=',i9, &
447 & ', of DATA=',i9,', of a "PHYSICAL" Record=',i6,t111,'X', &
448 & /,' X',t111,'X',/,' X Words currently "LOST" by previous ', &
449 & 'Usage (Unnecessary Index Records, Holes, End of file)=', &
450 & i8,t111,'X',/,' X',t111,'X')
451 !
452  9050 FORMAT (' X Nombre de TROUS REPERTORIES: Actuellement',i6, &
453 & ', dont',i6,' CREE(S) et NON RECYCLE(S) depuis OUVERTURE', &
454 & t111,'X',/,' X',t111,'X')
455 !
456  9051 FORMAT (' X Number of HOLES within INDEX: Currently',i6, &
457 & ', among which',i6,' CREATED and NOT RE-USED since OPENING', &
458 & t111,'X',/,' X',t111,'X')
459 !
460  9060 FORMAT (' X Nombre d''ARTICLES LOGIQUES de DONNEES=',i6, &
461 & ', Longueur Mini/Maxi=',i7,' /',i7,t111,'X',/,' X',t111,'X')
462 !
463  9061 FORMAT (' X Number of LOGICAL RECORDS of DATA=',i6, &
464 & ', Minimum/maximum length=',i7,' /',i7,t111,'X',/,' X',t111,'X')
465 !
466  9070 FORMAT (' X Nombre d''ARTICLES LOGIQUES de DONNEES=',i6, &
467 & ', Longueur Mini/Maxi (A PRIORI)=',i7,' /',i7, &
468 & t111,'X',/,' X',t111,'X')
469 !
470  9071 FORMAT (' X Number of LOGICAL RECORDS of DATA=',i6, &
471 & ', Minimum/Maximum Length (A PRIORI)=',i7,' /',i7, &
472 & t111,'X',/,' X',t111,'X')
473 !
474  9080 FORMAT (' X ',a6,' Ouverture, Nombre de REECRITURES Sur PLACE/', &
475 & 'Plus COURTES/Plus LONGUES=',i6,2(' /',i6), &
476 & t111,'X',/,' X',t111,'X')
477 !
478  9081 FORMAT (' X ',a6,' Opening, Number of RE-WRITE(s): In PLACE/', &
479 & 'SHORTER/LONGER=',i6,2(' /',i6), &
480 & t111,'X',/,' X',t111,'X')
481 !
482  9090 FORMAT (' X ',a40,' le',i5.2,2('/',i2.2),' a',i3.2,2(':',i2.2), &
483 & t111,'X',/,' X',t111,'X')
484 !
485  9091 FORMAT (' X ',a36,' on',i5.2,2('/',i2.2),' at',i3.2,2(':',i2.2), &
486 & t111,'X',/,' X',t111,'X')
487 !
488  9100 FORMAT(' X Nombre d''ARTICLES LOGIQUES gerables (TROUS compris)', &
489 & ' SANS/AVEC DEBORDEMENT =',i7,' /',i7, &
490 & t111,'X',/,' X',t111,'X')
491 !
492  9101 FORMAT(' X Number of LOGICAL RECORDS STORE-able (HOLES included)' &
493 & ,' WITHOUT/WITH OVERFLOW=',i7,' /',i7, &
494 & t111,'X',/,' X',t111,'X')
495 !
496  9110 FORMAT (' X Nombre de Mots ',a11,' demandes ',a10,'/',a11, &
497 & '/AU TOTAL=',i9,2(' /',i9),t111,'X',/,' X',t111,'X')
498 !
499  9111 FORMAT (' X Number of ',a8,' Words requested ',a12,'/',a13, &
500 & '/TOTAL=',i9,2(' /',i9),t111,'X',/,' X',t111,'X')
501 !
502  9120 FORMAT (' X Nombre d''ARTICLES LOGIQUES LUS/ECRITS/RENOMMES/', &
503 & 'SUPPRIMES depuis Ouverture=',i6,3(' /',i6), &
504 & t111,'X',/,' X',t111,'X',/,t2,110('X'),/)
505 !
506  9121 FORMAT (' X Number of LOGICAL RECORDS: READ/WRITTEN/RENAMED/', &
507 & 'SUPPRESSED since Opening = ',i6,3(' /',i6), &
508 & t111,'X',/,' X',t111,'X',/,t2,110('X'),/)
509 !
510 
511 CONTAINS
512 
513 #include "lficom2.ixm.h"
514 #include "lficom2.ixnims.h"
515 #include "lficom2.llmoer.h"
516 
517 END SUBROUTINE lfiist_fort
518 
519 
520 
521 ! Oct-2012 P. Marguinaud 64b LFI
522 SUBROUTINE lfiist64 &
523 & (krang, ldapfe)
524 USE lfimod, ONLY : lfi => lficom_default, &
527 USE lfi_precision
528 IMPLICIT NONE
529 ! Arguments
530 INTEGER (KIND=JPLIKB) KRANG ! IN
531 LOGICAL LDAPFE ! IN
532 
533 IF (.NOT. lficom_default_init) CALL new_lfi_default ()
534 
535 CALL lfiist_fort &
536 & (lfi, krang, ldapfe)
537 
538 END SUBROUTINE lfiist64
539 
540 SUBROUTINE lfiist &
541 & (krang, ldapfe)
542 USE lfimod, ONLY : lfi => lficom_default, &
545 USE lfi_precision
546 IMPLICIT NONE
547 ! Arguments
548 INTEGER (KIND=JPLIKM) KRANG ! IN
549 LOGICAL LDAPFE ! IN
550 
551 IF (.NOT. lficom_default_init) CALL new_lfi_default ()
552 
553 CALL lfiist_mt &
554 & (lfi, krang, ldapfe)
555 
556 END SUBROUTINE lfiist
557 
558 SUBROUTINE lfiist_mt &
559 & (lfi, krang, ldapfe)
560 USE lfimod, ONLY : lficom
561 USE lfi_precision
562 IMPLICIT NONE
563 ! Arguments
564 type(lficom) lfi ! INOUT
565 INTEGER (KIND=JPLIKM) KRANG ! IN
566 LOGICAL LDAPFE ! IN
567 ! Local integers
568 INTEGER (KIND=JPLIKB) IRANG ! IN
569 ! Convert arguments
570 
571 irang = int( krang, jplikb)
572 
573 CALL lfiist_fort &
574 & (lfi, irang, ldapfe)
575 
576 
577 END SUBROUTINE lfiist_mt
578 
579 !INTF KRANG IN
580 !INTF LDAPFE IN
static const char * trim(const char *name, int *n)
Definition: drhook.c:2383
integer, parameter jplikb
ERROR in a
Definition: ecsort_shared.h:90
subroutine lfiist_mt(LFI, KRANG, LDAPFE)
Definition: lfiist.F90:560
subroutine new_lfi_default()
Definition: lfimod.F90:376
logical, save lficom_default_init
Definition: lfimod.F90:371
subroutine lfiist_fort(LFI, KRANG, LDAPFE)
Definition: lfiist.F90:6
integer, parameter jprb
Definition: parkind1.F90:32
subroutine lfidah_fort(LFI, KDATE, KHEURE)
Definition: lfidah.F90:6
type(lficom), target, save lficom_default
Definition: lfimod.F90:370
logical lhook
Definition: yomhook.F90:15
subroutine lfiems_fort(LFI, KNUMER, KNIMES, KCODE, LDFATA, CDMESS, CDNSPR, CDACTI)
Definition: lfiems.F90:7
subroutine lfiist64(KRANG, LDAPFE)
Definition: lfiist.F90:524
Definition: lfimod.F90:1
subroutine lfiist(KRANG, LDAPFE)
Definition: lfiist.F90:542
ERROR in index
Definition: ecsort_shared.h:90