SURFEX v8.1
General documentation of Surfex
lfidah.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 lfidah_fort &
5 & (lfi, kdate, kheure )
6 USE lfimod, ONLY : lficom
7 USE parkind1, ONLY : jprb
8 USE yomhook , ONLY : lhook, dr_hook
10 IMPLICIT NONE
11 !****
12 ! SOUS-PROGRAMME CHARGE DE DONNER LA DATE ET L'HEURE MACHINE
13 ! SOUS LA FORME D'ENTIERS .
14 !**
15 ! ARGUMENTS (SORTIE) KDATE ==> DATE SOUS LA FORME AAMMJJ;
16 ! KHEURE ==> HEURE SOUS LA FORME HHMMSS .
17 !
18 TYPE(lficom) :: LFI
19 CHARACTER (LEN=8) CLAUXI
20 !
21 INTEGER (KIND=JPLIKB) KDATE, KHEURE
22 CHARACTER (LEN=10) CLAUXIT
23 CHARACTER (LEN=5) CLDIFF
24 INTEGER (KIND=JPLIKB) KTIME(8)
25 INTEGER (KIND=JPLIKB) IMOIS, IJOUR, IANNEE
26 INTEGER (KIND=JPLIKB) IHEURE, IMINUT, ISECON
27 INTEGER (KIND=JPLIKM) ITIME(8)
28 !
29 
30 REAL(KIND=JPRB) :: ZHOOK_HANDLE
31 IF (lhook) CALL dr_hook('LFIDAH_FORT',0,zhook_handle)
32 CALL date_and_time (clauxi,clauxit,cldiff,itime)
33 ktime(1:8)=int(itime(1:8), jplikb)
34 iannee=ktime(1)
35 imois=ktime(2)
36 ijour=ktime(3)
37 iheure=ktime(5)
38 iminut=ktime(6)
39 isecon=ktime(7)
40 !
41 kdate=100*(100*iannee+imois)+ijour
42 kheure=100*(100*iheure+iminut)+isecon
43 !
44 IF (lhook) CALL dr_hook('LFIDAH_FORT',1,zhook_handle)
45 END SUBROUTINE lfidah_fort
46 
47 
48 
49 ! Oct-2012 P. Marguinaud 64b LFI
50 SUBROUTINE lfidah64 &
51 & (kdate, kheure)
52 USE lfimod, ONLY : lfi => lficom_default, &
55 USE lfi_precision
56 IMPLICIT NONE
57 ! Arguments
58 INTEGER (KIND=JPLIKB) KDATE ! OUT
59 INTEGER (KIND=JPLIKB) KHEURE ! OUT
60 
61 IF (.NOT. lficom_default_init) CALL new_lfi_default ()
62 
63 CALL lfidah_fort &
64 & (lfi, kdate, kheure)
65 
66 END SUBROUTINE lfidah64
67 
68 SUBROUTINE lfidah &
69 & (kdate, kheure)
70 USE lfimod, ONLY : lfi => lficom_default, &
73 USE lfi_precision
74 IMPLICIT NONE
75 ! Arguments
76 INTEGER (KIND=JPLIKM) KDATE ! OUT
77 INTEGER (KIND=JPLIKM) KHEURE ! OUT
78 
79 IF (.NOT. lficom_default_init) CALL new_lfi_default ()
80 
81 CALL lfidah_mt &
82 & (lfi, kdate, kheure)
83 
84 END SUBROUTINE lfidah
85 
86 SUBROUTINE lfidah_mt &
87 & (lfi, kdate, kheure)
88 USE lfimod, ONLY : lficom
89 USE lfi_precision
90 IMPLICIT NONE
91 ! Arguments
92 type(lficom) lfi ! INOUT
93 INTEGER (KIND=JPLIKM) KDATE ! OUT
94 INTEGER (KIND=JPLIKM) KHEURE ! OUT
95 ! Local integers
96 INTEGER (KIND=JPLIKB) IDATE ! OUT
97 INTEGER (KIND=JPLIKB) IHEURE ! OUT
98 ! Convert arguments
99 
100 
101 CALL lfidah_fort &
102 & (lfi, idate, iheure)
103 
104 kdate = int( idate, jplikm)
105 kheure = int( iheure, jplikm)
106 
107 END SUBROUTINE lfidah_mt
108 
109 !INTF KDATE OUT
110 !INTF KHEURE OUT
integer, parameter jplikb
subroutine new_lfi_default()
Definition: lfimod.F90:376
logical, save lficom_default_init
Definition: lfimod.F90:371
subroutine lfidah64(KDATE, KHEURE)
Definition: lfidah.F90:52
integer, parameter jprb
Definition: parkind1.F90:32
subroutine lfidah_fort(LFI, KDATE, KHEURE)
Definition: lfidah.F90:6
type(lficom), target, save lficom_default
Definition: lfimod.F90:370
logical lhook
Definition: yomhook.F90:15
integer, parameter jplikm
Definition: lfimod.F90:1
subroutine lfidah(KDATE, KHEURE)
Definition: lfidah.F90:70
subroutine lfidah_mt(LFI, KDATE, KHEURE)
Definition: lfidah.F90:88