From 132f0918021c97773360c6868dca6ac105b982e0 Mon Sep 17 00:00:00 2001 From: Yggdrasil Date: Fri, 24 Apr 2026 12:39:48 +0200 Subject: [PATCH] Output name can now contain a run id. --- event2_03.f | 76 +++++++++++++++++++++++++++++++---------------------- 1 file changed, 44 insertions(+), 32 deletions(-) diff --git a/event2_03.f b/event2_03.f index ee6265a..2b58af1 100644 --- a/event2_03.f +++ b/event2_03.f @@ -201,9 +201,10 @@ C----------------------------------------------------------------------- SUBROUTINE READCARD implicit none integer :: stat,n,nl,i,iline,ichar - character(3) :: flag(1:4) - character(40) :: val(1:4) + character(3) :: flag(1:5) + character(40) :: val(1:5) character(20) :: fname + character(5) :: RID character(72) :: line character(12) :: keys(20),settings(20) logical fexists @@ -224,6 +225,7 @@ C----------------------------------------------------------------------- CHARACTER*40 PATH DATA fname/'card.input'/ + DATA RID /'00000'/ DATA ISEEDIN/123450,678900/ COMMON /PARAMS/ NFL,NEV,EM @@ -232,6 +234,7 @@ C----------------------------------------------------------------------- COMMON /GBINS/CB1,CB2,DB,TB,YB,EB COMMON /GBINS/CL1,CL2,DL,TL,YL,EL,CH1,CH2,DH,TH,YH,EH COMMON /GBINS/CBS1,CBS2,DBS,TBS,YBS,EBS + COMMON /ID/ RID common /runcard/keys,settings PATH = './results/' @@ -258,6 +261,11 @@ C----------------------------------------------------------------------- call getarg(8,val(4)) nl = 4 endif + if (n.ge.10)then + call getarg(9,flag(5)) + call getarg(10,val(5)) + nl = 5 + endif C TODO: need to add a proper info page and maybe change the input parameter handling. @@ -270,6 +278,8 @@ C TODO: need to add a proper info page and maybe change the input para read(val(i), *) ISEEDIN(1) elseif (flag(i).eq.'-sb') then read(val(i), *) ISEEDIN(2) + elseif (flag(i).eq.'-c') then + RID = val(i) else CALL PRINTHEADER print *, 'Option ', flag(i), @@ -521,6 +531,7 @@ c Auxiliary helper subroutine to create output folder C----------------------------------------------------------------------- SUBROUTINE DEMOIN IMPLICIT NONE + CHARACTER(5) RID INTEGER I INTEGER CB1,CB2,DB,TB,YB,EB DOUBLE PRECISION CL1,CL2,DL,TL,YL,EL,CH1,CH2,DH,TH,YH,EH @@ -530,6 +541,7 @@ C----------------------------------------------------------------------- COMMON /GBINS/CB1,CB2,DB,TB,YB,EB COMMON /GBINS/CL1,CL2,DL,TL,YL,EL,CH1,CH2,DH,TH,YH,EH COMMON /GBINS/CBS1,CBS2,DBS,TBS,YBS,EBS + COMMON /ID/ RID CBS1=(CH1-CL1)/CB1 CBS2=(CH2-CL2)/CB2 @@ -548,36 +560,36 @@ C----------------------------------------------------------------------- BSQR(2,I)=0 ENDIF ENDDO - CALL GBOOK1( 1,'C-PARAMETER',CB1,CL1,CH1) - CALL GBOOK1(101,'C-PARAMETER',CB1,CL1,CH1) - CALL GBOOK1(201,'C-PARAMETER',CB1,CL1,CH1) - CALL GBOOK1( 11,'C-PARAMETER',CB2,CL2,CH2) - CALL GBOOK1(111,'C-PARAMETER',CB2,CL2,CH2) - CALL GBOOK1(211,'C-PARAMETER',CB2,CL2,CH2) - CALL GBOOK1( 2,'D-PARAMETER',DB,DL,DH) - CALL GBOOK1(102,'D-PARAMETER',DB,DL,DH) - CALL GBOOK1(202,'D-PARAMETER',DB,DL,DH) - CALL GBOOK1( 12,'D-PARAMETER',DB,DL,DH) - CALL GBOOK1(112,'D-PARAMETER',DB,DL,DH) - CALL GBOOK1(212,'D-PARAMETER',DB,DL,DH) - CALL GBOOK1( 3,'THRUST',TB,TL,TH) - CALL GBOOK1(103,'THRUST',TB,TL,TH) - CALL GBOOK1(203,'THRUST',TB,TL,TH) - CALL GBOOK1( 13,'THRUST',TB,TL,TH) - CALL GBOOK1(113,'THRUST',TB,TL,TH) - CALL GBOOK1(213,'THRUST',TB,TL,TH) - CALL GBOOK1( 4,'y3(JADE,P)',YB,YL,YH) - CALL GBOOK1(104,'y3(JADE,P)',YB,YL,YH) - CALL GBOOK1(204,'y3(JADE,P)',YB,YL,YH) - CALL GBOOK1( 14,'y3(JADE,P)',YB,YL,YH) - CALL GBOOK1(114,'y3(JADE,P)',YB,YL,YH) - CALL GBOOK1(214,'y3(JADE,P)',YB,YL,YH) - CALL GBOOK1( 5,'EEC',EB,EL,EH) - CALL GBOOK1(105,'EEC',EB,EL,EH) - CALL GBOOK1(205,'EEC',EB,EL,EH) - CALL GBOOK1( 15,'EEC',EB,EL,EH) - CALL GBOOK1(115,'EEC',EB,EL,EH) - CALL GBOOK1(215,'EEC',EB,EL,EH) + CALL GBOOK1( 1,'C-PARAMETER_'//RID,CB1,CL1,CH1) + CALL GBOOK1(101,'C-PARAMETER_'//RID,CB1,CL1,CH1) + CALL GBOOK1(201,'C-PARAMETER_'//RID,CB1,CL1,CH1) + CALL GBOOK1( 11,'C-PARAMETER_'//RID,CB2,CL2,CH2) + CALL GBOOK1(111,'C-PARAMETER_'//RID,CB2,CL2,CH2) + CALL GBOOK1(211,'C-PARAMETER_'//RID,CB2,CL2,CH2) + CALL GBOOK1( 2,'D-PARAMETER_'//RID,DB,DL,DH) + CALL GBOOK1(102,'D-PARAMETER_'//RID,DB,DL,DH) + CALL GBOOK1(202,'D-PARAMETER_'//RID,DB,DL,DH) + CALL GBOOK1( 12,'D-PARAMETER_'//RID,DB,DL,DH) + CALL GBOOK1(112,'D-PARAMETER_'//RID,DB,DL,DH) + CALL GBOOK1(212,'D-PARAMETER_'//RID,DB,DL,DH) + CALL GBOOK1( 3,'THRUST_'//RID,TB,TL,TH) + CALL GBOOK1(103,'THRUST_'//RID,TB,TL,TH) + CALL GBOOK1(203,'THRUST_'//RID,TB,TL,TH) + CALL GBOOK1( 13,'THRUST_'//RID,TB,TL,TH) + CALL GBOOK1(113,'THRUST_'//RID,TB,TL,TH) + CALL GBOOK1(213,'THRUST_'//RID,TB,TL,TH) + CALL GBOOK1( 4,'y3(JADE,P)_'//RID,YB,YL,YH) + CALL GBOOK1(104,'y3(JADE,P)_'//RID,YB,YL,YH) + CALL GBOOK1(204,'y3(JADE,P)_'//RID,YB,YL,YH) + CALL GBOOK1( 14,'y3(JADE,P)_'//RID,YB,YL,YH) + CALL GBOOK1(114,'y3(JADE,P)_'//RID,YB,YL,YH) + CALL GBOOK1(214,'y3(JADE,P)_'//RID,YB,YL,YH) + CALL GBOOK1( 5,'EEC_'//RID,EB,EL,EH) + CALL GBOOK1(105,'EEC_'//RID,EB,EL,EH) + CALL GBOOK1(205,'EEC_'//RID,EB,EL,EH) + CALL GBOOK1( 15,'EEC_'//RID,EB,EL,EH) + CALL GBOOK1(115,'EEC_'//RID,EB,EL,EH) + CALL GBOOK1(215,'EEC_'//RID,EB,EL,EH) END C----------------------------------------------------------------------- SUBROUTINE DEMOUT(NEV)