SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/soil.F90
Go to the documentation of this file.
00001 !     #########
00002       SUBROUTINE SOIL( HC1DRY, HSCOND, HSNOW_ISBA,                             &
00003                          PSNOWRHOM, PVEG,                                        &
00004                          PCGSAT, PCGMAX,                                         &
00005                          PC1SAT, PC2REF, PACOEF, PPCOEF, PCV,                    &
00006                          PPSN, PPSNG, PPSNV, PFFG, PFFV, PFF,                    &
00007                          PCG, PC1, PC2, PWGEQ, PCT, PCS, PFROZEN1,               &
00008                          PTG, PWG, PWGI,                                         &
00009                          PHCAPSOILZ, PCONDDRYZ, PCONDSLDZ,                       &
00010                          PBCOEF, PWSAT, PWWILT,                                  &
00011                          HKSAT, PCONDSAT, PFFG_NOSNOW, PFFV_NOSNOW               )  
00012 !     ##########################################################################
00013 !
00014 !!****  *SOIL*  
00015 !!
00016 !!    PURPOSE
00017 !!    -------
00018 !
00019 !     Calculates the coefficients related to the soil (i.e., CG, CT,
00020 !     C1, C2, WGEQ) and to the snow canopy (i.e., Cs, ps, psng, psnv, and psnz0)
00021 !         
00022 !     
00023 !!**  METHOD
00024 !!    ------
00025 !
00026 !     Direct calculation
00027 !
00028 !!    EXTERNAL
00029 !!    --------
00030 !
00031 !     None
00032 !!
00033 !!    IMPLICIT ARGUMENTS
00034 !!    ------------------
00035 !!
00036 !!
00037 !!      
00038 !!    REFERENCE
00039 !!    ---------
00040 !!
00041 !!    Noilhan and Planton (1989)
00042 !!    Belair (1995)
00043 !!      
00044 !!    AUTHOR
00045 !!    ------
00046 !!      S. Belair           * Meteo-France *
00047 !!
00048 !!    MODIFICATIONS
00049 !!    -------------
00050 !!      Original    13/03/95 
00051 !!                  20/03/96      (Masson)  error in the threshold for PCG
00052 !!                  04/09/98      (Masson)  error in C1 normalization
00053 !!                  16/09/98      (Masson)  frozen water in the soil
00054 !!                  07/10/98      (Masson)  new C1 formulation
00055 !!                  26/11/98      (Boone)   C1 option (old vs new formulations)
00056 !!                  15/03/99      (Boone)   Soil ice modifiactions: scale C1sat,
00057 !!                                          use surface ice-weighted CG, GB method
00058 !!                                          for dry conditions uses ZWWILT for MAX
00059 !!                  25/03/99      (Boone)   Added Johansen (1975)/Peters-Lidard 
00060 !!                                          option to explicitly compute CG
00061 !!                  25/05/08     (Decharme) Added flood properties 
00062 !!                  22/06/10     (Chauvin)  XWGMIN added as a limit value of ZWG2              
00063 !!                                          Modification of the formula for PWGEQ                                      
00064 !!                                          to solve numerical problem
00065 !!                     10/10     (Decharme) The previous computation of WGEQ as ( 1.-ZX(JJ)**(PPCOEF(JJ)*8.) )
00066 !!                                          can introduced some model explosions for heavy clay soil
00067 !-------------------------------------------------------------------------------
00068 !
00069 !*       0.     DECLARATIONS
00070 !               ------------
00071 !
00072 USE MODD_CSTS,       ONLY : XPI, XCI, XRHOLI, XDAY, XCL, XRHOLW, XCONDI
00073 USE MODD_ISBA_PAR,   ONLY : XCONDWTR, XWGMIN
00074 USE MODD_SURF_PAR,   ONLY : XUNDEF
00075 USE MODD_DEEPSOIL,   ONLY : LPHYSDOMC
00076 !
00077 !
00078 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00079 USE PARKIND1  ,ONLY : JPRB
00080 !
00081 IMPLICIT NONE
00082 !
00083 !*      0.1    declarations of arguments
00084 !
00085 !
00086  CHARACTER(LEN=*),     INTENT(IN)   :: HC1DRY  ! C1 for dry soil formulation
00087 !                                             ! 'DEF' Default: Giard and Bazile
00088 !                                             ! 'GB93' Giordani 1993, Braud 1993
00089 !                                             ! (discontinuous at WILT)
00090 !
00091  CHARACTER(LEN=*),     INTENT(IN)   :: HSCOND  ! thermal conductivity formulation
00092 !                                             ! 'NP89':  Noilhan and Planton 
00093 !                                             !  (1989: McCumber-Pielke (1981) and
00094 !                                             !  Clapp and Hornberger (1978))
00095 !                                             ! 'PL98' Method of Johansen (1975) as
00096 !                                             ! presented by Peters-Lidard (JAS: 1998)
00097 !
00098  CHARACTER(LEN=*),     INTENT(IN)  :: HSNOW_ISBA ! 'DEF' = Default F-R snow scheme
00099 !                                               !         (Douville et al. 1995)
00100 !                                               ! '3-L' = 3-L snow scheme (option)
00101 !                                               !         (Boone and Etchevers 2000)
00102 !
00103 REAL, DIMENSION(:), INTENT(IN)    :: PSNOWRHOM
00104 !                                      Prognostic variables of ISBA at 't-dt'
00105 !                                      PSNOWRHOM = density of snow
00106 !
00107 REAL,               INTENT(IN)    :: PCGMAX
00108 !                                      Maximum soil heat capacity
00109 !
00110 REAL, DIMENSION(:), INTENT(IN)    :: PVEG, PCGSAT, PC1SAT
00111 REAL, DIMENSION(:), INTENT(IN)    :: PC2REF, PACOEF, PPCOEF, PCV
00112 !                                      Soil and vegetation parameters
00113 !                                      PVEG = fraction of vegetation
00114 !                                      PCGSAT = soil thermal coefficient at saturation
00115 !                                      PC1SAT = value of C1 at saturation
00116 !                                      PC2REF = reference value of C2
00117 !                                      PACOEF, PPCOEF = a and p coefficients for
00118 !                                                       the wgeq formulation
00119 !                                      PCV = the heat capacity of the vegetation
00120 !
00121 REAL, DIMENSION(:), INTENT(IN)    :: PPSN, PPSNG, PPSNV
00122 !                                      PPSN = fraction of the grid covered by snow
00123 !                                      PPSNG = fraction of the bare soil covered
00124 !                                              by snow
00125 !                                      PPSNV = fraction of the vegetation covered
00126 !                                              by snow
00127 !
00128 REAL, DIMENSION(:), INTENT(IN)    :: PHCAPSOILZ, PCONDDRYZ, PCONDSLDZ 
00129 !                                    PHCAPSOILZ = soil heat capacity [J/(K m3)]
00130 !                                    PCONDDRYZ  = soil dry thermal conductivity 
00131 !                                                 [W/(m K)] 
00132 !                                    PCONDSLDZ  = soil solids thermal conductivity 
00133 !                                                 [W/(m K)]
00134 !
00135 REAL, DIMENSION(:), INTENT(IN)    :: PBCOEF, PWSAT, PWWILT
00136 !                                    PBCOEF   = b-parameter (-)
00137 !                                    PWSAT    = porosity (m3/m3)
00138 !                                    PWWILT   = wilting point volumetric water content(m3/m3)
00139 !
00140 REAL, DIMENSION(:), INTENT(IN)    :: PTG
00141 !                                    PTG    = surface temperature (K)
00142 !
00143 REAL, DIMENSION(:,:), INTENT(IN)  :: PWG, PWGI 
00144 !                                    PWG    = soil liquid water content (m3/m3)
00145 !                                    PWGI   = soil frozen water content (m3/m3)
00146 !
00147 REAL, DIMENSION(:), INTENT(OUT)   :: PCG, PC1, PC2, PWGEQ, PCT
00148 REAL, DIMENSION(:), INTENT(OUT)   :: PCS, PFROZEN1
00149 !                                      soil and snow coefficients
00150 !                                      PCG = heat capacity of the bare soil
00151 !                                      C1, C2 = coefficients for the moisture calculations
00152 !                                      PWGEQ = equilibrium surface volumetric moisture
00153 !                                      PCT = averaged heat capacity of the grid
00154 !                                      PCS = heat capacity of the snow
00155 !                                      PFROZEN1   = fraction of ice in superficial
00156 !                                               soil
00157 !
00158  CHARACTER(LEN=*),     INTENT(IN)  :: HKSAT      ! soil hydraulic profil option
00159 !                                               ! 'DEF'  = ISBA homogenous soil
00160 !                                               ! 'SGH'  = ksat exponential decay
00161 !
00162 REAL, DIMENSION(:,:), INTENT(IN)  :: PCONDSAT   ! hydraulic conductivity at saturation (m/s)
00163                                                 ! use in the force restore scheme for
00164                                                 ! calculate the exponential decay factor coefficients
00165 !
00166 REAL, DIMENSION(:), INTENT(IN)   :: PFFV, PFFG, PFF, PFFG_NOSNOW, PFFV_NOSNOW
00167 !                                   PFFG = Floodplain fraction over the ground
00168 !                                   PFFV = Floodplain fraction over vegetation
00169 !                                   PFF  = Floodplain fraction at the surface
00170 !
00171 !
00172 !*      0.2    declarations of local variables
00173 !
00174 REAL, DIMENSION(SIZE(PVEG))   :: ZLAMS,                         
00175 !                                              conductivity of snow
00176 !
00177                                   ZCW1MAX, ZX2, ZY1, ZY2,     &
00178                                   ZLYMY1, ZZA, ZZB, ZDELTA,   &
00179                                   ZA, ZB,                          &
00180 !                                              temporary variables for the 
00181 !                                              calculation of PC1 in the case
00182 !                                              where PWG < PWWILT (i.e., dry soils)
00183 !
00184                                   ZX,                              &
00185 !                                              temporary variable for the 
00186 !                                              calculation of PWGEQ
00187                                   ZWSAT,                           &
00188 !                                              Wsat when ice is present in ground 
00189                                   ZWSAT1,                          &
00190 !                                              Wsat when ice is present in surface
00191 !                                              ground layer
00192                                   ZWWILT,                         &
00193 !                                              Wwilt when ice is present in ground
00194                                   ZC1SAT  
00195 !                                              C1sat scaled due to soil ice
00196 !
00197 !
00198 !                               Thermal conductivity option:                   
00199 !                               Johansen (1975) parameters (as presented by Peters-
00200 !                               Lidard, 1998, JAS). Used to compute CG.
00201 !
00202 REAL, DIMENSION(SIZE(PVEG)) ::  ZFROZEN2, ZUNFROZEN2, ZCONDSAT, ZSATDEG, ZKERSTEN, 
00203                                   ZCOND, ZHCAP  
00204 !                               ZFROZEN2   = fraction of total soil layer frozen
00205 !                               ZUNFROZEN2 = unfrozen fraction available to liquid
00206 !                               ZCONDSAT   = saturated conductivity (water)
00207 !                               ZSATDEG    = degree of saturation
00208 !                               ZKERSTEN   = Kersten number
00209 !                               ZCOND      = soil thermal conductivity (explicitly
00210 !                                            includes soil, water and ice)
00211 !                               ZHCAP      = Soil heat capacity
00212 !
00213 REAL, DIMENSION(SIZE(PVEG)) :: ZWG2
00214 !                              ZWG2 = adjusted root-zone soil water content
00215 !
00216 REAL, DIMENSION(SIZE(PVEG)) :: ZCF !heat capacity of the flood
00217 REAL, DIMENSION(SIZE(PVEG)) :: ZFF !Fraction of floodplain at the surface without snow
00218 !
00219 INTEGER                 :: JJ
00220 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00221 !-------------------------------------------------------------------------------
00222 !
00223 IF (LHOOK) CALL DR_HOOK('SOIL',0,ZHOOK_HANDLE)
00224 ZWWILT (:)   = 0.
00225 !
00226 ZFROZEN2(:)  = 0.
00227 ZUNFROZEN2(:)= 0.
00228 ZCONDSAT(:)  = 0.
00229 ZSATDEG(:)   = 0.
00230 ZKERSTEN(:)  = 0.
00231 ZCOND(:)     = 0.
00232 ZHCAP(:)     = 0.
00233 !
00234 ZLAMS(:)     = 0.
00235 ZX(:)        = 0.
00236 ZCW1MAX(:)   = 0.
00237 ZY1(:)       = 0.
00238 ZX2(:)       = 0.
00239 ZY2(:)       = 0.
00240 ZLYMY1(:)    = 0.
00241 ZZA   (:)    = 0.
00242 ZZB   (:)    = 0.
00243 ZDELTA(:)    = 0.
00244 ZA    (:)    = 0.
00245 ZB    (:)    = 0.
00246 !
00247 ZCF(:)       = XUNDEF
00248 !
00249 PCS(:)       = XUNDEF
00250 !
00251 !-------------------------------------------------------------------------------
00252 !
00253 !*       1.     FROZEN WATER FRACTION IN THE SOIL
00254 !               ---------------------------------
00255 !
00256 PFROZEN1(:) = 0.
00257 WHERE (PWGI(:,1) + PWG(:,1) .NE. 0.) 
00258   PFROZEN1(:) = PWGI(:,1) / (PWGI(:,1) + PWG(:,1))
00259 END WHERE
00260 !
00261 DO JJ=1,SIZE(PWSAT)
00262 !
00263   ZWSAT(JJ)    = MAX(PWSAT(JJ) - PWGI(JJ,2),XWGMIN)
00264 !
00265   ZWSAT1(JJ)   = MAX(PWSAT(JJ) - PWGI(JJ,1),XWGMIN)
00266 !
00267   ZWWILT(JJ)   = PWWILT(JJ) * (ZWSAT1(JJ) / PWSAT(JJ))
00268 !
00269 ENDDO
00270 !-------------------------------------------------------------------------------
00271 !
00272 !*       2.     THE HEAT CAPACITY OF BARE-GROUND
00273 !               --------------------------------
00274 !
00275 IF(HSCOND == 'NP89')THEN  
00276 !
00277 !                                      Actually, all the 'C' coefficients in
00278 !                                      ISBA do not represent heat capacities,
00279 !                                      but rather the inverse.  So in the
00280 !                                      following formulation, CG is large
00281 !                                      when W2 is small, thus leading to small
00282 !                                      values for the heat capacity.  In other
00283 !                                      words, a small amount of energy will
00284 !                                      result in great temperature variations
00285 !                                      (for dry soils).
00286 !
00287 !
00288 ! Now calculate the thermal inertia of the soil weighted
00289 ! by soil ice content (including the soil ice thermal inertia):
00290 !
00291   PCG(:) = (1.-PWGI(:,2)) * PCGSAT(:) * ( ZWSAT(:)/PWG(:,2) )                &
00292                                             **( 0.5*PBCOEF(:)/LOG(10.) )       &
00293               +  PWGI(:,2)  * 2. * SQRT(XPI/(XCONDI*XCI*XRHOLI*XDAY))  
00294 !
00295 !
00296 ELSE
00297 !
00298 !                                      Method of Johansen (1975) as presented by 
00299 !                                      Peters-Lidard (JAS: 1998) for thermal
00300 !                                      Conductivity of soil. Explicit calculation for
00301 !                                      now (as opposed to implicit method of
00302 !                                      Noilhan and Planton 1989). NP89 uses the
00303 !                                      method of McCumber and Pielke (1981)
00304 !                                      with parameters of Clapp and Hornberger (1978).
00305 !
00306   DO JJ=1,SIZE(PWG,1)
00307 !
00308 ! Total fraction of soil frozen:
00309 !
00310     ZFROZEN2(JJ)   = PWGI(JJ,2)/(PWGI(JJ,2) + PWG(JJ,2))
00311 !
00312 ! Unfrozen fraction:
00313 !
00314     ZUNFROZEN2(JJ) = (1.0-ZFROZEN2(JJ))*PWSAT(JJ)
00315 !
00316 ! Saturated thermal conductivity:
00317 !
00318     ZCONDSAT(JJ)   = (PCONDSLDZ(JJ)**(1.0-PWSAT(JJ)))*             &
00319                       (XCONDI**(PWSAT(JJ)-ZUNFROZEN2(JJ)))*         &
00320                       (XCONDWTR**ZUNFROZEN2(JJ))  
00321 !
00322 ! Degree of saturation of soil:
00323 !
00324     ZSATDEG(JJ)   = MAX(0.1, PWG(JJ,2)/PWSAT(JJ))
00325 !
00326 ! Kersten number:
00327 !
00328     ZKERSTEN(JJ)  = LOG10(ZSATDEG(JJ)) + 1.0
00329 !
00330 ! Put in a smooth transition from thawed to frozen soils:
00331 ! simply linearly weight Kersten number by frozen fraction 
00332 ! in soil:
00333 !
00334     ZKERSTEN(JJ)  = (1.0-ZFROZEN2(JJ))*ZKERSTEN(JJ) +           &
00335                         ZFROZEN2(JJ) *ZSATDEG(JJ)  
00336 !
00337 ! Thermal conductivity of soil:
00338 !
00339     ZCOND(JJ)     = ZKERSTEN(JJ)*(ZCONDSAT(JJ)-PCONDDRYZ(JJ)) + PCONDDRYZ(JJ)
00340 !
00341 ! Heat capacity of soil:
00342 !
00343     ZHCAP(JJ)     = (1.0-PWSAT(JJ))*PHCAPSOILZ(JJ)      +     &
00344                          PWG(JJ,2)  *XCL*XRHOLW       +     &
00345                          PWGI(JJ,2) *XCI*XRHOLI       
00346 !
00347 ! Explicit CG calculation:
00348 !
00349     PCG(JJ)       = 2.*SQRT(XPI/ZCOND(JJ)/ZHCAP(JJ)/XDAY)
00350 !
00351   ENDDO
00352 !
00353 ENDIF
00354 !
00355 !                                              Cg must be smaller than 2.E-5
00356 !
00357 PCG(:) = MIN( PCG(:), PCGMAX )
00358 !
00359 !-------------------------------------------------------------------------------
00360 !
00361 !*       4.     THE HEAT CAPACITY OF THE SNOW AND FLOOD
00362 !               ---------------------------------------
00363 !
00364 WHERE (PFF(:) > 0.)                                                 
00365        ZCF(:) = 2.0 * SQRT( XPI/(XCONDWTR*XRHOLW*XCL*XDAY) )
00366 END WHERE  
00367 !
00368 IF(HSNOW_ISBA == 'D95')THEN
00369 !
00370    WHERE (PPSN > 0.)
00371       ZLAMS(:) = XCONDI * (PSNOWRHOM(:)/XRHOLW)**1.885              ! first calculate the
00372 !                                                                   ! conductivity of snow
00373       PCS(:)   = 2.0 * SQRT( XPI/(ZLAMS(:)*PSNOWRHOM(:)*XCI*XDAY) )
00374    END WHERE
00375 !
00376 !-------------------------------------------------------------------------------
00377 !
00378 !*      5.      GRID-AVERAGED HEAT CAPACITY
00379 !               ---------------------------
00380 !
00381 ! With contribution from the ground, vegetation, flood and snow areas
00382 ! for composite (Force-Restore) snow scheme option:
00383 !
00384    PCT(:) = 1. / ( (1.-PVEG(:))*(1.-PPSNG(:)-PFFG(:)) / PCG(:)     &
00385                       +  PVEG(:) *(1.-PPSNV(:)-PFFV(:)) / PCV(:)     &
00386                       +                PFF (:)          / ZCF(:)     &
00387                       +                PPSN(:)          / PCS(:)     )  
00388 
00389 !
00390 ELSE
00391 !
00392   DO JJ=1,SIZE(PVEG)
00393 !
00394     ZFF  (JJ) = PVEG(JJ)*PFFV_NOSNOW(JJ) + (1.-PVEG(JJ))*PFFG_NOSNOW(JJ)
00395 !
00396 ! With contribution from the ground and vegetation for explicit
00397 ! (ISBA-ES) snow scheme option:
00398 !
00399      PCT(JJ) = 1. / ( (1.-PVEG(JJ))*(1.-PFFG_NOSNOW(JJ)) / PCG(JJ)     &
00400                       +  PVEG(JJ) *(1.-PFFV_NOSNOW(JJ)) / PCV(JJ)     &
00401                       +  ZFF (JJ)                      / ZCF(JJ)     )  
00402   ENDDO
00403 !
00404 ENDIF
00405 !
00406 !
00407 !-------------------------------------------------------------------------------
00408 !
00409 !*      6.      COEFFICIENT C1
00410 !               --------------
00411 !                                      Scale the C1SAT coefficient as a function 
00412 !                                      of the soil ice content
00413 !
00414 ZC1SAT(:) = PC1SAT(:)*SQRT(ZWSAT1(:)/PWSAT(:))
00415 !
00416 !
00417 !                                      The coefficient C1 is calculated two
00418 !                                      different ways depending on the humidity
00419 !                                      of the soil
00420 !
00421 WHERE (PWG(:,1) > ZWWILT(:))
00422 !                                    ! First situation:  humid soil
00423 !                                      Then the calculation follows eq. (19)
00424 !                                      of Noilhan and Planton(1989)
00425 !
00426    PC1(:)    = ZC1SAT(:) * ( ZWSAT1(:)/PWG(:,1) )**( 0.5*PBCOEF(:) + 1 )
00427 !
00428 END WHERE
00429 !
00430 !
00431 !                                     Calculate C1 coefficient for dry soil.
00432 !                                     The default option is the continuous
00433 !                                     formulation of Giard and Bazile. The
00434 !                                     alternate approach is a discontinuous
00435 !                                     formulation by Giordani (1993) and
00436 !                                     Braud et al. (1993). This method
00437 !                                     is perhaps more accurate from a physical
00438 !                                     standpoint, as it is an explicit function
00439 !                                     of temperature, whereas the continuous method
00440 !                                     assumes a constant temperature. 
00441 !
00442 IF(HC1DRY=='GB93')THEN
00443 !
00444   DO JJ=1,SIZE(PWG,1)
00445 !  
00446     IF (PWG(JJ,1) <= ZWWILT(JJ)) THEN
00447 !
00448 !                                   ! Second situation: dry soil
00449 !                                      We use the Gaussian formulation of
00450 !                                      Giordanni (1993) and Braud et al. (1993)
00451 !
00452 !* maximum of C1 curve (computed with true Wwilt)
00453 !
00454        ZCW1MAX(JJ)    = ( 1.19*ZWWILT(JJ)-5.09 )*PTG(JJ)  + (-146.4*ZWWILT(JJ)+1786.)
00455 !
00456 !* Giordanni (1993) and Braud et al. (1993)
00457 !
00458        ZA(JJ)         =   (-1.815E-2*PTG(JJ)+6.41)*ZWWILT(JJ)            &
00459                           + (6.5E-3*PTG(JJ)-1.4)  
00460        ZB(JJ)         = ZA(JJ)*ZWWILT(JJ)
00461        ZDELTA(JJ)     = ( ZB(JJ)*ZB(JJ) )  /                               &
00462                          ( 2.*LOG( ZCW1MAX(JJ) ) )  
00463 !
00464        PC1(JJ) = ZCW1MAX(JJ)*(1. - 2.*PVEG(JJ)*( 1.-PVEG(JJ) ))             &
00465                   *EXP( -(PWG(JJ,1)-ZB(JJ))*(PWG(JJ,1)-ZB(JJ)) /              &
00466                   (2.*ZDELTA(JJ)) )  
00467 !
00468     ENDIF
00469 !
00470   ENDDO
00471 !
00472 ELSE
00473 !
00474   DO JJ=1,SIZE(PWG,1)
00475 !
00476     IF (PWG(JJ,1) <= ZWWILT(JJ)) THEN
00477 !
00478 !* maximum of C1 curve (computed with true Wwilt)
00479 !
00480        ZCW1MAX(JJ)    = ( 1.19*ZWWILT(JJ)-5.09 )*PTG(JJ)  + (-146.4*ZWWILT(JJ)+1786.)
00481 !
00482 !* C1 value at Wg = zero
00483 !
00484        ZY1(JJ) = 10.
00485 !
00486 !* C1 value at Wg = wwilt
00487 !
00488        ZX2(JJ) = ZWWILT(JJ)
00489        ZY2(JJ) = ZC1SAT(JJ)*(ZWSAT1(JJ)/ZWWILT(JJ))**( 0.5*PBCOEF(JJ) + 1)
00490 !
00491 !* correction of maximum of C1 curve for frozen soils
00492 !
00493        ZCW1MAX(JJ)    = MAX(MAX(ZCW1MAX(JJ),ZY2(JJ)),ZY1(JJ))
00494 !
00495 !* Giard-Bazile formulation (resolution of a second order equation)
00496 !
00497        ZLYMY1(JJ) =   LOG( ZCW1MAX(JJ)/ZY1(JJ))
00498        ZZA   (JJ) = - LOG( ZY2    (JJ)/ZY1(JJ))
00499        ZZB   (JJ) = 2. * ZX2(JJ)    * ZLYMY1(JJ)
00500        ZDELTA(JJ) = 4. * (ZLYMY1(JJ)+ZZA(JJ)) * ZLYMY1(JJ) * ZX2(JJ)**2
00501 !
00502        ZA    (JJ) = (-ZZB(JJ)+SQRT(ZDELTA(JJ))) / (2.*ZZA(JJ))
00503 !
00504        ZB    (JJ) = ZA(JJ)**2 / ZLYMY1(JJ)
00505 !
00506 !
00507        PC1(JJ) = ZCW1MAX(JJ) * EXP( - (PWG(JJ,1)-ZA(JJ))**2 / ZB(JJ) )
00508 !
00509     ENDIF
00510 !
00511   ENDDO
00512 !
00513 ENDIF
00514 !-------------------------------------------------------------------------------
00515 !
00516 !*      6.      COEFFICIENT C2
00517 !               --------------
00518 ! Including vertical diffusion limiting factor for surface soil ice:
00519 !
00520 IF(HKSAT=='SGH' .OR. HKSAT=='EXP')THEN
00521 !
00522 ! Adjusted root-zone soil water content
00523 !
00524   DO JJ=1,SIZE(PWG,1)
00525      ZWG2(JJ)=PWG(JJ,2)*(PCONDSAT(JJ,2)/PCONDSAT(JJ,1))**(1./(2.*PBCOEF(JJ)+3))
00526   ENDDO
00527   ZWG2(:)=MAX(ZWG2(:),XWGMIN)
00528 !
00529 ELSE
00530 !
00531    ZWG2(:)=PWG(:,2)
00532 !
00533 ENDIF
00534 !
00535 DO JJ=1,SIZE(ZWSAT)
00536 !
00537 !Including vertical diffusion limiting factor for surface soil ice:
00538 !
00539   PC2(JJ) = (PC2REF(JJ)*ZWG2(JJ) / ( ZWSAT(JJ)-ZWG2(JJ) + 0.01 ))           &
00540               *(1.0-(PWGI(JJ,1)/(PWSAT(JJ)-XWGMIN)))  
00541 !
00542 !-------------------------------------------------------------------------------
00543 !
00544 !*      7.      EQUILIBRIUM VOLUMETRIC WATER CONTENT WGEQ
00545 !               -----------------------------------------
00546 !
00547   ZX(JJ) = ZWG2(JJ)/ZWSAT(JJ)
00548 !
00549   PWGEQ(JJ) = ZWG2(JJ) - ZWSAT(JJ)*PACOEF(JJ)                      & 
00550                                *     ZX(JJ)** PPCOEF(JJ)           &
00551                                *( 1.-EXP(PPCOEF(JJ)*8.*LOG(ZX(JJ))))  
00552 !
00553 ENDDO
00554 !-------------------------------------------------------------------------------
00555 !
00556 !*      8.      SPECIAL CASE OF POLAR REGIONS
00557 !               -----------------------------
00558 !
00559 IF (LPHYSDOMC) THEN
00560    PCT(:) = 9.427757E-6   ! corresponds to a density of 350kg/m3 for snow
00561 ENDIF        
00562 IF (LHOOK) CALL DR_HOOK('SOIL',1,ZHOOK_HANDLE)
00563 !
00564 !-------------------------------------------------------------------------------
00565 !
00566 END SUBROUTINE SOIL