SUBROUTINE PRCHAN(CHANG,CHM,CHMT) C ================================= C C Diagnostic output of relative changes of vector PSI C C Input: C CHANG - array of relative changes of vector PSI at depth ID C ID - depth index C Output: C CHM - maximum relative change of all unknowns at all depths C CHMT - maximum relative change in temperature at all depths C INCLUDE 'IMPLIC.FOR' INCLUDE 'BASICS.FOR' INCLUDE 'ATOMIC.FOR' INCLUDE 'MODELQ.FOR' INCLUDE 'ITERAT.FOR' DIMENSION CHANG(MTOT,MDEPTH),CHANM(MDEPTH) C C maximum relative change of all unknowns in depth ID C CHMT=0. I1=1 if(icompt.gt.0.and.icombc.gt.0.and.ijex(1).gt.0) i1=2 DO ID=ND,1,-1 CH=0. chrad=0. chpop=0. cht=0. che=0. DO 10 I=i1,NN IF(ITER.EQ.1.AND.I.EQ.NFREQE+INDL) GO TO 10 IF(I.GE.NFREQE+INSE) THEN II=INDLGZ(I-NFREQE-INSE+1) IF(RPOP0(II,ID).LT.POPZCH) GO TO 10 END IF IF(ABS(CHANG(I,ID)).LT.ABS(CH)) GO TO 10 CH=CHANG(I,ID) 10 CONTINUE CHANM(ID)=CH IF(NFREQE.GT.0) THEN DO 11 I=i1,NFREQE IF(ABS(CHANG(I,ID)).LT.ABS(CHRAD)) GO TO 11 CHRAD=CHANG(I,ID) jjr=i 11 CONTINUE END IF DO 12 I=NFREQE+INSE,NFREQE+INSE+NLVEXZ-1 II=INDLGZ(I-NFREQE-INSE+1) IF(RPOP0(II,ID).LT.POPZCH) GO TO 12 IF(ABS(CHANG(I,ID)).LT.ABS(CHPOP)) GO TO 12 CHpop=CHANG(I,ID) jjp=ii 12 CONTINUE if(inre.gt.0) then cht=chang(nfreqe+inre,id) if(abs(cht).ge.abs(chmt)) chmt=abs(cht) end if if(inpc.gt.0) che=chang(nfreqe+inpc,id) C C output onto file 9 C IF(ID.EQ.ND.AND.ITER.EQ.1) WRITE(9,800) WRITE(9,801) ITER,ID,cht,che,CHpop,CHrad,ch,jjp,jjr 800 FORMAT(' RELATIVE CHANGES OF VECTOR PSI'/ * ' ITER ID TEMP NE POP RAD MAXIMUM', * ' ilev ifr',/) 801 FORMAT(2I5,1P5e10.2,2i5) END DO C C determination of the maximum relative change of all unknowns C at all depths C CHM=0. DO I=1,ND IF(ABS(CHANM(I)).GE.ABS(CHM)) CHM=CHANM(I) END DO C if(chmt.lt.chmaxt) then do itl=iter,niter+1 nitlam(itl)=nlamt end do end if RETURN END