44 SUBROUTINE hist1(FILNAM,IFIL ,NTHGRP2,LONG ,
46 3 SUBSET,ITHGRP,ITHBUF,IGEO ,
47 4 IPM ,IPARTH ,NPARTH ,NVPARTH ,
48 5 NVSUBTH ,ITTYP,ITHFLAG,ITHVAR,IFILTITL,
49 6 SITHBUF,NAMES_AND_TITLES)
60#include "implicit_f.inc"
76#include "tabsiz_c.inc"
80 INTEGER,
INTENT(IN) :: SITHBUF
81 INTEGER,
INTENT(IN),
DIMENSION(SITHBUF) :: ITHBUF
83 . IPART(LIPART1,*),IPM(NPROPMI,*),IGEO(NPROPGI,*),
84 . ITHGRP(NITHGR,*), IFIL,
86 . nparth,iparth(nparth,*),nvparth,nvsubth,
87 . ittyp,ithflag,ithvar(*),ifiltitl
90 . pm(npropm,*),geo(npropg,*)
92 TYPE (SUBSET_) ,
DIMENSION(NSUBS) :: SUBSET
93 TYPE(NAMES_AND_TITLES_),
INTENT(IN) :: NAMES_AND_TITLES
98 INTEGER ITITLE(100), IFILNAM(100), ICODE, I, NJOINV, NRBAGV,
99 . NG, II, N, IH, ITY, NEL, NFT, K, MTN, NACCELV,
100 . IRUNR,NVAR,MID,PID,IAD1,IAD2,J,IAD,LTITL,NRECORD,
101 . SEEK_LOC,IPART1,IPART2
104 . tit40(10),tit80(20),tit100(25)
106 CHARACTER EOR*8, CH8*8,BLA*7, CH8M*8, CH8L*8, *8
107 CHARACTER (LEN=LTITLE) :: CARD
108 CHARACTER CH80*80,TITL*100,VAR*10
109 INTEGER :: LEN_TMP_NAME, TITLSUM
110 INTEGER,
DIMENSION(20) :: TEXT
111 CHARACTER(len=2148) :: TMP_NAME
112 INTEGER,
dimension(:),
allocatable :: IWA
116 CHARACTER STRR*8, STRI*8
127 IF(th_vers>=2021)
THEN
130 ELSEIF(th_vers>=50)
THEN
133 ELSEIF(th_vers>=47)
THEN
145 .
OPEN(unit=ifiltitl,file=tmp_name(1:len_tmp_name)//
'_TITLES',
146 . access=
'SEQUENTIAL',
147 . form=
'FORMATTED',status=
'UNKNOWN')
150 OPEN(unit=iunit,file=tmp_name(1:len_tmp_name),
151 . access=
'SEQUENTIAL',
152 . form=
'UNFORMATTED',status=
'UNKNOWN')
153 ELSEIF(ittyp==1.OR.ittyp==2)
THEN
154 OPEN(unit=iunit,file=tmp_name(1:len_tmp_name),
155 . access=
'SEQUENTIAL',
156 . form=
'FORMATTED',status=
'UNKNOWN')
159 ifilnam(i)=ichar(tmp_name(i:i))
163 CALL open_c(ifilnam,len_tmp_name,0)
166 CALL open_c(ifilnam,len_tmp_name,8)
171 ifilnam(i)=ichar(tmp_name(i:i))
174 CALL open_c(ifilnam,len_tmp_name,3)
178 ifilnam(i)=ichar(tmp_name(i:i))
181 CALL open_c(ifilnam,len_tmp_name,6)
186 READ(card,
'(20A4)')title
187 WRITE(iunit)icode,title
190 WRITE(iunit,
'(A)')filnam(1:rootlen+long)
191 WRITE(iunit,
'(2A)')ch8,card(1:72)
193 WRITE(iunit,
'(2A)')filnam(1:rootlen+long),
' FORMAT'
194 WRITE(iunit,
'(A,I5,A,I5,A)')eor,1,
'I',72,
'C'
195 WRITE(iunit,
'(I5,A)')icode,card(1:72)
198 ititle(i)=ichar(card(i:i))
208 ch80(i:i)=char(ititle(i))
210 ch80(25:33) =
' RADIOSS '
211 ch80(34:59) =versio(2)(9:34)
214 ititle(i)=ichar(ch80(i:i))
217 READ(ch80,
'(20A4)')title
220 WRITE(iunit,
'(A)')ch80
222 WRITE(iunit,'(2a)
')FILNAM(1:ROOTLEN+LONG),' format
'
223 WRITE(IUNIT,'(a,i5,a)
')EOR,80,'c
'
224 WRITE(IUNIT,'(a)
')CH80
227 CALL WRITE_C_C(ITITLE,80)
240 WRITE(IUNIT,'(2a)
')CH8
242 WRITE(IUNIT,'(a,i5,a)
')EOR,1,'i
'
243 WRITE(IUNIT,'(i5)
')NRECORD
246 CALL WRITE_I_C(NRECORD,1)
255 WRITE(IUNIT,'(2a)
')CH8
257 WRITE(IUNIT,'(a,i5,a)
')EOR,1,'i
'
258 WRITE(IUNIT,'(i5)
')LTITL
261 CALL WRITE_I_C(LTITL,1)
267 WRITE(IUNIT) FAC_MASS,FAC_LENGTH,FAC_TIME
270 CH8L=STRR(FAC_LENGTH)
272 WRITE(IUNIT,'(3a8)
')CH8M,CH8L,CH8T
274 WRITE(IUNIT,'(a,i5,a)
')EOR,3,'r
'
275 WRITE(IUNIT,'((5(1x,1pe15.8)))
')FAC_MASS,FAC_LENGTH,FAC_TIME
294.AND.
IF(NSECT==0NSFLSW/=0) IWA(5)=NTHGRP2+1
295 IF (TH_VERS >= 2026)THEN
297 ELSEIF (TH_VERS >= 2021) THEN
303 IF (IUNIT /= IUHIS) THEN
310 CALL WRTDES(IWA,IWA,6,ITTYP,0)
312 IF(ALLOCATED(IWA)) DEALLOCATE(IWA)
313 ALLOCATE(IWA(NGLOBTH))
318 IF(IUNIT == IUHIS) CALL WRTDES(IWA,IWA,NGLOBTH,ITTYP,0)
321 NVAR=MAX(NVAR,IPARTH(NVPARTH,N))
323 IF(ALLOCATED(IWA)) DEALLOCATE(IWA)
327 NVAR=IPARTH(NVPARTH,N)
328 IAD =IPARTH(NVPARTH+1,N)
329 CALL FRETITL2(TITL,IPART(LIPART1-LTITR+1,N),40)
331 ITITLE(I)=ICHAR(TITL(I:I))
342 READ(TITL,'(10a4)
')TIT40
343 WRITE(IUNIT)IPART(4,N),TIT40,IPART(7,N),
345 ELSE IF(LTITL==80)THEN
346 READ(TITL,'(20a4)
')TIT80
347 WRITE(IUNIT)IPART(4,N),TIT80,IPART(7,N),
350 READ(TITL,'(25a4)
')TIT100
351 WRITE(IUNIT)IPART(4,N),TIT100,IPART(7,N),
356 WRITE(IUNIT,'(a,i5,a,i5,a,i5,a)
')EOR,1,'i
',40,'c
',4,'i
'
357 WRITE(IUNIT,'(i10,a,4i5)
')IPART(4,N),TITL(1:LTITL),
358 . IPART(7,N),IPART1,IPART2,NVAR
361 CALL WRITE_I_C(IPART(4,N),1)
362 CALL WRITE_C_C(ITITLE,LTITL)
363 CALL WRITE_I_C(IPART(7,N),1)
364 CALL WRITE_I_C(IPART1,1)
365 CALL WRITE_I_C(IPART2,1)
366 CALL WRITE_I_C(NVAR,1)
372 IF(I <= SITHBUF) THEN
378 IF(NVAR/=0)CALL WRTDES(IWA,IWA,NVAR,ITTYP,0)
383 CALL FRETITL2(TITL,IPM(NPROPMI-LTITR+1,N),40)
384 TITLSUM=SUM(IPM(NPROPMI-LTITR+1:NPROPMI-LTITR+40,N))
390 ITITLE(I)=ICHAR(TITL(I:I))
394 READ(TITL,'(10a4)
')TIT40
395 WRITE(IUNIT)MID,TIT40
396 ELSE IF(LTITL==80)THEN
397 READ(TITL,'(20a4)
')TIT80
398 WRITE(IUNIT)MID,TIT80
400 READ(TITL,'(25a4)
')TIT100
401 WRITE(IUNIT)MID,TIT100
405 WRITE(IUNIT,'(a,i5,a,i5,a)
')EOR,1,'i
',LTITL,'c
'
406 WRITE(IUNIT,'(i10,a)
')MID,TITL(1:LTITL)
409 CALL WRITE_I_C(MID,1)
410 CALL WRITE_C_C(ITITLE,LTITL)
417 CALL FRETITL2(TITL,IGEO(NPROPGI-LTITR+1,N),40)
419 ITITLE(I)=ICHAR(TITL(I:I))
423 READ(TITL,'(10a4)
')TIT40
424 WRITE(IUNIT)PID,TIT40
425 ELSE IF(LTITL==80)THEN
426 READ(TITL,'(20a4)
')TIT80
427 WRITE(IUNIT)PID,TIT80
429 READ(TITL,'(25a4)
')TIT100
430 WRITE(IUNIT)PID,TIT100
434 WRITE(IUNIT,'(a,i5,a,i5,a)
')EOR,1,'i
',LTITL,'c
'
435 WRITE(IUNIT,'(i10,a)
')PID,TITL(1:LTITL)
439 CALL WRITE_I_C(PID,1)
440 CALL WRITE_C_C(ITITLE,LTITL)
445 IF(ALLOCATED(IWA)) DEALLOCATE(IWA)
448 NVAR=MAX(NVAR,SUBSET(N)%NVARTH(ITHFLAG))
452!! NVAR=ISUBTH(NVSUBTH,N)
453!! IAD =ISUBTH(NVSUBTH+1,N)
454 NVAR=SUBSET(N)%NVARTH(ITHFLAG)
456!! CALL FRETITL2(TITL,ISUBS(LISUB1-LTITR+1,N),40)
457 TITL = SUBSET(N)%TITLE
459 ITITLE(I)=ICHAR(TITL(I:I))
463 READ(TITL,'(10a4)
')TIT40
464!! WRITE(IUNIT)ISUBS(1,N),ISUBS(10,N),
465!! . ISUBS(2,N),ISUBS(4,N),NVAR,TIT40
466 WRITE(IUNIT)SUBSET(N)%ID,SUBSET(N)%PARENT,
467 . SUBSET(N)%NCHILD,SUBSET(N)%NPART,NVAR,TIT40
468 ELSE IF(LTITL==00)THEN
469 READ(TITL,'(20a4)
')TIT80
470!! WRITE(IUNIT)ISUBS(1,N),ISUBS(10,N),
471!! . ISUBS(2,N),ISUBS(4,N),NVAR,TIT80
472 WRITE(IUNIT)SUBSET(N)%ID,SUBSET(N)%PARENT,
473 . SUBSET(N)%NCHILD,SUBSET(N)%NPART,NVAR,TIT80
475 READ(TITL,'(25a4)
')TIT100
476!! WRITE(IUNIT)ISUBS(1,N),ISUBS(10,N),
477!! . ISUBS(2,N),ISUBS(4,N),NVAR,TIT100
478 WRITE(IUNIT)SUBSET(N)%ID,SUBSET(N)%PARENT,
479 . SUBSET(N)%NCHILD,SUBSET(N)%NPART,NVAR,TIT100
483 WRITE(IUNIT,'(a,i5,a,i5,a)
')EOR,5,'i
',LTITL,'c
'
484!! WRITE(IUNIT,'(5i10,a)
')ISUBS(1,N),ISUBS(10,N),
485!! . ISUBS(2,N),ISUBS(4,N),NVAR,TITL(1:LTITL)
486 WRITE(IUNIT,'(5i10,a)
')SUBSET(N)%ID,SUBSET(N)%PARENT,
487 . SUBSET(N)%NCHILD,SUBSET(N)%NPART,NVAR,TITL(1:LTITL)
490!! CALL WRITE_I_C(ISUBS(1,N),1)
491 CALL WRITE_I_C(SUBSET(N)%ID,1)
492!! CALL WRITE_I_C(ISUBS(10,N),1)
493 CALL WRITE_I_C(SUBSET(N)%PARENT,1)
494!! CALL WRITE_I_C(ISUBS(2,N),1)
495 CALL WRITE_I_C(SUBSET(N)%NCHILD,1)
496!! CALL WRITE_I_C(ISUBS(4,N),1)
497 CALL WRITE_I_C(SUBSET(N)%NPART,1)
498 CALL WRITE_I_C(NVAR,1)
499 CALL WRITE_C_C(ITITLE,LTITL)
502!! IF(ISUBS(2,N)/=0)CALL WRTDES(IBUFSSG(ISUBS(3,N)),
503!! . IBUFSSG(ISUBS(3,N)),ISUBS(2,N),ITTYP,0)
504 IF(SUBSET(N)%NCHILD/=0)CALL WRTDES(SUBSET(N)%CHILD,
505 . SUBSET(N)%CHILD,SUBSET(N)%NCHILD,ITTYP,0)
506!! IF(ISUBS(4,N)/=0)CALL WRTDES(IBUFSSG(ISUBS(5,N)),
507!! . IBUFSSG(ISUBS(5,N)),ISUBS(4,N),ITTYP,0)
508 IF(SUBSET(N)%NPART/=0)CALL WRTDES(SUBSET(N)%PART,
509 . SUBSET(N)%PART,SUBSET(N)%NPART,ITTYP,0)
515 IF(NVAR/=0)CALL WRTDES(IWA,IWA,NVAR,ITTYP,0)
520 CALL FRETITL2(TITL,ITHGRP(NITHGR-LTITR+1,N),40)
522 ITITLE(I)=ICHAR(TITL(I:I))
529 READ(TITL,'(10a4)
')TIT40
530 WRITE(IUNIT)ITHGRP(1,N),ITY,
531 . ITHGRP(3,N),ITHGRP(4,N),ITHGRP(6,N),TIT40
532 ELSE IF(LTITL==80)THEN
533 READ(TITL,'(20a4)
')TIT80
534 WRITE(IUNIT)ITHGRP(1,N),ITY,
535 . ITHGRP(3,N),ITHGRP(4,N),ITHGRP(6,N),TIT80
537 READ(TITL,'(25a4)
')TIT100
538 WRITE(IUNIT)ITHGRP(1,N),ITY,
539 . ITHGRP(3,N),ITHGRP(4,N),ITHGRP(6,N),TIT100
543 WRITE(IUNIT,'(a,i5,a,i5,a)
')EOR,5,'i
',LTITL,'c
'
544 WRITE(IUNIT,'(5i10,a)
')ITHGRP(1,N),ITY,
545 . ITHGRP(3,N),ITHGRP(4,N),ITHGRP(6,N),TITL(1:LTITL)
548 CALL WRITE_I_C(ITHGRP(1,N),1)
549 CALL WRITE_I_C(ITY,1)
550 CALL WRITE_I_C(ITHGRP(3,N),1)
551 CALL WRITE_I_C(ITHGRP(4,N),1)
552 CALL WRITE_I_C(ITHGRP(6,N),1)
553 CALL WRITE_C_C(ITITLE,LTITL)
556 IAD1=ITHGRP(5,N)+2*ITHGRP(4,N)
559 CALL FRETITL2(TITL,ITHBUF(IAD2),40)
561 ITITLE(I)=ICHAR(TITL(I:I))
565 READ(TITL,'(10a4)
')TIT40
566 WRITE(IUNIT)ITHBUF(IAD1),TIT40
567 ELSE IF(LTITL==80)THEN
568 READ(TITL,'(20a4)
')TIT80
569 WRITE(IUNIT)ITHBUF(IAD1),TIT80
571 READ(TITL,'(25a4)
')TIT100
572 WRITE(IUNIT)ITHBUF(IAD1),TIT100
576 WRITE(IUNIT,'(a,i5,a,i5,a)
')EOR,1,'i
',LTITL,'c
'
577 WRITE(IUNIT,'(i10,a)
')ITHBUF(IAD1),TITL(1:LTITL)
580 CALL WRITE_I_C(ITHBUF(IAD1),1)
581 CALL WRITE_C_C(ITITLE,LTITL)
588 CALL WRTDES(ITHBUF(ITHGRP(7,N)),
589 . ITHBUF(ITHGRP(7,N)),NVAR,ITTYP,0)
590 IF(TH_TITLES == 1)THEN
594 VAR(K:K)=CHAR(ITHVAR((ITHGRP(9,N)-1+J-1)*10+K))
596 WRITE(IFILTITL,'(i10)
')ITHGRP(2,N)
597 WRITE(IFILTITL,'(a)
')VAR(1:10)
604 IF(ALLOCATED(IWA)) DEALLOCATE(IWA)
606.AND.
IF(NSECT==0NSFLSW/=0) THEN
611 READ(TITL,'(10a4)
')TIT40
613 . 1,NSFLSW,NVAR,TIT40
614 ELSE IF(LTITL==80)THEN
615 READ(TITL,'(20a4)
')TIT80
617 . 1,NSFLSW,NVAR,TIT80
619 READ(TITL,'(25a4)
')TIT100
621 . 1,NSFLSW,NVAR,TIT100
625 WRITE(IUNIT,'(a,i5,a,i5,a)
')EOR,5,'i
',LTITL,'c
'
626 WRITE(IUNIT,'(5i10,a)
')104,104,
627 . 1,NSFLSW,ITHGRP(6,N),TITL(1:LTITL)
630 ITITLE(I)=ICHAR(TITL(I:I))
633 CALL WRITE_I_C(104,1)
634 CALL WRITE_I_C(104,1)
636 CALL WRITE_I_C(NSFLSW,1)
637 CALL WRITE_I_C(NVAR,1)
638 CALL WRITE_C_C(ITITLE,LTITL)
645 ELSE IF(LTITL==80)THEN
652 WRITE(IUNIT,'(a,i5,a,i5,a)
')EOR,1,'i
',LTITL,'c
'
653 WRITE(IUNIT,'(i10,a)
')J,TITL(1:LTITL)
657 CALL WRITE_C_C(ITITLE,LTITL)
664 CALL WRTDES(IWA,IWA,6,ITTYP,0)
667.AND.
IF ((IRAD2R==1)(R2R_SIU==1)) THEN
671 IF (IUNIT == 3) SEEK_LOC = 1
672 SEEK_FLAG(SEEK_LOC) = 1
676 IF(TH_TITLES == 1) CLOSE(IFILTITL)
subroutine hist1(filnam, ifil, nthgrp2, long, pm, geo, ipart, subset, ithgrp, ithbuf, igeo, ipm, iparth, nparth, nvparth, nvsubth, ittyp, ithflag, ithvar, ifiltitl, sithbuf, names_and_titles)
subroutine section(nnod, n1, n2, n3, nstrf, x, v, vr, fsav, fopta, secfcum, ms, in, ifram, xsec)