|
SURFEX v7.3
General documentation of Surfex
|
00001 ! ######### 00002 SUBROUTINE HEATCAPZ(PSANDZ,PWSATZ,PHCAPSOIL) 00003 ! ############################################################### 00004 !!**** *HEATCAPZ* 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 !! 2008/03 P. LeMoigne, ###it thrmconz subroutine 00046 !! 00047 !------------------------------------------------------------------------------- 00048 ! 00049 !* 0. DECLARATIONS 00050 ! ------------ 00051 ! 00052 USE MODD_SURF_PAR, ONLY : XUNDEF 00053 USE MODD_ISBA_PAR, ONLY : XDRYWGHT, XSPHSOIL 00054 ! 00055 ! 00056 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00057 USE PARKIND1 ,ONLY : JPRB 00058 ! 00059 IMPLICIT NONE 00060 ! 00061 !* 0.1 declarations of arguments 00062 ! 00063 REAL, DIMENSION(:,:), INTENT(IN) :: PSANDZ ! soil sand fraction (-) 00064 REAL, DIMENSION(:,:), INTENT(IN) :: PWSATZ ! soil porosity (m3 m-3) 00065 ! 00066 REAL, DIMENSION(:,:), INTENT(OUT):: PHCAPSOIL ! soil heat capacity (J K-1 m-3) 00067 ! 00068 !* 0.2 declarations of local variables 00069 ! 00070 REAL, DIMENSION(SIZE(PSANDZ,1),SIZE(PSANDZ,2)) :: ZGAMMAD 00071 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00072 ! 00073 !----------------------------------------------------------------- 00074 ! 00075 IF (LHOOK) CALL DR_HOOK('HEATCAPZ',0,ZHOOK_HANDLE) 00076 ZGAMMAD(:,:) = XUNDEF 00077 PHCAPSOIL(:,:) = XUNDEF 00078 ! 00079 ! 00080 ! Quartz content estimated from sand fraction: 00081 ! 00082 WHERE(PSANDZ(:,:)/=XUNDEF) 00083 ! 00084 ! Note, ZGAMMAD (soil dry density) can be supplied from obs, but 00085 ! for mesoscale modeling, we use the following approximation 00086 ! from Peters-Lidard et al. 1998: 00087 ! 00088 ZGAMMAD(:,:) = (1.0-PWSATZ(:,:))*XDRYWGHT 00089 PHCAPSOIL(:,:) = XSPHSOIL*ZGAMMAD(:,:) 00090 ! 00091 END WHERE 00092 IF (LHOOK) CALL DR_HOOK('HEATCAPZ',1,ZHOOK_HANDLE) 00093 ! 00094 END SUBROUTINE HEATCAPZ
1.8.0