SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/LIB/XRD38/LFI/mt/lfista_mt.F
Go to the documentation of this file.
00001 C Jan-2011 P. Marguinaud Thread-safe LFI
00002       SUBROUTINE LFISTA_MT (LFI, KREP, KNUMER )
00003       USE LFIMOD, ONLY : LFICOM
00004       USE PARKIND1, ONLY : JPRB
00005       USE YOMHOOK , ONLY : LHOOK, DR_HOOK
00006 C****
00007 C        SOUS-PROGRAMME CHARGE D'IMPRIMER LES STATISTIQUES D'UTILISATION
00008 C     D'UN FICHIER OUVERT POUR LE LOGICIEL DE FICHIERS INDEXES *LFI*.
00009 C**
00010 C    ARGUMENTS : KREP   (SORTIE) ==> CODE-REPONSE DU SOUS-PROGRAMME;
00011 C                KNUMER (ENTREE) ==> LFI%NUMERO DE L'UNITE LOGIQUE.
00012 C
00013 C        L'IMPRESSION DES STATISTIQUES VIA CE SOUS-PROGRAMME EST
00014 C     FAITE QUELQUE SOIT LES OPTIONS D'IMPRESSION DES STATISTIQUES
00015 C     A LA FERMETURE ( GLOBALE, OU PROPRE AU FICHIER ); IL SUFFIT
00016 C     QUE L'UNITE LOGIQUE *KNUMER* SOIT OUVERTE POUR LE LOGICIEL LFI.
00017 C        PAR AILLEURS, UTILSATION EST A COMPRENDRE "DEPUIS L'OUVERTURE".
00018 C     ( MEME S'IL Y A QUELQUES ASPECTS "HISTORIQUES" )
00019 C
00020 #ifndef f77
00021 #include "precision.h"
00022 #endif
00023 C
00024       TYPE(LFICOM) :: LFI
00025       INTEGER KREP, KNUMER, IRANG, IREP, INIMES
00026 C
00027 #include "lficom2.h"
00028 #include "lficom_mt.h"
00029 C**
00030 C     1.  -  CONTROLES DU PARAMETRES D'ENTREE, PUIS INITIALISATIONS.
00031 C-----------------------------------------------------------------------
00032 C
00033       REAL(KIND=JPRB) :: ZHOOK_HANDLE
00034       IF (LHOOK) CALL DR_HOOK('LFISTA_MT',0,ZHOOK_HANDLE)
00035       CALL LFINUM_MT (LFI, KNUMER,IRANG)
00036 C
00037       IF (IRANG.EQ.0) THEN
00038         IREP=-1
00039         GOTO 1001
00040       ENDIF
00041 C
00042        IF (LFI%LMULTI) CALL LFIVER_MT (LFI, LFI%VERRUE(IRANG),'ON')
00043 C**
00044 C     2.  -  IMPRESSION DES STATISTIQUES PROPREMENT DITE.
00045 C-----------------------------------------------------------------------
00046 C
00047       CALL LFIIST_MT (LFI, IRANG,.FALSE.)
00048       IREP=0
00049 C**
00050 C    10.  -  PHASE TERMINALE : MESSAGERIE, AVEC "ABORT" EVENTUEL,
00051 C            VIA LE SOUS-PROGRAMME "LFIEMS" .
00052 C-----------------------------------------------------------------------
00053 C
00054  1001 CONTINUE
00055       KREP=IREP
00056       LLFATA=LLMOER (IREP,IRANG)
00057 C
00058       IF (IRANG.NE.0) THEN
00059         LFI%NDEROP(IRANG)=8
00060         LFI%NDERCO(IRANG)=IREP
00061          IF (LFI%LMULTI) CALL LFIVER_MT (LFI, LFI%VERRUE(IRANG),'OFF')
00062       ENDIF
00063 C
00064       IF (LLFATA.OR.IXNIMS (IRANG).EQ.2) THEN
00065         INIMES=2
00066       ELSE
00067         IF (LHOOK) CALL DR_HOOK('LFISTA_MT',1,ZHOOK_HANDLE)
00068         RETURN
00069       ENDIF
00070 C
00071       CLNSPR='LFISTA'
00072       WRITE (UNIT=CLMESS,FMT='(''KREP='',I4,'', KNUMER='',I3)')
00073      S     KREP,KNUMER
00074       CALL LFIEMS_MT (LFI, KNUMER,INIMES,IREP,LLFATA,
00075      S                CLMESS,CLNSPR,CLACTI)
00076 C
00077       IF (LHOOK) CALL DR_HOOK('LFISTA_MT',1,ZHOOK_HANDLE)
00078       END
00079