
      SUBROUTINE routp(NHW,NHE,NVN,NVS)
C
C     THIS SUBROUTINE READS PLANT CHECKPOINT FILES TO
C     RE-INITIALIZE THE MODEL FROM A SELECTED DATE IN AN EARLIER RUN
C
      include "parameters.h"
      include "files.h"
      include "blkc.h"
      include "blk1cp.h"
      include "blk1cr.h"
      include "blk1g.h"
      include "blk1n.h"
      include "blk1p.h"
      include "blk1s.h"
      include "blk3.h"
      include "blk5.h"
      include "blk8a.h"
      include "blk8b.h"
      include "blk9a.h"
      include "blk9b.h"
      include "blk9c.h"
      include "blk12a.h"
      include "blk12b.h"
      include "blk14.h"
      include "blk18a.h"
      include "blk18b.h"
      DIMENSION NPP(JY,JX),IYR02(JP,JY,JX),IDAY02(JP,JY,JX)
     2,IYRH2(JP,JY,JX),IDAYH2(JP,JY,JX)
      REWIND(26)
      REWIND(27)
      REWIND(28)
      REWIND(29)
C
C     READ CHECKPOINT FILES UP TO DATE OF RE-INITIALIZATION
C
8000  CONTINUE
      DO 9990 NX=NHW,NHE
      DO 9985 NY=NVN,NVS
      READ(26,90,END=1001)IDATE,IYR,NPP(NY,NX),IFLGT(NY,NX)
     2,(IFLGC(NZ,NY,NX),NZ=1,NPP(NY,NX)) 
     3,(IDTH(NZ,NY,NX),NZ=1,NPP(NY,NX))
      READ(26,97)IDATE,IYR,NPP(NY,NX)
     2,((WTSTDG(M,NZ,NY,NX),M=1,4),NZ=1,NPP(NY,NX))
     3,((WTSTDN(M,NZ,NY,NX),M=1,4),NZ=1,NPP(NY,NX))
     4,((WTSTDP(M,NZ,NY,NX),M=1,4),NZ=1,NPP(NY,NX))
      IF(IFLGT(NY,NX).GT.0)THEN
      DO 9980 NQ=1,NPP(NY,NX)
      IF(IFLGC(NQ,NY,NX).EQ.1)THEN
      READ(26,91)IDATE,IYR,NZ,IYR02(NZ,NY,NX),IDAY02(NZ,NY,NX)
     2,IYRH2(NZ,NY,NX),IDAYH2(NZ,NY,NX),NG(NZ,NY,NX),IDTHP(NZ,NY,NX) 
     3,IDTHR(NZ,NY,NX),NBR(NZ,NY,NX),NBT(NZ,NY,NX),NB1(NZ,NY,NX)
     4,IFLGI(NZ,NY,NX),NRT(NZ,NY,NX),NIX(NZ,NY,NX),MY(NZ,NY,NX) 
     5,(NINR(NR,NZ,NY,NX),NR=1,NRT(NZ,NY,NX))
      READ(26,93)IDATE,IYR,NZ,TCUPTK(NZ,NY,NX),TCSNC(NZ,NY,NX)
     2,TZUPTK(NZ,NY,NX),TZSNC(NZ,NY,NX),TPUPTK(NZ,NY,NX),TPSNC(NZ,NY,NX)
     3,TZUPFX(NZ,NY,NX),TCO2T(NZ,NY,NX),CTRAN(NZ,NY,NX),CARBN(NZ,NY,NX)
     4,TCC(NZ,NY,NX),TKC(NZ,NY,NX),TCG(NZ,NY,NX),TKG(NZ,NY,NX)
     5,TFN3(NZ,NY,NX),WVSTK(NZ,NY,NX),VOLWP(NZ,NY,NX)
     6,PSILT(NZ,NY,NX),PSILO(NZ,NY,NX),PSILG(NZ,NY,NX),WTRTA(NZ,NY,NX)
     7,ARLFP(NZ,NY,NX),ARSTP(NZ,NY,NX),PP(NZ,NY,NX),HVSTC(NZ,NY,NX)
     8,HVSTN(NZ,NY,NX),HVSTP(NZ,NY,NX),THVSTC(NZ,NY,NX),THVSTN(NZ,NY,NX)
     3,THVSTP(NZ,NY,NX),TCO2A(NZ,NY,NX),RSETC(NZ,NY,NX),RSETN(NZ,NY,NX)
     9,RSETP(NZ,NY,NX),TNH3C(NZ,NY,NX),TCSN0(NZ,NY,NX),PPI(NZ,NY,NX)
     1,PPX(NZ,NY,NX),WTSTG(NZ,NY,NX),WTSTGN(NZ,NY,NX),WTSTGP(NZ,NY,NX)
     2,ZC(NZ,NY,NX),VOLWC(NZ,NY,NX),CF(NZ,NY,NX),VCO2F(NZ,NY,NX)
     3,VCH4F(NZ,NY,NX),VOXYF(NZ,NY,NX),VNH3F(NZ,NY,NX),VN2OF(NZ,NY,NX)
     4,VPO4F(NZ,NY,NX)
      READ(26,92)IDATE,IYR,NZ,(GROUP(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(26,92)IDATE,IYR,NZ,(PSTG(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(26,92)IDATE,IYR,NZ,(PSTGI(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(26,92)IDATE,IYR,NZ,(PSTGF(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(26,92)IDATE,IYR,NZ,(VSTG(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(26,92)IDATE,IYR,NZ,(VSTGX(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(26,92)IDATE,IYR,NZ,(GSTGI(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(26,92)IDATE,IYR,NZ,(GSTGF(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(26,92)IDATE,IYR,NZ,(TGSTGI(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(26,92)IDATE,IYR,NZ,(TGSTGF(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(26,92)IDATE,IYR,NZ,(VRNS(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(26,92)IDATE,IYR,NZ,(VRNF(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(26,92)IDATE,IYR,NZ,(VRNY(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(26,92)IDATE,IYR,NZ,(VRNZ(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(26,92)IDATE,IYR,NZ,(ATRP(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(26,92)IDATE,IYR,NZ,(FLG4(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(26,92)IDATE,IYR,NZ,(FLGZ(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(26,95)IDATE,IYR,NZ,(IFLGA(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(26,95)IDATE,IYR,NZ,(IFLGE(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(26,95)IDATE,IYR,NZ,(IFLGF(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(26,95)IDATE,IYR,NZ,(IFLGR(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(26,95)IDATE,IYR,NZ,(IFLGQ(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(26,95)IDATE,IYR,NZ,(IDTHB(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(26,95)IDATE,IYR,NZ,(NBTB(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(26,95)IDATE,IYR,NZ,(KLEAF(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(26,95)IDATE,IYR,NZ,(KVSTG(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(26,95)IDATE,IYR,NZ,(KVSTGN(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      DO 9955 N=1,10
9955  READ(26,95)IDATE,IYR,NZ,(IDAY(N,NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,96)IDATE,IYR,NZ,CPOOLP(NZ,NY,NX),CPOLNP(NZ,NY,NX)
     3,VHCPC(NZ,NY,NX),DTKC(NZ,NY,NX),WTSHT(NZ,NY,NX)
     4,WTLS(NZ,NY,NX),WTRT(NZ,NY,NX),WTSHN(NZ,NY,NX),WTSHP(NZ,NY,NX)
     5,WTLF(NZ,NY,NX),WTSHE(NZ,NY,NX),WTSTK(NZ,NY,NX),WTRSV(NZ,NY,NX)
     6,WTHSK(NZ,NY,NX),WTEAR(NZ,NY,NX),WTGR(NZ,NY,NX),WTND(NZ,NY,NX)
     7,WTRVC(NZ,NY,NX),WTRVN(NZ,NY,NX),WTRVP(NZ,NY,NX),HTCTL(NZ,NY,NX)
     8,SDPTH(NZ,NY,NX),WSTR(NZ,NY,NX)
     9,CHILL(NZ,NY,NX),WTRTS(NZ,NY,NX),FRADP(NZ,NY,NX) 
      READ(27,92)IDATE,IYR,NZ,(CPOOL(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(ZPOOL(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(PPOOL(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(CPOLNB(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(ZPOLNB(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(PPOLNB(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(WTSHTB(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(WTLFB(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(WTNDB(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(WTSHEB(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(WTSTKB(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(WVSTKB(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(WTRSVB(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(WTHSKB(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(WTEARB(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(WTGRB(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(WTLSB(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(WTSHTN(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(WTLFBN(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(WTNDBN(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(WTSHBN(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(WTSTBN(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(WTRSBN(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(WTHSBN(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(WTEABN(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(WTGRBN(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(WTSHTP(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(WTLFBP(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(WTNDBP(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(WTSHBP(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(WTSTBP(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(WTRSBP(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(WTHSBP(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(WTEABP(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(WTGRBP(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(GRNXB(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(GRNOB(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(GRWTB(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(ARLFB(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(WGLFX(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(WGLFNX(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(WGLFPX(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(ARLFZ(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(RCZLX(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(RCPLX(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(RCCLX(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(WGSHEX(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(WGSHNX(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(WGSHPX(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(HTSHEX(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(RCZSX(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(RCPSX(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(RCCSX(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(WTSTXB(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(WTSTXN(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,92)IDATE,IYR,NZ,(WTSTXP(NB,NZ,NY,NX),NB=1,NBR(NZ,NY,NX))
      READ(27,94)IDATE,IYR,NZ,(ARLFV(L,NZ,NY,NX),L=1,JC)
      READ(27,94)IDATE,IYR,NZ,(ARSTV(L,NZ,NY,NX),L=1,JC)
      DO 9945 NB=1,NBR(NQ,NY,NX)
      READ(28,93)IDATE,IYR,NZ,(CPOOL4(K,NB,NZ,NY,NX),K=1,25)
      READ(28,93)IDATE,IYR,NZ,(CPOOL3(K,NB,NZ,NY,NX),K=1,25)
      READ(28,93)IDATE,IYR,NZ,(CO2B(K,NB,NZ,NY,NX),K=1,25)
      READ(28,93)IDATE,IYR,NZ,(HCOB(K,NB,NZ,NY,NX),K=1,25)
      READ(28,93)IDATE,IYR,NZ,(ARLF(K,NB,NZ,NY,NX),K=0,25)
      READ(28,93)IDATE,IYR,NZ,(WGLF(K,NB,NZ,NY,NX),K=0,25)
      READ(28,93)IDATE,IYR,NZ,(WSLF(K,NB,NZ,NY,NX),K=0,25)
      READ(28,93)IDATE,IYR,NZ,(HTSHE(K,NB,NZ,NY,NX),K=0,25)
      READ(28,93)IDATE,IYR,NZ,(WGSHE(K,NB,NZ,NY,NX),K=0,25)
      READ(28,93)IDATE,IYR,NZ,(WSSHE(K,NB,NZ,NY,NX),K=0,25)
      READ(28,93)IDATE,IYR,NZ,(HTNODE(K,NB,NZ,NY,NX),K=0,25)
      READ(28,93)IDATE,IYR,NZ,(HTNODX(K,NB,NZ,NY,NX),K=0,25)
      READ(28,93)IDATE,IYR,NZ,(WGNODE(K,NB,NZ,NY,NX),K=0,25)
      READ(28,93)IDATE,IYR,NZ,(WGLFN(K,NB,NZ,NY,NX),K=0,25)
      READ(28,93)IDATE,IYR,NZ,(WGSHN(K,NB,NZ,NY,NX),K=0,25)
      READ(28,93)IDATE,IYR,NZ,(WGNODN(K,NB,NZ,NY,NX),K=0,25)
      READ(28,93)IDATE,IYR,NZ,(WGLFP(K,NB,NZ,NY,NX),K=0,25)
      READ(28,93)IDATE,IYR,NZ,(WGSHP(K,NB,NZ,NY,NX),K=0,25)
      READ(28,93)IDATE,IYR,NZ,(WGNODP(K,NB,NZ,NY,NX),K=0,25)
      DO 9950 K=0,25
      READ(28,94)IDATE,IYR,NZ,(ARLFL(L,K,NB,NZ,NY,NX),L=1,JC)
      READ(28,94)IDATE,IYR,NZ,(WGLFL(L,K,NB,NZ,NY,NX),L=1,JC)
      READ(28,94)IDATE,IYR,NZ,(WGLFLN(L,K,NB,NZ,NY,NX),L=1,JC)
      READ(28,94)IDATE,IYR,NZ,(WGLFLP(L,K,NB,NZ,NY,NX),L=1,JC)
      IF(K.NE.0)THEN
      DO 9940 N=1,4
      READ(28,94)IDATE,IYR,NZ,(SURF(N,L,K,NB,NZ,NY,NX),L=1,JC)
9940  CONTINUE
      ENDIF
9950  CONTINUE
      READ(28,94)IDATE,IYR,NZ,(ARSTK(L,NB,NZ,NY,NX),L=1,JC)
      DO 9945 L=1,JC
      READ(28,92)IDATE,IYR,NZ,(SURFB(N,L,NB,NZ,NY,NX),N=1,4)
9945  CONTINUE
      DO 9970 N=1,MY(NQ,NY,NX)
      READ(29,94)IDATE,IYR,NZ,(PSIRT(N,L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(PSIRO(N,L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(PSIRG(N,L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(RTN1(N,L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(RTNL(N,L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(RTLGP(N,L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(RTDNP(N,L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(RTVLP(N,L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(RTVLW(N,L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(RRAD1(N,L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(RRAD2(N,L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(RTARP(N,L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(RTLGA(N,L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(RCO2M(N,L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(RCO2A(N,L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(RCO2N(N,L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(CO2A(N,L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(OXYA(N,L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(CH4A(N,L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(Z2OA(N,L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(ZH3A(N,L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(CO2P(N,L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(OXYP(N,L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(CH4P(N,L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(Z2OP(N,L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(ZH3P(N,L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(WTRTL(N,L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(WTRTD(N,L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(WSRTL(N,L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(ROXYP(N,L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(RUNNHP(N,L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(RUNNOP(N,L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(RUPP2P(N,L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(RUPP1P(N,L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(RUNNBP(N,L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(RUNNXP(N,L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(RUPP2B(N,L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(RUPP1B(N,L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(WFR(N,L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(CPOOLR(N,L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(ZPOOLR(N,L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(PPOOLR(N,L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(RTDP1(N,NR,NZ,NY,NX)
     2,NR=1,NRT(NZ,NY,NX))
      READ(29,94)IDATE,IYR,NZ,(RTWT1(N,NR,NZ,NY,NX)
     2,NR=1,NRT(NZ,NY,NX))
      READ(29,94)IDATE,IYR,NZ,(RTWT1N(N,NR,NZ,NY,NX)
     2,NR=1,NRT(NZ,NY,NX))
      READ(29,94)IDATE,IYR,NZ,(RTWT1P(N,NR,NZ,NY,NX)
     2,NR=1,NRT(NZ,NY,NX))
      DO 9965 NR=1,NRT(NZ,NY,NX)
      READ(29,94)IDATE,IYR,NZ,(RTN2(N,L,NR,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(RTLG1(N,L,NR,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(WTRT1(N,L,NR,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(WTRT1N(N,L,NR,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(WTRT1P(N,L,NR,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(WTRT2(N,L,NR,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(WTRT2N(N,L,NR,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(WTRT2P(N,L,NR,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(RTLG2(N,L,NR,NZ,NY,NX),L=1,NJ(NY,NX))
9965  CONTINUE
9970  CONTINUE
      READ(29,94)IDATE,IYR,NZ,(CPOOLN(L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(ZPOOLN(L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(PPOOLN(L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(WTNDL(L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(WTNDLN(L,NZ,NY,NX),L=1,NJ(NY,NX))
      READ(29,94)IDATE,IYR,NZ,(WTNDLP(L,NZ,NY,NX),L=1,NJ(NY,NX))
      ENDIF
9980  CONTINUE
      ENDIF
9985  CONTINUE
9990  CONTINUE
      IF(IDATE.LT.IDAYR.OR.IYR.LT.IYRR)THEN
      GO TO 8000
      ELSEIF(IDATE.GE.IDAYR.AND.IYR.EQ.IYRR)THEN
      DO 9890 NX=NHW,NHE
      DO 9885 NY=NVN,NVS
      IF(IYR0(NZ,NY,NX).EQ.-1E+06)THEN
      IDAY0(NZ,NY,NX)=IDAY02(NZ,NY,NX)
      IYR0(NZ,NY,NX)=IYR02(NZ,NY,NX)
      ENDIF
      IF(IYRH(NZ,NY,NX).EQ.1E+06)THEN
      IDAYH(NZ,NY,NX)=IDAYH2(NZ,NY,NX)
      IYRH(NZ,NY,NX)=IYRH2(NZ,NY,NX)
      ENDIF
      IF(IFLGT(NY,NX).GT.0)THEN
      DO 9880 NZ=1,NP(NY,NX)
      IF(IFLGC(NZ,NY,NX).EQ.1)THEN
      DO 9600 NB=NBR(NZ,NY,NX)+1,10
      IFLGA(NB,NZ,NY,NX)=0
      IFLGE(NB,NZ,NY,NX)=1
      IFLGF(NB,NZ,NY,NX)=0
      IFLGR(NB,NZ,NY,NX)=0
      IFLGQ(NB,NZ,NY,NX)=0
      GROUP(NB,NZ,NY,NX)=GROUPI(NZ,NY,NX)
      PSTG(NB,NZ,NY,NX)=XTLI(NZ,NY,NX)
      PSTGI(NB,NZ,NY,NX)=PSTG(NB,NZ,NY,NX)
      PSTGF(NB,NZ,NY,NX)=0.0
      VSTG(NB,NZ,NY,NX)=0.0
      VSTGX(NB,NZ,NY,NX)=0.0
      KLEAF(NB,NZ,NY,NX)=1
      KLEAFX(NB,NZ,NY,NX)=1
      KVSTG(NB,NZ,NY,NX)=1
      KVSTGN(NB,NZ,NY,NX)=0
      GSTGI(NB,NZ,NY,NX)=0.0
      GSTGF(NB,NZ,NY,NX)=0.0
      TGSTGI(NB,NZ,NY,NX)=0.0
      TGSTGF(NB,NZ,NY,NX)=0.0
      VRNY(NB,NZ,NY,NX)=VRNL(NB,NZ,NY,NX)+0.5
      VRNZ(NB,NZ,NY,NX)=0.0
      VRNS(NB,NZ,NY,NX)=VRNY(NB,NZ,NY,NX)
      VRNF(NB,NZ,NY,NX)=VRNZ(NB,NZ,NY,NX)
      ATRP(NB,NZ,NY,NX)=0.0
      FDBK(NB,NZ,NY,NX)=1.0
      FDBKX(NB,NZ,NY,NX)=1.0
      FLG4(NB,NZ,NY,NX)=0
      NBTB(NB,NZ,NY,NX)=0
      IDTHB(NB,NZ,NY,NX)=1
      DO 15 M=1,10
      IDAY(M,NB,NZ,NY,NX)=0
15    CONTINUE
      CPOOL(NB,NZ,NY,NX)=0.0
      ZPOOL(NB,NZ,NY,NX)=0.0
      PPOOL(NB,NZ,NY,NX)=0.0
      WTSHTB(NB,NZ,NY,NX)=0.0
      WTLFB(NB,NZ,NY,NX)=0.0
      WTSHEB(NB,NZ,NY,NX)=0.0
      WTSTKB(NB,NZ,NY,NX)=0.0
      WVSTKB(NB,NZ,NY,NX)=0.0
      WTRSVB(NB,NZ,NY,NX)=0.0
      WTHSKB(NB,NZ,NY,NX)=0.0
      WTEARB(NB,NZ,NY,NX)=0.0
      WTGRB(NB,NZ,NY,NX)=0.0
      WTLSB(NB,NZ,NY,NX)=0.0
      WTSHTN(NB,NZ,NY,NX)=0.0
      WTLFBN(NB,NZ,NY,NX)=0.0
      WTSHBN(NB,NZ,NY,NX)=0.0
      WTSTBN(NB,NZ,NY,NX)=0.0
      WTRSBN(NB,NZ,NY,NX)=0.0
      WTHSBN(NB,NZ,NY,NX)=0.0
      WTEABN(NB,NZ,NY,NX)=0.0
      WTGRBN(NB,NZ,NY,NX)=0.0
      WTSHTP(NB,NZ,NY,NX)=0.0
      WTLFBP(NB,NZ,NY,NX)=0.0
      WTSHBP(NB,NZ,NY,NX)=0.0
      WTSTBP(NB,NZ,NY,NX)=0.0
      WTRSBP(NB,NZ,NY,NX)=0.0
      WTHSBP(NB,NZ,NY,NX)=0.0
      WTEABP(NB,NZ,NY,NX)=0.0
      WTGRBP(NB,NZ,NY,NX)=0.0
      GRNXB(NB,NZ,NY,NX)=0.0
      GRNOB(NB,NZ,NY,NX)=0.0
      GRWTB(NB,NZ,NY,NX)=0.0
      ARLFB(NB,NZ,NY,NX)=0.0
      RNH3B(NB,NZ,NY,NX)=0.0
      RCZLX(NB,NZ,NY,NX)=0.0
      RCPLX(NB,NZ,NY,NX)=0.0
      RCCLX(NB,NZ,NY,NX)=0.0
      WGLFX(NB,NZ,NY,NX)=0.0
      WGLFNX(NB,NZ,NY,NX)=0.0
      WGLFPX(NB,NZ,NY,NX)=0.0
      ARLFZ(NB,NZ,NY,NX)=0.0
      RCZSX(NB,NZ,NY,NX)=0.0
      RCPSX(NB,NZ,NY,NX)=0.0
      RCCSX(NB,NZ,NY,NX)=0.0
      WTSTXB(NB,NZ,NY,NX)=0.0
      WTSTXN(NB,NZ,NY,NX)=0.0
      WTSTXP(NB,NZ,NY,NX)=0.0
      WGSHEX(NB,NZ,NY,NX)=0.0
      WGSHNX(NB,NZ,NY,NX)=0.0
      WGSHPX(NB,NZ,NY,NX)=0.0
      HTSHEX(NB,NZ,NY,NX)=0.0
      DO 5 L=1,JZ
      ARSTK(L,NB,NZ,NY,NX)=0.0
      DO 5 N=1,4
      SURFB(N,L,NB,NZ,NY,NX)=0.0
5     CONTINUE
9600  CONTINUE
      DO 9610 NB=NBR(NZ,NY,NX)+1,10
      DO 9620 K=0,25
      ARLF(K,NB,NZ,NY,NX)=0.0
      HTNODE(K,NB,NZ,NY,NX)=0.0
      HTNODX(K,NB,NZ,NY,NX)=0.0
      HTSHE(K,NB,NZ,NY,NX)=0.0
      WGLF(K,NB,NZ,NY,NX)=0.0
      WSLF(K,NB,NZ,NY,NX)=0.0
      WGLFN(K,NB,NZ,NY,NX)=0.0
      WGLFP(K,NB,NZ,NY,NX)=0.0
      WGSHE(K,NB,NZ,NY,NX)=0.0
      WSSHE(K,NB,NZ,NY,NX)=0.0
      WGSHN(K,NB,NZ,NY,NX)=0.0
      WGSHP(K,NB,NZ,NY,NX)=0.0
      WGNODE(K,NB,NZ,NY,NX)=0.0
      WGNODN(K,NB,NZ,NY,NX)=0.0
      WGNODP(K,NB,NZ,NY,NX)=0.0
      DO 55 L=1,JZ
      ARLFL(L,K,NB,NZ,NY,NX)=0.0
      WGLFL(L,K,NB,NZ,NY,NX)=0.0
      WGLFLN(L,K,NB,NZ,NY,NX)=0.0
      WGLFLP(L,K,NB,NZ,NY,NX)=0.0
55    CONTINUE
      IF(K.NE.0)THEN
      CPOOL3(K,NB,NZ,NY,NX)=0.0
      CO2B(K,NB,NZ,NY,NX)=0.0
      HCOB(K,NB,NZ,NY,NX)=0.0
      CPOOL4(K,NB,NZ,NY,NX)=0.0
      DO 45 L=1,JC
      DO 45 N=1,4
      SURF(N,L,K,NB,NZ,NY,NX)=0.0
45    CONTINUE
      ENDIF
9620  CONTINUE
9610  CONTINUE
      DO 9700 NR=NRT(NZ,NY,NX)+1,10
      DO 9705 N=1,MY(NZ,NY,NX)
      RTDP1(N,NR,NZ,NY,NX)=AMAX1(0.0,SDPTH(NZ,NY,NX)
     2+CDPTH(NU(NY,NX),NY,NX)-DLYR(3,NU(NY,NX),NY,NX))
      DO 9710 L=1,JZ
      WTRT1(N,L,NR,NZ,NY,NX)=0.0
      WTRT1N(N,L,NR,NZ,NY,NX)=0.0
      WTRT1P(N,L,NR,NZ,NY,NX)=0.0
      RTLG1(N,L,NR,NZ,NY,NX)=0.0
      WTRT2(N,L,NR,NZ,NY,NX)=0.0
      WTRT2N(N,L,NR,NZ,NY,NX)=0.0
      WTRT2P(N,L,NR,NZ,NY,NX)=0.0
      RTLG2(N,L,NR,NZ,NY,NX)=0.0
9710  CONTINUE
9705  CONTINUE
9700  CONTINUE
      ENDIF
9880  CONTINUE
      ENDIF
C     NU(NY,NX)=3
C     NL(NY,NX)=3
9885  CONTINUE
9890  CONTINUE
      CALL STARTQ(NHW,NHE,NVN,NVS,1,5)
      GO TO 1000
      ELSE
      CALL STARTQ(NHW,NHE,NVN,NVS,1,5)
      GO TO 1000
      ENDIF
90    FORMAT(30I4)
91    FORMAT(3I4,4I8,30I4)
92    FORMAT(3I4,10E17.8E3)
93    FORMAT(3I4,15E17.8E3,/,15E17.8E3,/,15E17.8E3,/,15E17.8E3)
94    FORMAT(3I4,21E17.8E3)
95    FORMAT(3I4,10I6)
96    FORMAT(3I4,15E17.8E3,/,15E17.8E3,/,15E17.8E3)
97    FORMAT(3I4,15E17.8E3,/,15E17.8E3,/,15E17.8E3,/,15E17.8E3)
1001  CONTINUE
1000  RETURN
      END
