SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/garden_soil_depth.F90
Go to the documentation of this file.
00001 !     #########
00002       SUBROUTINE GARDEN_SOIL_DEPTH(HNVEG,HLVEG,HHVEG,PNVEG,PLVEG,PHVEG,PDG)
00003 !     #########################################
00004 !
00005 !!****  *GARDEN_SOIL_DEPTH* - routine to initialise garden soil depth from data 
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 !!      V. Masson   *Meteo France*      
00027 !!
00028 !!    MODIFICATIONS
00029 !!    -------------
00030 !!      Original    10/2011 
00031 !-------------------------------------------------------------------------------
00032 !
00033 !*       0.    DECLARATIONS
00034 !              ------------
00035 !
00036 !
00037 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00038 USE PARKIND1  ,ONLY : JPRB
00039 !
00040 IMPLICIT NONE
00041 !
00042 !*       0.1   Declarations of arguments
00043 !              -------------------------
00044 !
00045  CHARACTER(LEN=3)                   :: HNVEG  ! type of no   vegetation
00046  CHARACTER(LEN=3)                   :: HLVEG  ! type of low  vegetation
00047  CHARACTER(LEN=3)                   :: HHVEG  ! type of high vegetation
00048 REAL, DIMENSION(:),     INTENT(IN) :: PNVEG  ! fraction of no   vegetation
00049 REAL, DIMENSION(:),     INTENT(IN) :: PLVEG  ! fraction of low  vegetation
00050 REAL, DIMENSION(:),     INTENT(IN) :: PHVEG  ! fraction of high vegetation
00051 REAL, DIMENSION(:,:,:), INTENT(OUT):: PDG    ! soil depth
00052 !
00053 !*       0.2   Declarations of local variables
00054 !              -------------------------------
00055 !
00056 REAL, DIMENSION(SIZE(PDG,1),3,3) :: ZDATA_DG
00057 INTEGER                          :: JL
00058 !
00059 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00060 !
00061 !-------------------------------------------------------------------------------
00062 !
00063 IF (LHOOK) CALL DR_HOOK('GARDEN_SOIL_DEPTH',0,ZHOOK_HANDLE)
00064 
00065  ZDATA_DG(:,1,:) = 0.01
00066  ZDATA_DG(:,2,:) = 1.50
00067  ZDATA_DG(:,3,:) = 2.00
00068  IF(HHVEG=='TREE')  ZDATA_DG(:,2,1)= 2.0
00069  IF(HHVEG=='TREE')  ZDATA_DG(:,3,1)= 3.0
00070  IF(HHVEG=='CONI')  ZDATA_DG(:,2,1)= 2.0
00071  IF(HHVEG=='CONI')  ZDATA_DG(:,3,1)= 3.0
00072  IF(HHVEG=='EVER')  ZDATA_DG(:,2,1)= 2.0
00073  IF(HHVEG=='EVER')  ZDATA_DG(:,3,1)= 3.0
00074  IF(HNVEG=='NO  ')  ZDATA_DG(:,2,3)= 0.5
00075  IF(HNVEG=='NO  ')  ZDATA_DG(:,3,3)= 1.0
00076  IF(HNVEG=='ROCK')  ZDATA_DG(:,2,3)= 0.5
00077  IF(HNVEG=='ROCK')  ZDATA_DG(:,3,3)= 1.0
00078  IF(HNVEG=='SNOW')  ZDATA_DG(:,2,3)= 0.5
00079  IF(HNVEG=='SNOW')  ZDATA_DG(:,3,3)= 1.0
00080  DO JL=1,3
00081    PDG(:,JL,1) =   ZDATA_DG(:,JL,1)*PHVEG(:)   &
00082                  + ZDATA_DG(:,JL,2)*PLVEG(:)   &
00083                  + ZDATA_DG(:,JL,3)*PNVEG(:)  
00084  END DO
00085 
00086 IF (LHOOK) CALL DR_HOOK('GARDEN_SOIL_DEPTH',1,ZHOOK_HANDLE)
00087 !
00088 !
00089 !-------------------------------------------------------------------------------
00090 !
00091 END SUBROUTINE GARDEN_SOIL_DEPTH