    SUBROUTINE READ_OUT2RESTRT(TSTART)
!>--------------------------------------------------------------------------------------------------
!> SUBROUTINE READ_OUT2RESTRT
!>
!> SUBPROGRAM: READ_OUT2RESTRT - 
!>
!> DRIVER     : INIT
!>              INITS
!>
!>--------------------------------------------------------------------------------------------------
    USE ABCI  , only: AI, BI, CI
    USE ACMCLD
    USE ACMCLH
    USE ACMPRE
    USE ACMRDL
    USE ACMRDS
    USE ACMSFC
    USE C_TADJ    !andre    
    USE BOCO      !andre
    USE CLDWTR
    USE CNVCLD
    USE CO2BD2
    USE CO2BD3
    USE CO2BD4
    USE CO2BD5
    USE C_FRACN  
    USE CONTIN
    USE CTLBLK
    USE CUINIT    !andre
    USE DYNAM0
    USE DYNAM2        
    USE F77KINDS
!    USE KFFDBK   
!    USE KFLUT 
    USE INDX
    USE LOOPS
    USE MASKS
    USE MAPOT2   
    USE MPPCOM
    USE NHYDRO
    USE PARMETA
    USE PHYS0 , only: PT, DETA, AETA
    USE PHYS2
    USE PPTASM
    USE PRFHLD    !andre
    USE PVRBLS    !andre
    USE RD1TIM    !andre
    USE SEASO3   
    USE SLOPES
    USE SOIL
    USE TEMPV
    USE TOPO
    USE VRBLS
    USE Z0EFFT      
    USE UPDT
!
    IMPLICIT NONE
!
    INTEGER(KIND=I4KIND)                                                                        ::&
    & ITAG,  LISTOUT 
!    
    REAL   (KIND=R4KIND)                                                                        ::&
    & TSTART
!
    CHARACTER(LEN=6)                                                                            ::&
    & C_NHRS     
!   
    CHARACTER(LEN=4)                                                                            ::&
    & C_MYPE     
!   
    CHARACTER(LEN=150)                                                                          ::&
    & OUTFILE 
!
    ITAG=TSTART
    WRITE(C_NHRS,'(I6.6)') ITAG  
!
    WRITE(C_MYPE,'(I4.4)') MYPE
!            
    OUTFILE = "OUT2RESTRT/OUT2RESTRT_"//C_MYPE//"."//C_NHRS
!
    LISTOUT=1001
!
    OPEN (UNIT=LISTOUT, FILE= TRIM(OUTFILE), FORM = 'UNFORMATTED')
!
!MODULE_VRBLS
    READ(LISTOUT)PD
    READ(LISTOUT)FIS
    READ(LISTOUT)RES
    READ(LISTOUT)T
    READ(LISTOUT)U
    READ(LISTOUT)V
    READ(LISTOUT)Q
!MODULE_CLDWTR
    READ(LISTOUT)CWM
    READ(LISTOUT)LC
    READ(LISTOUT)U00
    READ(LISTOUT)SR
    READ(LISTOUT)UL
!MODULE_PVRBLS  
    READ(LISTOUT)Z0
    READ(LISTOUT)USTAR
    READ(LISTOUT)UZ0 
    READ(LISTOUT)VZ0 
    READ(LISTOUT)THZ0   
    READ(LISTOUT)QZ0   
    READ(LISTOUT)THS
    READ(LISTOUT)QS
    READ(LISTOUT)AKMS 
    READ(LISTOUT)AKHS 
    READ(LISTOUT)RF
    READ(LISTOUT)TWBS 
    READ(LISTOUT)QWBS 
    READ(LISTOUT)SNO 
    READ(LISTOUT)SI
    READ(LISTOUT)CLDEFI 
    READ(LISTOUT)PREC
    READ(LISTOUT)ACPREC    
    READ(LISTOUT)ACCLIQ
    READ(LISTOUT)CUPREC
    READ(LISTOUT)TH100
    READ(LISTOUT)Q100
    READ(LISTOUT)U100
    READ(LISTOUT)V100
    READ(LISTOUT)TH10    
    READ(LISTOUT)Q10     
    READ(LISTOUT)U10
    READ(LISTOUT)V10
    READ(LISTOUT)TSHLTR
    READ(LISTOUT)TSHLTR1
    READ(LISTOUT)QSHLTR
    READ(LISTOUT)PSHLTR    
    READ(LISTOUT)XMOMFLUX
    READ(LISTOUT)YMOMFLUX
    READ(LISTOUT)Q2   
