SURFEX v8.1
General documentation of Surfex
lficfg.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 lficfg_fort (LFI)
5 USE lfimod, ONLY : lficom
6 USE parkind1, ONLY : jprb
7 USE yomhook , ONLY : lhook, dr_hook
9 IMPLICIT NONE
10 !****
11 ! Sous-programme imprimant les "PARAMETER" de base definissant
12 ! la configuration dans laquelle tourne le logiciel de fichiers
13 ! indexes LFI.
14 !**
15 ! Ce sous-programme n'a pas d'arguments.
16 !
17 !
18 TYPE(lficom) :: LFI
19 INTEGER (KIND=JPLIKB) IREP, INUMER, INIMES
20 CHARACTER(LEN=LFI%JPLSPX) CLNSPR
21 CHARACTER(LEN=LFI%JPLMES) CLMESS
22 CHARACTER(LEN=LFI%JPLFTX) CLACTI
23 LOGICAL LLFATA
24 
25 !
26 !**
27 ! 1. - INITIALISATIONS.
28 !-----------------------------------------------------------------------
29 !
30 REAL(KIND=JPRB) :: ZHOOK_HANDLE
31 IF (lhook) CALL dr_hook('LFICFG_FORT',0,zhook_handle)
32 clacti=''
33 IF (lfi%LFICFG_LLPREA) THEN
34  CALL lfiini_fort &
35 & (lfi, 2_jplikb )
36  lfi%LFICFG_LLPREA=.false.
37 ENDIF
38 !
39 ! Envoi d'une banniere.
40 !
41 irep=0
42 inumer=lfi%JPNIL
43 clnspr='LFICFG'
44 WRITE (unit=lfi%NULOUT,fmt='(///)')
45 !
46 IF (lfi%LFRANC) THEN
47  clmess='Configuration du logiciel LFI'// &
48 & ' ("PARAMETER" de base):'
49 ELSE
50  clmess='Configuration of LFI software (basic "PARAMETER"):'
51 ENDIF
52 !
53 inimes=2
54 llfata=.false.
55 CALL lfiems_fort &
56 & (lfi, inumer,inimes,irep,llfata,clmess, &
57 & clnspr,clacti)
58 WRITE (unit=lfi%NULOUT,fmt='(/)')
59 !**
60 ! 2. - IMPRESSION DES "PARAMETER" DE BASE DU LOGICIEL.
61 !-----------------------------------------------------------------------
62 !
63 IF (lfi%LFRANC) THEN
64  WRITE (unit=lfi%NULOUT,fmt=9005)lfi%JPNBIM
65  WRITE (unit=lfi%NULOUT,fmt=9007)lfi%JPNBIC
66  WRITE (unit=lfi%NULOUT,fmt=9010)lfi%JPNCMO
67  WRITE (unit=lfi%NULOUT,fmt=9020)lfi%JPNCPN
68  WRITE (unit=lfi%NULOUT,fmt=9030)lfi%JPLARD,lfi%JPLARC
69  WRITE (unit=lfi%NULOUT,fmt=9035)lfi%JPFACX
70  WRITE (unit=lfi%NULOUT,fmt=9037)lfi%JPXUFM
71  WRITE (unit=lfi%NULOUT,fmt=9040)lfi%JPRECL
72  WRITE (unit=lfi%NULOUT,fmt=9050)lfi%JPNXFI
73  WRITE (unit=lfi%NULOUT,fmt=9060)lfi%JPNPIA
74  WRITE (unit=lfi%NULOUT,fmt=9070)lfi%JPNXPI
75  WRITE (unit=lfi%NULOUT,fmt=9080)lfi%JPNPIS
76  WRITE (unit=lfi%NULOUT,fmt=9090)lfi%JPNAPP
77  WRITE (unit=lfi%NULOUT,fmt=9100)lfi%JPLDOC
78  WRITE (unit=lfi%NULOUT,fmt=9110)lfi%JPNPDF
79  WRITE (unit=lfi%NULOUT,fmt=9120)lfi%JPNXPR
80  WRITE (unit=lfi%NULOUT,fmt=9130)lfi%JPNIL
81  WRITE (unit=lfi%NULOUT,fmt=9135)lfi%JPLFTX
82  WRITE (unit=lfi%NULOUT,fmt=9137)lfi%JPLFIX
83 ELSE
84  WRITE (unit=lfi%NULOUT,fmt=9006)lfi%JPNBIM
85  WRITE (unit=lfi%NULOUT,fmt=9008)lfi%JPNBIC
86  WRITE (unit=lfi%NULOUT,fmt=9011)lfi%JPNCMO
87  WRITE (unit=lfi%NULOUT,fmt=9021)lfi%JPNCPN
88  WRITE (unit=lfi%NULOUT,fmt=9031)lfi%JPLARD,lfi%JPLARC
89  WRITE (unit=lfi%NULOUT,fmt=9036)lfi%JPFACX
90  WRITE (unit=lfi%NULOUT,fmt=9038)lfi%JPXUFM
91  WRITE (unit=lfi%NULOUT,fmt=9041)lfi%JPRECL
92  WRITE (unit=lfi%NULOUT,fmt=9051)lfi%JPNXFI
93  WRITE (unit=lfi%NULOUT,fmt=9061)lfi%JPNPIA
94  WRITE (unit=lfi%NULOUT,fmt=9071)lfi%JPNXPI
95  WRITE (unit=lfi%NULOUT,fmt=9081)lfi%JPNPIS
96  WRITE (unit=lfi%NULOUT,fmt=9091)lfi%JPNAPP
97  WRITE (unit=lfi%NULOUT,fmt=9101)lfi%JPLDOC
98  WRITE (unit=lfi%NULOUT,fmt=9111)lfi%JPNPDF
99  WRITE (unit=lfi%NULOUT,fmt=9121)lfi%JPNXPR
100  WRITE (unit=lfi%NULOUT,fmt=9131)lfi%JPNIL
101  WRITE (unit=lfi%NULOUT,fmt=9136)lfi%JPLFTX
102  WRITE (unit=lfi%NULOUT,fmt=9138)lfi%JPLFIX
103 ENDIF
104 !
105 ! Envoi d'un message terminal.
106 !
107 WRITE (unit=lfi%NULOUT,fmt='(/)')
108 !
109 IF (lfi%LFRANC) THEN
110  clmess='Fin d''impression de la '// &
111 & 'Configuration du logiciel LFI'
112 ELSE
113  clmess='End of dump of LFI software configuration'
114 ENDIF
115 !
116 CALL lfiems_fort &
117 & (lfi, inumer,inimes,irep,llfata, &
118 & clmess,clnspr,clacti)
119 WRITE (unit=lfi%NULOUT,fmt='(///)')
120 !
121 IF (lhook) CALL dr_hook('LFICFG_FORT',1,zhook_handle)
122 RETURN
123 !
124  9005 FORMAT(' Nombre de Bits par mot machine.......................', &
125 & i5)
126 !
127  9006 FORMAT(' Number of Bits per computer word.....................', &
128 & i5)
129 !
130  9007 FORMAT(' Nombre de Bits par caractere machine.................', &
131 & i5)
132 !
133  9008 FORMAT(' Number of Bits per computer character................', &
134 & i5)
135 !
136  9010 FORMAT(' ... d''ou Nombre de caracteres par mot.............', &
137 & i5)
138 !
139  9011 FORMAT(' ... so Number of characters per word is...........', &
140 & i5)
141 !
142  9020 FORMAT(' Nombre maximum de Caracteres par NOM d''ARTICLE.......', &
143 & i5)
144 !
145  9021 FORMAT(' Maximum number of Characters per RECORD NAME.........', &
146 & i5)
147 !
148  9030 FORMAT(' Longueur d''Article PHYSIQUE Elementaire des Fichiers.', &
149 & i5,' Mots (',i5,' Caracteres )')
150 !
151  9031 FORMAT(' Elementary PHYSICAL Record Length of Files...........', &
152 & i5,' Words (',i5,' Characters )')
153 !
154  9035 FORMAT(' Facteur Multiplicatif Maximal de cette Longueur......', &
155 & i5)
156 !
157  9036 FORMAT(' Maximum Multiply Factor of this elementary Length....', &
158 & i5)
159 !
160  9037 FORMAT(' Nombre maximum d''associations explicites',/, &
161 & ' entre Unites Logiques et Facteurs Multiplicatifs...', &
162 & i5)
163 !
164  9038 FORMAT(' Maximum number of explicit associations',/, &
165 & ' between Logical Units and Multiply Factors...', &
166 & i5)
167 !
168  9040 FORMAT(' "RECL" Elementaire pour l''"OPEN" des Fichiers........', &
169 & i5)
170 !
171  9041 FORMAT(' Elementary "RECL" parameter for "OPEN" of Files......', &
172 & i5)
173 !
174  9050 FORMAT(' Nombre maximum de Fichiers ouverts en meme temps',/, &
175 & ' (si leur "facteur multiplicatif" vaut 1 ).....', &
176 & i5)
177 !
178  9051 FORMAT(' Maximum number of Files open at the same time',/, &
179 & ' (if their "multiply factor" is 1 ).....', &
180 & i5)
181 !
182  9060 FORMAT(' Nombre de *PAIRES* de "PAGES d''INDEX"',/, &
183 & ' (en memoire) *PREALLOUEES* par Fichier........', &
184 & i5)
185 !
186  9061 FORMAT(' Number of *PREALLOCATED PAIRS* of "INDEX PAGES"',/, &
187 & ' (in software commons) per File................', &
188 & i5)
189 !
190  9070 FORMAT(' Nombre TOTAL de *PAIRES* de "PAGES d''INDEX"',/, &
191 & ' (en memoire) ALLOUABLES.......................', &
192 & i5)
193 !
194  9071 FORMAT(' TOTAL number of *PAIRS* of "INDEX PAGES"',/, &
195 & ' (in software commons) allocatable.............', &
196 & i5)
197 !
198  9080 FORMAT(' ... d''ou Nombre de P.P.I. non preallouees.........', &
199 & i5)
200 !
201  9081 FORMAT(' ... so Number of P.I.P. not preallocated is.......', &
202 & i5)
203 !
204  9090 FORMAT(' Nombre Maxi. utile de NOMS d''ARTICLES',/, &
205 & ' par PAGE ou ARTICLE d''INDEX Elementaire.......', &
206 & i5)
207 !
208  9091 FORMAT(' Maximum number of usable RECORD NAMES',/, &
209 & ' per Elementary INDEX PAGE or RECORD...........', &
210 & i5)
211 !
212  9100 FORMAT(' Longueur de la Partie DOCUMENTAIRE du 1er Article....', &
213 & i5,' Mots')
214 !
215  9101 FORMAT(' Length of DOCUMENTARY part in 1st physical record....', &
216 & i5,' Words')
217 !
218  9110 FORMAT(' Nombre de PAGES de DONNEES par Fichier...............', &
219 & i5)
220 !
221  9111 FORMAT(' Number of DATA PAGES per FILE........................', &
222 & i5)
223 !
224  9120 FORMAT(' Nombre Maximum de PAIRES d''ARTICLES d''INDEX',/, &
225 & ' Reservables a la Creation d''un Fichier........', &
226 & i5)
227 !
228  9121 FORMAT(' Maximum number of PAIRS of INDEX RECORDS',/, &
229 & ' that may be RESERVED at File Creation.........', &
230 & i5)
231 !
232  9130 FORMAT(' Code "VALEUR ABSENTE"', /, &
233 & ' pour certaines Tables D''ENTIERS.................', &
234 & i5)
235 !
236  9131 FORMAT(' "MISSING VALUE" code', /, &
237 & ' for some INTEGER-type Tables....................', &
238 & i5)
239 !
240  9135 FORMAT(' Longueur Maximale des Noms de Fichiers',/, &
241 & ' traitable proprement.................', &
242 & i5,' Caracteres')
243 !
244  9136 FORMAT(' Maximum Length of File Names',/, &
245 & ' carefully handled.................', &
246 & i5,' Characters')
247 !
248  9137 FORMAT(' Longueur Maximale imprimable des Noms de Fichiers....', &
249 & i5,' Caracteres')
250 !
251  9138 FORMAT(' Maximum printable Length of File Names (most cases)..', &
252 & i5,' Characters')
253 !
254 END SUBROUTINE lficfg_fort
255 
256 
257 
258 ! Oct-2012 P. Marguinaud 64b LFI
259 SUBROUTINE lficfg64 ()
260 USE lfimod, ONLY : lfi => lficom_default, &
263 USE lfi_precision
264 IMPLICIT NONE
265 ! Arguments
266 
267 IF (.NOT. lficom_default_init) CALL new_lfi_default ()
268 
269 CALL lficfg_fort &
270 & (lfi)
271 
272 END SUBROUTINE lficfg64
273 
274 SUBROUTINE lficfg ()
275 USE lfimod, ONLY : lfi => lficom_default, &
278 USE lfi_precision
279 IMPLICIT NONE
280 ! Arguments
281 
282 IF (.NOT. lficom_default_init) CALL new_lfi_default ()
283 
284 CALL lficfg_mt &
285 & (lfi)
286 
287 END SUBROUTINE lficfg
288 
289 SUBROUTINE lficfg_mt (LFI)
290 USE lfimod, ONLY : lficom
291 USE lfi_precision
292 IMPLICIT NONE
293 ! Arguments
294 type(lficom) lfi ! INOUT
295 ! Local integers
296 ! Convert arguments
297 
298 
299 CALL lficfg_fort &
300 & (lfi)
301 
302 
303 END SUBROUTINE lficfg_mt
subroutine lficfg64()
Definition: lficfg.F90:260
subroutine new_lfi_default()
Definition: lfimod.F90:376
subroutine lficfg_fort(LFI)
Definition: lficfg.F90:5
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
type(lficom), target, save lficom_default
Definition: lfimod.F90:370
logical lhook
Definition: yomhook.F90:15
subroutine lficfg()
Definition: lficfg.F90:275
subroutine lfiems_fort(LFI, KNUMER, KNIMES, KCODE, LDFATA, CDMESS, CDNSPR, CDACTI)
Definition: lfiems.F90:7
Definition: lfimod.F90:1
subroutine lficfg_mt(LFI)
Definition: lficfg.F90:290