SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/LIB/XRD38/LFI/mt/lfinsg_mt.F
Go to the documentation of this file.
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