SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/get_z0n.F90
Go to the documentation of this file.
00001 !     #########
00002       SUBROUTINE GET_Z0_n(HPROGRAM,KI,PZ0,PZ0H)
00003 !     #########################################
00004 !
00005 !!****  *GET_Z0_n* - routine to get roughness lengths
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 !!      P. Le Moigne *Meteo France*     
00027 !!
00028 !!    MODIFICATIONS
00029 !!    -------------
00030 !!      Original    02/2006
00031 !-------------------------------------------------------------------------------
00032 !
00033 !*       0.    DECLARATIONS
00034 !              ------------
00035 !
00036 USE MODI_GET_LUOUT
00037 USE MODD_SURF_PAR,        ONLY   : XUNDEF
00038 !
00039 USE MODD_DIAG_SURF_ATM_n, ONLY   : XAVG_Z0, XAVG_Z0H, LCOEF
00040 !
00041 !
00042 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00043 USE PARKIND1  ,ONLY : JPRB
00044 !
00045 IMPLICIT NONE
00046 !
00047 !*       0.1   Declarations of arguments
00048 !              -------------------------
00049 !
00050  CHARACTER(LEN=6),     INTENT(IN)     :: HPROGRAM
00051 INTEGER,              INTENT(IN)     :: KI      ! Number of points
00052 REAL, DIMENSION(KI),  INTENT(OUT)    :: PZ0     ! roughness length for momentum (m)
00053 REAL, DIMENSION(KI),  INTENT(OUT)    :: PZ0H    ! roughness length for heat     (m)
00054 !
00055 !
00056 !*       0.2   Declarations of local variables
00057 !              -------------------------------
00058 !
00059 INTEGER :: ILUOUT
00060 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00061 !
00062 !-------------------------------------------------------------------------------
00063 IF (LHOOK) CALL DR_HOOK('GET_Z0_N',0,ZHOOK_HANDLE)
00064  CALL GET_LUOUT(HPROGRAM,ILUOUT)
00065 !-------------------------------------------------------------------------------
00066 !
00067 IF (LCOEF)      THEN 
00068         PZ0      = XAVG_Z0      
00069         PZ0H     = XAVG_Z0H
00070    ELSE 
00071         PZ0      = XUNDEF      
00072         PZ0H     = XUNDEF
00073 ENDIF           
00074 IF (LHOOK) CALL DR_HOOK('GET_Z0_N',1,ZHOOK_HANDLE)
00075 !
00076 !==============================================================================
00077 !
00078 END SUBROUTINE GET_Z0_n