SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/wind_threshold.F90
Go to the documentation of this file.
00001 !     #########
00002     FUNCTION WIND_THRESHOLD(PWIND,PUREF) RESULT(PWIND_NEW)
00003 !   ############################################################################
00004 !
00005 !!****  *WIND_THRESHOLD*  
00006 !!
00007 !!    PURPOSE
00008 !!    -------
00009 !
00010 !     Set a minimum value to the wind for exchange coefficient computations.
00011 !     This minimum value depends on the forcing height
00012 !     
00013 !!    AUTHOR
00014 !!    ------
00015 !!
00016 !!      V. Masson           * Meteo-France *
00017 !!
00018 !!    MODIFICATIONS
00019 !!    -------------
00020 !!      Original    09/2007 
00021 !-------------------------------------------------------------------------------
00022 !
00023 USE MODD_SURF_ATM, ONLY: XCISMIN, XVMODMIN, LALDTHRES
00024 !
00025 !*       0.     DECLARATIONS
00026 !               ------------
00027 !
00028 !
00029 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00030 USE PARKIND1  ,ONLY : JPRB
00031 !
00032 IMPLICIT NONE
00033 !
00034 !*      0.1    declarations of arguments
00035 !
00036 !
00037 REAL, DIMENSION(:), INTENT(IN)   :: PWIND      ! wind
00038 REAL, DIMENSION(:), INTENT(IN)   :: PUREF      ! forcing level
00039 !
00040 REAL, DIMENSION(SIZE(PWIND))     :: PWIND_NEW  ! modified wind
00041 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00042 !
00043 !
00044 !
00045 !*      0.2    declarations of local variables
00046 !
00047 !-------------------------------------------------------------------------------
00048 !
00049 !  wind gradient
00050 !
00051 IF (LHOOK) CALL DR_HOOK('WIND_THRESHOLD',0,ZHOOK_HANDLE)
00052 IF (.NOT.LALDTHRES) THEN
00053 !        
00054 !  minimum value for exchange coefficients computations : 1m/s / 10m
00055    PWIND_NEW = MAX(PWIND , 0.1 * MIN(10.,PUREF) )
00056 ELSE
00057 !  minimum value for exchange coefficients computations : 1m/s / 10m
00058    PWIND_NEW = MAX( XVMODMIN, SQRT( PWIND**2 + (XCISMIN*PUREF)**2 ) )
00059 ENDIF
00060 IF (LHOOK) CALL DR_HOOK('WIND_THRESHOLD',1,ZHOOK_HANDLE)
00061 !
00062 !-------------------------------------------------------------------------------
00063 !
00064 END FUNCTION WIND_THRESHOLD