diff --git a/Processes/Sibyll/sibyll2.3c.f b/Processes/Sibyll/sibyll2.3c.f index 457b0e53bc18f0b74b4a42d3c359efd391359518..1a5a80f02fe7b2b393b2724434bf389d8722e938 100644 --- a/Processes/Sibyll/sibyll2.3c.f +++ b/Processes/Sibyll/sibyll2.3c.f @@ -425,7 +425,7 @@ C. important information for the generation of events C. C PARAMETER (NS_max = 20, NH_max = 80) C COMMON /S_CCSIG/ SSIG(61,3), PJETC(0:NS_max,0:NH_max,61,2), -C & SSIGN(61,3),SSIGNSD(61,3) ALINT(61,3), ASQSMIN, ASQSMAX, DASQS, NSQS +C & SSIGN(61,3,3),SSIGNSD(61,3,3) ALINT(61,3,3), ASQSMIN, ASQSMAX, DASQS, NSQS C. C. NSQS = number of energy points (61 is current version) C. ASQSMIN = log_10 [sqrt(s) GeV] minimum value @@ -436,8 +436,10 @@ C. C. SSIG(J,1) inelastic cross section for pp interaction C. at energy: sqrt(s)(GeV) = 10**[ASQSMIN+DASQS*(J-1)] C. SSIG(J,2) inelastic cross section for pi-p interaction -C. SSIGN(J,1) inelastic cross section for p-Air interaction -C. SSIGN(J,2) inelastic cross section for pi-Air interaction +C. SSIGN(J,1,1) inelastic cross section for p-Air interaction +C. SSIGN(J,2,1) inelastic cross section for pi-Air interaction +C. SSIGN(J,1,2) inelastic cross section for p-Nitrogen interaction +C. SSIGN(J,2,2) inelastic cross section for pi-Nitrogen interaction C. C. PJETC(n_s,n_j,J,1) Cumulative probability distribution C. for the production of n_s soft interactions and @@ -10886,12 +10888,12 @@ c COMMON /S_DEBUG/ Ncall, Ndebug, Lun INTEGER NS_max, NH_max PARAMETER (NS_max = 20, NH_max = 80) - DOUBLE PRECISION SSIG,PJETC,SSIGN,SSIGNSD,ALINT,ASQSMIN,ASQSMAX, - & DASQS + DOUBLE PRECISION SSIG,PJETC,SSIGN,SSIGNSD,SSIGNEL,ALINT,ASQSMIN, + & ASQSMAX,DASQS INTEGER NSQS COMMON /S_CCSIG/ SSIG(61,3), PJETC(0:NS_max,0:NH_max,61,2), - & SSIGN(61,3), SSIGNSD(61,3), ALINT(61,3), - & ASQSMIN, ASQSMAX, DASQS, NSQS + & SSIGN(61,3,3), SSIGNSD(61,3,3), SSIGNEL(61,3,3), + & ALINT(61,3,3), ASQSMIN, ASQSMAX, DASQS, NSQS DOUBLE PRECISION STR_mass_val, STR_mass_val_hyp, STR_mass_sea COMMON /S_CUTOFF/ STR_mass_val, STR_mass_val_hyp, STR_mass_sea @@ -10993,12 +10995,12 @@ C----------------------------------------------------------------------- INTEGER NS_max, NH_max PARAMETER (NS_max = 20, NH_max = 80) - DOUBLE PRECISION SSIG,PJETC,SSIGN,SSIGNSD,ALINT,ASQSMIN,ASQSMAX, - & DASQS + DOUBLE PRECISION SSIG,PJETC,SSIGN,SSIGNSD,SSIGNEL,ALINT,ASQSMIN, + & ASQSMAX,DASQS INTEGER NSQS COMMON /S_CCSIG/ SSIG(61,3), PJETC(0:NS_max,0:NH_max,61,2), - & SSIGN(61,3), SSIGNSD(61,3), ALINT(61,3), - & ASQSMIN, ASQSMAX, DASQS, NSQS + & SSIGN(61,3,3), SSIGNSD(61,3,3), SSIGNEL(61,3,3), + & ALINT(61,3,3), ASQSMIN, ASQSMAX, DASQS, NSQS DOUBLE PRECISION SSIG_TOT,SSIG_SD1,SSIG_SD2,SSIG_DD,SSIG_B, & SSIG_RHO COMMON /S_CCSIG2/ SSIG_TOT(61,3),SSIG_SD1(61,3),SSIG_SD2(61,3), @@ -11187,12 +11189,12 @@ C----------------------------------------------------------------------- INTEGER NS_max, NH_max PARAMETER (NS_max = 20, NH_max = 80) - DOUBLE PRECISION SSIG,PJETC,SSIGN,SSIGNSD,ALINT,ASQSMIN,ASQSMAX, - & DASQS + DOUBLE PRECISION SSIG,PJETC,SSIGN,SSIGNSD,SSIGNEL,ALINT,ASQSMIN, + & ASQSMAX,DASQS INTEGER NSQS COMMON /S_CCSIG/ SSIG(61,3), PJETC(0:NS_max,0:NH_max,61,2), - & SSIGN(61,3), SSIGNSD(61,3), ALINT(61,3), - & ASQSMIN, ASQSMAX, DASQS, NSQS + & SSIGN(61,3,3), SSIGNSD(61,3,3), SSIGNEL(61,3,3), + & ALINT(61,3,3), ASQSMIN, ASQSMAX, DASQS, NSQS DIMENSION PJ(2),PS(2),PW(2) SAVE @@ -11207,15 +11209,15 @@ C----------------------------------------------------------------------- 10 FORMAT(//,' Table of cross sections, and average number', & ' of minijets and wounded nucleons ') 15 FORMAT(' [sqrt(s) in GeV, cross sections in mbarn]. ') -16 FORMAT(' sqrt(s) sig(pp) sig(pA) <n_s> <n_j> <n_w>', - & ' sig(pip) sig(piA) <n_s> <n_j> <n_w>') +16 FORMAT(' sqrt(s) sig(pp) sig(pAir) <n_s> <n_j> <n_w>', + & ' sig(pip) sig(piAir) <n_s> <n_j> <n_w>') 18 FORMAT(1X,77('-') ) DO J=1,61,1 SQS = 10.D0**(ASQSMIN + DASQS*DBLE(J-1)) DO K=1,2 - PW(K) = ATARGET*SSIG(J,K)/SSIGN(J,K) + PW(K) = ATARGET*SSIG(J,K)/SSIGN(J,K,1) PJ(K) = 0.D0 PS(K) = 0.D0 @@ -11235,8 +11237,8 @@ C----------------------------------------------------------------------- ENDDO - WRITE(LUN,20) SQS,SSIG(J,1),SSIGN(J,1),PS(1),PJ(1),PW(1) - & ,SSIG(J,2),SSIGN(J,2),PS(2),PJ(2),PW(2) + WRITE(LUN,20) SQS,SSIG(J,1),SSIGN(J,1,1),PS(1),PJ(1),PW(1) + & ,SSIG(J,2),SSIGN(J,2,1),PS(2),PJ(2),PW(2) ENDDO @@ -11252,7 +11254,8 @@ C======================================================================= SUBROUTINE SIG_AIR_INI C----------------------------------------------------------------------- -C...Initialize the cross section and interaction lengths on air +C... Initialize the cross section and interaction lengths on air, +C. nitrogen and oxygen C. (this version initializes p-air, pi-air, and K-air cross sections) C. C. also calculates the low mass beam diffraction cross section in hAir \FR @@ -11264,12 +11267,12 @@ C----------------------------------------------------------------------- INTEGER NS_max, NH_max PARAMETER (NS_max = 20, NH_max = 80) - DOUBLE PRECISION SSIG,PJETC,SSIGN,SSIGNSD,ALINT,ASQSMIN,ASQSMAX, - & DASQS + DOUBLE PRECISION SSIG,PJETC,SSIGN,SSIGNSD,SSIGNEL,ALINT,ASQSMIN, + & ASQSMAX,DASQS INTEGER NSQS COMMON /S_CCSIG/ SSIG(61,3), PJETC(0:NS_max,0:NH_max,61,2), - & SSIGN(61,3), SSIGNSD(61,3), ALINT(61,3), - & ASQSMIN, ASQSMAX, DASQS, NSQS + & SSIGN(61,3,3), SSIGNSD(61,3,3), SSIGNEL(61,3,3), + & ALINT(61,3,3), ASQSMIN, ASQSMAX, DASQS, NSQS COMMON /GLAUB_SCR/ XI_MAX , ALAM(61) INTEGER NCALL, NDEBUG, LUN @@ -11280,15 +11283,15 @@ C----------------------------------------------------------------------- INTEGER IPAR COMMON /S_CFLAFR/ PAR(NPAR_max), IPAR(NIPAR_max) DIMENSION SIGDIF(3) - + DIMENSION ITARGC(3) + CHARACTER*3 TARGN + DIMENSION TARGN(3) SAVE DATA AVOG /6.0221367D-04/ DATA ATARGET /14.514D0/ + DATA ITARGC /0,14,16/ + DATA TARGN /'air','nit','oxy'/ - -c PRINT *,'inel. screening in hadron - nucleus interactions' -c ALAM = 0.5 -c PRINT *,'const. coupling: ', ALAM IF ( IPAR(12).GT.0 ) THEN if (ndebug.gt.0) then WRITE(LUN,*) ' SIG_AIR_INI:' @@ -11298,61 +11301,81 @@ c PRINT *,'const. coupling: ', ALAM if (ndebug.gt.0)WRITE(LUN,*)' low mass Xi_max: ' , XI_MAX ENDIF +C...target loop (air, N, O) + DO IK=1,3 + IAT = ITARGC(IK) + WRITE(6,*) 'SIG_AIR_INI: initializing target: (i,A)', + & ik, IAT, TARGN(IK) , '..' C...particle loop (p, pi, K) - DO K=1,3 + DO K=1,3 - if (NDEBUG .gt. 0 ) then - WRITE(LUN,'(/,1X,A,A)') - & 'Table: J, sqs, SIGtot, SIGprod, SIG_SD,', - & ' Lambda ' - WRITE(LUN,*) - & '-------------------------------------------------', - & '-------------' - endif - DO J=1,NSQS + if (NDEBUG .gt. 0 ) then + WRITE(6,'(/,1X,A,A)') + & 'Table: J, IK, sqs, SIGtot, SIGprod, SIG_SD,', + &' Lambda ' + WRITE(6,*) + & '-------------------------------------------------', + & '-------------' + endif + DO J=1,NSQS - ASQS = ASQSMIN + DASQS*DBLE(J-1) - SQS = 10.D0**ASQS + ASQS = ASQSMIN + DASQS*DBLE(J-1) + SQS = 10.D0**ASQS - IF (K.EQ.1) THEN + IF (K.EQ.1) THEN c Goulianos param. from GAP-2012-056, Mx**2s = 0.02 c against PDG elastic cross section - CALL SIB_HADCS1(K,SQS,SIGT1,SIGEL1,SIGINEL1,SLOPE1,RHO1) - SIGEFF = 0.68D0*(1.D0+36.D0/SQS**2)* - & dlog(0.6D0+XI_MAX/1.5D0*SQS**2) - ALAM(J) = dSQRT(SIGEFF/SIGEL1) - ENDIF - -c CALL SIB_HADCSL(k,SQS, -c & SIGT,SIGEL,SIGINEL,SIGDIF,SLOPE,RHO) - - CALL SIB_SIGMA_HP(K,SQS,SIGT,SIGEL,SIGINEL,SIGDIF,SLOPE,RHO) - CALL SIG_H_AIR - & (SIGT, SLOPE, RHO, ALAM(J), - & SSIGT, SSIGEL, SSIGQE, SSIGSD, SSIGQSD) - - if (ndebug .gt. 0 ) WRITE(LUN,'(1X,I2,1P,5E12.3)') - & K,SQS,SSIGT,SSIGT-SSIGQE,SSIGQSD,ALAM(J) -C particle production cross section - SSIGN(J,K) = SSIGT-SSIGQE - SSIGNSD(J,K) = SSIGQSD - ALINT(J,K) = 1.D0/(AVOG*SSIGn(j,K)/ATARGET) - ENDDO + CALL SIB_HADCS1 + & (K,SQS,SIGT1,SIGEL1,SIGINEL1,SLOPE1,RHO1) + SIGEFF = 0.68D0*(1.D0+36.D0/SQS**2)* + & dlog(0.6D0+XI_MAX/1.5D0*SQS**2) + ALAM(J) = dSQRT(SIGEFF/SIGEL1) + ENDIF + CALL SIB_SIGMA_HP(K,SQS, + & SIGT,SIGEL,SIGINEL,SIGDIF,SLOPE,RHO) + IF(IK.eq.1)THEN +c fixed O-N mixture + CALL SIG_H_AIR + & (SIGT, SLOPE, RHO, ALAM(J), + & SSIGT, SSIGEL, SSIGQE, SSIGSD, SSIGQSD) + ELSE + CALL SIG_H_NUC + & (IAT, SIGT, SLOPE, RHO, ALAM(J), + & SSIGT, SSIGEL, SSIGQE, SSIGSD, SSIGQSD) + ENDIF + if (ndebug .gt. 0 ) WRITE(6,'(1X,I2,1P,5E12.3)') + & K,SQS,SSIGT,SSIGT-SSIGQE,SSIGQSD,ALAM(J) +C particle production cross section + SSIGN(J,K,IK) = SSIGT-SSIGQE +c diffractive cross section + SSIGNSD(J,K,IK) = SSIGQSD +c elastic cross section + SSIGNEL(J,K,IK) = SSIGEL +c interaction length + IF(IK.eq.1)then + ALINT(J,K,IK) = 1.D0/(AVOG*SSIGn(j,K,IK)/ATARGET) + else + ALINT(J,K,IK) = 1.D0/(AVOG*SSIGn(j,K,IK)/IAT) + endif + ENDDO + ENDDO + + if (ndebug .gt. 0 ) then + WRITE(6,'(/,1X,A)') + & ' SIG_AIR_INI: NUCLIB interaction lengths [g/cm**2]' + WRITE(6,*) 'target:', TARGN(IK) + WRITE(6,'(1X,A)') + & ' sqs, p-targ, pi-targ, K-targ' + DO J=1,NSQS + ASQS = ASQSMIN + DASQS*DBLE(J-1) + SQS = 10.D0**ASQS + WRITE(6,'(1X,1P,4E12.3)') + & SQS,ALINT(J,1,IK),ALINT(J,2,IK),ALINT(J,3,IK) + ENDDO + endif ENDDO - - if (ndebug .gt. 0 ) then - WRITE(LUN,'(/,1X,A)') - & ' SIG_AIR_INI: NUCLIB interaction lengths [g/cm**2]' - WRITE(LUN,'(1X,A)') - & ' sqs, p-air, pi-air, K-air' - DO J=1,NSQS - ASQS = ASQSMIN + DASQS*DBLE(J-1) - SQS = 10.D0**ASQS - WRITE(LUN,'(1X,1P,4E12.3)') - & SQS,ALINT(J,1),ALINT(J,2),ALINT(J,3) - ENDDO - endif END + C======================================================================= SUBROUTINE SAMPLE_TARGET(NW,XCHG,KRMNT,XJET,Irec,IREJ) @@ -11873,6 +11896,54 @@ C...................................................................... SIGQSD = (1.D0-FOX)*SIGQSD1 + FOX*SIGQSD2 RETURN END +C======================================================================= + + SUBROUTINE SIG_H_NUC + + (IAT,SSIG,SLOPE,ALPHA,ALAM,SIGT,SIGEL,SIGQE,SIGSD,SIGQSD) + +C----------------------------------------------------------------------- +C********************************************************************** +C...Subroutine to compute hadron-nucleus cross sections +C. according to: +C. R.J. Glauber and G.Matthiae Nucl.Phys. B21, 135, (1970) +C. +C. INPUT : IAT nucleon number in target nucleus +C. SSIG (mbarn) total pp cross section +C. SLOPE (GeV**-2) elastic scattering slope for pp +C. ALPHA real/imaginary part of the forward pp elastic +C. scattering amplitude +C. OUTPUT : SIGT = Total cross section +C. SIGEL = Elastic cross section +C. SIGQEL = Elastic + Quasi elastic cross section +C. SIGSD = single diff. cross section (beam) +C. SIGQSD = Elastic + Quasi elastic SD cross section (beam) +C. +C...................................................................... + IMPLICIT NONE + INTEGER IAT + DOUBLE PRECISION SSIG,SLOPE,ALPHA,ALAM + DOUBLE PRECISION SIG1,SIGEL1,SIGQE1,SIGSD1,SIGQSD1 + DOUBLE PRECISION SIGT,SIGEL,SIGQE,SIGSD,SIGQSD + INTEGER NCALL, NDEBUG, LUN + COMMON /S_DEBUG/ NCALL, NDEBUG, LUN + SAVE + IF(IAT.eq.0.or.IAT.gt.18) THEN + WRITE(LUN,'(//,1X,A)') + & ' SIG_H_NUC: number of target nucleons too large!', + & ' (1<=IAT<=18)' + SIGT = -1.D0 + STOP + ENDIF + + CALL GLAUBER2 + + (IAT,SSIG,SLOPE,ALPHA,ALAM,SIG1,SIGEL1,SIGQE1,SIGSD1,SIGQSD1) + SIGT = SIG1 + SIGEL = SIGEL1 + SIGQE = SIGQE1 + SIGSD = SIGSD1 + SIGQSD = SIGQSD1 + RETURN + END C======================================================================= @@ -13785,12 +13856,12 @@ c external types INTEGER NS_max, NH_max PARAMETER (NS_max = 20, NH_max = 80) - DOUBLE PRECISION SSIG,PJETC,SSIGN,SSIGNSD,ALINT,ASQSMIN,ASQSMAX, - & DASQS + DOUBLE PRECISION SSIG,PJETC,SSIGN,SSIGNSD,SSIGNEL,ALINT,ASQSMIN, + & ASQSMAX,DASQS INTEGER NSQS COMMON /S_CCSIG/ SSIG(61,3), PJETC(0:NS_max,0:NH_max,61,2), - & SSIGN(61,3), SSIGNSD(61,3), ALINT(61,3), - & ASQSMIN, ASQSMAX, DASQS, NSQS + & SSIGN(61,3,3), SSIGNSD(61,3,3), SSIGNEL(61,3,3), + & ALINT(61,3,3), ASQSMIN, ASQSMAX, DASQS, NSQS DOUBLE PRECISION SSIG_TOT,SSIG_SD1,SSIG_SD2,SSIG_DD,SSIG_B, & SSIG_RHO COMMON /S_CCSIG2/ SSIG_TOT(61,3),SSIG_SD1(61,3),SSIG_SD2(61,3), @@ -13892,12 +13963,12 @@ c external types INTEGER NS_max, NH_max PARAMETER (NS_max = 20, NH_max = 80) - DOUBLE PRECISION SSIG,PJETC,SSIGN,SSIGNSD,ALINT,ASQSMIN,ASQSMAX, - & DASQS + DOUBLE PRECISION SSIG,PJETC,SSIGN,SSIGNSD,SSIGNEL,ALINT,ASQSMIN, + & ASQSMAX,DASQS INTEGER NSQS COMMON /S_CCSIG/ SSIG(61,3), PJETC(0:NS_max,0:NH_max,61,2), - & SSIGN(61,3), SSIGNSD(61,3), ALINT(61,3), - & ASQSMIN, ASQSMAX, DASQS, NSQS + & SSIGN(61,3,3), SSIGNSD(61,3,3), SSIGNEL(61,3,3), + & ALINT(61,3,3), ASQSMIN, ASQSMAX, DASQS, NSQS DOUBLE PRECISION SSIG_TOT,SSIG_SD1,SSIG_SD2,SSIG_DD,SSIG_B, & SSIG_RHO COMMON /S_CCSIG2/ SSIG_TOT(61,3),SSIG_SD1(61,3),SSIG_SD2(61,3), @@ -13970,12 +14041,12 @@ Cf2py double precision, intent(out) :: SIGprod,SIGbdif INTEGER NS_max, NH_max PARAMETER (NS_max = 20, NH_max = 80) - DOUBLE PRECISION SSIG,PJETC,SSIGN,SSIGNSD,ALINT,ASQSMIN,ASQSMAX, - & DASQS + DOUBLE PRECISION SSIG,PJETC,SSIGN,SSIGNSD,SSIGNEL,ALINT,ASQSMIN, + & ASQSMAX,DASQS INTEGER NSQS COMMON /S_CCSIG/ SSIG(61,3), PJETC(0:NS_max,0:NH_max,61,2), - & SSIGN(61,3), SSIGNSD(61,3), ALINT(61,3), - & ASQSMIN, ASQSMAX, DASQS, NSQS + & SSIGN(61,3,3), SSIGNSD(61,3,3), SSIGNEL(61,3,3), + & ALINT(61,3,3), ASQSMIN, ASQSMAX, DASQS, NSQS c external DOUBLE PRECISION SQS,SIGPROD,SIGBDIF @@ -14004,8 +14075,8 @@ c internal J1 = max(J1,1) endif T = (AL-1.D0)*10.D0 - DBLE(J1-1) - SIGprod = SSIGN(J1,L)*(1.D0-T) + SSIGN(J1+1,L)*T - SIGbdif = SSIGNSD(J1,L)*(1.D0-T) + SSIGNSD(J1+1,L)*T + SIGprod = SSIGN(J1,L,1)*(1.D0-T) + SSIGN(J1+1,L,1)*T + SIGbdif = SSIGNSD(J1,L,1)*(1.D0-T) + SSIGNSD(J1+1,L,1)*T END C======================================================================= @@ -14024,6 +14095,7 @@ C SQS sqrt(s) C C output: SIGprod particle production cross section (mb) C SIGbdif q.ela and ela beam diff. cross section +C SIGela elastic cross section C----------------------------------------------------------------------- Cf2py integer, intent(in) :: L,IAT Cf2py double precision, intent(in) :: SQS @@ -14035,12 +14107,12 @@ Cf2py double precision, intent(out) :: SIGprod,SIGbdif INTEGER NCALL, NDEBUG, LUN COMMON /S_DEBUG/ NCALL, NDEBUG, LUN - DOUBLE PRECISION SSIG,PJETC,SSIGN,SSIGNSD,ALINT,ASQSMIN,ASQSMAX, - & DASQS + DOUBLE PRECISION SSIG,PJETC,SSIGN,SSIGNSD,SSIGNEL,ALINT,ASQSMIN, + & ASQSMAX,DASQS INTEGER NSQS COMMON /S_CCSIG/ SSIG(61,3), PJETC(0:NS_max,0:NH_max,61,2), - & SSIGN(61,3), SSIGNSD(61,3), ALINT(61,3), - & ASQSMIN, ASQSMAX, DASQS, NSQS + & SSIGN(61,3,3), SSIGNSD(61,3,3), SSIGNEL(61,3,3), + & ALINT(61,3,3), ASQSMIN, ASQSMAX, DASQS, NSQS C-------------------------------------------------------------------- C SIBYLL utility common blocks containing constants \FR'14 @@ -14065,17 +14137,40 @@ c external INTEGER L,IAT c internal - DOUBLE PRECISION ALAM - INTEGER IPARM,ICSMOD + DOUBLE PRECISION ALAM,T,AL + INTEGER IPARM,ICSMOD,IK,J1 SAVE - IF(NSQS.LE.0) THEN WRITE(LUN,'(//,1X,A)') & ' SIB_SIGMA_HNUC: interpolation table not initialized.' STOP ENDIF - - IF(IAT.ge.0.and.IAT.lt.19)THEN + IF(IAT.eq.0.or.IAT.eq.14.or.IAT.eq.16)THEN +c read cross section from table + IF(IAT.eq.0) THEN + IK=1 + ELSEIF(IAT.eq.14)THEN + IK=2 + ELSE + IK=3 + ENDIF + AL = LOG10(SQS) + J1 = INT((AL - 1.D0)*10.D0 + 1) + if((j1.lt.1).or.(j1.gt.NSQS)) then + if (ndebug .gt. 0) + & write (LUN,'(1x,a,i3,1p,e12.3)') + & ' SIB_SIGMA_HNUC: energy out of range ',L,sqs + endif + if((j1.lt.1).or.(j1.ge.NSQS)) then + J1 = min(J1,NSQS-1) + J1 = max(J1,1) + endif + T = (AL-1.D0)*10.D0 - DBLE(J1-1) + SIGprod = SSIGN(J1,L,IK)*(1.D0-T) + SSIGN(J1+1,L,IK)*T + SIGbdif = SSIGNSD(J1,L,IK)*(1.D0-T) + SSIGNSD(J1+1,L,IK)*T + SIGela = SSIGNEL(J1,L,IK)*(1.D0-T) + SSIGNEL(J1+1,L,IK)*T + ELSEIF(IAT.lt.19)THEN +c calculate cross section IF(ndebug.gt.0)THEN WRITE(LUN,'(1X,A,2I4,F8.2)') & 'SIB_SIGMA_HNUC: L,IAT,SQS:',L,IAT,SQS