SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/prep_flake_unif.F90
Go to the documentation of this file.
00001 !     #########
00002 SUBROUTINE PREP_FLAKE_UNIF(KLUOUT,HSURF,PFIELD)
00003 !     #################################################################################
00004 !
00005 !!****  *PREP_FLAKE_UNIF* - prepares FLAKE field from prescribed values
00006 !!
00007 !!    PURPOSE
00008 !!    -------
00009 !
00010 !!**  METHOD
00011 !!    ------
00012 !!
00013 !!    REFERENCE
00014 !!    ---------
00015 !!      
00016 !!
00017 !!    AUTHOR
00018 !!    ------
00019 !!     S. Malardel
00020 !!
00021 !!    MODIFICATIONS
00022 !!    -------------
00023 !!      Original    01/2004
00024 !!    09/2010 E. Kourzeneva: Renamed the lake surface temperature 
00025 !!                           from the namelist
00026 !!------------------------------------------------------------------
00027 !
00028 !
00029 USE MODD_PREP,       ONLY : CINTERP_TYPE
00030 USE MODD_PREP_FLAKE,   ONLY : XTS_UNIF, &
00031                                   XUNIF_T_SNOW  , &
00032                                   XUNIF_T_ICE   , &
00033                                   XUNIF_T_MNW   , &
00034                                   XUNIF_T_WML   , &
00035                                   XUNIF_T_BOT   , &
00036                                   XUNIF_T_B1    , &
00037                                   XUNIF_CT      , &
00038                                   XUNIF_H_SNOW  , &
00039                                   XUNIF_H_ICE   , &
00040                                   XUNIF_H_ML    , &
00041                                   XUNIF_H_B1         
00042 !
00043 !
00044 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00045 USE PARKIND1  ,ONLY : JPRB
00046 !
00047 IMPLICIT NONE
00048 !
00049 !*      0.1    declarations of arguments
00050 !
00051 INTEGER,            INTENT(IN)  :: KLUOUT    ! output listing logical unit
00052  CHARACTER(LEN=7),   INTENT(IN)  :: HSURF     ! type of field
00053 REAL, POINTER, DIMENSION(:,:)   :: PFIELD    ! field to interpolate horizontally
00054 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00055 !
00056 !*      0.2    declarations of local variables
00057 !
00058 !
00059 !-------------------------------------------------------------------------------------
00060 !
00061 IF (LHOOK) CALL DR_HOOK('PREP_FLAKE_UNIF',0,ZHOOK_HANDLE)
00062 SELECT CASE(HSURF)
00063 !
00064 !*      3.0    Orography
00065 !
00066   CASE('ZS     ')
00067     ALLOCATE(PFIELD(1,1))
00068     PFIELD = 0.
00069 !
00070 !*      3.1    FLake variables
00071 !
00072   CASE('TS     ')
00073     ALLOCATE(PFIELD(1,1))
00074     PFIELD = XTS_UNIF
00075 !
00076   CASE('T_SNOW ')
00077     ALLOCATE(PFIELD(1,1))
00078     PFIELD = XUNIF_T_SNOW
00079 !
00080   CASE('T_ICE  ')
00081     ALLOCATE(PFIELD(1,1))
00082     PFIELD = XUNIF_T_ICE
00083 !
00084   CASE('T_MNW  ')
00085     ALLOCATE(PFIELD(1,1))
00086     PFIELD = XUNIF_T_MNW
00087 !
00088   CASE('T_WML  ')
00089     ALLOCATE(PFIELD(1,1))
00090     PFIELD = XUNIF_T_WML
00091 !
00092   CASE('T_BOT  ')
00093     ALLOCATE(PFIELD(1,1))
00094     PFIELD = XUNIF_T_BOT
00095 !
00096   CASE('T_B1   ')
00097     ALLOCATE(PFIELD(1,1))
00098     PFIELD = XUNIF_T_B1
00099 !
00100   CASE('CT     ')
00101     ALLOCATE(PFIELD(1,1))
00102     PFIELD = XUNIF_CT
00103 !
00104   CASE('H_SNOW ')
00105     ALLOCATE(PFIELD(1,1))
00106     PFIELD = XUNIF_H_SNOW
00107 !
00108   CASE('H_ICE  ')
00109     ALLOCATE(PFIELD(1,1))
00110     PFIELD = XUNIF_H_ICE
00111 !
00112   CASE('H_ML   ')
00113     ALLOCATE(PFIELD(1,1))
00114     PFIELD = XUNIF_H_ML
00115 !
00116   CASE('H_B1   ')
00117     ALLOCATE(PFIELD(1,1))
00118     PFIELD = XUNIF_H_B1
00119 !
00120 !
00121 END SELECT
00122 !
00123 !*      4.     Interpolation method
00124 !              --------------------
00125 !
00126 CINTERP_TYPE='UNIF  '
00127 IF (LHOOK) CALL DR_HOOK('PREP_FLAKE_UNIF',1,ZHOOK_HANDLE)
00128 !
00129 !
00130 !-------------------------------------------------------------------------------------
00131 END SUBROUTINE PREP_FLAKE_UNIF