SURFEX v8.1
General documentation of Surfex
lfiofd.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 lfiofd_fort &
5 & (lfi, kfacmd )
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
13 ! du FACTEUR MULTIPLICATIF par DEFAUT du logiciel LFI.
14 !**
15 ! ARGUMENT : KFACMD (Sortie) ==> Facteur multiplicatif par defaut
16 !
17 ! Le facteur multiplicatif est, pour une unite logique LFI, le
18 ! rapport entre la longueur d'enregistrement du fichier et LFI%JPRECL.
19 !
20 !
21 TYPE(lficom) :: LFI
22 INTEGER (KIND=JPLIKB) KFACMD, INIMES, IREP, INUMER
23 CHARACTER(LEN=LFI%JPLSPX) CLNSPR
24 CHARACTER(LEN=LFI%JPLMES) CLMESS
25 CHARACTER(LEN=LFI%JPLFTX) CLACTI
26 
27 !
28 REAL(KIND=JPRB) :: ZHOOK_HANDLE
29 IF (lhook) CALL dr_hook('LFIOFD_FORT',0,zhook_handle)
30 clacti=''
31 IF (lfi%LFIOFD_LLPREA) THEN
32  CALL lfiini_fort &
33 & (lfi, 2_jplikb )
34  lfi%LFIOFD_LLPREA=.false.
35 ENDIF
36 !
37 IF (lfi%LMULTI) CALL lfiver_fort &
38 & (lfi, lfi%VERGLA,'ON')
39 kfacmd=lfi%MFACTU(0)
40 IF (lfi%LMULTI) CALL lfiver_fort &
41 & (lfi, lfi%VERGLA,'OFF')
42 inimes=lfi%NIMESG
43 !
44 IF (inimes.EQ.2) THEN
45  irep=0
46  inumer=lfi%JPNIL
47  clnspr='LFIOFD'
48  WRITE (unit=clmess,fmt='(''KFACMD='',I3)') kfacmd
49  CALL lfiems_fort &
50 & (lfi, inumer,inimes,irep,.false., &
51 & clmess,clnspr,clacti)
52 ENDIF
53 !
54 IF (lhook) CALL dr_hook('LFIOFD_FORT',1,zhook_handle)
55 END SUBROUTINE lfiofd_fort
56 
57 
58 
59 ! Oct-2012 P. Marguinaud 64b LFI
60 SUBROUTINE lfiofd64 &
61 & (kfacmd)
62 USE lfimod, ONLY : lfi => lficom_default, &
65 USE lfi_precision
66 IMPLICIT NONE
67 ! Arguments
68 INTEGER (KIND=JPLIKB) KFACMD ! OUT
69 
70 IF (.NOT. lficom_default_init) CALL new_lfi_default ()
71 
72 CALL lfiofd_fort &
73 & (lfi, kfacmd)
74 
75 END SUBROUTINE lfiofd64
76 
77 SUBROUTINE lfiofd &
78 & (kfacmd)
79 USE lfimod, ONLY : lfi => lficom_default, &
82 USE lfi_precision
83 IMPLICIT NONE
84 ! Arguments
85 INTEGER (KIND=JPLIKM) KFACMD ! OUT
86 
87 IF (.NOT. lficom_default_init) CALL new_lfi_default ()
88 
89 CALL lfiofd_mt &
90 & (lfi, kfacmd)
91 
92 END SUBROUTINE lfiofd
93 
94 SUBROUTINE lfiofd_mt &
95 & (lfi, kfacmd)
96 USE lfimod, ONLY : lficom
97 USE lfi_precision
98 IMPLICIT NONE
99 ! Arguments
100 type(lficom) lfi ! INOUT
101 INTEGER (KIND=JPLIKM) KFACMD ! OUT
102 ! Local integers
103 INTEGER (KIND=JPLIKB) IFACMD ! OUT
104 ! Convert arguments
105 
106 
107 CALL lfiofd_fort &
108 & (lfi, ifacmd)
109 
110 kfacmd = int( ifacmd, jplikm)
111 
112 END SUBROUTINE lfiofd_mt
113 
114 !INTF KFACMD OUT
subroutine lfiofd(KFACMD)
Definition: lfiofd.F90:79
subroutine new_lfi_default()
Definition: lfimod.F90:376
subroutine lfiofd_mt(LFI, KFACMD)
Definition: lfiofd.F90:96
logical, save lficom_default_init
Definition: lfimod.F90:371
subroutine lfiofd64(KFACMD)
Definition: lfiofd.F90:62
subroutine lfiver_fort(LFI, PVEROU, CDSENS)
Definition: lfiver.F90:6
integer, parameter jprb
Definition: parkind1.F90:32
subroutine lfiini_fort(LFI, KOPTIO)
Definition: lfiini.F90:6
subroutine lfiofd_fort(LFI, KFACMD)
Definition: lfiofd.F90:6
type(lficom), target, save lficom_default
Definition: lfimod.F90:370
logical lhook
Definition: yomhook.F90:15
integer, parameter jplikm
subroutine lfiems_fort(LFI, KNUMER, KNIMES, KCODE, LDFATA, CDMESS, CDNSPR, CDACTI)
Definition: lfiems.F90:7
Definition: lfimod.F90:1