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