SUBROUTINE CGROW(GROWTH,TBAR,TA,FC,FCS,ILG,IG,IL1,IL2,JL) 1

C     * AUG 19/04 - Y.DELAGE  REGROUP COMMON BLOCKS - EXPLICIT DECLARATIONS
C     * SEP 25/97 - M.LAZARE. CLASS - VERSION 2.7. 
C     *                       INSERT "IF" CONDITION TO PERFORM THESE 
C     *                       CALCULATIONS ONLY IF CANOPY IS PRESENT.
C     * APR 24/92 - D.VERSEGHY/M.LAZARE. REVISED AND VECTORIZED CODE
C     *                                  FOR MODEL VERSION GCM7.
C     * APR 11/89 - D.VERSEGHY. INCREMENT/DECREMENT GROWTH INDEX FOR
C     *                         VEGETATION TYPES 1 AND 2 (NEEDLELEAF
C     *                         AND BROADLEAF TREES).
C                                      
      IMPLICIT NONE
      INTEGER ILG,IG,IL1,IL2,JL,I
C
C     * OUTPUT ARRAY.
C
      REAL GROWTH(ILG)
C
C     * INPUT ARRAYS.
C                                           
      REAL TBAR  (ILG,IG)
C
      REAL TA(ILG),  FC(ILG),   FCS(ILG)
C
#include "class_com.cdk"
C-----------------------------------------------------------------------
      DO 100 I=IL1,IL2
          IF((FC(I)+FCS(I)).GT.0.0)                                 THEN
              IF(GROWTH(I).LT.0.0)                                THEN
                  GROWTH(I)=MIN(0.0,(GROWTH(I)+DELT/5.184E6)) 
              ELSE                   
                  IF(TA(I).GT.TFREZ .AND. TBAR(I,1).GT.TFREZ)   THEN 
                      GROWTH(I)=MIN(1.0,(GROWTH(I)+DELT/5.184E6))
                  ELSE 
                      IF(GROWTH(I).GE.0.10)     THEN     
                          GROWTH(I)=-GROWTH(I)  
                      ELSE              
                          GROWTH(I)=0.0  
                      ENDIF             
                  ENDIF
              ENDIF
          ENDIF
  100 CONTINUE
C                     
      RETURN                                                                      
      END