SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/LIB/XRD38/LFI/mt/lfitam_mt.F
Go to the documentation of this file.
00001 C Jan-2011 P. Marguinaud Thread-safe LFI
00002       SUBROUTINE LFITAM_MT (LFI, KREP, KNUMER, LDTAML, LDTAME )
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 LES OPTIONS
00008 C     D'UTILISATION MAXIMUM DE LA MEMOIRE TAMPON SUR UN FICHIER
00009 C     PARTICULIER, OUVERT POUR LE LOGICIEL LFI.
00010 C        LES OPTIONS INITIALES SONT DEFINIES A L'OUVERTURE PAR LES
00011 C     VARIABLES GLOBALES *LFI%LTAMLG* ET *LFI%LTAMEG*, RESPECTIVEMENT POUR LES
00012 C     OPERATIONS DE LECTURE ET D'ECRITURE .
00013 C     ( CES VARIABLES GLOBALES SONT DEFINIES DANS LE S/P *LFIINI* )
00014 C**
00015 C     ARGUMENTS : KREP   (SORTIE) ==> CODE-REPONSE DU SOUS-PROGRAMME;
00016 C                 KNUMER (ENTREE) ==> LFI%NUMERO D'UNITE LOGIQUE CONCERNEE;
00017 C                 LDTAML (ENTREE) ==> OPTION D'UTILISATION MAXIMUM DE LA
00018 C                                     LA MEMOIRE TAMPON EN LECTURE;
00019 C                 LDTAME (ENTREE) ==> CF. CI-DESSUS, EN ECRITURE.
00020 C
00021 #ifndef f77
00022 #include "precision.h"
00023 #endif
00024 C
00025       TYPE(LFICOM) :: LFI
00026       INTEGER KREP, KNUMER, IRANG, IREP, INIMES
00027 C
00028       LOGICAL LDTAML, LDTAME
00029 C
00030 #include "lficom2.h"
00031 #include "lficom_mt.h"
00032 C
00033       REAL(KIND=JPRB) :: ZHOOK_HANDLE
00034       IF (LHOOK) CALL DR_HOOK('LFITAM_MT',0,ZHOOK_HANDLE)
00035       CALL LFINUM_MT (LFI, KNUMER,IRANG)
00036 C
00037       IF (IRANG.NE.0) THEN
00038          IF (LFI%LMULTI) CALL LFIVER_MT (LFI, LFI%VERRUE(IRANG),'ON')
00039         LFI%LTAMPL(IRANG)=LDTAML
00040         LFI%LTAMPE(IRANG)=LDTAME
00041         LFI%NDEROP(IRANG)=6
00042          IF (LFI%LMULTI) CALL LFIVER_MT (LFI, LFI%VERRUE(IRANG),'OFF')
00043         IREP=0
00044       ELSE
00045         IREP=-1
00046       ENDIF
00047 C
00048       LLFATA=LLMOER (IREP,IRANG)
00049       KREP=IREP
00050 C
00051       IF (LLFATA.OR.IXNIMS (IRANG).EQ.2) THEN
00052         INIMES=2
00053       ELSE
00054         IF (LHOOK) CALL DR_HOOK('LFITAM_MT',1,ZHOOK_HANDLE)
00055         RETURN
00056       ENDIF
00057 C
00058       CLNSPR='LFITAM'
00059       WRITE (UNIT=CLMESS,FMT='(''KREP='',I4,'', KNUMER='
00060 ',I3,     S  '', LDTAML= '',L1,'', LDTAME= '',L1)') KREP,KNUMER,LDTAML,LDTAME
00061       CALL LFIEMS_MT (LFI, KNUMER,INIMES,IREP,LLFATA,
00062      S                CLMESS,CLNSPR,CLACTI)
00063 C
00064       IF (LHOOK) CALL DR_HOOK('LFITAM_MT',1,ZHOOK_HANDLE)
00065       END
00066