C SUBROUTINE RESTART(UT,IW) c c Read from abs(iw) if iw < 0, or write to iw otherwise c SAVE PARAMETER (MX=21,MZ=96,KMX=96) include "blank.h" include "sodium.h" DIMENSION XNEEE(KMX),XNPI(KMX),XNNI(KMX),XNNOZ(KMX),QNTOT(KMX), 1XIRCOOL(KMX),DSO2(KMX),DO3T(KMX),SPED(KMX),SHAL(KMX), 2PARCD(KMX),QTIN(KMX) COMMON/PERTRF/TNO(KMX),TNP(KMX),FDIFP(KMX) common/ehist/shto(mz),eox(mx,mz),eo(mx,mz),eo3(mx,mz),ehox(mx,mz), + eh(mx,mz),eho2(mx,mz),eoh(mx,mz),enoz(mx,mz),eno(mx,mz), + eno2(mx,mz),en4s(mx,mz),enas(mx,mz),enasp(mx,mz),ene(mx,mz), + etion(mx,mz),eo2(mx,mz),en2(mx,mz),eo1d(mx,mz),ete(mx,mz), + eti(mx,mz),etn(mx,mz),eiop(mx,mz),en2d(mx,mz),enh2o(mx,mz), + enh2(mx,mz),ench4(mx,mz),enh2o2(mx,mz),enco(mx,mz),enco2(mx,mz) + ,enax(mx,mz),enao(mx,mz),enao2(mx,mz),enaoh(mx,mz) c if (iw.eq.0.or.iw.gt.99.or.iw.lt.-99) then write(6,"('>>> restart: bad iw=',i5)") iw stop 'restart' endif c IF(IW.EQ.1) GO TO 999 IF(IW.gt.0) GO TO 999 CO2MIX=350.E-6 lu = abs(iw) if (lu.ne.5) then read(lu) zp,tno,shto,zpht,sht, + eox,eo,eo3,ehox,eh,eho2,eoh,enoz,eno,eno2,en4s,enas,enasp, + ene,etion,eo2,en2,eo1d,ete,eti,etn,eiop,en2d,enh2o,enh2, + ench4,enh2o2,enco,enco2,enax,enao,enao2,enaoh DO 701 K=1,KMX GZ(K)=980.665*(1.-3.14466E-4*ZPHT(K)) IF(K.EQ.1) ZPHT(1)=50. QHOXI(K)=1.E-20 SHCO2(K)=1.38E-16*TNO(K)/(44.*1.602E-24*GZ(K)) 701 CONTINUE C TN(1)=TNMS(1) else DO 700 K=1,KMX READ (5,800) ZP(K),ZPMS(K),ZPHT(K),ZPMHT(K),TN(K),TNMS(K) READ (5,800) XNO(K),XOM(K),XNO1D(K),XNN2(K),XN2M(K), + XNO2(K) READ (5,800) XO2M(K),SHT(K),SHTMS(K),AMAS(K),AMASS(K), + RHO(K) READ (5,800) RHOMS(K),TE(K),TI(K),XNE(K),XNEEE(K), + XNPI(K) READ (5,800) XNNI(K),XIOP(K),XINOP(K),XINP(K),XIN2P(K), + XIO2P(K) READ (5,800) XN2D(K),XN4S(K),XN4SM(K),XNNO(K),XNNO2(K), + XNNOZ(K) READ (5,800) XNHE(K),XNHE(K),XNARG(K),XNARGM(K),XNH2O(K) + ,XNH2(K) READ (5,800) XNCH4(K),XNOH(K),XNHO2(K),XNH2O2(K),XNH(K), + XNHM(K) READ (5,800) XNHTOT(K),XNCO(K),XNCO2(K),QNTOT(K), + XIRCOOL(K),DSO2(K) READ (5,800) DO3T(K),SPED(K),SHAL(K),PARCD(K),QTIN(K), + XNO3(K) READ (5,800) XNAS(K),XNASP(K) GZ(K)=980.665*(1.-3.14466E-4*ZPHT(K)) IF(K.EQ.1) ZPHT(1)=50. QHOXI(K)=1.E-20 SHCO2(K)=1.38E-16*TN(K)/(44.*1.602E-24*GZ(K)) 700 CONTINUE endif c C lu = abs(iw) C read(lu) zp,tno,shto,zpht,sht, C + eox,eo,eo3,ehox,eh,eho2,eoh,enoz,eno,eno2,en4s,enas,enasp, C + ene,etion,eo2,en2,eo1d,ete,eti,etn,eiop,en2d,enh2o,enh2, C + ench4,enh2o2,enco,enco2 c GO TO 998 c c Write to history file: 999 CONTINUE c DO 997 K=1,KMX c WRITE(6,800)ZP(K),ZPMS(K),ZPHT(K),ZPMHT(K),TN(K),TNMS(K) c WRITE(6,800)XNO(K),XOM(K),XNO1D(K),XNN2(K),XN2M(K), c + XNO2(K) c WRITE(6,800)XO2M(K),SHT(K),SHTMS(K),AMAS(K),AMASS(K), c + RHO(K) c WRITE(6,800)RHOMS(K),TE(K),TI(K),XNE(K),XNEEE(K), c + XNPI(K) c WRITE(6,800)XNNI(K),XIOP(K),XINOP(K),XINP(K),XIN2P(K), c + XIO2P(K) c WRITE(6,800)XN2D(K),XN4S(K),XN4SM(K),XNNO(K),XNNO2(K), c + XNNOZ(K) c WRITE(6,800)XNHE(K),XNHE(K),XNARG(K),XNARGM(K),XNH2O(K) c + ,XNH2(K) c WRITE(6,800)XNCH4(K),XNOH(K),XNHO2(K),XNH2O2(K),XNH(K), c + XNHM(K) c WRITE(6,800)XNHTOT(K),XNCO(K),XNCO2(K),QNTOT(K), c + XIRCOOL(K),DSO2(K) c WRITE(6,800)DO3T(K),SPED(K),SHAL(K),PARCD(K),QTIN(K), c + XNO3(K) c WRITE(6,800)XNAS(K),XNASP(K) c 997 CONTINUE lu = abs(iw) write(lu) zp,tno,shto,zpht,sht, + eox,eo,eo3,ehox,eh,eho2,eoh,enoz,eno,eno2,en4s,enas,enasp, + ene,etion,eo2,en2,eo1d,ete,eti,etn,eiop,en2d,enh2o,enh2, + ench4,enh2o2,enco,enco2,enax,enao,enao2,enaoh 800 FORMAT(1X,6E11.3) 998 CONTINUE RETURN END