!    
    READ(LISTOUT) SFCLHX
    READ(LISTOUT) SFCSHX
    READ(LISTOUT) GLAT !!!
    READ(LISTOUT) GLON !!!
    READ(LISTOUT) SM   
    READ(LISTOUT) HTM
    READ(LISTOUT) VTM
    READ(LISTOUT) SICE
    READ(LISTOUT) OMGALF
    READ(LISTOUT) ALBEDO
    READ(LISTOUT) ALBASE
    READ(LISTOUT) MXSNAL !!!
    READ(LISTOUT) CZEN !!!
    READ(LISTOUT) CZMEAN !!!
    READ(LISTOUT) TCUCN  !!!  
    READ(LISTOUT) TRAIN  !!!  
    READ(LISTOUT) DIV !!! 
    READ(LISTOUT) RTOP !!!
    READ(LISTOUT)  AKM10
    READ(LISTOUT)  AKM10V           
!
    READ(LISTOUT) RSWIN !!!
    READ(LISTOUT) RSWOUT !!!
    READ(LISTOUT) RSWTOA !!!
    READ(LISTOUT) ASWIN
    READ(LISTOUT) ASWOUT
    READ(LISTOUT) ASWTOA !!!
    READ(LISTOUT) RSWTT !!!
!
    READ(LISTOUT) RLWIN !!!
    READ(LISTOUT) RLWOUT !!!
    READ(LISTOUT) RLWTOA !!!
    READ(LISTOUT) ALWIN
    READ(LISTOUT) ALWOUT
    READ(LISTOUT) ALWTOA 
    READ(LISTOUT) RLWTT !!!
    READ(LISTOUT) EPSR !!!
    READ(LISTOUT) RADOT  !!!  
    READ(LISTOUT) SIGT4  !!!
!
    READ(LISTOUT) CUPPT !!!
    READ(LISTOUT) CFRACL !!!
    READ(LISTOUT) CFRACM !!!
    READ(LISTOUT) CFRACH !!!
    READ(LISTOUT) ACFRCV !!!
    READ(LISTOUT) ACFRST !!!
    
    READ(LISTOUT) F_ICE !!!
    READ(LISTOUT) F_RAIN !!!
    READ(LISTOUT) F_RIMEF !!!

    READ(LISTOUT) CNVTOP !!!
    READ(LISTOUT) CNVBOT !!!
    READ(LISTOUT) HTOP
    READ(LISTOUT) HBOT
!
    READ(LISTOUT) APREC
    READ(LISTOUT) ACSNOW
    READ(LISTOUT) ACSNOM !!!
    READ(LISTOUT) STC
    READ(LISTOUT) SMC
    READ(LISTOUT) SMSTAV
    READ(LISTOUT) BGROFF
    READ(LISTOUT) SSROFF
    READ(LISTOUT) CMC !!!
    READ(LISTOUT) POTEVP
    READ(LISTOUT) POTFLX
    READ(LISTOUT) SFCEVP
    READ(LISTOUT) SUBSHX
    READ(LISTOUT) SNOPCX
    READ(LISTOUT) SMSTOT !!!
    READ(LISTOUT) SOILTB !!! 
    READ(LISTOUT) TG !!!
!soil_comm
         READ(LISTOUT)SFCEXC
         READ(LISTOUT)PCTSNO
         READ(LISTOUT)GRNFLX !!!
         READ(LISTOUT)VEGFRC 
         READ(LISTOUT)IVGTYP !!!
         READ(LISTOUT)ISLTYP !!!
	 READ(LISTOUT)ISLOPE
	 READ(LISTOUT)SH2O
	 READ(LISTOUT)VEGFRM
	 READ(LISTOUT)SLDPTH
	 READ(LISTOUT)RTDPTH
!acmpre_comm
	 READ(LISTOUT)TPREC
