Move GUI .seq summary output into a new subroutine
This commit is contained in:
+47
-17
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user