Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:21:11

0001  
0002 C*********************************************************************
0003  
0004 C...PYGIVE
0005 C...Sets values of commonblock variables.
0006  
0007       SUBROUTINE PYGIVE(CHIN)
0008  
0009 C...Double precision and integer declarations.
0010       IMPLICIT DOUBLE PRECISION(A-H, O-Z)
0011       IMPLICIT INTEGER(I-N)
0012       INTEGER PYK,PYCHGE,PYCOMP
0013 C...Commonblocks.
0014       COMMON/PYJETS/N,NPAD,K(4000,5),P(4000,5),V(4000,5)
0015       COMMON/PYDAT1/MSTU(200),PARU(200),MSTJ(200),PARJ(200)
0016       COMMON/PYDAT2/KCHG(500,4),PMAS(500,4),PARF(2000),VCKM(4,4)
0017       COMMON/PYDAT3/MDCY(500,3),MDME(8000,2),BRAT(8000),KFDP(8000,5)
0018       COMMON/PYDAT4/CHAF(500,2)
0019       CHARACTER CHAF*16
0020       COMMON/PYDATR/MRPY(6),RRPY(100)
0021       COMMON/PYSUBS/MSEL,MSELPD,MSUB(500),KFIN(2,-40:40),CKIN(200)
0022       COMMON/PYPARS/MSTP(200),PARP(200),MSTI(200),PARI(200)
0023       COMMON/PYINT1/MINT(400),VINT(400)
0024       COMMON/PYINT2/ISET(500),KFPR(500,2),COEF(500,20),ICOL(40,4,2)
0025       COMMON/PYINT3/XSFX(2,-40:40),ISIG(1000,3),SIGH(1000)
0026       COMMON/PYINT4/MWID(500),WIDS(500,5)
0027       COMMON/PYINT5/NGENPD,NGEN(0:500,3),XSEC(0:500,3)
0028       COMMON/PYINT6/PROC(0:500)
0029       CHARACTER PROC*28
0030       COMMON/PYINT7/SIGT(0:6,0:6,0:5)
0031       COMMON/PYINT8/XPVMD(-6:6),XPANL(-6:6),XPANH(-6:6),XPBEH(-6:6),
0032      &XPDIR(-6:6)
0033       COMMON/PYMSSM/IMSS(0:99),RMSS(0:99)
0034       COMMON/PYMSRV/RVLAM(3,3,3), RVLAMP(3,3,3), RVLAMB(3,3,3)
0035       COMMON/PYTCSM/ITCM(0:99),RTCM(0:99)
0036       SAVE /PYJETS/,/PYDAT1/,/PYDAT2/,/PYDAT3/,/PYDAT4/,/PYDATR/,
0037      &/PYSUBS/,/PYPARS/,/PYINT1/,/PYINT2/,/PYINT3/,/PYINT4/,
0038      &/PYINT5/,/PYINT6/,/PYINT7/,/PYINT8/,/PYMSSM/,/PYMSRV/,/PYTCSM/
0039 C...Local arrays and character variables.
0040       CHARACTER CHIN*(*),CHFIX*104,CHBIT*104,CHOLD*8,CHNEW*8,CHOLD2*28,
0041      &CHNEW2*28,CHNAM*6,CHVAR(54)*6,CHALP(2)*26,CHIND*8,CHINI*10,
0042      &CHINR*16,CHDIG*10
0043       DIMENSION MSVAR(54,8)
0044  
0045 C...For each variable to be translated give: name,
0046 C...integer/real/character, no. of indices, lower&upper index bounds.
0047       DATA CHVAR/'N','K','P','V','MSTU','PARU','MSTJ','PARJ','KCHG',
0048      &'PMAS','PARF','VCKM','MDCY','MDME','BRAT','KFDP','CHAF','MRPY',
0049      &'RRPY','MSEL','MSUB','KFIN','CKIN','MSTP','PARP','MSTI','PARI',
0050      &'MINT','VINT','ISET','KFPR','COEF','ICOL','XSFX','ISIG','SIGH',
0051      &'MWID','WIDS','NGEN','XSEC','PROC','SIGT','XPVMD','XPANL',
0052      &'XPANH','XPBEH','XPDIR','IMSS','RMSS','RVLAM','RVLAMP','RVLAMB',
0053      &'ITCM','RTCM'/
0054       DATA ((MSVAR(I,J),J=1,8),I=1,54)/ 1,7*0,  1,2,1,4000,1,5,2*0,
0055      &2,2,1,4000,1,5,2*0,  2,2,1,4000,1,5,2*0,  1,1,1,200,4*0,
0056      &2,1,1,200,4*0,  1,1,1,200,4*0,  2,1,1,200,4*0,
0057      &1,2,1,500,1,4,2*0,  2,2,1,500,1,4,2*0,  2,1,1,2000,4*0,
0058      &2,2,1,4,1,4,2*0,  1,2,1,500,1,3,2*0,  1,2,1,8000,1,2,2*0,
0059      &2,1,1,8000,4*0,  1,2,1,8000,1,5,2*0,  3,2,1,500,1,2,2*0,
0060      &1,1,1,6,4*0,  2,1,1,100,4*0,
0061      &1,7*0,  1,1,1,500,4*0,  1,2,1,2,-40,40,2*0,  2,1,1,200,4*0,
0062      &1,1,1,200,4*0,  2,1,1,200,4*0,  1,1,1,200,4*0,  2,1,1,200,4*0,
0063      &1,1,1,400,4*0,  2,1,1,400,4*0,  1,1,1,500,4*0,
0064      &1,2,1,500,1,2,2*0,  2,2,1,500,1,20,2*0,  1,3,1,40,1,4,1,2,
0065      &2,2,1,2,-40,40,2*0,  1,2,1,1000,1,3,2*0,  2,1,1,1000,4*0,
0066      &1,1,1,500,4*0,   2,2,1,500,1,5,2*0,   1,2,0,500,1,3,2*0,
0067      &2,2,0,500,1,3,2*0,   4,1,0,500,4*0,   2,3,0,6,0,6,0,5,
0068      &2,1,-6,6,4*0,     2,1,-6,6,4*0,    2,1,-6,6,4*0,
0069      &2,1,-6,6,4*0,  2,1,-6,6,4*0,  1,1,0,99,4*0,  2,1,0,99,4*0,
0070      &2,3,1,3,1,3,1,3,   2,3,1,3,1,3,1,3,   2,3,1,3,1,3,1,3,
0071      &1,1,0,99,4*0,  2,1,0,99,4*0/
0072       DATA CHALP/'abcdefghijklmnopqrstuvwxyz',
0073      &'ABCDEFGHIJKLMNOPQRSTUVWXYZ'/, CHDIG/'1234567890'/
0074  
0075 C...Length of character variable. Subdivide it into instructions.
0076       IF(MSTU(12).NE.12345.AND.CHIN.NE.'mstu(12)=12345'.AND.
0077      &CHIN.NE.'MSTU(12)=12345') CALL PYLIST(0)
0078       CHBIT=CHIN//' '
0079       LBIT=101
0080   100 LBIT=LBIT-1
0081       IF(CHBIT(LBIT:LBIT).EQ.' ') GOTO 100
0082       LTOT=0
0083       DO 110 LCOM=1,LBIT
0084         IF(CHBIT(LCOM:LCOM).EQ.' ') GOTO 110
0085         LTOT=LTOT+1
0086         CHFIX(LTOT:LTOT)=CHBIT(LCOM:LCOM)
0087   110 CONTINUE
0088       LLOW=0
0089   120 LHIG=LLOW+1
0090   130 LHIG=LHIG+1
0091       IF(LHIG.LE.LTOT.AND.CHFIX(LHIG:LHIG).NE.';') GOTO 130
0092       LBIT=LHIG-LLOW-1
0093       CHBIT(1:LBIT)=CHFIX(LLOW+1:LHIG-1)
0094 
0095 C...Send off decay-mode on/off commands to PYONOF.
0096       IONOF=0
0097       DO 135 LDIG=1,10
0098         IF(CHBIT(1:1).EQ.CHDIG(LDIG:LDIG)) IONOF=1
0099   135 CONTINUE
0100       IF(IONOF.EQ.1) THEN
0101         CALL PYONOF(CHIN)
0102         RETURN
0103       ENDIF   
0104  
0105 C...Peel off any text following exclamation mark.
0106       LHIG2=LBIT
0107       DO 140 LLOW2=LHIG2,1,-1
0108         IF(CHBIT(LLOW2:LLOW2).EQ.'!') LBIT=LLOW2-1
0109   140 CONTINUE
0110       IF(LBIT.EQ.0) RETURN
0111  
0112 C...Identify commonblock variable.
0113       LNAM=1
0114   150 LNAM=LNAM+1
0115       IF(CHBIT(LNAM:LNAM).NE.'('.AND.CHBIT(LNAM:LNAM).NE.'='.AND.
0116      &LNAM.LE.6) GOTO 150
0117       CHNAM=CHBIT(1:LNAM-1)//' '
0118       DO 170 LCOM=1,LNAM-1
0119         DO 160 LALP=1,26
0120           IF(CHNAM(LCOM:LCOM).EQ.CHALP(1)(LALP:LALP)) CHNAM(LCOM:LCOM)=
0121      &    CHALP(2)(LALP:LALP)
0122   160   CONTINUE
0123   170 CONTINUE
0124       IVAR=0
0125       DO 180 IV=1,54
0126         IF(CHNAM.EQ.CHVAR(IV)) IVAR=IV
0127   180 CONTINUE
0128       IF(IVAR.EQ.0) THEN
0129         CALL PYERRM(18,'(PYGIVE:) do not recognize variable '//CHNAM)
0130         LLOW=LHIG
0131         IF(LLOW.LT.LTOT) GOTO 120
0132         RETURN
0133       ENDIF
0134  
0135 C...Identify any indices.
0136       I1=0
0137       I2=0
0138       I3=0
0139       NINDX=0
0140       IF(CHBIT(LNAM:LNAM).EQ.'(') THEN
0141         LIND=LNAM
0142   190   LIND=LIND+1
0143         IF(CHBIT(LIND:LIND).NE.')'.AND.CHBIT(LIND:LIND).NE.',') GOTO 190
0144         CHIND=' '
0145         IF((CHBIT(LNAM+1:LNAM+1).EQ.'C'.OR.CHBIT(LNAM+1:LNAM+1).EQ.'c')
0146      &  .AND.(IVAR.EQ.9.OR.IVAR.EQ.10.OR.IVAR.EQ.13.OR.IVAR.EQ.17.OR.
0147      &  IVAR.EQ.37)) THEN
0148           CHIND(LNAM-LIND+11:8)=CHBIT(LNAM+2:LIND-1)
0149           READ(CHIND,'(I8)') KF
0150           I1=PYCOMP(KF)
0151         ELSEIF(CHBIT(LNAM+1:LNAM+1).EQ.'C'.OR.CHBIT(LNAM+1:LNAM+1).EQ.
0152      &    'c') THEN
0153           CALL PYERRM(18,'(PYGIVE:) not allowed to use C index for '//
0154      &    CHNAM)
0155           LLOW=LHIG
0156           IF(LLOW.LT.LTOT) GOTO 120
0157           RETURN
0158         ELSE
0159           CHIND(LNAM-LIND+10:8)=CHBIT(LNAM+1:LIND-1)
0160           READ(CHIND,'(I8)') I1
0161         ENDIF
0162         LNAM=LIND
0163         IF(CHBIT(LNAM:LNAM).EQ.')') LNAM=LNAM+1
0164         NINDX=1
0165       ENDIF
0166       IF(CHBIT(LNAM:LNAM).EQ.',') THEN
0167         LIND=LNAM
0168   200   LIND=LIND+1
0169         IF(CHBIT(LIND:LIND).NE.')'.AND.CHBIT(LIND:LIND).NE.',') GOTO 200
0170         CHIND=' '
0171         CHIND(LNAM-LIND+10:8)=CHBIT(LNAM+1:LIND-1)
0172         READ(CHIND,'(I8)') I2
0173         LNAM=LIND
0174         IF(CHBIT(LNAM:LNAM).EQ.')') LNAM=LNAM+1
0175         NINDX=2
0176       ENDIF
0177       IF(CHBIT(LNAM:LNAM).EQ.',') THEN
0178         LIND=LNAM
0179   210   LIND=LIND+1
0180         IF(CHBIT(LIND:LIND).NE.')'.AND.CHBIT(LIND:LIND).NE.',') GOTO 210
0181         CHIND=' '
0182         CHIND(LNAM-LIND+10:8)=CHBIT(LNAM+1:LIND-1)
0183         READ(CHIND,'(I8)') I3
0184         LNAM=LIND+1
0185         NINDX=3
0186       ENDIF
0187  
0188 C...Check that indices allowed.
0189       IERR=0
0190       IF(NINDX.NE.MSVAR(IVAR,2)) IERR=1
0191       IF(NINDX.GE.1.AND.(I1.LT.MSVAR(IVAR,3).OR.I1.GT.MSVAR(IVAR,4)))
0192      &IERR=2
0193       IF(NINDX.GE.2.AND.(I2.LT.MSVAR(IVAR,5).OR.I2.GT.MSVAR(IVAR,6)))
0194      &IERR=3
0195       IF(NINDX.EQ.3.AND.(I3.LT.MSVAR(IVAR,7).OR.I3.GT.MSVAR(IVAR,8)))
0196      &IERR=4
0197       IF(CHBIT(LNAM:LNAM).NE.'=') IERR=5
0198       IF(IERR.GE.1) THEN
0199         CALL PYERRM(18,'(PYGIVE:) unallowed indices for '//
0200      &  CHBIT(1:LNAM-1))
0201         LLOW=LHIG
0202         IF(LLOW.LT.LTOT) GOTO 120
0203         RETURN
0204       ENDIF
0205  
0206 C...Save old value of variable.
0207       IF(IVAR.EQ.1) THEN
0208         IOLD=N
0209       ELSEIF(IVAR.EQ.2) THEN
0210         IOLD=K(I1,I2)
0211       ELSEIF(IVAR.EQ.3) THEN
0212         ROLD=P(I1,I2)
0213       ELSEIF(IVAR.EQ.4) THEN
0214         ROLD=V(I1,I2)
0215       ELSEIF(IVAR.EQ.5) THEN
0216         IOLD=MSTU(I1)
0217       ELSEIF(IVAR.EQ.6) THEN
0218         ROLD=PARU(I1)
0219       ELSEIF(IVAR.EQ.7) THEN
0220         IOLD=MSTJ(I1)
0221       ELSEIF(IVAR.EQ.8) THEN
0222         ROLD=PARJ(I1)
0223       ELSEIF(IVAR.EQ.9) THEN
0224         IOLD=KCHG(I1,I2)
0225       ELSEIF(IVAR.EQ.10) THEN
0226         ROLD=PMAS(I1,I2)
0227       ELSEIF(IVAR.EQ.11) THEN
0228         ROLD=PARF(I1)
0229       ELSEIF(IVAR.EQ.12) THEN
0230         ROLD=VCKM(I1,I2)
0231       ELSEIF(IVAR.EQ.13) THEN
0232         IOLD=MDCY(I1,I2)
0233       ELSEIF(IVAR.EQ.14) THEN
0234         IOLD=MDME(I1,I2)
0235       ELSEIF(IVAR.EQ.15) THEN
0236         ROLD=BRAT(I1)
0237       ELSEIF(IVAR.EQ.16) THEN
0238         IOLD=KFDP(I1,I2)
0239       ELSEIF(IVAR.EQ.17) THEN
0240         CHOLD=CHAF(I1,I2)(1:8)
0241       ELSEIF(IVAR.EQ.18) THEN
0242         IOLD=MRPY(I1)
0243       ELSEIF(IVAR.EQ.19) THEN
0244         ROLD=RRPY(I1)
0245       ELSEIF(IVAR.EQ.20) THEN
0246         IOLD=MSEL
0247       ELSEIF(IVAR.EQ.21) THEN
0248         IOLD=MSUB(I1)
0249       ELSEIF(IVAR.EQ.22) THEN
0250         IOLD=KFIN(I1,I2)
0251       ELSEIF(IVAR.EQ.23) THEN
0252         ROLD=CKIN(I1)
0253       ELSEIF(IVAR.EQ.24) THEN
0254         IOLD=MSTP(I1)
0255       ELSEIF(IVAR.EQ.25) THEN
0256         ROLD=PARP(I1)
0257       ELSEIF(IVAR.EQ.26) THEN
0258         IOLD=MSTI(I1)
0259       ELSEIF(IVAR.EQ.27) THEN
0260         ROLD=PARI(I1)
0261       ELSEIF(IVAR.EQ.28) THEN
0262         IOLD=MINT(I1)
0263       ELSEIF(IVAR.EQ.29) THEN
0264         ROLD=VINT(I1)
0265       ELSEIF(IVAR.EQ.30) THEN
0266         IOLD=ISET(I1)
0267       ELSEIF(IVAR.EQ.31) THEN
0268         IOLD=KFPR(I1,I2)
0269       ELSEIF(IVAR.EQ.32) THEN
0270         ROLD=COEF(I1,I2)
0271       ELSEIF(IVAR.EQ.33) THEN
0272         IOLD=ICOL(I1,I2,I3)
0273       ELSEIF(IVAR.EQ.34) THEN
0274         ROLD=XSFX(I1,I2)
0275       ELSEIF(IVAR.EQ.35) THEN
0276         IOLD=ISIG(I1,I2)
0277       ELSEIF(IVAR.EQ.36) THEN
0278         ROLD=SIGH(I1)
0279       ELSEIF(IVAR.EQ.37) THEN
0280         IOLD=MWID(I1)
0281       ELSEIF(IVAR.EQ.38) THEN
0282         ROLD=WIDS(I1,I2)
0283       ELSEIF(IVAR.EQ.39) THEN
0284         IOLD=NGEN(I1,I2)
0285       ELSEIF(IVAR.EQ.40) THEN
0286         ROLD=XSEC(I1,I2)
0287       ELSEIF(IVAR.EQ.41) THEN
0288         CHOLD2=PROC(I1)
0289       ELSEIF(IVAR.EQ.42) THEN
0290         ROLD=SIGT(I1,I2,I3)
0291       ELSEIF(IVAR.EQ.43) THEN
0292         ROLD=XPVMD(I1)
0293       ELSEIF(IVAR.EQ.44) THEN
0294         ROLD=XPANL(I1)
0295       ELSEIF(IVAR.EQ.45) THEN
0296         ROLD=XPANH(I1)
0297       ELSEIF(IVAR.EQ.46) THEN
0298         ROLD=XPBEH(I1)
0299       ELSEIF(IVAR.EQ.47) THEN
0300         ROLD=XPDIR(I1)
0301       ELSEIF(IVAR.EQ.48) THEN
0302         IOLD=IMSS(I1)
0303       ELSEIF(IVAR.EQ.49) THEN
0304         ROLD=RMSS(I1)
0305       ELSEIF(IVAR.EQ.50) THEN
0306         ROLD=RVLAM(I1,I2,I3)
0307       ELSEIF(IVAR.EQ.51) THEN
0308         ROLD=RVLAMP(I1,I2,I3)
0309       ELSEIF(IVAR.EQ.52) THEN
0310         ROLD=RVLAMB(I1,I2,I3)
0311       ELSEIF(IVAR.EQ.53) THEN
0312         IOLD=ITCM(I1)
0313       ELSEIF(IVAR.EQ.54) THEN
0314         ROLD=RTCM(I1)
0315       ENDIF
0316  
0317 C...Print current value of variable. Loop back.
0318       IF(LNAM.GE.LBIT) THEN
0319         CHBIT(LNAM:14)=' '
0320         CHBIT(15:60)=' has the value                                '
0321         IF(MSVAR(IVAR,1).EQ.1) THEN
0322           WRITE(CHBIT(51:60),'(I10)') IOLD
0323         ELSEIF(MSVAR(IVAR,1).EQ.2) THEN
0324           WRITE(CHBIT(47:60),'(F14.5)') ROLD
0325         ELSEIF(MSVAR(IVAR,1).EQ.3) THEN
0326           CHBIT(53:60)=CHOLD
0327         ELSE
0328           CHBIT(33:60)=CHOLD
0329         ENDIF
0330         IF(MSTU(13).GE.1) WRITE(MSTU(11),5000) CHBIT(1:60)
0331         LLOW=LHIG
0332         IF(LLOW.LT.LTOT) GOTO 120
0333         RETURN
0334       ENDIF
0335  
0336 C...Read in new variable value.
0337       IF(MSVAR(IVAR,1).EQ.1) THEN
0338         CHINI=' '
0339         CHINI(LNAM-LBIT+11:10)=CHBIT(LNAM+1:LBIT)
0340         READ(CHINI,'(I10)') INEW
0341       ELSEIF(MSVAR(IVAR,1).EQ.2) THEN
0342         CHINR=' '
0343         CHINR(LNAM-LBIT+17:16)=CHBIT(LNAM+1:LBIT)
0344         READ(CHINR,*) RNEW
0345       ELSEIF(MSVAR(IVAR,1).EQ.3) THEN
0346         CHNEW=CHBIT(LNAM+1:LBIT)//' '
0347       ELSE
0348         CHNEW2=CHBIT(LNAM+1:LBIT)//' '
0349       ENDIF
0350  
0351 C...Store new variable value.
0352       IF(IVAR.EQ.1) THEN
0353         N=INEW
0354       ELSEIF(IVAR.EQ.2) THEN
0355         K(I1,I2)=INEW
0356       ELSEIF(IVAR.EQ.3) THEN
0357         P(I1,I2)=RNEW
0358       ELSEIF(IVAR.EQ.4) THEN
0359         V(I1,I2)=RNEW
0360       ELSEIF(IVAR.EQ.5) THEN
0361         MSTU(I1)=INEW
0362       ELSEIF(IVAR.EQ.6) THEN
0363         PARU(I1)=RNEW
0364       ELSEIF(IVAR.EQ.7) THEN
0365         MSTJ(I1)=INEW
0366       ELSEIF(IVAR.EQ.8) THEN
0367         PARJ(I1)=RNEW
0368       ELSEIF(IVAR.EQ.9) THEN
0369         KCHG(I1,I2)=INEW
0370       ELSEIF(IVAR.EQ.10) THEN
0371         PMAS(I1,I2)=RNEW
0372       ELSEIF(IVAR.EQ.11) THEN
0373         PARF(I1)=RNEW
0374       ELSEIF(IVAR.EQ.12) THEN
0375         VCKM(I1,I2)=RNEW
0376       ELSEIF(IVAR.EQ.13) THEN
0377         MDCY(I1,I2)=INEW
0378       ELSEIF(IVAR.EQ.14) THEN
0379         MDME(I1,I2)=INEW
0380       ELSEIF(IVAR.EQ.15) THEN
0381         BRAT(I1)=RNEW
0382       ELSEIF(IVAR.EQ.16) THEN
0383         KFDP(I1,I2)=INEW
0384       ELSEIF(IVAR.EQ.17) THEN
0385         CHAF(I1,I2)=CHNEW
0386       ELSEIF(IVAR.EQ.18) THEN
0387         MRPY(I1)=INEW
0388       ELSEIF(IVAR.EQ.19) THEN
0389         RRPY(I1)=RNEW
0390       ELSEIF(IVAR.EQ.20) THEN
0391         MSEL=INEW
0392       ELSEIF(IVAR.EQ.21) THEN
0393         MSUB(I1)=INEW
0394       ELSEIF(IVAR.EQ.22) THEN
0395         KFIN(I1,I2)=INEW
0396       ELSEIF(IVAR.EQ.23) THEN
0397         CKIN(I1)=RNEW
0398       ELSEIF(IVAR.EQ.24) THEN
0399         MSTP(I1)=INEW
0400       ELSEIF(IVAR.EQ.25) THEN
0401         PARP(I1)=RNEW
0402       ELSEIF(IVAR.EQ.26) THEN
0403         MSTI(I1)=INEW
0404       ELSEIF(IVAR.EQ.27) THEN
0405         PARI(I1)=RNEW
0406       ELSEIF(IVAR.EQ.28) THEN
0407         MINT(I1)=INEW
0408       ELSEIF(IVAR.EQ.29) THEN
0409         VINT(I1)=RNEW
0410       ELSEIF(IVAR.EQ.30) THEN
0411         ISET(I1)=INEW
0412       ELSEIF(IVAR.EQ.31) THEN
0413         KFPR(I1,I2)=INEW
0414       ELSEIF(IVAR.EQ.32) THEN
0415         COEF(I1,I2)=RNEW
0416       ELSEIF(IVAR.EQ.33) THEN
0417         ICOL(I1,I2,I3)=INEW
0418       ELSEIF(IVAR.EQ.34) THEN
0419         XSFX(I1,I2)=RNEW
0420       ELSEIF(IVAR.EQ.35) THEN
0421         ISIG(I1,I2)=INEW
0422       ELSEIF(IVAR.EQ.36) THEN
0423         SIGH(I1)=RNEW
0424       ELSEIF(IVAR.EQ.37) THEN
0425         MWID(I1)=INEW
0426       ELSEIF(IVAR.EQ.38) THEN
0427         WIDS(I1,I2)=RNEW
0428       ELSEIF(IVAR.EQ.39) THEN
0429         NGEN(I1,I2)=INEW
0430       ELSEIF(IVAR.EQ.40) THEN
0431         XSEC(I1,I2)=RNEW
0432       ELSEIF(IVAR.EQ.41) THEN
0433         PROC(I1)=CHNEW2
0434       ELSEIF(IVAR.EQ.42) THEN
0435         SIGT(I1,I2,I3)=RNEW
0436       ELSEIF(IVAR.EQ.43) THEN
0437         XPVMD(I1)=RNEW
0438       ELSEIF(IVAR.EQ.44) THEN
0439         XPANL(I1)=RNEW
0440       ELSEIF(IVAR.EQ.45) THEN
0441         XPANH(I1)=RNEW
0442       ELSEIF(IVAR.EQ.46) THEN
0443         XPBEH(I1)=RNEW
0444       ELSEIF(IVAR.EQ.47) THEN
0445         XPDIR(I1)=RNEW
0446       ELSEIF(IVAR.EQ.48) THEN
0447         IMSS(I1)=INEW
0448       ELSEIF(IVAR.EQ.49) THEN
0449         RMSS(I1)=RNEW
0450       ELSEIF(IVAR.EQ.50) THEN
0451         RVLAM(I1,I2,I3)=RNEW
0452       ELSEIF(IVAR.EQ.51) THEN
0453         RVLAMP(I1,I2,I3)=RNEW
0454       ELSEIF(IVAR.EQ.52) THEN
0455         RVLAMB(I1,I2,I3)=RNEW
0456       ELSEIF(IVAR.EQ.53) THEN
0457         ITCM(I1)=INEW
0458       ELSEIF(IVAR.EQ.54) THEN
0459         RTCM(I1)=RNEW
0460       ENDIF
0461  
0462 C...Write old and new value. Loop back.
0463       CHBIT(LNAM:14)=' '
0464       CHBIT(15:60)=' changed from                to               '
0465       IF(MSVAR(IVAR,1).EQ.1) THEN
0466         WRITE(CHBIT(33:42),'(I10)') IOLD
0467         WRITE(CHBIT(51:60),'(I10)') INEW
0468         IF(MSTU(13).GE.1) WRITE(MSTU(11),5000) CHBIT(1:60)
0469       ELSEIF(MSVAR(IVAR,1).EQ.2) THEN
0470         WRITE(CHBIT(29:42),'(F14.5)') ROLD
0471         WRITE(CHBIT(47:60),'(F14.5)') RNEW
0472         IF(MSTU(13).GE.1) WRITE(MSTU(11),5000) CHBIT(1:60)
0473       ELSEIF(MSVAR(IVAR,1).EQ.3) THEN
0474         CHBIT(35:42)=CHOLD
0475         CHBIT(53:60)=CHNEW
0476         IF(MSTU(13).GE.1) WRITE(MSTU(11),5000) CHBIT(1:60)
0477       ELSE
0478         CHBIT(15:88)=' changed from '//CHOLD2//' to '//CHNEW2
0479         IF(MSTU(13).GE.1) WRITE(MSTU(11),5100) CHBIT(1:88)
0480       ENDIF
0481       LLOW=LHIG
0482       IF(LLOW.LT.LTOT) GOTO 120
0483  
0484 C...Format statement for output on unit MSTU(11) (by default 6).
0485  5000 FORMAT(5X,A60)
0486  5100 FORMAT(5X,A88)
0487  
0488       RETURN
0489       END