!seaso3_comm ?
	 READ(LISTOUT)XDUO3N
	 READ(LISTOUT)XDO3N2
	 READ(LISTOUT)XDO3N3
	 READ(LISTOUT)XDO3N4
	 READ(LISTOUT)PRGFDL
!phys_comm
	 READ(LISTOUT)RADIN
	 READ(LISTOUT)SIGT4
	 READ(LISTOUT)SST    
!kflut_comm
!	 READ(LISTOUT)TTAB
!	 READ(LISTOUT)QSTAB
!	 READ(LISTOUT)THE0K
!	 READ(LISTOUT)ALU
!kffdbk_comm	 
!	 READ(LISTOUT)DTDT
!	 READ(LISTOUT)DQDT
!	 READ(LISTOUT)DQCDT
!	 READ(LISTOUT)W0AVG
!	 READ(LISTOUT)PPTKF
!	 READ(LISTOUT)TNCA
!	 READ(LISTOUT)SUMFB
!	 READ(LISTOUT)SPSRC
!	 READ(LISTOUT)CIN
!contin_comm	 
	 READ(LISTOUT)PDSL
         READ(LISTOUT)PDSLO
	 READ(LISTOUT)PSDT
	 READ(LISTOUT)ETADT
!co2dta_comm	 
	 READ(LISTOUT)CO251
	 READ(LISTOUT)CO258
	 READ(LISTOUT)CDT51
	 READ(LISTOUT)CDT58
	 READ(LISTOUT)C2D51
	 READ(LISTOUT)C2D58
	 READ(LISTOUT)CO2M51
	 READ(LISTOUT)CO2M58
	 READ(LISTOUT)CDTM51
	 READ(LISTOUT)CDTM58
	 READ(LISTOUT)C2DM51
	 READ(LISTOUT)C2DM58     !!!!!!!   CO2 (IT WILL BE NECESSARY FOR CLIMATE INTEGRATIONS)
	 READ(LISTOUT)STEMP
	 READ(LISTOUT)GTEMP
	 READ(LISTOUT)CO231
	 READ(LISTOUT)CO238
	 READ(LISTOUT)CDT31
	 READ(LISTOUT)CDT38
	 READ(LISTOUT)C2D31
	 READ(LISTOUT)C2D38
	 READ(LISTOUT)CO271
	 READ(LISTOUT)CO278
	 READ(LISTOUT)CDT71
	 READ(LISTOUT)CDT78
	 READ(LISTOUT)C2D71
	 READ(LISTOUT)C2D78
	 READ(LISTOUT)CO211
	 READ(LISTOUT)CO218
!acmcld_comm
	 READ(LISTOUT)NCFRCV
	 READ(LISTOUT)NCFRST
	 READ(LISTOUT)TCLOD        !INCLUDE IN CUT-CELL VERSION?
	 READ(LISTOUT)NCLOD        !
!vrbls_comm
!	 READ(LISTOUT)PDOLD   !?
!	 READ(LISTOUT)PBH    !?
!	 READ(LISTOUT)PB     !?
!	 READ(LISTOUT)ACDTDT  !?
!	 READ(LISTOUT)RDDTDT
!pptasm_comm	 
         READ(LISTOUT)MTSTPE
	 READ(LISTOUT)ITSTLOC
	 READ(LISTOUT)JTSTLOC
	 READ(LISTOUT)PHOUR
	 READ(LISTOUT)TLATCU   !BMJ
	 READ(LISTOUT)TLATGS   !BMJ
         READ(LISTOUT)PPTDAT
!acmrdl_comm
	 READ(LISTOUT)TRDLW
	 READ(LISTOUT)ARDLW
	 READ(LISTOUT)NRDLW
!acmrds.comm
	 READ(LISTOUT)TRDSW
	 READ(LISTOUT)ARDSW
	 READ(LISTOUT)NRDSW
!acmsfc.comm
	 READ(LISTOUT)TSRFC
	 READ(LISTOUT)ASRFC
	 READ(LISTOUT)APHTIM
	 READ(LISTOUT)NSRFC
	 READ(LISTOUT)SFCUVX
!loops.comm
	 READ(LISTOUT)LMH
	 READ(LISTOUT)LMV
	 READ(LISTOUT)IHLA
	 READ(LISTOUT)IHHA
	 READ(LISTOUT)IVLA
	 READ(LISTOUT)IVHA
	 READ(LISTOUT)JRA
