SURFEX v7.3
General documentation of Surfex
|
00001 ! ######### 00002 SUBROUTINE THRMCONDZ(PSANDZ,PWSATZ,PCONDDRY,PCONDSLD) 00003 ! ############################################################### 00004 !!**** *THRMCONDZ* 00005 !! 00006 !! PURPOSE 00007 !! ------- 00008 ! 00009 ! Calculates soil thermal conductivity components 00010 ! using sand fraction and model constants in 00011 ! order to calculate the thermal conductivity 00012 ! following the method of Johansen (1975) as recommended 00013 ! by Farouki (1986) parameterized for SVAT schemes 00014 ! following Peters-Lidard et al. 1998 (JAS). This is 00015 ! used in explicit calculation of CG (soil thermal 00016 ! inertia): it is an option. DEFAULT is method of 00017 ! Noilhan and Planton (1989) (see SOIL.F90). 00018 ! 00019 !!** METHOD 00020 !! ------ 00021 !! 00022 !! EXTERNAL 00023 !! -------- 00024 !! none 00025 !! 00026 !! IMPLICIT ARGUMENTS 00027 !! ------------------ 00028 !! 00029 !! none 00030 !! 00031 !! REFERENCE 00032 !! --------- 00033 !! 00034 !! Peters-Lidard et al. 1998 (JAS) 00035 !! 00036 !! AUTHOR 00037 !! ------ 00038 !! 00039 !! A. Boone * Meteo-France * 00040 !! 00041 !! MODIFICATIONS 00042 !! ------------- 00043 !! Original 25/03/99 00044 !! 18/02/00 2D for veritcal profiles 00045 !! 00046 !------------------------------------------------------------------------------- 00047 ! 00048 !* 0. DECLARATIONS 00049 ! ------------ 00050 ! 00051 USE MODD_SURF_PAR, ONLY : XUNDEF 00052 USE MODD_ISBA_PAR, ONLY : XDRYWGHT, XSPHSOIL, XCONDQRTZ, XCONDOTH1, XCONDOTH2 00053 ! 00054 ! 00055 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00056 USE PARKIND1 ,ONLY : JPRB 00057 ! 00058 IMPLICIT NONE 00059 ! 00060 !* 0.1 declarations of arguments 00061 ! 00062 REAL, DIMENSION(:,:), INTENT(IN) :: PSANDZ ! soil sand fraction (-) 00063 REAL, DIMENSION(:,:), INTENT(IN) :: PWSATZ ! soil porosity (m3 m-3) 00064 ! 00065 REAL, DIMENSION(:,:), INTENT(OUT):: PCONDDRY ! soil dry thermal conductivity 00066 ! (W m-1 K-1) 00067 REAL, DIMENSION(:,:), INTENT(OUT):: PCONDSLD ! soil solids thermal 00068 ! conductivity (W m-1 K-1) 00069 ! 00070 !* 0.2 declarations of local variables 00071 ! 00072 REAL, DIMENSION(SIZE(PSANDZ,1),SIZE(PSANDZ,2)) :: ZQUARTZ, ZGAMMAD 00073 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00074 ! 00075 !----------------------------------------------------------------- 00076 ! 00077 IF (LHOOK) CALL DR_HOOK('THRMCONDZ',0,ZHOOK_HANDLE) 00078 ZQUARTZ(:,:) = XUNDEF 00079 ZGAMMAD(:,:) = XUNDEF 00080 PCONDSLD(:,:) = XUNDEF 00081 PCONDDRY(:,:) = XUNDEF 00082 ! 00083 ! 00084 ! Quartz content estimated from sand fraction: 00085 ! 00086 WHERE(PSANDZ(:,:)/=XUNDEF) 00087 ! 00088 ZQUARTZ(:,:) = 0.038 + 0.95*PSANDZ(:,:) 00089 ! 00090 ! Note, ZGAMMAD (soil dry density) can be supplied from obs, but 00091 ! for mesoscale modeling, we use the following approximation 00092 ! from Peters-Lidard et al. 1998: 00093 ! 00094 ZGAMMAD(:,:) = (1.0-PWSATZ(:,:))*XDRYWGHT 00095 ! 00096 END WHERE 00097 ! 00098 ! Soil solids conductivity: 00099 ! 00100 WHERE(ZQUARTZ > 0.20 .AND. PSANDZ(:,:)/=XUNDEF) 00101 PCONDSLD(:,:) = (XCONDQRTZ**ZQUARTZ(:,:))* & 00102 (XCONDOTH1**(1.0-ZQUARTZ(:,:))) 00103 END WHERE 00104 WHERE(ZQUARTZ <= 0.20 .AND. PSANDZ(:,:)/=XUNDEF) 00105 PCONDSLD(:,:) = (XCONDQRTZ**ZQUARTZ(:,:))* & 00106 (XCONDOTH2**(1.0-ZQUARTZ(:,:))) 00107 ENDWHERE 00108 ! 00109 ! Soil dry conductivity: 00110 ! 00111 WHERE(PSANDZ(:,:)/=XUNDEF) 00112 PCONDDRY(:,:) = (0.135*ZGAMMAD(:,:) + 64.7)/ & 00113 (XDRYWGHT - 0.947*ZGAMMAD(:,:)) 00114 END WHERE 00115 IF (LHOOK) CALL DR_HOOK('THRMCONDZ',1,ZHOOK_HANDLE) 00116 ! 00117 ! 00118 ! 00119 END SUBROUTINE THRMCONDZ