SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/init_teb_greenroof_pgdn.F90
Go to the documentation of this file.
00001 !#############################################################
00002 SUBROUTINE INIT_TEB_GREENROOF_PGD_n(HPROGRAM,HINIT,OREAD_PGD, KI, KSV, HSV, KVERSION, PCO2, PRHOA)
00003 !#############################################################
00004 !
00005 !!****  *INIT_TEB_GREENROOF_PGD_n* - routine to initialize ISBA
00006 !!
00007 !!    PURPOSE
00008 !!    -------
00009 !!
00010 !!**  METHOD
00011 !!    ------
00012 !!
00013 !!    EXTERNAL
00014 !!    --------
00015 !!
00016 !!
00017 !!    IMPLICIT ARGUMENTS
00018 !!    ------------------
00019 !!
00020 !!    REFERENCE
00021 !!    ---------
00022 !!
00023 !!
00024 !!    AUTHOR
00025 !!    ------
00026 !!      A. Lemonsu  *Meteo France*      
00027 !!
00028 !!    MODIFICATIONS
00029 !!    -------------
00030 !!      Original    09/2009
00031 !-------------------------------------------------------------------------------
00032 !
00033 !*       0.    DECLARATIONS
00034 !              ------------
00035 !
00036 USE MODD_TYPE_DATE_SURF
00037 USE MODD_TYPE_SNOW
00038 !
00039 USE MODD_TEB_n,                ONLY: TTIME, XGREENROOF
00040 USE MODD_TEB_VEG_n,       ONLY: CPEDOTF, CPHOTO, NNBIOMASS, CCPSURF
00041 USE MODD_TEB_GREENROOF_n,      ONLY: LSTRESS, XPCPS, XPLVTT, XPLSTT,                     &
00042                                      CISBA_GR, CSCOND_GR, CKSAT_GR, LTR_ML_GR,           &
00043                                      XCLAY_GR, XSAND_GR, XOM_GR,                         &
00044                                      XWWILT, XWFC, XWSAT,                                &
00045                                      XVEG, XRSMIN, XGAMMA, XRGL, XCV, XLAI,              &
00046                                      XDG, XZ0, XZ0_O_Z0H, XABC, XPOI,                    &
00047                                      XALBNIR_VEG, XALBVIS_VEG, XALBUV_VEG,               &
00048                                      XEMIS, XVEGTYPE, XGMES, XRE25, XBSLAI, XLAIMIN, XGC,&
00049                                      XDMAX, XF2I, XDG2, XDROOT, NWG_LAYER,               &
00050                                      XSEFOLD, XH_TREE, XWRMAX_CF, XDZG, XDZDIF,          &
00051                                      XALBNIR_DRY, XALBVIS_DRY, XALBUV_DRY,               &
00052                                      XALBNIR_WET, XALBVIS_WET, XALBUV_WET,               &
00053                                      XALBNIR_SOIL, XALBVIS_SOIL, XALBUV_SOIL,            &
00054                                      XALBNIR, XALBVIS, XALBUV,                           &
00055                                      XROOTFRAC,XRUNOFFD, XANMAX, XFZERO, XEPSO, XGAMM,   &
00056                                      XQDGAMM, XQDGMES, XT1GMES, XT2GMES, XAMAX, XQDAMAX, &
00057                                      XT1AMAX, XT2AMAX, XAH, XBH,                         &
00058                                      XCGSAT, XC1SAT, XC2REF, XC3, XC4B, XACOEF, XPCOEF,  &
00059                                      XTAUICE, XACOEF, XPCOEF, XTAUICE, XBCOEF, XCONDSAT, &
00060                                      XHCAPSOIL, XCONDDRY, XCONDSLD, XC4REF, XMPOTSAT,    &
00061                                      XTDEEP, XGAMMAT, NLAYER_GR, XSOILWGHT,              &
00062                                      XCE_NITRO, XCF_NITRO, NLAYER_HORT_GR, NLAYER_DUN_GR,&
00063                                      XCNA_NITRO, XBSLAI_NITRO,                           &
00064                                      XD_ICE, XKSAT_ICE,                                  &
00065                                      LPAR_GREENROOF      
00066 USE MODD_CH_TEB_n,             ONLY: CSV, CCH_NAMES, NBEQ, NSV_CHSBEG, NSV_CHSEND,       &
00067                                      CCHEM_SURF_FILE, NDSTEQ, NSV_DSTBEG, NSV_DSTEND,    &
00068                                      NSV_AERBEG, NSV_AEREND, NAEREQ, CDSTNAMES,          &
00069                                      CAER_NAMES, NSLTEQ, NSV_SLTBEG,                     &
00070                                      NSV_SLTEND, CSLTNAMES, CCH_DRY_DEP, LCH_BIO_FLUX  
00071 
00072 USE MODD_DATA_COVER_PAR,       ONLY: NVEGTYPE
00073 USE MODD_SURF_PAR,             ONLY: XUNDEF, NUNDEF
00074 
00075 USE MODD_SGH_PAR,              ONLY: NDIMTAB, XF_DECAY
00076 !
00077 USE MODI_GET_LUOUT
00078 USE MODI_ALLOCATE_TEB_GREENROOF_PGD
00079 USE MODI_READ_PGD_TEB_GREENROOF_n
00080 USE MODI_CONVERT_PATCH_TEB_GREENROOF
00081 USE MODI_INIT_FROM_DATA_GREENROOF_n
00082 USE MODI_INIT_VEG_PGD_GARDEN_n
00083 USE MODI_EXP_DECAY_SOIL_FR
00084 USE MODI_EXP_DECAY_SOIL_DIF
00085 USE MODI_ABOR1_SFX
00086 !
00087 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00088 USE PARKIND1  ,ONLY : JPRB
00089 !
00090 IMPLICIT NONE
00091 !
00092 !*       0.1   Declarations of arguments
00093 !              -------------------------
00094 !
00095  CHARACTER(LEN=6),                   INTENT(IN)  :: HPROGRAM  ! program calling surf. schemes
00096  CHARACTER(LEN=3),                   INTENT(IN)  :: HINIT     ! choice of fields to initialize
00097 LOGICAL,                            INTENT(IN)  :: OREAD_PGD ! flag to read PGD fields in the file
00098 INTEGER,                            INTENT(IN)  :: KI        ! number of points
00099 INTEGER,                            INTENT(IN)  :: KSV       ! number of scalars
00100  CHARACTER(LEN=6), DIMENSION(KSV),   INTENT(IN)  :: HSV       ! name of all scalar variables
00101 INTEGER,                            INTENT(IN)  :: KVERSION  ! version number of the file being read
00102 REAL,             DIMENSION(KI),    INTENT(IN)  :: PCO2        ! CO2 concentration (kg/m3)
00103 REAL,             DIMENSION(KI),    INTENT(IN)  :: PRHOA       ! air density
00104 !
00105 !
00106 !
00107 !*       0.2   Declarations of local variables
00108 !              -------------------------------
00109 !
00110 INTEGER           :: JILU     ! loop increment
00111 INTEGER           :: ILUOUT   ! unit of output listing file
00112 !
00113 INTEGER           :: IDECADE  ! decade of simulation
00114 !
00115 INTEGER :: JVEGTYPE, JLAYER  ! loop counter on layers
00116 !
00117 REAL, DIMENSION(KI)               :: ZF
00118 REAL, DIMENSION(KI)               :: ZWORK
00119 !
00120 !*       0.3   Soil parameter values for organic matter - from Lawrence and Slater (2008):
00121 !              ----------------------------------------------------------------------------------
00122 !
00123 REAL, PARAMETER   :: ZWSAT_OM      = 0.9       ! Porosity of OM (m3/m3)
00124 REAL, PARAMETER   :: ZCONDSAT_OM   = 2.8E-4    ! Saturated hydraulic conductivity for OM (m/s)
00125 REAL, PARAMETER   :: ZMPOTSAT_OM   = -10.3E-3  ! Saturated matric potential for OM (m)
00126 REAL, PARAMETER   :: ZBCOEF_OM     = 2.7       ! CH78 b-parameter for OM (-)
00127 !
00128 REAL, PARAMETER   :: ZCONDDRY_OM   = 0.05      ! Dry thermal conductivity for OM (W/m/K)
00129 REAL, PARAMETER   :: ZCONDSLD_OM   = 0.25      ! Soil solids thermal conductivity for OM (W/m/K)
00130 REAL, PARAMETER   :: ZHCAPSOIL_OM  = 2.5E+6    ! Soil heat capacity for OM
00131 !
00132 REAL, PARAMETER   :: ZMPOT_WWILT   = -150.     ! Matric potential at wilting point (m)
00133 REAL, PARAMETER   :: ZHYDCOND_WFC  = 1.157E-9  ! Hydraulic conductivity at field capacity (m/s)
00134 !                                              ! = 0.1 mm/day
00135 !
00136 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00137 !
00138 !-------------------------------------------------------------------------------
00139 !
00140 !               Initialisation for IO
00141 !
00142 IF (LHOOK) CALL DR_HOOK('INIT_TEB_GREENROOF_PGD_n',0,ZHOOK_HANDLE)
00143  CALL GET_LUOUT(HPROGRAM,ILUOUT)
00144 !
00145 !-------------------------------------------------------------------------------
00146 !
00147 !*       2.     Physiographic fields
00148 !               --------------------
00149 !
00150 !
00151 !*       2.1    Cover, soil and orographic fields:
00152 !               ---------------------------------
00153 !
00154 IF (OREAD_PGD) &
00155  CALL READ_PGD_TEB_GREENROOF_n(HPROGRAM,KVERSION)
00156 !
00157 !
00158 !* allocation of green roofs variables
00159 !
00160  CALL ALLOCATE_TEB_GREENROOF_PGD(OREAD_PGD, KI, NVEGTYPE, NLAYER_GR, NDIMTAB)
00161 !
00162 !*       2.2    Physiographic data fields from land cover:
00163 !               -----------------------------------------
00164 !
00165 IF (TTIME%TDATE%MONTH /= NUNDEF) THEN
00166   IDECADE = 3 * ( TTIME%TDATE%MONTH - 1 ) + MIN(TTIME%TDATE%DAY-1,29) / 10 + 1
00167 ELSE
00168   IDECADE = 1
00169 END IF
00170 !
00171 !
00172 IF (.NOT. LPAR_GREENROOF) THEN
00173   CALL CONVERT_PATCH_TEB_GREENROOF(KI,IDECADE)
00174 ELSE
00175  CALL INIT_FROM_DATA_GREENROOF_n(IDECADE,CPHOTO,                     &
00176                                  XOM_GR,                             &
00177                                  XSAND_GR, XCLAY_GR, XVEG,           &
00178                                  XLAI,XRSMIN,XGAMMA,XWRMAX_CF,       &
00179                                  XRGL,XCV,XDG,XD_ICE,XZ0,XZ0_O_Z0H,  &
00180                                  XALBNIR_VEG,XALBVIS_VEG,            &
00181                                  XALBUV_VEG,XEMIS,                   &
00182                                  XVEGTYPE,XROOTFRAC,                 &
00183                                  XGMES,XBSLAI,XLAIMIN,XSEFOLD,XGC,   &
00184                                  XDMAX, XF2I, LSTRESS, XH_TREE,XRE25,&
00185                                  XCE_NITRO,XCF_NITRO,XCNA_NITRO      )  
00186   IF (CISBA_GR=='DIF') THEN
00187     WHERE(XGREENROOF(:)/=0.)
00188       NWG_LAYER(:)=NLAYER_GR 
00189       XDG2  (:)=0.0
00190       XDROOT(:)=0.0
00191     ENDWHERE
00192     DO JLAYER=NLAYER_GR,1,-1
00193       DO JILU=1,KI
00194         IF(XGREENROOF(JILU)/=0..AND.XROOTFRAC(JILU,JLAYER)>=1.0)THEN
00195           XDG2  (JILU)=XDG(JILU,JLAYER)
00196           XDROOT(JILU)=XDG(JILU,JLAYER)
00197         ENDIF
00198       ENDDO
00199     ENDDO
00200   ENDIF
00201 END IF
00202 !
00203 WHERE (XGREENROOF(:)==0.)
00204   ! GARDEN default values /may need changing for green roofs
00205   XOM_GR     (:,1) = 0.5
00206   XOM_GR     (:,2) = 0.5
00207   XSAND_GR   (:,1) = 0.33
00208   XSAND_GR   (:,2) = 0.33
00209   XCLAY_GR   (:,1) = 0.33
00210   XCLAY_GR   (:,2) = 0.33
00211   XVEG       (:  ) = 0.
00212   XLAI       (:  ) = 0.
00213   XRSMIN     (:  ) = 40.
00214   XGAMMA     (:  ) = 0.
00215   XWRMAX_CF  (:  ) = 0.2
00216   XRGL       (:  ) = 100.
00217   XCV        (:  ) = 2.E-5
00218   XZ0        (:  ) = 0.013
00219   XZ0_O_Z0H  (:  ) = 10.
00220   XALBNIR_VEG(:  ) = 0.30
00221   XALBVIS_VEG(:  ) = 0.30
00222   XALBUV_VEG (:  ) = 0.06
00223   XEMIS      (:  ) = 0.94
00224 END WHERE
00225 IF (CPHOTO/='NON') THEN
00226   WHERE (XGREENROOF(:)==0.)
00227     XGMES      (:  ) = 0.020
00228     XBSLAI     (:  ) = 0.36
00229     XLAIMIN    (:  ) = 0.3
00230     XSEFOLD    (:  ) = 90*86400.
00231     XH_TREE    (:  ) = 0.
00232     XRE25      (:  ) = 3.6E-7    
00233     XGC        (:  ) = 0.00025
00234   END WHERE
00235   IF (CPHOTO/='AGS' .AND. CPHOTO/='LAI') THEN
00236     WHERE (XGREENROOF(:)==0.)     
00237       XDMAX      (:  ) = 0.1
00238       XF2I       (:  ) = 0.3
00239     END WHERE
00240     IF (CPHOTO=='NIT' .OR. CPHOTO=='NCB') THEN
00241       WHERE (XGREENROOF(:)==0.)          
00242         XCE_NITRO  (:  ) = 7.68
00243         XCF_NITRO  (:  ) = -4.33
00244         XCNA_NITRO (:  ) = 1.3
00245       END WHERE
00246     ENDIF
00247   ENDIF
00248 ENDIF  
00249 IF(CISBA_GR/='DIF')THEN
00250   DO JLAYER=1,NLAYER_GR
00251     WHERE (XGREENROOF(:)==0.)
00252       XDG(:,JLAYER)=0.2*JLAYER
00253     END WHERE
00254   ENDDO
00255 ELSE
00256   WHERE (XGREENROOF(:)==0.) 
00257     XDG(:,1)=0.01
00258     XDG(:,2)=0.04
00259     XROOTFRAC(:,1)=0.
00260     XROOTFRAC(:,2)=0.
00261   END WHERE        
00262   DO JLAYER=3,NLAYER_GR
00263     WHERE (XGREENROOF(:)==0.)
00264       XDG(:,JLAYER)=0.1*(JLAYER-2)
00265       XROOTFRAC(:,JLAYER)=0.
00266     END WHERE
00267   ENDDO               
00268   WHERE (XGREENROOF(:)==0.) 
00269     NWG_LAYER(:)=NLAYER_GR
00270     XDROOT   (:)=0.0
00271     XDG2     (:)=XDG(:,NLAYER_GR-1)
00272   ENDWHERE    
00273 ENDIF  
00274 WHERE (XGREENROOF(:)==0.) 
00275   XD_ICE(:)=0.8*XDG(:,2)
00276 END WHERE  
00277 DO JVEGTYPE=1,NVEGTYPE
00278   WHERE (XGREENROOF(:)==0.)
00279     XVEGTYPE(:,JVEGTYPE)=0.
00280     XVEGTYPE(:,1)=1.
00281   END WHERE
00282 ENDDO
00283 !
00284  CALL INIT_VEG_PGD_GARDEN_n(HPROGRAM, ILUOUT, KI, NLAYER_GR, TTIME%TDATE%MONTH,    &
00285                         XVEGTYPE, XTDEEP, XGAMMAT, CPHOTO, HINIT, LTR_ML_GR,        &
00286                         NNBIOMASS, PCO2, PRHOA, XABC, XPOI,                         &
00287                         XGMES, XGC, XDMAX, XANMAX, XFZERO, XEPSO, XGAMM, XQDGAMM,   &
00288                         XQDGMES, XT1GMES, XT2GMES, XAMAX, XQDAMAX, XT1AMAX, XT2AMAX,&
00289                         XAH, XBH,                                                   &
00290                         KSV, HSV, NBEQ, CSV, NAEREQ, NSV_CHSBEG, NSV_CHSEND,        &
00291                         NSV_AERBEG, NSV_AEREND, CCH_NAMES, CAER_NAMES, NDSTEQ,      &
00292                         NSV_DSTBEG, NSV_DSTEND, NSLTEQ, NSV_SLTBEG, NSV_SLTEND,     &
00293                         CDSTNAMES, CSLTNAMES, CCHEM_SURF_FILE,                      &
00294                         XCLAY_GR, XSAND_GR, CPEDOTF,                                &
00295                         XCONDSAT, XMPOTSAT, XBCOEF, XWWILT, XWFC, XWSAT,            &
00296                         XTAUICE, XCGSAT, XC1SAT, XC2REF, XC3, XC4B, XACOEF, XPCOEF, &
00297                         XC4REF, XPCPS, XPLVTT, XPLSTT,                              &
00298                         CSCOND_GR, CISBA_GR, XHCAPSOIL, XCONDDRY, XCONDSLD, CCPSURF,&
00299                         XDG, XDROOT, XDG2, XROOTFRAC, XRUNOFFD, XDZG, XDZDIF,       &
00300                         XSOILWGHT, NWG_LAYER, NLAYER_HORT_GR, NLAYER_DUN_GR, XD_ICE,&
00301                         XKSAT_ICE, XALBNIR_DRY, XALBVIS_DRY, XALBUV_DRY,            &
00302                         XALBNIR_WET, XALBVIS_WET, XALBUV_WET, XBSLAI_NITRO,         &
00303                         XCE_NITRO, XCNA_NITRO, XCF_NITRO                            )
00304 !
00305 !-------------------------------------------------------------------------------
00306 !
00307 !*       5.1     Soil thermal characteristics for greenroofs:
00308 !               ----------------------------------------------
00309 !
00310 ! WARNING: must be done before soil hydraulic characteristics (because of WSAT)
00311 ! Estimation of WSAT_MI for use in HEATCAPZ and THRMCONDZ for mineral fraction
00312 ! and allow weighted combination with regard to OM & no-OM fractions:
00313 !
00314 IF (CSCOND_GR=='PL98' .OR. CISBA_GR=='DIF') THEN
00315   DO JLAYER=1,NLAYER_GR
00316      XHCAPSOIL(:,JLAYER) =    XOM_GR(:,JLAYER)  * ZHCAPSOIL_OM +      &
00317                            (1-XOM_GR(:,JLAYER)) * XHCAPSOIL(:,JLAYER)  
00318   ENDDO
00319 ELSE
00320 END IF
00321 !
00322 IF (CSCOND_GR=='PL98') THEN
00323   DO JLAYER=1,NLAYER_GR
00324      XCONDDRY(:,JLAYER) = (ZCONDDRY_OM         * XCONDDRY(:,JLAYER))    &
00325                          /(  XOM_GR(:,JLAYER)  * XCONDDRY(:,JLAYER) +   &
00326                           (1-XOM_GR(:,JLAYER)) * ZCONDDRY_OM)
00327      XCONDSLD(:,JLAYER) = (ZCONDSLD_OM         * XCONDSLD(:,JLAYER))    &
00328                          /(  XOM_GR(:,JLAYER)  * XCONDSLD(:,JLAYER) +   &
00329                           (1-XOM_GR(:,JLAYER)) * ZCONDSLD_OM)
00330   ENDDO
00331 ELSE
00332 END IF
00333 !
00334 ! +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00335 ! Validation case : experimental values for Nancy 2011 case
00336 ! +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00337 ! Substrate layer
00338 DO JLAYER=1,4
00339     XCONDDRY (:,JLAYER) = 0.15
00340     XHCAPSOIL(:,JLAYER) = 1342000.
00341 ENDDO
00342 ! Drainage layer
00343 DO JLAYER=5,6
00344     XCONDDRY (:,JLAYER) = 0.09
00345     XHCAPSOIL(:,JLAYER) = 331500.
00346 ENDDO
00347 ! +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00348 !
00349 !*       5.2     Soil thermal characteristics:
00350 !               --------------------------------
00351 !
00352 DO JLAYER=1,NLAYER_GR
00353   XCONDSAT(:,JLAYER) =   XOM_GR(:,JLAYER)* ZCONDSAT_OM   &
00354                         +(1-XOM_GR(:,JLAYER))* XCONDSAT(:,JLAYER)
00355 END DO
00356 !
00357 ! Note that if ISBA/=DIF, always CDIF = 'BC' and CPEDOTF = 'CH78'
00358 DO JLAYER=1,NLAYER_GR
00359   XBCOEF  (:,JLAYER) =    XOM_GR(:,JLAYER) * ZBCOEF_OM        &
00360                        +(1-XOM_GR(:,JLAYER))* XBCOEF(:,JLAYER)
00361   XMPOTSAT(:,JLAYER) =    XOM_GR(:,JLAYER) * ZMPOTSAT_OM      &
00362                        +(1-XOM_GR(:,JLAYER))* XMPOTSAT(:,JLAYER)
00363 END DO
00364 !        
00365 DO JLAYER=1,NLAYER_GR
00366    XWSAT (:,JLAYER) =    XOM_GR(:,JLAYER)* ZWSAT_OM            &
00367                      +(1-XOM_GR(:,JLAYER))* XWSAT(:,JLAYER)
00368    XWWILT(:,JLAYER) = EXP(((LOG(-1*ZMPOT_WWILT)-LOG(-1*XMPOTSAT(:,JLAYER)))   &
00369                     / (-1*XBCOEF(:,JLAYER)))+LOG(XWSAT(:,JLAYER)))
00370    XWFC  (:,JLAYER) = EXP(((LOG(ZHYDCOND_WFC)-LOG(XCONDSAT(:,JLAYER)))        &
00371                     / (2*XBCOEF(:,JLAYER)+3))+LOG(XWSAT(:,JLAYER)))
00372 END DO
00373 !
00374 ! +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00375 ! Validation case : experimental values for Nancy 2011 case
00376 ! +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00377 ! Substrate layer
00378 DO JLAYER=1,4
00379   XWSAT   (:,JLAYER) = 0.674     ! Value tested
00380   XCONDSAT(:,JLAYER) = 2.162E-3  ! Value tested
00381   XMPOTSAT(:,JLAYER) = -0.932    ! Value tested
00382   XBCOEF  (:,JLAYER) = 3.9       ! Value tested
00383   XWWILT  (:,JLAYER) = 0.15      ! from OBS-NANCY
00384   XWFC    (:,JLAYER) = 0.37      ! from OBS-NANCY
00385 ENDDO
00386 ! Drainage layer
00387 DO JLAYER=5,6
00388    XWSAT   (:,JLAYER) = 0.9       ! Value tested
00389    XCONDSAT(:,JLAYER) = 3.32E-3   ! Value tested
00390    XMPOTSAT(:,JLAYER) = -0.121    ! Value tested
00391    XBCOEF  (:,JLAYER) = 2.7       ! Value tested
00392    XWWILT  (:,JLAYER) = 0.15      ! sert à initialiser le WG ds la couche
00393    XWFC    (:,JLAYER) = 0.37      ! sert à initialiser le WG ds la couche
00394 ENDDO
00395 !-------------------------------------------------------------------------------
00396 !
00397 !*       6.1    Initialize of the SGH scheme:'
00398 !               ------------------------------
00399 !
00400 IF(CKSAT_GR=='SGH' .AND. HINIT/='PRE')THEN 
00401   !
00402   ZF (:) = XUNDEF
00403   !  
00404   !Soil organic carbon effect and/or Exponential decay for DIF option 
00405   IF(CISBA_GR=='DIF') THEN
00406     ZWORK(:) = XUNDEF
00407     ZF(:) = 4.0/MERGE(XDROOT(:),XDG2(:),XDROOT(:)>0.0) 
00408   ELSE
00409     WHERE (ZF(:)==XUNDEF) ZF(:) =  4.0/XDG(:,2)
00410   ENDIF
00411   ZF(:)=MIN(ZF(:),XF_DECAY)
00412   !
00413   IF(CISBA_GR=='DIF') THEN
00414     !   
00415     ZWORK(:) = MERGE(XDROOT(:),XDG2(:),XDROOT(:)>0.0)      
00416     CALL EXP_DECAY_SOIL_DIF(ZF(:),XDG(:,:),NWG_LAYER(:),ZWORK(:),XCONDSAT(:,:))   
00417     !Exponential decay for ISBA-FR option
00418   ELSE
00419     !
00420     CALL EXP_DECAY_SOIL_FR(CISBA_GR, ZF(:),XC1SAT(:),XC2REF(:),XDG(:,:),XD_ICE(:),&
00421                            XC4REF(:),XC3(:,:),XCONDSAT(:,:),XKSAT_ICE(:))  
00422     ! 
00423   ENDIF
00424   !
00425 ENDIF
00426 !
00427 !-------------------------------------------------------------------------------
00428 !
00429 IF (LHOOK) CALL DR_HOOK('INIT_TEB_GREENROOF_PGD_n',1,ZHOOK_HANDLE)
00430 !
00431 !-------------------------------------------------------------------------------
00432 !
00433 !
00434 END SUBROUTINE INIT_TEB_GREENROOF_PGD_n