SURFEX v7.3
General documentation of Surfex
|
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