SURFEX v7.3
General documentation of Surfex
|
00001 C Jan-2011 P. Marguinaud Thread-safe LFI 00002 SUBROUTINE LFIERF_MT (LFI, KREP, KNUMER, LDERFA ) 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'ACTIVER OU DE DESACTIVER L'OPTION 00008 C RENDANT FATALE TOUTE ERREUR DETECTEE SUR UN FICHIER PARTICULIER, 00009 C OUVERT POUR LE LOGICIEL LFI. 00010 C CEPENDANT, TANT QUE LE NIVEAU GLOBAL D'ERREUR FATALE *LFI%NERFAG* 00011 C VAUT 0 OU 2, L'OPTION PROPRE AU FICHIER EST INOPERANTE. 00012 C *LFI%NERFAG* VAUT PAR DEFAUT 1, ET EST REGLABLE VIA LE S/P "LFINEG". 00013 C** 00014 C ARGUMENTS : KREP (SORTIE) ==> CODE-REPONSE DU SOUS-PROGRAMME; 00015 C KNUMER (ENTREE) ==> LFI%NUMERO D'UNITE LOGIQUE CONCERNEE; 00016 C LDERFA (ENTREE) ==> OPTION D'ERREUR FATALE (VRAI=OUI). 00017 C 00018 #ifndef f77 00019 #include "precision.h" 00020 #endif 00021 C 00022 TYPE(LFICOM) :: LFI 00023 INTEGER KREP, KNUMER, IRANG, IREP, INIMES 00024 C 00025 LOGICAL LDERFA 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('LFIERF_MT',0,ZHOOK_HANDLE) 00032 CALL LFINUM_MT (LFI, KNUMER,IRANG) 00033 C 00034 IF (IRANG.NE.0) THEN 00035 LFI%LERFAT(IRANG)=LDERFA 00036 LFI%NDEROP(IRANG)=4 00037 IREP=0 00038 ELSE 00039 IREP=-1 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('LFIERF_MT',1,ZHOOK_HANDLE) 00049 RETURN 00050 ENDIF 00051 C 00052 CLNSPR='LFIERF' 00053 WRITE (UNIT=CLMESS,FMT='(''KREP='',I4,'', KNUMER=' 00054 ',I3, S '', LDERFA= '',L1)') KREP,KNUMER,LDERFA 00055 CALL LFIEMS_MT (LFI, KNUMER,INIMES,IREP,LLFATA, 00056 S CLMESS,CLNSPR,CLACTI) 00057 C 00058 IF (LHOOK) CALL DR_HOOK('LFIERF_MT',1,ZHOOK_HANDLE) 00059 END 00060