SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/LIB/XRD38/LFI/mt/lfiosf_mt.F
Go to the documentation of this file.
00001 C Jan-2011 P. Marguinaud Thread-safe LFI
00002       SUBROUTINE LFIOSF_MT (LFI, KREP, KNUMER, LDIMST )
00003       USE LFIMOD, ONLY : LFICOM
00004       USE PARKIND1, ONLY : JPRB
00005       USE YOMHOOK , ONLY : LHOOK, DR_HOOK
00006 C****
00007 C        Ce sous-programme permet d'obtenir l'option courante gouvernant
00008 C     l'impression de STATISTIQUES a la fermeture d'un fichier
00009 C     particulier, ouvert pour le logiciel LFI.
00010 C
00011 C        Noter que si le niveau global d'impression des statistiques
00012 C     *LFI%NISTAG* vaut 0 ou 2, l'option propre au fichier est inoperante.
00013 C     *LFI%NISTAG* vaut par defaut 1, est reglable via le s/p "LFINSG",
00014 C     et sa valeur peut etre obtenue par le s/p "LFIOSG".
00015 C**
00016 C     ARGUMENTS : KREP   (Sortie) ==> Code-REPonse du sous-programme;
00017 C                 KNUMER (Entree) ==> NUMERo d'unite logique concernee;
00018 C                 LDIMST (Sortie) ==> Option d'IMpression des STatisti-
00019 C                                     ques a la fermeture (vrai=oui).
00020 C
00021 #ifndef f77
00022 #include "precision.h"
00023 #endif
00024 C
00025       TYPE(LFICOM) :: LFI
00026       INTEGER KREP, KNUMER, IRANG, IREP, INIMES
00027 C
00028       LOGICAL LDIMST
00029 C
00030 #include "lficom2.h"
00031 #include "lficom_mt.h"
00032 C
00033       REAL(KIND=JPRB) :: ZHOOK_HANDLE
00034       IF (LHOOK) CALL DR_HOOK('LFIOSF_MT',0,ZHOOK_HANDLE)
00035       CALL LFINUM_MT (LFI, KNUMER,IRANG)
00036 C
00037       IF (IRANG.NE.0) THEN
00038          IF (LFI%LMULTI) CALL LFIVER_MT (LFI, LFI%VERRUE(IRANG),'ON')
00039         LDIMST=LFI%LISTAT(IRANG)
00040         LFI%NDEROP(IRANG)=20
00041          IF (LFI%LMULTI) CALL LFIVER_MT (LFI, LFI%VERRUE(IRANG),'OFF')
00042         IREP=0
00043       ELSE
00044         IREP=-1
00045       ENDIF
00046 C
00047       KREP=IREP
00048       LLFATA=LLMOER (IREP,IRANG)
00049 C
00050       IF (LLFATA.OR.IXNIMS (IRANG).EQ.2) THEN
00051         INIMES=2
00052       ELSE
00053         IF (LHOOK) CALL DR_HOOK('LFIOSF_MT',1,ZHOOK_HANDLE)
00054         RETURN
00055       ENDIF
00056 C
00057       CLNSPR='LFIOSF'
00058       WRITE (UNIT=CLMESS,FMT='(''KREP='',I4,'', KNUMER='
00059 ',I3,     S       '', LDIMST= '',L1)') KREP,KNUMER,LDIMST
00060       CALL LFIEMS_MT (LFI, KNUMER,INIMES,IREP,LLFATA,
00061      S                CLMESS,CLNSPR,CLACTI)
00062 C
00063       IF (LHOOK) CALL DR_HOOK('LFIOSF_MT',1,ZHOOK_HANDLE)
00064       END
00065