SURFEX v7.3
General documentation of Surfex
|
00001 C Jan-2011 P. Marguinaud Thread-safe LFI 00002 SUBROUTINE LFINIM_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'AJUSTER LE NIVEAU DE MESSAGERIE 00008 C PROPRE AUX ACTIONS FAITES SUR UN FICHIER PARTICULIER, OUVERT POUR 00009 C LE LOGICIEL LFI. 00010 C CEPENDANT, TANT QUE LE NIVEAU DE MESSAGERIE GLOBAL *LFI%NIMESG* 00011 C VAUT 0 OU 2, LE NIVEAU PROPRE AU FICHIER EST INOPERANT. 00012 C *LFI%NIMESG* VAUT PAR DEFAUT 1, ET EST REGLABLE VIA LE S/P "LFINMG". 00013 C** 00014 C ARGUMENTS : KREP (SORTIE) ==> CODE-REPONSE DU SOUS-PROGRAMME; 00015 C KNUMER (ENTREE) ==> LFI%NUMERO D'UNITE LOGIQUE CONCERNEE; 00016 C KNIMES (ENTREE) ==> NIVEAU DE MESSAGERIE SOUHAITE. 00017 C 00018 #ifndef f77 00019 #include "precision.h" 00020 #endif 00021 C 00022 TYPE(LFICOM) :: LFI 00023 INTEGER KREP, KNUMER, KNIMES, IRANG, IREP, INIMES, INIMEX 00024 C 00025 #include "lficom2.h" 00026 #include "lficom_mt.h" 00027 C 00028 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00029 IF (LHOOK) CALL DR_HOOK('LFINIM_MT',0,ZHOOK_HANDLE) 00030 CALL LFINUM_MT (LFI, KNUMER,IRANG) 00031 INIMEX=0 00032 C 00033 IF (IRANG.EQ.0) THEN 00034 IREP=-1 00035 ELSEIF (KNIMES.GE.0.AND.KNIMES.LE.2) THEN 00036 INIMEX=IXNIMS (IRANG) 00037 LFI%NIVMES(IRANG)=KNIMES 00038 LFI%NDEROP(IRANG)=5 00039 IREP=0 00040 ELSE 00041 IREP=-2 00042 ENDIF 00043 C 00044 KREP=IREP 00045 LLFATA=LLMOER (IREP,IRANG) 00046 C 00047 IF (LLFATA.OR.MAX0 (IXNIMS (IRANG),INIMEX).EQ.2) THEN 00048 INIMES=2 00049 ELSE 00050 IF (LHOOK) CALL DR_HOOK('LFINIM_MT',1,ZHOOK_HANDLE) 00051 RETURN 00052 ENDIF 00053 C 00054 CLNSPR='LFINIM' 00055 WRITE (UNIT=CLMESS,FMT='(''KREP='',I4,'', KNUMER=' 00056 ',I3, S '', KNIMES='',I3)') KREP,KNUMER,KNIMES 00057 CALL LFIEMS_MT (LFI, KNUMER,INIMES,IREP,LLFATA, 00058 S CLMESS,CLNSPR,CLACTI) 00059 C 00060 IF (LHOOK) CALL DR_HOOK('LFINIM_MT',1,ZHOOK_HANDLE) 00061 END 00062