SURFEX v7.3
General documentation of Surfex
|
00001 C Jan-2011 P. Marguinaud Thread-safe LFI 00002 SUBROUTINE LFIOEF_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'obtenir l'option courante 00008 C de traitement des ERREURS detectees par le logiciel LFI, 00009 C pour un fichier particulier ouvert pour ce logiciel. 00010 C 00011 C Noter que si le niveau global d'erreur fatale *LFI%NERFAG* 00012 C vaut 0 ou 2, l'option propre au fichier est inoperante. 00013 C *LFI%NERFAG* vaut par defaut 1, est reglable via le s/p "LFINEG", 00014 C et sa valeur peut etre obtenue par le s/p "LFIOEG". 00015 C** 00016 C ARGUMENTS : KREP (Sortie) ==> Code-REPonse du sous-programme; 00017 C KNUMER (Entree) ==> NUMERo d'unite logique concernee; 00018 C LDERFA (Sortie) ==> Option d'ERreur FAtale (vrai=oui). 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 LOGICAL LDERFA 00028 C 00029 #include "lficom2.h" 00030 #include "lficom_mt.h" 00031 C 00032 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00033 IF (LHOOK) CALL DR_HOOK('LFIOEF_MT',0,ZHOOK_HANDLE) 00034 CALL LFINUM_MT (LFI, KNUMER,IRANG) 00035 C 00036 IF (IRANG.EQ.0) THEN 00037 IREP=-1 00038 ELSE 00039 LDERFA=LFI%LERFAT(IRANG) 00040 LFI%NDEROP(IRANG)=19 00041 IREP=0 00042 ENDIF 00043 C 00044 LLFATA=LLMOER (IREP,IRANG) 00045 KREP=IREP 00046 C 00047 IF (LLFATA.OR.IXNIMS (IRANG).EQ.2) THEN 00048 INIMES=2 00049 ELSE 00050 IF (LHOOK) CALL DR_HOOK('LFIOEF_MT',1,ZHOOK_HANDLE) 00051 RETURN 00052 ENDIF 00053 C 00054 CLNSPR='LFIOEF' 00055 WRITE (UNIT=CLMESS,FMT='(''KREP='',I4,'', KNUMER=' 00056 ',I3, S '', LDERFA= '',L1)') KREP,KNUMER,LDERFA 00057 CALL LFIEMS_MT (LFI, KNUMER,INIMES,IREP,LLFATA, 00058 S CLMESS,CLNSPR,CLACTI) 00059 C 00060 IF (LHOOK) CALL DR_HOOK('LFIOEF_MT',1,ZHOOK_HANDLE) 00061 END 00062