!phys_comm
         READ(LISTOUT)PT2
         READ(LISTOUT)DETA2
         READ(LISTOUT)AETA2
	 READ(LISTOUT)DFRLG
	 READ(LISTOUT)DTQ2
	 READ(LISTOUT)TDTQ2
	 READ(LISTOUT)DTD
	 READ(LISTOUT)TDTD
	 READ(LISTOUT)ROS	 
	 READ(LISTOUT)DS
	 READ(LISTOUT)ROI
	 READ(LISTOUT)CI	 
	 READ(LISTOUT)DI
	 READ(LISTOUT)PL
	 READ(LISTOUT)THL	 
	 READ(LISTOUT)RDQ
	 READ(LISTOUT)RDTH
	 READ(LISTOUT)RDP	 
	 READ(LISTOUT)RDTHE
	 READ(LISTOUT)PLQ
	 READ(LISTOUT)RDPQ	 
	 READ(LISTOUT)RDTHEQ
	 READ(LISTOUT)PLQ
	 READ(LISTOUT)RDPQ	 
	 READ(LISTOUT)QS0	 
	 READ(LISTOUT)SQS
	 READ(LISTOUT)THE0
	 READ(LISTOUT)STHE	 
	 READ(LISTOUT)THE0Q
	 READ(LISTOUT)STHEQ
	 READ(LISTOUT)PTBL	 
	 READ(LISTOUT)TTBL
	 READ(LISTOUT)TTBLQ
	 READ(LISTOUT)SSTM	 
	 READ(LISTOUT)KTM
	 READ(LISTOUT)GFFC
	 READ(LISTOUT)HDAC	 
	 READ(LISTOUT)HDACV
!kflut_comm
!         READ(LISTOUT)RDPR
!         READ(LISTOUT)RDTHK
!         READ(LISTOUT)PTOP
!kffdbk_comm	 
!	 READ(LISTOUT)RAINCV
!	 READ(LISTOUT)PPTCA
!	 READ(LISTOUT)PSRC
!	 READ(LISTOUT)PCLB
!	 READ(LISTOUT)UMFB
!	 READ(LISTOUT)SPCLB
!	 READ(LISTOUT)TST
!	 READ(LISTOUT)NCAD
!	 READ(LISTOUT)NCA
!	 READ(LISTOUT)NCLDCK	 
!co2dta_comm	 
	 READ(LISTOUT)B0
	 READ(LISTOUT)B1
	 READ(LISTOUT)B2
	 READ(LISTOUT)B3
!MODULE_Z0EFFT
	 READ(LISTOUT)ZEFFIJ
!MODULE_C_TADJ
 	 READ(LISTOUT)T_ADJ
	 READ(LISTOUT)T_OLD	 
!MODULE_CTLBLK
 	 READ(LISTOUT)IDAT
 	 READ(LISTOUT)RUN	 
 	 READ(LISTOUT)FIRST	 
 	 READ(LISTOUT)RESTRT	 
 	 READ(LISTOUT)SIGMA
 	 READ(LISTOUT)NEST	 	 
 	 READ(LISTOUT)SUBPOST	 
! 	 READ(LISTOUT)LCORNERM
 	 READ(LISTOUT)IOUT
 	 READ(LISTOUT)IHRST	 
 	 READ(LISTOUT)NFCST	 
 	 READ(LISTOUT)NBC	 
 	 READ(LISTOUT)LIST	 
 	 READ(LISTOUT)NTSD	 
 	 READ(LISTOUT)NTSTM
! 	 READ(LISTOUT)NDDAMP
 	 READ(LISTOUT)NPREC	 
 	 READ(LISTOUT)IDTAD	 
 	 READ(LISTOUT)NBOCO	 
 	 READ(LISTOUT)NSHDE	 
 	 READ(LISTOUT)NCP	 
 	 READ(LISTOUT)NPHS
 	 READ(LISTOUT)NCNVC
 	 READ(LISTOUT)NRADS	 
 	 READ(LISTOUT)NRADL	 
 	 READ(LISTOUT)NTDDMP	 
 	 READ(LISTOUT)NSTART	 
