SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/prep_teb_greenroof_unif.F90
Go to the documentation of this file.
00001 !     #########
00002 SUBROUTINE PREP_TEB_GREENROOF_UNIF(KLUOUT,HSURF,PFIELD)
00003 !     #################################################################################
00004 !
00005 !!****  *PREP_TEB_GREENROOF_UNIF* - prepares ISBA field from prescribed values
00006 !!
00007 !!    PURPOSE
00008 !!    -------
00009 !
00010 !!**  METHOD
00011 !!    ------
00012 !!
00013 !!    Based on "prep_teb_garden_unif"
00014 !!
00015 !!    REFERENCE
00016 !!    ---------
00017 !!      
00018 !!
00019 !!    AUTHOR
00020 !!    ------
00021 !!    A. Lemonsu & C. de Munck 
00022 !!
00023 !!    MODIFICATIONS
00024 !!    -------------
00025 !!      Original    07/2011
00026 !!------------------------------------------------------------------
00027 !
00028 !
00029 USE MODD_PREP,              ONLY : CINTERP_TYPE
00030 USE MODD_DATA_COVER_PAR,    ONLY : NVEGTYPE
00031 USE MODD_SURF_PAR,          ONLY : XUNDEF
00032 USE MODD_PREP_TEB_GREENROOF,ONLY : XHUG_SURF, XHUG_ROOT, XHUG_DEEP,     &
00033                                    XHUGI_SURF, XHUGI_ROOT, XHUGI_DEEP,  &
00034                                    XTG_SURF, XTG_ROOT, XTG_DEEP,        &
00035                                    XWR_DEF  
00036 !
00037 !
00038 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00039 USE PARKIND1  ,ONLY : JPRB
00040 !
00041 IMPLICIT NONE
00042 !
00043 !*      0.1    declarations of arguments
00044 !
00045 INTEGER,            INTENT(IN)  :: KLUOUT    ! output listing logical unit
00046  CHARACTER(LEN=7),   INTENT(IN)  :: HSURF     ! type of field
00047 REAL, POINTER, DIMENSION(:,:,:) :: PFIELD    ! field to interpolate horizontally
00048 !
00049 !*      0.2    declarations of local variables
00050 !
00051 INTEGER :: JV ! loop counter
00052 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00053 !
00054 !-------------------------------------------------------------------------------------
00055 !
00056 IF (LHOOK) CALL DR_HOOK('PREP_TEB_GREENROOF_UNIF',0,ZHOOK_HANDLE)
00057 SELECT CASE(HSURF)
00058 !
00059 !*      3.0    Orography
00060 !
00061   CASE('ZS     ')
00062     ALLOCATE(PFIELD(1,1,1))
00063     PFIELD = 0.
00064    
00065 !
00066 !*      3.1    Profile of soil relative humidity
00067 !
00068   CASE('WG     ')
00069     ALLOCATE(PFIELD(1,3,NVEGTYPE))
00070     DO JV=1,NVEGTYPE
00071       PFIELD(:,1,JV) = XHUG_SURF
00072       PFIELD(:,2,JV) = XHUG_ROOT
00073       PFIELD(:,3,JV) = XHUG_DEEP
00074     END DO
00075 
00076 !*      3.2    Profile of soil humidity for ice
00077 
00078   CASE('WGI    ')
00079     ALLOCATE(PFIELD(1,3,NVEGTYPE))
00080     DO JV=1,NVEGTYPE
00081       PFIELD(:,1,JV) = XHUGI_SURF
00082       PFIELD(:,2,JV) = XHUGI_ROOT
00083       PFIELD(:,3,JV) = XHUGI_DEEP
00084     END DO
00085 
00086 !*      3.3    Profile of temperatures
00087 
00088   CASE('TG     ')
00089     ALLOCATE(PFIELD(1,3,NVEGTYPE))
00090     DO JV=1,NVEGTYPE
00091       PFIELD(:,1,JV) = XTG_SURF
00092       PFIELD(:,2,JV) = XTG_ROOT
00093       PFIELD(:,3,JV) = XTG_DEEP
00094     END DO
00095 
00096 !*      3.4    Other quantities
00097 
00098   CASE('WR     ')
00099     ALLOCATE(PFIELD(1,1,NVEGTYPE))
00100     PFIELD = XWR_DEF
00101 
00102   CASE('LAI    ')
00103     ALLOCATE(PFIELD(1,1,NVEGTYPE))
00104     PFIELD = XUNDEF
00105 
00106 END SELECT
00107 !
00108 !*      4.     Interpolation method
00109 !              --------------------
00110 !
00111 CINTERP_TYPE='UNIF  '
00112 IF (LHOOK) CALL DR_HOOK('PREP_TEB_GREENROOF_UNIF',1,ZHOOK_HANDLE)
00113 !
00114 !-------------------------------------------------------------------------------------
00115 END SUBROUTINE PREP_TEB_GREENROOF_UNIF