Newer
Older
!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
!MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
!MNH_LIC for details. version 1.
!-----------------------------------------------------------------
!--------------- special set of characters for RCS information
!-----------------------------------------------------------------
! $Source$ $Revision$
! masdev4_7 BUG1 2007/06/15 17:47:27
!-----------------------------------------------------------------
! ###################
MODULE MODI_INI_SEG_n
! ###################
!
INTERFACE
!
SUBROUTINE INI_SEG_n(KMI,HLUOUT,HINIFILE,HINIFILEPGD,PTSTEP_ALL)
INTEGER, INTENT(IN) :: KMI ! Model index
CHARACTER(LEN=16), INTENT(OUT) :: HLUOUT ! name of the listing-
! output of nested models
CHARACTER (LEN=28), INTENT(OUT) :: HINIFILE! name of
! the initial file
CHARACTER (LEN=28), INTENT(OUT) :: HINIFILEPGD
REAL,DIMENSION(:), INTENT(INOUT) :: PTSTEP_ALL ! Time STEP of ALL models
END SUBROUTINE INI_SEG_n
!
END INTERFACE
!
END MODULE MODI_INI_SEG_n
!
!
!
!
! #############################################################
SUBROUTINE INI_SEG_n(KMI,HLUOUT,HINIFILE,HINIFILEPGD,PTSTEP_ALL)
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
! #############################################################
!
!!**** *INI_SEG_n * - routine to read and update the descriptor files for
!! model KMI
!!
!! PURPOSE
!! -------
! The purpose of this routine is to read the descriptor files in the
! following order :
! - DESFM file which gives informations about the initial file
! (i.e. the description of the segment that produced the initial file
! or the description of the preinitialisation that created the initial file)
! - EXSEG file which gives informations about the segment to perform.
!
! Informations in EXSEG file are completed by DESFM file informations
! and if the informations are not in DESFM file, they are set
! to default values.
!
! The descriptor file EXSEG corresponding to the segment of simulation
! to be performed, is then updated with the combined informations.
! We also store in the updated EXSEG file, the informations on the status
! of the different variables ( skip, init, read) in the namelist NAM_GETn,
! which will be read in the INI_MODELn routine to properly initiliaze the
! model n. Except this last namelist, the informations written in this
! EXSEG file, will be identical to the NAMELIST section of the descriptive
! part of the FM files containing the model outputs.
!
! In order not to duplicate the routines called by ini_seg, we use the
! modules modd, corresponding to the first model to store the informations
! read on the different files ( DESFM and EXSEG ). The final filling of
! the modules modd (MODD_CONFn ....) will be realized in the subroutine
! INI_MODELn. The goal of the INI_SEG_n part of the initialization is to
! built the final EXSEG, which will be associated to the LFI files
! generated during the segment ( and therefore not to fill the modd).
!
!
!!** METHOD
!! ------
!! For a nested model of index KMI :
!! - Logical unit numbers are associated to output-listing file and
!! descriptor EXSEG file by FMATTR. Then these files are opened.
!! The name of the initial file is read in EXSEG file.
!! - Default values are supplied for variables in descriptor files
!! (by DEFAULT_DESFM).
!! - The Initial file (LFIFM + DESFM) is opened by FMOPEN.
!! - The descriptor DESFM file is read (by READ_DESFM_n).
!! - The descriptor file EXSEG is read (by READ_EXSEG_n) and coherence
!! between the initial file and the description of segment is also checked
!! in this routine.
!! - If there is more than one model the EXSEG file is updated
!! (by WRITE_DESFM$n). This routine prints also EXSEG content on
!! output-listing.
!! - If there is only one model (i.e. no grid-nesting),
!! EXSEG file is also closed (logical unit number associated with this
!! file is also released by FMFREE).
!!
!!
!!
!! EXTERNAL
!! --------
!! FMATTR : to associate a logical unit number to a file
!! FMOPEN : to open descriptor file or LFI file
!! DEFAULT_DESFM1: to set default values
!! READ_DESFM_n : to read a DESFM file
!! READ_EXSEG_n : to read a EXSEG file
!! WRITE_DESFM1 : to write the DESFM part of the future outputs
!! FMFREE : to release a logical unit number linked to a file
!!
!! Module MODI_DEFAULT_DESFM : Interface for routine DEFAULT_DESFM
!! Module MODI_READ_DESFM_n : Interface for routine READ_DESFM_n
!! Module MODI_READ_EXSEG_n : Interface for routine READ_EXSEG_n
!! Module MODI_WRITE_DESFM1 : Interface for routine WRITE_DESFM1
!!
!! IMPLICIT ARGUMENTS
!! ------------------
!! Module MODD_LUNIT : contains names and logical unit numbers
!!
!! Module MODD_CONF : contains configuration variables
!! CCONF : Configuration of models
!! NMODEL : Number of nested models
!! NVERB : Level of informations on output-listing
!! 0 for minimum of prints
!! 5 for intermediate level of prints
!! 10 for maximum of prints
!!
!! Module MODN_LUNIT1 : contains declarations of namelist NAMLUNITMN
!! and module MODD_LUNIT1
!!
!! REFERENCE
!! ---------
!! Book2 of documentation (routine INI_SEG)
!!
!!
!! AUTHOR
!! ------
!! V. Ducrocq * Meteo France *
!!
!! MODIFICATIONS
!! -------------
!! Original 07/06/94
!! Modification 26/10/94 remove the NAM_GETn from the namelist present
!! in the EXSEG file (J.Stein)
!! 11/01/95 change the read_exseg and desfm CALLS to add
!! the G1D switch
!! 15/02/95 add the HTURBLEN information (J. Cuxart)
!! 18/08/95 Time STEP change (J. P. Lafore)
!! 02/10/95 add the radiation control (J. Stein)
!! 18/03/96 remove the no write option for WRITE_DESFM
!! (J. Stein)
!! 11/04/96 add the ice conc. control (J.-P. Pinty)
!! 11/01/97 add the deep convection control (J.-P. Pinty)
!! 17/07/96 correction for WRITE_DESFM1 call (J. P. Lafore)
!! 22/07/96 PTSTEP_ALL introduction for nesting (J. P. Lafore)
!! 7/08/98 // (V. Ducrocq)
!! 02/08/99 remove unused argument for read_desfm (J. Stein)
!! 15/03/99 test on execution program (V. Masson)
!! 15/11/00 Add YCLOUD (J.-P. Pinty)
!! 01/03/01 Add GUSECHEM (D. Gazen)
!! 15/10/01 namelists in different orders (I.Mallet)
!! 25/11/02 Add YELEC (P. Jabouille)
!! 01/2004 externalization of surface (V. Masson)
!! 01/2005 add GDUST, GSALT, and GORILAM (P. Tulet)
!! 04/2010 add GUSECHAQ, GCH_PH (M. Leriche)
!! 09/2010 add GUSECHIC (M. Leriche)
!! 02/2012 add GFOREFIRE (Pialat/Tulet)
!! 05/2014 missing reading of IMASDEV before COUPLING
!! test (Escobar)
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
!-------------------------------------------------------------------------------
!
!* 0. DECLARATIONS
! ------------
USE MODD_LUNIT
USE MODD_CONF
USE MODN_CONFZ
USE MODD_CONF_n, ONLY : CSTORAGE_TYPE
USE MODD_LUNIT_n, ONLY : CINIFILE_n=> CINIFILE,CINIFILEPGD_n=> CINIFILEPGD
USE MODN_LUNIT_n
USE MODD_PARAMETERS
USE MODD_DYN
USE MODD_REF, ONLY : LBOUSS
USE MODD_IO_ll, ONLY : GSMONOPROC
!
USE MODE_FMREAD
USE MODE_FM
USE MODE_IO_ll
USE MODE_POS
!
USE MODI_DEFAULT_DESFM_n
USE MODI_READ_DESFM_n
USE MODI_READ_EXSEG_n
USE MODI_WRITE_DESFM_n
!
IMPLICIT NONE
!
!* 0.1 declarations of arguments
!
INTEGER, INTENT(IN) :: KMI ! Model index
CHARACTER(LEN=16), INTENT(OUT) :: HLUOUT ! name of the listing-
! output of nested models
CHARACTER (LEN=28), INTENT(OUT) :: HINIFILE! name of
! the initial file
CHARACTER (LEN=28), INTENT(OUT) :: HINIFILEPGD
REAL,DIMENSION(:), INTENT(INOUT) :: PTSTEP_ALL ! Time STEP of ALL models
!
!* 0.1 declarations of local variables
!
LOGICAL :: GFOUND ! Return code when searching namelist
CHARACTER (LEN=32) :: YEXSEG,YDESFM ! name of descriptor files
CHARACTER (LEN=28) :: YINIFILE ! name of initial file
CHARACTER (LEN=2) :: YMI ! string for model index
INTEGER :: IMASDEV ! version of MESOHN file
INTEGER :: ILUOUT ! Logical unit number
! associated with CLUOUT
!
INTEGER :: IRESP,ILUSEG,ININAR ! File management variables
INTEGER :: IGRID,ILENCH ! "
CHARACTER(LEN=100) :: YCOMMENT ! "
CHARACTER(LEN=2) :: YDIR ! Type of the data field in LFIFM file
CHARACTER (LEN=16) :: YRECFM ! Name of the desired field in LFIFM file
CHARACTER (LEN=5) :: YCONF ! Local variables which have
LOGICAL :: GFLAT ! the same definition as the
LOGICAL :: GUSERV,GUSERC,GUSERR,GUSERI ! variables in module MODD_CONF,
LOGICAL :: GUSERS,GUSERG,GUSERH,GUSECI ! MODD_CONFn, MODD_PARAMn,
LOGICAL :: GUSECHEM ! flag for chemistry
LOGICAL :: GUSECHAQ ! flag for aq. phase chemistry
LOGICAL :: GUSECHIC ! flag for ice phase chemistry
LOGICAL :: GCH_PH ! flag for pH
LOGICAL :: GCH_CONV_LINOX
LOGICAL :: GDUST
LOGICAL,DIMENSION(JPMODELMAX) :: GDEPOS_DST, GDEPOS_SLT, GDEPOS_AER
LOGICAL :: GSALT
LOGICAL :: GORILAM
LOGICAL :: GLG
LOGICAL :: GPASPOL
#ifdef MNH_FOREFIRE
LOGICAL :: GFOREFIRE
#endif
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
! These variables
! are used to locally store
INTEGER :: ISV ! the value read in DESFM
INTEGER :: IRIMX,IRIMY ! number of points for the
! horizontal relaxation
CHARACTER (LEN=4) :: YTURB ! file in order to check the
CHARACTER (LEN=4) :: YRAD ! corresponding informations
CHARACTER (LEN=4) :: YTOM ! read in EXSEG file.
LOGICAL :: GRMC01
CHARACTER (LEN=4) :: YDCONV
CHARACTER (LEN=4) :: YSCONV
CHARACTER (LEN=4) :: YCLOUD
CHARACTER (LEN=4) :: YELEC
CHARACTER (LEN=3) :: YEQNSYS
!
!-------------------------------------------------------------------------------
!
!* 1. OPEN OUPUT-LISTING FILE AND EXSEG FILE
! --------------------------------------
!
WRITE(YMI,'(I2.0)') KMI
HLUOUT='OUTPUT_LISTING'//ADJUSTL(YMI)
CALL OPEN_ll(UNIT=ILUOUT,FILE=HLUOUT,IOSTAT=IRESP,FORM='FORMATTED',ACTION='WRITE', &
MODE=GLOBAL)
!
WRITE(UNIT=ILUOUT,FMT='(50("*"),/,"*",17X,"MODEL ",I1," LISTING",16X,"*",/, &
& 50("*"))') KMI
!
IF (CPROGRAM=='MESONH') THEN
YEXSEG='EXSEG'//TRIM(ADJUSTL(YMI))//'.nam'
CALL OPEN_ll(UNIT=ILUSEG,FILE=YEXSEG,IOSTAT=IRESP,ACTION='READ', &
DELIM='QUOTE',MODE=GLOBAL)
!
!* 1.3 SPAWNING or SPEC or REAL program case
! ---------------------
!
ELSE IF (CPROGRAM=='SPAWN ' .OR. CPROGRAM=='REAL '.OR. CPROGRAM=='SPEC ') THEN
YINIFILE = CINIFILE_n
HINIFILE = CINIFILE_n
HINIFILEPGD = CINIFILEPGD_n
YEXSEG=TRIM(ADJUSTL(CINIFILE_n))//'.des'
CALL FMOPEN_ll(CINIFILE_n,'READ',HLUOUT,0,2,NVERB,ININAR,IRESP)
CALL FMLOOK_ll(YEXSEG,CLUOUT0,ILUSEG,IRESP)
!
IF (CPROGRAM=='SPAWN ') THEN
IF (.NOT.GSMONOPROC) THEN
WRITE(ILUOUT,FMT=*) 'SPAWNING : THIS PROGRAM HAS TO BE &
& PERFORMED WITH MONOPROCESSOR MODE'
WRITE(ILUOUT,FMT=*) '-> JOB ABORTED'
!callabortstop
CALL CLOSE_ll(HLUOUT,IOSTAT=IRESP)
CALL ABORT
STOP
ENDIF
ENDIF
!
!* 1.3bis DIAG program case
!
ELSE IF (CPROGRAM=='DIAG ') THEN
YINIFILE = CINIFILE_n
HINIFILE = CINIFILE_n
YEXSEG=TRIM(ADJUSTL(CINIFILE_n))//'.des'
CALL FMOPEN_ll(CINIFILE_n,'READ',HLUOUT,0,2,NVERB,ININAR,IRESP)
CALL FMLOOK_ll(YEXSEG,CLUOUT0,ILUSEG,IRESP)
HINIFILEPGD=CINIFILEPGD_n
!
!* 1.4 Other program cases
! -------------------
!
ELSE
WRITE(UNIT=ILUOUT,FMT=*) 'INI_SEG_n should not be called for CPROGRAM=',CPROGRAM
WRITE(UNIT=ILUOUT,FMT=*) '-> STOP'
!callabortstop
CALL CLOSE_ll(HLUOUT,IOSTAT=IRESP)
CALL ABORT
STOP
ENDIF
!
!-------------------------------------------------------------------------------
!
!* 2. SET DEFAULT VALUES
! ------------------
!
CALL DEFAULT_DESFM_n(KMI)
!
!-------------------------------------------------------------------------------
!
!* 3. READ INITIAL FILE NAME AND OPEN INITIAL FILE
! --------------------------------------------
!
CALL POSNAM(ILUSEG,'NAM_LUNITN',GFOUND)
IF (GFOUND) THEN
CALL INIT_NAM_LUNITn
READ(UNIT=ILUSEG,NML=NAM_LUNITn)
CALL UPDATE_NAM_LUNITn
END IF
IF (CPROGRAM=='MESONH') THEN
IF (KMI.EQ.1) THEN
CALL POSNAM(ILUSEG,'NAM_CONFZ',GFOUND,ILUOUT)
IF (GFOUND) READ(UNIT=ILUSEG,NML=NAM_CONFZ)
END IF
HINIFILEPGD=CINIFILEPGD_n
HINIFILE=CINIFILE_n
CALL FMOPEN_ll(HINIFILE,'READ',HLUOUT,0,2,NVERB,ININAR,IRESP)
END IF
CALL FMREAD(HINIFILE,'MASDEV',HLUOUT,'--',IMASDEV,IGRID,ILENCH,YCOMMENT,IRESP)
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
IF (CPROGRAM=='MESONH') THEN
IF (IMASDEV > 49) THEN
YRECFM='COUPLING'
YDIR='--'
CALL FMREAD(HINIFILE,YRECFM,HLUOUT,YDIR,LCOUPLING,IGRID,ILENCH,YCOMMENT,IRESP)
IF (LCOUPLING) THEN
WRITE(ILUOUT,*) 'Error with the initial file'
WRITE(ILUOUT,*) 'The file',HINIFILE,' was created with LCOUPLING=.TRUE.'
WRITE(ILUOUT,*) 'You can not use it as initial file, only as coupling file'
WRITE(ILUOUT,*) 'Run PREP_REAL_CASE with LCOUPLING=.FALSE.'
!callabortstop
CALL CLOSE_ll(HLUOUT,IOSTAT=IRESP)
CALL ABORT
ENDIF
ENDIF
END IF
IF (CPROGRAM=='SPAWN ') THEN
IF (IMASDEV > 49) THEN
YRECFM='COUPLING'
YDIR='--'
CALL FMREAD(HINIFILE,YRECFM,HLUOUT,YDIR,LCOUPLING,IGRID,ILENCH,YCOMMENT,IRESP)
IF (LCOUPLING) THEN
WRITE(ILUOUT,*) 'Error with the initial file'
WRITE(ILUOUT,*) 'The file',HINIFILE,' was created with LCOUPLING=.TRUE.'
WRITE(ILUOUT,*) 'You can not use it as initial file, only as coupling file'
WRITE(ILUOUT,*) 'Run PREP_REAL_CASE with LCOUPLING=.FALSE.'
!callabortstop
CALL CLOSE_ll(HLUOUT,IOSTAT=IRESP)
CALL ABORT
ENDIF
ENDIF
END IF
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
!
!-------------------------------------------------------------------------------
!
!* 4. READ in the LFI file SOME VARIABLES of MODD_CONF
! ------------------------------------------------
!
! Read the storage type
YRECFM = 'STORAGE_TYPE'
YDIR='--'
CALL FMREAD(HINIFILE,YRECFM,HLUOUT,'--',CSTORAGE_TYPE,IGRID,ILENCH,YCOMMENT,IRESP)
IF (IRESP /= 0) THEN
WRITE(ILUOUT,FMT=9002) YRECFM,IRESP
!callabortstop
CALL CLOSE_ll(HLUOUT,IOSTAT=IRESP)
CALL ABORT
STOP
END IF
IF (KMI == 1) THEN
! Read the geometry kind
YRECFM = 'CARTESIAN'
YDIR='--'
CALL FMREAD(HINIFILE,YRECFM,HLUOUT,YDIR,LCARTESIAN,IGRID,ILENCH,YCOMMENT,IRESP)
! Read the thinshell approximation
YRECFM = 'THINSHELL'
YDIR='--'
CALL FMREAD(HINIFILE,YRECFM,HLUOUT,YDIR,LTHINSHELL,IGRID,ILENCH,YCOMMENT,IRESP)
!
CALL FMREAD(HINIFILE,'MASDEV',HLUOUT,'--',IMASDEV,IGRID,ILENCH,YCOMMENT,IRESP)
IF (IMASDEV>=46) THEN
YRECFM = 'L1D'
YDIR='--'
CALL FMREAD(HINIFILE,YRECFM,HLUOUT,YDIR,L1D,IGRID,ILENCH,YCOMMENT,IRESP)
IF (IRESP/=0) L1D=.FALSE.
!
YRECFM = 'L2D'
YDIR='--'
CALL FMREAD(HINIFILE,YRECFM,HLUOUT,YDIR,L2D,IGRID,ILENCH,YCOMMENT,IRESP)
IF (IRESP/=0) L2D=.FALSE.
!
YRECFM = 'PACK'
YDIR='--'
CALL FMREAD(HINIFILE,YRECFM,HLUOUT,YDIR,LPACK,IGRID,ILENCH,YCOMMENT,IRESP)
IF (IRESP/=0) LPACK=.TRUE.
ELSE
L1D=.FALSE.
L2D=.FALSE.
LPACK=.TRUE.
END IF
IF (IMASDEV>=410) THEN
YRECFM = 'LBOUSS'
YDIR='--'
CALL FMREAD(HINIFILE,YRECFM,HLUOUT,YDIR,LBOUSS,IGRID,ILENCH,YCOMMENT,IRESP)
END IF
!
END IF
!
!-------------------------------------------------------------------------------
!
!* 5. READ DESFM FILE
! ---------------
!
YDESFM=TRIM(ADJUSTL(HINIFILE))//'.des'
!
CALL READ_DESFM_n(KMI,YDESFM,HLUOUT,YCONF,GFLAT,GUSERV,GUSERC, &
GUSERR,GUSERI,GUSECI,GUSERS,GUSERG,GUSERH,GUSECHEM,GUSECHAQ,&
GUSECHIC,GCH_PH,GCH_CONV_LINOX,GSALT,GDEPOS_SLT,GDUST, &
GDEPOS_AER, GLG, GPASPOL, &
#ifdef MNH_FOREFIRE
GFOREFIRE, &
#endif
GCONDSAMP, IRIMX,IRIMY,ISV, &
YTURB,YTOM,GRMC01,YRAD,YDCONV,YSCONV,YCLOUD,YELEC,YEQNSYS )
!
!
!-------------------------------------------------------------------------------
!
!* 6. READ EXSEG FILE
! ---------------
! We pass by arguments the informations read in DESFM descriptor to the
! routine which read related informations in the EXSEG descriptor in order to
! check coherence between both informations.
!
CALL READ_EXSEG_n(KMI,YEXSEG,HLUOUT,YCONF,GFLAT,GUSERV,GUSERC, &
GUSERR,GUSERI,GUSECI,GUSERS,GUSERG,GUSERH,GUSECHEM, &
GUSECHAQ,GUSECHIC,GCH_PH, &
GCH_CONV_LINOX,GSALT,GDEPOS_SLT,GDUST,GDEPOS_DST,GCHTRANS, &
GORILAM,GDEPOS_AER,GLG,GPASPOL, &
#ifdef MNH_FOREFIRE
GFOREFIRE, &
#endif
GCONDSAMP, IRIMX,IRIMY,ISV, &
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
YTURB,YTOM,GRMC01,YRAD,YDCONV,YSCONV,YCLOUD,YELEC,YEQNSYS, &
PTSTEP_ALL,CSTORAGE_TYPE,CINIFILEPGD_n )
!
!
IF (CPROGRAM=='SPAWN ' .OR. CPROGRAM=='DIAG ' .OR. CPROGRAM=='SPEC ' &
.OR. CPROGRAM=='REAL ') THEN
CINIFILE_n = YINIFILE
HINIFILE = YINIFILE
CCPLFILE(:) = ' '
NMODEL=1
LSTEADYLS=.TRUE.
END IF
!
IF (CPROGRAM=='MESONH') THEN
HINIFILEPGD=CINIFILEPGD_n
END IF
!-------------------------------------------------------------------------------
!
!* 7. CLOSE FILES
! ------------
!
IF (CPROGRAM=='MESONH') CALL CLOSE_ll(YEXSEG,IOSTAT=IRESP)
!
!-------------------------------------------------------------------------------
9002 FORMAT(/,'FATAL ERROR IN INI_SEG_n: pb to read ',A16,' IRESP=',I3)
!
END SUBROUTINE INI_SEG_n