! 	 READ(LISTOUT)OUTSTR	 
! 	 READ(LISTOUT)NDASSIM
! 	 READ(LISTOUT)NDASSIMM
 	 READ(LISTOUT)INITSST	 
 	 READ(LISTOUT)INITCO2	 
 	 READ(LISTOUT)IDTAD	 
 	 READ(LISTOUT)DT
!MODULE_DYNAM0
         READ(LISTOUT)DY       !andre
	 READ(LISTOUT)CPGFV    !andre
         READ(LISTOUT)EN       !andre
	 READ(LISTOUT)ENT      !andre	 
 	 READ(LISTOUT)R	 
 	 READ(LISTOUT)F4D	 
 	 READ(LISTOUT)F4Q
 	 READ(LISTOUT)EF4T	 
 	 READ(LISTOUT)PT
 	 READ(LISTOUT)RDETA
         READ(LISTOUT)F4Q2
 	 READ(LISTOUT)AETA
 	 READ(LISTOUT)DETA	 
 	 READ(LISTOUT)ETA
 	 READ(LISTOUT)DFL	 
 	 READ(LISTOUT)EM
 	 READ(LISTOUT)EMT
 	 READ(LISTOUT)DX
 	 READ(LISTOUT)WPDAR
	 READ(LISTOUT)CPGFU    !andre
	 READ(LISTOUT)CURV     !andre
 	 READ(LISTOUT)FCP	 
 	 READ(LISTOUT)FDIV
 	 READ(LISTOUT)F        !andre
 	 READ(LISTOUT)DDMPU
 	 READ(LISTOUT)DDMPV	 
 	 READ(LISTOUT)FAD      !andre
! 	 READ(LISTOUT)FADV
! 	 READ(LISTOUT)FADV2	 
! 	 READ(LISTOUT)FADT
! 	 READ(LISTOUT)DAETA
! 	 READ(LISTOUT)FKIN
! 	 READ(LISTOUT)DELTY
! 	 READ(LISTOUT)DELTHZ	 
! 	 READ(LISTOUT)KAPPA
! 	 READ(LISTOUT)P0	 
! 	 READ(LISTOUT)RTDF	 
! 	 READ(LISTOUT)RTDFDT
! 	 READ(LISTOUT)FADTQ	 
! 	 READ(LISTOUT)F4D25
! 	 READ(LISTOUT)F11	 
! 	 READ(LISTOUT)F12
! 	 READ(LISTOUT)F21	 
! 	 READ(LISTOUT)F22
! 	 READ(LISTOUT)P11	 
! 	 READ(LISTOUT)P12
! 	 READ(LISTOUT)P21	 
! 	 READ(LISTOUT)P22
! 	 READ(LISTOUT)FDDMP	 
! 	 READ(LISTOUT)HSINP
! 	 READ(LISTOUT)HCOSP	 
! 	 READ(LISTOUT)FVDIFF
! 	 READ(LISTOUT)HBMSK	 
!MODULE_DYNAM2
         READ(LISTOUT)RDYN     !andre
         READ(LISTOUT)ETAD     !andre
         READ(LISTOUT)DXX      !andre
         READ(LISTOUT)WPDARX   !andre
         READ(LISTOUT)CPGFUX   !andre
         READ(LISTOUT)CURVX    !andre
         READ(LISTOUT)FDIVX    !andre
         READ(LISTOUT)FX       !andre
         READ(LISTOUT)DDMPUX   !andre
         READ(LISTOUT)DDMPVX   !andre
         READ(LISTOUT)FADX     !andre
         READ(LISTOUT)PTDYN    !andre
         READ(LISTOUT)AETAD    !andre
         READ(LISTOUT)DETAD    !andre	 
!MODULE_NHYDRO
 	 READ(LISTOUT)HYDRO
 	 READ(LISTOUT)SPLINE	 
 	 READ(LISTOUT)DWDT
 	 READ(LISTOUT)PDWDT
 	 READ(LISTOUT)PINT	 
 	 READ(LISTOUT)W
 	 READ(LISTOUT)Z
!MODULE_BOCO	 
!	 READ(LISTOUT)PDB
!         READ(LISTOUT)TB
!	 READ(LISTOUT)QB
!	 READ(LISTOUT)UB
!	 READ(LISTOUT)VB
!	 READ(LISTOUT)Q2B
!	 READ(LISTOUT)CWMB	 
!MODULE_CUINIT
         READ(LISTOUT)CURAD
