SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/prep_teb_canopy.F90
Go to the documentation of this file.
00001 !     #########
00002 SUBROUTINE PREP_TEB_CANOPY()
00003 !     #################################################################################
00004 !
00005 !!****  *PREP_TEB_CANOPY* - prepares TEB canopy fields
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    07/2006
00024 !!      S. Riette   06/2009 XT, XU, XQ, XTKE are set to XUNDEF
00025 !!                          No more argument needed
00026 !!      E. Martin   01/2012 XUNDEF fields are no more written in PREP file
00027 !!------------------------------------------------------------------
00028 !
00029 !
00030 USE MODD_TEB_GRID_n,     ONLY : NDIM
00031 USE MODD_TEB_CANOPY_n,   ONLY : NLVL, XZ
00032 !
00033 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00034 USE PARKIND1  ,ONLY : JPRB
00035 !
00036 IMPLICIT NONE
00037 !
00038 !*      0.1    declarations of arguments
00039 !
00040 !
00041 !*      0.2    declarations of local variables
00042 !
00043 INTEGER :: JLAYER
00044 !
00045 REAL, DIMENSION(:,:), ALLOCATABLE :: ZZF ! altitudes at half levels
00046 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00047 !
00048 !-------------------------------------------------------------------------------------
00049 !
00050 IF (LHOOK) CALL DR_HOOK('PREP_TEB_CANOPY',0,ZHOOK_HANDLE)
00051 !
00052 !*      1.    number of levels (MUST be at least equal to 2)
00053 !             ----------------
00054 !
00055 NLVL = 6
00056 !
00057 !*      2.    height of half levels (where turbulent fluxes will be)
00058 !             ---------------------
00059 !
00060 !* Warning :   ZZF(:,1)   MUST BE ZERO
00061 ALLOCATE(ZZF(NDIM,NLVL))
00062 ZZF(:,1) = 0.
00063 ZZF(:,2) = 1.
00064 ZZF(:,3) = 3.
00065 ZZF(:,4) = 5.
00066 ZZF(:,5) = 8.
00067 ZZF(:,6) = 12.
00068 
00069 ALLOCATE(XZ(NDIM,NLVL))
00070 DO JLAYER=1,NLVL-1
00071   XZ(:,JLAYER) = 0.5 * (ZZF(:,JLAYER)+ZZF(:,JLAYER+1))
00072 END DO
00073 XZ(:,NLVL) = 1.5 * ZZF(:,NLVL) - 0.5 * ZZF(:,NLVL-1)
00074 !
00075 DEALLOCATE(ZZF)
00076 !
00077 IF (LHOOK) CALL DR_HOOK('PREP_TEB_CANOPY',1,ZHOOK_HANDLE)
00078 !
00079 !-------------------------------------------------------------------------------------
00080 !
00081 END SUBROUTINE PREP_TEB_CANOPY