SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/LIB/XRD38/LFI/mt/lfiomf_mt.F
Go to the documentation of this file.
00001 C Jan-2011 P. Marguinaud Thread-safe LFI
00002       SUBROUTINE LFIOMF_MT (LFI, KREP, KNUMER, KNIMES )
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 la valeur courante du niveau
00008 C     de messagerie propre aux actions faites via le logiciel LFI,
00009 C     sur un fichier particulier ouvert pour ce logiciel.
00010 C
00011 C        Noter que si le niveau global de messagerie *LFI%NIMESG*
00012 C     vaut 0 ou 2, le niveau propre au fichier est inoperant.
00013 C     *LFI%NIMESG* vaut par defaut 1, est reglable via le s/p "LFINMG",
00014 C     et sa valeur courante peut etre obtenue par le s/p "LFIOMG".
00015 C**
00016 C     ARGUMENTS : KREP   (Sortie) ==> Code-REPonse du sous-programme;
00017 C                 KNUMER (Entree) ==> NUMERo d'unite logique concernee;
00018 C                 KNIMES (Sortie) ==> NIveau courant de MESsagerie.
00019 C
00020 #ifndef f77
00021 #include "precision.h"
00022 #endif
00023 C
00024       TYPE(LFICOM) :: LFI
00025       INTEGER KREP, KNUMER, KNIMES, IRANG, IREP, INIMES
00026 C
00027 #include "lficom2.h"
00028 #include "lficom_mt.h"
00029 C
00030       REAL(KIND=JPRB) :: ZHOOK_HANDLE
00031       IF (LHOOK) CALL DR_HOOK('LFIOMF_MT',0,ZHOOK_HANDLE)
00032       CALL LFINUM_MT (LFI, KNUMER,IRANG)
00033 C
00034       IF (IRANG.EQ.0) THEN
00035         IREP=-1
00036       ELSE
00037         KNIMES=LFI%NIVMES(IRANG)
00038         LFI%NDEROP(IRANG)=21
00039         IREP=0
00040       ENDIF
00041 C
00042       LLFATA=LLMOER (IREP,IRANG)
00043       KREP=IREP
00044 C
00045       IF (LLFATA.OR.IXNIMS (IRANG).EQ.2) THEN
00046         INIMES=2
00047       ELSE
00048         IF (LHOOK) CALL DR_HOOK('LFIOMF_MT',1,ZHOOK_HANDLE)
00049         RETURN
00050       ENDIF
00051 C
00052       CLNSPR='LFIOMF'
00053       WRITE (UNIT=CLMESS,FMT='(''KREP='',I4,'', KNUMER='
00054 ',I3,     S       '', KNIMES='',I3)') KREP,KNUMER,KNIMES
00055       CALL LFIEMS_MT (LFI, KNUMER,INIMES,IREP,LLFATA,
00056      S                CLMESS,CLNSPR,CLACTI)
00057 C
00058       IF (LHOOK) CALL DR_HOOK('LFIOMF_MT',1,ZHOOK_HANDLE)
00059       END
00060