diff --git a/fortran/trimspNL.F b/fortran/trimspNL.F index 8afdc85..f19ae8e 100644 --- a/fortran/trimspNL.F +++ b/fortran/trimspNL.F @@ -3561,30 +3561,17 @@ C 1800 CONTINUE C -C The per-run summary file (*.seq) is created here -C This is the summary file writing procedure +C The per-run summary file (*.seq) is written by writeSequenceSummary. C - 7802 FORMAT(6x,'Energy',4x,'SigmaE',5x,'Alpha',2x,'SigAlpha',4x,'ntot', - & 5x,'imp',2x,'backsc',3x,'trans',3x,'tried',4x,'negE',3x, - & 'range',6x,'straggeling',2x, 'Eback',7x,'sigEback',4x - & ,'Etrans',6x,'SigEtrans',3x, 'red._E',6x ,'PRC',3x,999(A20 - & ,1x)) -C & I0,3x)) - 7801 FORMAT(F12.2,3(1x,F9.2),1x,6(I7,1x),6(E12.4),2(E12.4),999(I7 - & ,1x)) - C The *.seq file is the compact per-run summary consumed by the GUI for C scan plots (fractions stopped in each layer, backscattering, C transmission, mean depth, etc.). Each run writes its own summary file. C======================================================================= C WRITE SEQUENCE SUMMARY FILE C======================================================================= - OPEN(UNIT=33,FILE=seqnam,STATUS='replace') - WRITE(33,7802) (chem(k),k=1,NLayers) - WRITE(33,7801)E0keV,EsigkeV,ALPHA,ALPHASIG,NH,IIM,IB,IT,tryE - & ,negE,FIX0,SIGMAX,FIB0,SIGMAB,FIT0,SIGMAT,epsilon,prcoeff - & ,(number_in_layer(k),k=1,NLayers) - CLOSE(33) + call writeSequenceSummary(seqnam,chem,NLayers,E0keV,EsigkeV, + & ALPHA,ALPHASIG,NH,IIM,IB,IT,tryE,negE,FIX0,SIGMAX,FIB0, + & SIGMAB,FIT0,SIGMAT,epsilon,prcoeff,number_in_layer,MAXNL) C C End of per-run summary file @@ -4042,6 +4029,49 @@ C C======================================================================= C READ GUI-GENERATED INPUT FILE C======================================================================= + +C======================================================================= +C WRITE GUI SEQUENCE SUMMARY FILE +C======================================================================= + subroutine writeSequenceSummary(seqNam,chem,nLayers,e0KeV, + & esigKeV,alpha,alphaSig,nProjectiles,nImplanted, + & nBackscatter,nTransmitted,tryEnergy,negativeEnergy, + & meanRange,rangeSigma,meanBackEnergy,backEnergySigma, + & meanTransEnergy,transEnergySigma,reducedEnergy, + & reflectionCoeff,numberInLayer,maxNl) + implicit none + integer maxNl,nLayers,nProjectiles,nImplanted,nBackscatter + integer nTransmitted,tryEnergy,negativeEnergy,k + integer numberInLayer(maxNl) + real*8 e0KeV,esigKeV,alpha,alphaSig + real*8 meanRange,rangeSigma,meanBackEnergy,backEnergySigma + real*8 meanTransEnergy,transEnergySigma,reducedEnergy + real*8 reflectionCoeff + character*64 seqNam + character*50 chem(maxNl) +C +C The *.seq file is the compact per-run summary consumed by the GUI. +C Keep this writer separate from the long human-readable output report. +C + open(unit=33,file=seqNam,status='replace') + write(33,7802) (chem(k),k=1,nLayers) + write(33,7801) e0KeV,esigKeV,alpha,alphaSig,nProjectiles, + & nImplanted,nBackscatter,nTransmitted,tryEnergy, + & negativeEnergy,meanRange,rangeSigma,meanBackEnergy, + & backEnergySigma,meanTransEnergy,transEnergySigma, + & reducedEnergy,reflectionCoeff, + & (numberInLayer(k),k=1,nLayers) + close(33) + return + 7802 format(6x,'Energy',4x,'SigmaE',5x,'Alpha',2x,'SigAlpha', + & 4x,'ntot',5x,'imp',2x,'backsc',3x,'trans',3x, + & 'tried',4x,'negE',3x,'range',6x,'straggeling',2x, + & 'Eback',7x,'sigEback',4x,'Etrans',6x,'SigEtrans',3x, + & 'red._E',6x,'PRC',3x,999(A20,1x)) + 7801 format(F12.2,3(1x,F9.2),1x,6(I7,1x),6(E12.4), + & 2(E12.4),999(I7,1x)) + end + SUBROUTINE READ_GUI_INPUT(INNAM,ERRNAM,Z1,M1,E0,ESIG,ALPHA, & ALPHASIG,EF,ESB,SHEATH,ERC,NH,RI,RI2,RI3,X0,RD,CW,CA,KK0, & KK0R,KDEE1,KDEE2,IPOT,IPOTR,IRL,NLayers,CHEM,DX,RHO,CK,NJ,ZT,