SURFEX v8.1
General documentation of Surfex
lfiosg.F90
Go to the documentation of this file.
1 ! Oct-2012 P. Marguinaud 64b LFI
2 ! Jan-2011 P. Marguinaud Thread-safe LFI
3 
4 SUBROUTINE lfiosg_fort &
5 & (lfi, knivau )
6 USE lfimod, ONLY : lficom
7 USE parkind1, ONLY : jprb
8 USE yomhook , ONLY : lhook, dr_hook
10 IMPLICIT NONE
11 !****
12 ! Ce sous-programme permet d'obtenir la valeur courante du NIVEAU
13 ! GLOBAL d'IMPRESSION des STATISTIQUES concernant les fichiers
14 ! manipules par le logiciel LFI, lors de leur fermeture.
15 !**
16 ! ARGUMENT : KNIVAU (Sortie) ==> Niveau global d'impression des
17 ! statistiques a la fermeture.
18 !
19 ! Valeurs possibles (par defaut, 1):
20 !
21 ! 0 : Dans ce cas, on n'imprime pas de statistiques lors de la fer-
22 ! meture d'un fichier, meme si l'option individuelle du fichier
23 ! concerne est a .TRUE. .
24 !
25 ! 1 : Respect de l'option individuelle du fichier.
26 !
27 ! 2 : Dans ce cas, force l'impression des statistiques a la ferme-
28 ! ture d'un fichier, meme si l'option individuelle du fichier
29 ! est a .FALSE. .
30 !
31 !
32 TYPE(lficom) :: LFI
33 INTEGER (KIND=JPLIKB) KNIVAU, INIMES, IREP, INUMER
34 CHARACTER(LEN=LFI%JPLSPX) CLNSPR
35 CHARACTER(LEN=LFI%JPLMES) CLMESS
36 CHARACTER(LEN=LFI%JPLFTX) CLACTI
37 
38 !
39 REAL(KIND=JPRB) :: ZHOOK_HANDLE
40 IF (lhook) CALL dr_hook('LFIOSG_FORT',0,zhook_handle)
41 clacti=''
42 IF (lfi%LFIOSG_LLPREA) THEN
43  CALL lfiini_fort &
44 & (lfi, 2_jplikb )
45  lfi%LFIOSG_LLPREA=.false.
46 ENDIF
47 !
48 knivau=lfi%NISTAG
49 inimes=lfi%NIMESG
50 !
51 IF (inimes.EQ.2) THEN
52  irep=0
53  inumer=lfi%JPNIL
54  clnspr='LFIOSG'
55  WRITE (unit=clmess,fmt='(''KNIVAU='',I2)') knivau
56  CALL lfiems_fort &
57 & (lfi, inumer,inimes,irep,.false., &
58 & clmess,clnspr,clacti)
59 ENDIF
60 !
61 IF (lhook) CALL dr_hook('LFIOSG_FORT',1,zhook_handle)
62 END SUBROUTINE lfiosg_fort
63 
64 
65 
66 ! Oct-2012 P. Marguinaud 64b LFI
67 SUBROUTINE lfiosg64 &
68 & (knivau)
69 USE lfimod, ONLY : lfi => lficom_default, &
72 USE lfi_precision
73 IMPLICIT NONE
74 ! Arguments
75 INTEGER (KIND=JPLIKB) KNIVAU ! OUT
76 
77 IF (.NOT. lficom_default_init) CALL new_lfi_default ()
78 
79 CALL lfiosg_fort &
80 & (lfi, knivau)
81 
82 END SUBROUTINE lfiosg64
83 
84 SUBROUTINE lfiosg &
85 & (knivau)
86 USE lfimod, ONLY : lfi => lficom_default, &
89 USE lfi_precision
90 IMPLICIT NONE
91 ! Arguments
92 INTEGER (KIND=JPLIKM) KNIVAU ! OUT
93 
94 IF (.NOT. lficom_default_init) CALL new_lfi_default ()
95 
96 CALL lfiosg_mt &
97 & (lfi, knivau)
98 
99 END SUBROUTINE lfiosg
100 
101 SUBROUTINE lfiosg_mt &
102 & (lfi, knivau)
103 USE lfimod, ONLY : lficom
104 USE lfi_precision
105 IMPLICIT NONE
106 ! Arguments
107 type(lficom) lfi ! INOUT
108 INTEGER (KIND=JPLIKM) KNIVAU ! OUT
109 ! Local integers
110 INTEGER (KIND=JPLIKB) INIVAU ! OUT
111 ! Convert arguments
112 
113 
114 CALL lfiosg_fort &
115 & (lfi, inivau)
116 
117 knivau = int( inivau, jplikm)
118 
119 END SUBROUTINE lfiosg_mt
120 
121 !INTF KNIVAU OUT
subroutine new_lfi_default()
Definition: lfimod.F90:376
logical, save lficom_default_init
Definition: lfimod.F90:371
integer, parameter jprb
Definition: parkind1.F90:32
subroutine lfiini_fort(LFI, KOPTIO)
Definition: lfiini.F90:6
subroutine lfiosg_mt(LFI, KNIVAU)
Definition: lfiosg.F90:103
type(lficom), target, save lficom_default
Definition: lfimod.F90:370
logical lhook
Definition: yomhook.F90:15
subroutine lfiosg_fort(LFI, KNIVAU)
Definition: lfiosg.F90:6
integer, parameter jplikm
subroutine lfiems_fort(LFI, KNUMER, KNIMES, KCODE, LDFATA, CDMESS, CDNSPR, CDACTI)
Definition: lfiems.F90:7
Definition: lfimod.F90:1
subroutine lfiosg(KNIVAU)
Definition: lfiosg.F90:86
subroutine lfiosg64(KNIVAU)
Definition: lfiosg.F90:69