39 SUBROUTINE section_init (NSTRF,SECBUF,NOM_SECT,ISECTR,NSECT,IOLDSECT)
49#include "implicit_f.inc"
62 INTEGER NSTRF(*),NOM_SECT(*),ISECTR,NSECT,IOLDSECT
68 INTEGER I,,, N, IR1, IR2, IFILNAM(2548),LROOTLEN,LEN,K0,ID_SEC
70 . tt1, tt2, tt3, tmp(20)
71 CHARACTER(LEN=NCHARTITLE) :: FILNAM
72 CHARACTER LCHRUN*2,LCHRUN_P1*2,CH_IDSEC*10
75 INTEGER :: LEN_TMP_NAME
76 CHARACTER(len=2048) :: TMP_NAME
89 IF(nstrf(k0)>=1 .AND. nstrf(k0)<=10 )
THEN
95 IF(filnam(i:i)/=
' ')lrootlen=lrootlen+1
97 IF (lrootlen == 0 .AND. abs(ioldsect) == 1)
THEN
99 ELSEIF( lrootlen /= 0 .AND. (ioldsect >= 1))
THEN
105 IF(nstrf(1)>=1 .AND. ioldsect == 1)
THEN
107 WRITE(lchrun,
'(I2.2)')irun
108 filnam=rootnam(1:rootlen)//
'SC'//lchrun
112 ifilnam(i)=ichar(tmp_name(i:i))
115 CALL open_c(ifilnam,len_tmp_name,0)
116 ELSEIF(nstrf(1)>=1)
THEN
119 IF(nstrf(k0)>=1 .AND. nstrf(k0)<=10 )
THEN
120 WRITE(lchrun,
'(I2.2)')irun
124 IF(char(nom_sect((j-1)*500+i))/=
' ')
THEN
126 filnam(lrootlen:lrootlen)=char(nom_sect((j-1)*500+i))
129 IF (lrootlen == 0)
THEN
130 WRITE(ch_idsec,
'(I10.10)')nstrf(k0+23)
131 filnam=rootnam(1:rootlen)//ch_idsec//
'SC'//lchrun
135 ifilnam(i)=ichar(tmp_name(i:i))
138 CALL open_c(ifilnam,len_tmp_name,0)
140 filnam=filnam(1:lrootlen)//
'SC'//lchrun
144 ifilnam(i)=ichar(tmp_name(i:i))
147 CALL open_c(ifilnam,len_tmp_name,0)
160 filnam(i:i)=char(nom_sect((isectr-1)*500+i))
161 IF(filnam(i:i)/=
' ')lrootlen=lrootlen+1
166 filnam=filnam(1:lrootlen)//
'SC01'
169 INQUIRE(file=tmp_name(1:len_trim(tmp_name)),exist=fexist)
172 len_tmp_name = lrootlen + 4
173 tmp_name(1:len_tmp_name)=filnam(1:lrootlen+4)
174 INQUIRE(file=tmp_name(1:len_trim(tmp_name)),exist=fexist)
180 ifilnam(i)=ichar(tmp_name(i:i))
182 CALL open_c(ifilnam,len_tmp_name,1)
189 CALL ancmsg(msgid=188,anmode=aninfo,
194 filnam=filnam(1:lrootlen)//
'SC02'
198 INQUIRE(file=tmp_name(1:len_trim(tmp_name)),exist=fexist)
201 len_tmp_name = lrootlen + 4
202 tmp_name(1:len_tmp_name)=filnam(1:lrootlen+4)
203 INQUIRE(file=tmp_name(1:len_trim(tmp_name)),exist=fexist)
210 ifilnam(i)=ichar(filnam(i:i))
213 CALL open_c(ifilnam,len_tmp_name,1)
223 WRITE(lchrun,
'(I2.2)')irun
224 filnam=filnam(1:lrootlen)//
'SC'//lchrun
228 INQUIRE(file=tmp_name(1:len_trim(tmp_name)),exist=fexist)
231 len_tmp_name = len_trim(filnam)
232 tmp_name(1:len_tmp_name)=filnam(1:len_trim(filnam))
233 INQUIRE(file=tmp_name(1:len_trim(tmp_name)),exist=fexist)
239 ifilnam(i)=ichar(tmp_name(i:i))
242 CALL open_c(ifilnam,len_tmp_name,1)
254 WRITE(lchrun_p1,
'(I2.2)')irun+1
255 filnam=filnam(1:lrootlen)//'sc
'//LCHRUN_P1
256 LEN_TMP_NAME = OUTFILE_NAME_LEN + LEN_TRIM(FILNAM)
257 TMP_NAME=OUTFILE_NAME(1:OUTFILE_NAME_LEN)//FILNAM(1:LEN_TRIM(FILNAM))
259 INQUIRE(FILE=TMP_NAME,EXIST=FEXIST)
262 LEN_TMP_NAME = LEN_TRIM(FILNAM)
263 TMP_NAME(1:LEN_TMP_NAME)=FILNAM(1:LEN_TMP_NAME)
264 INQUIRE(FILE=TMP_NAME(1:LEN_TRIM(TMP_NAME)),EXIST=FEXIST)
271 IFILNAM(I)=ICHAR(TMP_NAME(I:I))
274 CALL OPEN_C(IFILNAM,LEN_TMP_NAME,1)
283 WRITE(LCHRUN,'(i2.2)
')IR1
284 FILNAM=FILNAM(1:LROOTLEN)//'sc
'//LCHRUN
285 LEN_TMP_NAME = OUTFILE_NAME_LEN + LEN_TRIM(FILNAM)
286 TMP_NAME=OUTFILE_NAME(1:OUTFILE_NAME_LEN)//FILNAM(1:LEN_TRIM(FILNAM))
290 IFILNAM(I)=ICHAR(TMP_NAME(I:I))
293 CALL OPEN_C(IFILNAM,LEN_TMP_NAME,1)
315 CALL SPMD_RBCAST(TMP,TMP,LEN,1,0,2)
319 CALL SPMD_RBCAST(TMP,TMP,LEN,1,0,2)
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)