SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/prep_seaflux_sbl.F90
Go to the documentation of this file.
00001 !     #########
00002 SUBROUTINE PREP_SEAFLUX_SBL()
00003 !     #################################################################################
00004 !
00005 !!****  *PREP_SEAFLUX_SBL* - prepares SEAFLUX SBL 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 USE MODD_SEAFLUX_GRID_n,     ONLY : NDIM
00030 USE MODD_SEAFLUX_SBL_n,   ONLY : NLVL, XZ
00031 !
00032 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00033 USE PARKIND1  ,ONLY : JPRB
00034 !
00035 IMPLICIT NONE
00036 !
00037 !*      0.1    declarations of arguments
00038 !
00039 !
00040 !*      0.2    declarations of local variables
00041 !
00042 INTEGER :: JLAYER
00043 !
00044 REAL, DIMENSION(:,:), ALLOCATABLE :: ZZF ! altitudes at half levels
00045 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00046 !
00047 !-------------------------------------------------------------------------------------
00048 !
00049 !*      1.    number of levels (MUST be at least equal to 2)
00050 !             ----------------
00051 !
00052 IF (LHOOK) CALL DR_HOOK('PREP_SEAFLUX_SBL',0,ZHOOK_HANDLE)
00053 NLVL = 6
00054 !
00055 !*      2.    height of half levels (where turbulent fluxes will be)
00056 !             ---------------------
00057 !
00058 !* Warning :   ZZF(:,1)   MUST BE ZERO
00059 ALLOCATE(ZZF(NDIM,NLVL))
00060 ZZF(:,1) = 0.
00061 ZZF(:,2) = 1
00062 ZZF(:,3) = 3.
00063 ZZF(:,4) = 5.
00064 ZZF(:,5) = 8.
00065 ZZF(:,6) = 12.
00066 
00067 ALLOCATE(XZ(NDIM,NLVL))
00068 DO JLAYER=1,NLVL-1
00069   XZ(:,JLAYER) = 0.5 * (ZZF(:,JLAYER)+ZZF(:,JLAYER+1))
00070 END DO
00071 XZ(:,NLVL) = 1.5 * ZZF(:,NLVL) - 0.5 * ZZF(:,NLVL-1)
00072 !
00073 DEALLOCATE(ZZF)
00074 !
00075 IF (LHOOK) CALL DR_HOOK('PREP_SEAFLUX_SBL',1,ZHOOK_HANDLE)
00076 !
00077 !-------------------------------------------------------------------------------------
00078 !
00079 END SUBROUTINE PREP_SEAFLUX_SBL