SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/get_var_naturen.F90
Go to the documentation of this file.
00001 !     #########
00002       SUBROUTINE GET_VAR_NATURE_n(HPROGRAM,KI,PQS,PSNG,PSNV,PZ0EFF,PZ0,PZ0H,PTWSNOW)
00003 !     ######################################################################
00004 !
00005 !!****  *GET_VAR_NATURE_n* - routine to get variables defined only over nature
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 !       M. Jidane   08/2008 Z0 and Z0H recovery from nature tiles
00032 !       S. Riette   06/2010 TWSNOW added
00033 !-------------------------------------------------------------------------------
00034 !
00035 !*       0.    DECLARATIONS
00036 !              ------------
00037 !
00038 USE MODI_GET_LUOUT
00039 USE MODD_SURF_PAR,    ONLY   : XUNDEF
00040 !
00041 USE MODD_DIAG_ISBA_n,      ONLY   : XAVG_QS, LSURF_VARS, XAVG_Z0EFF, LCOEF, XAVG_Z0, XAVG_Z0H
00042 USE MODD_DIAG_MISC_ISBA_n, ONLY   : XAVG_PSNG, XAVG_PSNV, XAVG_TWSNOW,LSURF_MISC_BUDGET
00043 !
00044 !
00045 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00046 USE PARKIND1  ,ONLY : JPRB
00047 !
00048 IMPLICIT NONE
00049 !
00050 !*       0.1   Declarations of arguments
00051 !              -------------------------
00052 !
00053  CHARACTER(LEN=6),     INTENT(IN)     :: HPROGRAM
00054 INTEGER,              INTENT(IN)     :: KI      ! Number of points
00055 REAL, DIMENSION(KI),  INTENT(OUT)    :: PQS     ! surface humidity
00056 REAL, DIMENSION(KI),  INTENT(OUT)    :: PSNG    ! snow fraction over ground
00057 REAL, DIMENSION(KI),  INTENT(OUT)    :: PSNV    ! snow fraction over vegetation
00058 REAL, DIMENSION(KI),  INTENT(OUT)    :: PZ0EFF  ! effective roughness length (z0v+z0rel)
00059 REAL, DIMENSION(KI),  INTENT(OUT)    :: PZ0     ! surface roughness length
00060 REAL, DIMENSION(KI),  INTENT(OUT)    :: PZ0H    ! surface roughness length for heat
00061 REAL, DIMENSION(KI),  INTENT(OUT)    :: PTWSNOW ! Snow total reservoir
00062 !
00063 !
00064 !*       0.2   Declarations of local variables
00065 !              -------------------------------
00066 !
00067 INTEGER :: ILUOUT
00068 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00069 !
00070 !-------------------------------------------------------------------------------
00071 IF (LHOOK) CALL DR_HOOK('GET_VAR_NATURE_N',0,ZHOOK_HANDLE)
00072  CALL GET_LUOUT(HPROGRAM,ILUOUT)
00073 !-------------------------------------------------------------------------------
00074 !
00075 IF (LSURF_VARS) THEN 
00076         PQS      = XAVG_QS      
00077    ELSE 
00078         PQS      = XUNDEF      
00079 ENDIF           
00080 !
00081 IF (LSURF_MISC_BUDGET) THEN 
00082         PSNG     = XAVG_PSNG      
00083         PSNV     = XAVG_PSNV      
00084         PTWSNOW  = XAVG_TWSNOW
00085    ELSE 
00086         PSNG     = XUNDEF      
00087         PSNV     = XUNDEF      
00088         PTWSNOW  = XUNDEF
00089 ENDIF           
00090 !
00091 IF (LCOEF) THEN
00092    PZ0EFF   = XAVG_Z0EFF
00093    PZ0      = XAVG_Z0      
00094    PZ0H     = XAVG_Z0H
00095 ELSE
00096    PZ0EFF   = XUNDEF
00097    PZ0      = XUNDEF      
00098    PZ0H     = XUNDEF
00099 ENDIF
00100 IF (LHOOK) CALL DR_HOOK('GET_VAR_NATURE_N',1,ZHOOK_HANDLE)
00101 !
00102 !==============================================================================
00103 !
00104 END SUBROUTINE GET_VAR_NATURE_n