SURFEX v7.3
General documentation of Surfex
|
00001 C Jan-2011 P. Marguinaud Thread-safe LFI 00002 SUBROUTINE LFINSG_MT (LFI, KNIVAU ) 00003 USE LFIMOD, ONLY : LFICOM 00004 USE PARKIND1, ONLY : JPRB 00005 USE YOMHOOK , ONLY : LHOOK, DR_HOOK 00006 C**** 00007 C CE SOUS-PROGRAMME SE CHARGE DE METTRE LE NIVEAU GLOBAL 00008 C D'IMPRESSION DES STATISTIQUES A LA FERMETURE (*LFI%NISTAG*) 00009 C A LA VALEUR KNIVAU . PAR DEFAUT, LFI%NISTAG VAUT 1 . 00010 C** 00011 C ARGUMENT : KNIVAU (ENTREE) ==> NIVEAU GLOBAL D'IMPRESSION DES 00012 C STATISTIQUES; VALEURS POSSIBLES 00013 C 00014 C 0 : NE PAS IMPRIMER LES STATISTIQUES A LA FERMETURE D'UN 00015 C FICHIER, MEME SI CELA AVAIT ETE DEMANDE LORS DE SON OUVERTURE. 00016 C 1 : N'IMPRIMER LES STATISTIQUES A LA FERMETURE QUE SI CELA 00017 C AVAIT ETE DEMANDE LORS DE L'OUVERTURE (MODE PAR DEFAUT). 00018 C 2 : IMPRIMER LES STATISTIQUES A LA FERMETURE D'UN FICHIER, 00019 C MEME SI LE FICHIER AVAIT ETE OUVERT SANS CETTE OPTION. 00020 C 00021 #ifndef f77 00022 #include "precision.h" 00023 #endif 00024 C 00025 TYPE(LFICOM) :: LFI 00026 INTEGER KNIVAU, INIMES, IREP, INUMER 00027 #include "lficom_mt.h" 00028 C 00029 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00030 IF (LHOOK) CALL DR_HOOK('LFINSG_MT',0,ZHOOK_HANDLE) 00031 IF (LFI%LFINSG_LLPREA) THEN 00032 CALL LFIINI_MT (LFI, 2) 00033 LFI%LFINSG_LLPREA=.FALSE. 00034 ENDIF 00035 C 00036 IF (KNIVAU.GE.0.AND.KNIVAU.LE.2) THEN 00037 LFI%NISTAG=KNIVAU 00038 IREP=0 00039 ELSE 00040 IREP=-2 00041 ENDIF 00042 C 00043 C MESSAGERIE EVENTUELLE, AVEC ABORT SI NECESSAIRE . 00044 C 00045 LLFATA=IREP.NE.0.AND.LFI%NERFAG.NE.2 00046 C 00047 IF (LLFATA) THEN 00048 INIMES=2 00049 ELSEIF (IREP.NE.0) THEN 00050 INIMES=0 00051 ELSEIF (LFI%NIMESG.EQ.2) THEN 00052 INIMES=2 00053 ELSE 00054 IF (LHOOK) CALL DR_HOOK('LFINSG_MT',1,ZHOOK_HANDLE) 00055 RETURN 00056 ENDIF 00057 C 00058 INUMER=LFI%JPNIL 00059 CLNSPR='LFINSG' 00060 C 00061 IF (MAX0 (INIMES,LFI%NIMESG).EQ.2) THEN 00062 C 00063 IF (LFI%LFRANC) THEN 00064 WRITE (UNIT=CLMESS, 00065 S FMT='(''KNIVAU='',I5,'', CODE INTERNE=' 00066 ', S I4)') KNIVAU,IREP 00067 ELSE 00068 WRITE (UNIT=CLMESS, 00069 S FMT='(''KNIVAU='',I5,'', INTERNAL CODE=' 00070 ', S I4)') KNIVAU,IREP 00071 ENDIF 00072 C 00073 IF (INIMES.NE.2) CALL LFIEMS_MT (LFI, INUMER,LFI%NIMESG,IREP, 00074 S .FALSE.,CLMESS, 00075 S CLNSPR,CLACTI) 00076 ENDIF 00077 C 00078 CALL LFIEMS_MT (LFI, INUMER,INIMES,IREP,LLFATA, 00079 S CLMESS,CLNSPR,CLACTI) 00080 C 00081 IF (LHOOK) CALL DR_HOOK('LFINSG_MT',1,ZHOOK_HANDLE) 00082 END 00083