I did some code compacting to make it more suitable for more than 7 layers.

This commit is contained in:
salman 2013-03-28 14:21:58 +00:00
parent 1cdc02a760
commit 0dd05ea28f

View File

@ -246,7 +246,7 @@ C These parameters are related to the maximum number of layers
& ,MAXNLm15),MEAGS(102,12,22,MAXNLm15) ,MEASL(75,21,MAXNLm15)
INTEGER*4 MEAST(102,22,MAXNLm15),MAGST(62,22,MAXNLm15),MEASTL(75
& ,21,MAXNLm15)
INTEGER*4 NJ(MAXNL),JT(MAXNL),ILD(MAXNL)
INTEGER*4 NJ(MAXNL),JT(MAXNL),ILD(MAXNL),NJJ
INTEGER*4 LLL(64),JJJ(64),IK(64)
INTEGER*4 me(5000),nli(MAXNL),irpl(MAXNL)
INTEGER*4 IT,NPROJ
@ -514,7 +514,7 @@ C CHARACTER Variables
DATA Epar/0.D0/
C part. refl. coeff. from Thomas et al.
DATA PRC/0.825D0,21.41D0,8.606D0,0.6425D0,1.907D0,1.927D0/
DATA number_in_layer /MAXNL*0/
DATA number_in_layer/MAXNL*0/
innam=filein//inext
outnam=fileout//outext
@ -694,14 +694,6 @@ C I am guessing NJ(I) is the number of elements in layer I
LJ=LJ+NJ(I)
enddo
C JT(3) = JT(2)+NJ(2)
C JT(4) = JT(3)+NJ(3)
C JT(5) = JT(4)+NJ(4)
C JT(6) = JT(5)+NJ(5)
C JT(7) = JT(6)+NJ(6)
C LJ = NJ(1)+NJ(2)+NJ(3)+NJ(4)+NJ(5)+NJ(6)+NJ(7)
XX(1)=DX(1)
DO I=2,L
XX(I)=XX(I-1)+DX(I)
@ -722,48 +714,20 @@ C LJ = NJ(1)+NJ(2)+NJ(3)+NJ(4)+NJ(5)+NJ(6)+NJ(7)
FM(LL) = AM(LL)*M2(LL)/(Z1*Z2(LL)*E2*(M1+M2(LL)))
EPS0(LL) = FM(LL)*E0
ENDDO
DO J = 1,NJ(1)
ZZ(J) = ZT(1,J)
TM(J) = MT(1,J)
DI(J) = ED(1,J)
EP(J) = BE(1,J)
ENDDO
DO J = 1,NJ(2)
ZZ(NJ(1)+J) = ZT(2,J)
TM(NJ(1)+J) = MT(2,J)
DI(NJ(1)+J) = ED(2,J)
EP(NJ(1)+J) = BE(2,J)
ENDDO
DO J = 1,NJ(3)
ZZ(NJ(1)+NJ(2)+J) = ZT(3,J)
TM(NJ(1)+NJ(2)+J) = MT(3,J)
DI(NJ(1)+NJ(2)+J) = ED(3,J)
EP(NJ(1)+NJ(2)+J) = BE(3,J)
ENDDO
DO J = 1,NJ(4)
ZZ(NJ(1)+NJ(2)+NJ(3)+J) = ZT(4,J)
TM(NJ(1)+NJ(2)+NJ(3)+J) = MT(4,J)
DI(NJ(1)+NJ(2)+NJ(3)+J) = ED(4,J)
EP(NJ(1)+NJ(2)+NJ(3)+J) = BE(4,J)
ENDDO
DO J = 1,NJ(5)
ZZ(NJ(1)+NJ(2)+NJ(3)+NJ(4)+J) = ZT(5,J)
TM(NJ(1)+NJ(2)+NJ(3)+NJ(4)+J) = MT(5,J)
DI(NJ(1)+NJ(2)+NJ(3)+NJ(4)+J) = ED(5,J)
EP(NJ(1)+NJ(2)+NJ(3)+NJ(4)+J) = BE(5,J)
ENDDO
DO J = 1,NJ(6)
ZZ(NJ(1)+NJ(2)+NJ(3)+NJ(4)+NJ(5)+J) = ZT(6,J)
TM(NJ(1)+NJ(2)+NJ(3)+NJ(4)+NJ(5)+J) = MT(6,J)
DI(NJ(1)+NJ(2)+NJ(3)+NJ(4)+NJ(5)+J) = ED(6,J)
EP(NJ(1)+NJ(2)+NJ(3)+NJ(4)+NJ(5)+J) = BE(6,J)
ENDDO
DO J = 1,NJ(7)
ZZ(NJ(1)+NJ(2)+NJ(3)+NJ(4)+NJ(5)+NJ(6)+J) = ZT(7,J)
TM(NJ(1)+NJ(2)+NJ(3)+NJ(4)+NJ(5)+NJ(6)+J) = MT(7,J)
DI(NJ(1)+NJ(2)+NJ(3)+NJ(4)+NJ(5)+NJ(6)+J) = ED(7,J)
EP(NJ(1)+NJ(2)+NJ(3)+NJ(4)+NJ(5)+NJ(6)+J) = BE(7,J)
ENDDO
C Loop over all defined layers
NJJ=0
do I=1,L
C For each layer calculate the following
do J=1,NJ(I)
ZZ(NJJ+J) = ZT(I,J)
TM(NJJ+J) = MT(I,J)
DI(NJJ+J) = ED(I,J)
EP(NJJ+J) = BE(I,J)
enddo
NJJ=NJJ+NJ(I)
enddo
DO I=1,L
COM(1,I) = CO(I,1)
DO J=1,NJ(I)-1
@ -3595,30 +3559,7 @@ c
DO i=2,COLCOUNT
WRITE(33,'(A246)')COLUMN(i)
ENDDO
IF(l.EQ.1) THEN
number_in_layer(1)=IIM
DO k=2,7
number_in_layer(k)=0
ENDDO
ELSEIF(l.EQ.2) THEN
DO k=3,7
number_in_layer(k)=0
ENDDO
ELSEIF(l.EQ.3) THEN
DO k=4,7
number_in_layer(k)=0
ENDDO
ELSEIF(l.EQ.4) THEN
DO k=5,7
number_in_layer(k)=0
ENDDO
ELSEIF(l.EQ.5) THEN
DO k=6,7
number_in_layer(k)=0
ENDDO
ELSEIF(l.EQ.6) THEN
number_in_layer(7)=0
ENDIF
WRITE(33,7801)E0keV,EsigkeV,ALPHA,ALPHASIG,NH,IIM,IB,IT,tryE,negE
& ,(number_in_layer(k),k=1,7),FIX0,SIGMAX,FIB0,SIGMAB,FIT0
& ,SIGMAT,epsilon,prcoeff