!MODULE_INDX
!         READ(LISTOUT)IHE
!         READ(LISTOUT)IVE
!         READ(LISTOUT)IHW
!         READ(LISTOUT)IHW
!         READ(LISTOUT)IRAD
!         READ(LISTOUT)IHEG
!         READ(LISTOUT)IVEG
!         READ(LISTOUT)IHWG
!         READ(LISTOUT)IVWG
!         READ(LISTOUT)IRADG
!MODULE_PRFHLD
         READ(LISTOUT)TLMIN
         READ(LISTOUT)TLMAX
!MODULE_TEMPV
         READ(LISTOUT)P0
         READ(LISTOUT)T0
	 READ(LISTOUT)Q0
!MODULE_TOPO
         READ(LISTOUT)TEMP2X
         READ(LISTOUT)TTVG
	 READ(LISTOUT)HTMG
!MODULE_ACMCLH 
         READ(LISTOUT)NHEAT
         READ(LISTOUT)THEAT
         READ(LISTOUT)AVRAIN
         READ(LISTOUT)AVCNVC
         READ(LISTOUT)ARATIM
         READ(LISTOUT)ACUTIM
!MODULE_MASKS
!         READ(LISTOUT)HBM2
!         READ(LISTOUT)HBM3
!         READ(LISTOUT)VBM2
!         READ(LISTOUT)VBM3
!MODULE MAPOT2
         READ(LISTOUT)R1
         READ(LISTOUT)PT1
         READ(LISTOUT)AETA1
         READ(LISTOUT)DETA1
         READ(LISTOUT)ETA1
         READ(LISTOUT)LSL
         READ(LISTOUT)IXM
	 READ(LISTOUT)IYM
         READ(LISTOUT)ISHDE
         READ(LISTOUT)TSPH
         READ(LISTOUT)WBD
         READ(LISTOUT)SBD
         READ(LISTOUT)TLM0D
         READ(LISTOUT)TPH0D
         READ(LISTOUT)DLMD
	 READ(LISTOUT)DPHD
         READ(LISTOUT)CMLD
         READ(LISTOUT)DP30
         READ(LISTOUT)X1P
         READ(LISTOUT)Y1P
         READ(LISTOUT)DISLP
         READ(LISTOUT)Z0SLP
 	 READ(LISTOUT)SPL		 
	 READ(LISTOUT)ALSL 
	 READ(LISTOUT)TSHDE
	 READ(LISTOUT)ERLAM0 
	 READ(LISTOUT)CPHI0	 	 
	 READ(LISTOUT)SPHI0
!MODULE_SLOPES
         READ(LISTOUT)ISLD
         READ(LISTOUT)VTMS 
!MODULE_RD1TIM
         READ(LISTOUT)K400
         READ(LISTOUT)RAD1
         READ(LISTOUT)CTHK
         READ(LISTOUT)TAUCV
         READ(LISTOUT)PTOPC
         READ(LISTOUT)LTOP
         READ(LISTOUT)LVL
!MODULE_UPDT
         READ(LISTOUT)LSST
         READ(LISTOUT)NSST
         READ(LISTOUT)YR
         READ(LISTOUT)MON
         READ(LISTOUT)DAY
         READ(LISTOUT)UTC
         READ(LISTOUT)CHARDATE
         READ(LISTOUT)VARUPDATED 
         READ(LISTOUT)SSTR	 
!MODULE_ABCI
         READ(LISTOUT)AI
	 READ(LISTOUT)BI
	 READ(LISTOUT)CI
!
	 CLOSE(LISTOUT)
!--------------------------------------------------- 
! DONE READING INITIAL CONDITIONS OR A RESTART FILE.
!---------------------------------------------------
!
!------------------------------ 
! END OF SUBROUTINE READ_RESTRT
!------------------------------ 
    IF (MYPE == 0) THEN
        WRITE(*,*) 'INIT:  EXIT READ_OU2RESTRT'
        WRITE(*,*) ' '
    END IF
!
    RETURN
!
    END SUBROUTINE READ_OUT2RESTRT



