SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/ini_var_from_data_0d.F90
Go to the documentation of this file.
00001 !     #########
00002       SUBROUTINE INI_VAR_FROM_DATA_0D(HPROGRAM, HATYPE,  HNAME, HTYPE, HFNAM, &
00003                                         HFTYP, PUNIF, PFIELD, OPRESENT)
00004 !     ##############################################################
00005 !
00006 !!
00007 !!    PURPOSE
00008 !!    -------
00009 !!
00010 !!    METHOD
00011 !!    ------
00012 !!   
00013 !
00014 !!    EXTERNAL
00015 !!    --------
00016 !!
00017 !!    IMPLICIT ARGUMENTS
00018 !!    ------------------
00019 !!
00020 !!    REFERENCE
00021 !!    ---------
00022 !!
00023 !!    AUTHOR
00024 !!    ------
00025 !!
00026 !!    S. Faroux        Meteo-France
00027 !!
00028 !!    MODIFICATION
00029 !!    ------------
00030 !!
00031 !!    Original    16/11/10
00032 !!
00033 !----------------------------------------------------------------------------
00034 !
00035 !*    0.     DECLARATION
00036 !            -----------
00037 !
00038 USE MODD_SURF_PAR,       ONLY : XUNDEF
00039 !
00040 USE MODD_PGDWORK,       ONLY : CATYPE
00041 !
00042 USE MODI_PGD_FIELD
00043 USE MODI_READ_FROM_SURFEX_FILE
00044 !
00045 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00046 USE PARKIND1  ,ONLY : JPRB
00047 !
00048 IMPLICIT NONE
00049 !
00050 !*    0.1    Declaration of arguments
00051 !            ------------------------
00052 !
00053  CHARACTER(LEN=6), INTENT(IN) :: HPROGRAM
00054  CHARACTER(LEN=3), INTENT(IN) :: HATYPE
00055  CHARACTER(LEN=*), INTENT(IN) :: HNAME
00056  CHARACTER(LEN=3), INTENT(IN) :: HTYPE
00057  CHARACTER(LEN=28), INTENT(IN) :: HFNAM
00058  CHARACTER(LEN=6), INTENT(IN) :: HFTYP
00059 REAL, INTENT(IN) :: PUNIF
00060 REAL, DIMENSION(:), INTENT(OUT) :: PFIELD
00061 LOGICAL, INTENT(OUT) :: OPRESENT
00062 !
00063 !
00064 !*    0.2    Declaration of local variables
00065 !            ------------------------------
00066 !
00067 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00068 !
00069 
00070 !-------------------------------------------------------------------------------
00071 !
00072 !*    1.      Initializations
00073 !             ---------------
00074 !
00075 IF (LHOOK) CALL DR_HOOK('INI_VAR_FROM_DATA_0D',0,ZHOOK_HANDLE)
00076 !
00077 PFIELD(:)=XUNDEF
00078 OPRESENT=.FALSE.
00079 !
00080 IF (HFTYP.EQ.'FA    ' .OR. HFTYP.EQ.'ASCII ' .OR. HFTYP.EQ.'LFI   ') THEN
00081 
00082   OPRESENT=.TRUE.
00083   SELECT CASE (HTYPE)
00084     CASE ('LAN')
00085       CALL READ_FROM_SURFEX_FILE(HFTYP,HFNAM,'SURF  ','      ',PFIELD)
00086     CASE ('TWN')
00087       CALL READ_FROM_SURFEX_FILE(HFTYP,HFNAM,'TOWN  ','      ',PFIELD)              
00088     CASE ('NAT')
00089       CALL READ_FROM_SURFEX_FILE(HFTYP,HFNAM,'NATURE','      ',PFIELD)              
00090     CASE ('SEA')
00091       CALL READ_FROM_SURFEX_FILE(HFTYP,HFNAM,'SEA   ','      ',PFIELD)              
00092     CASE ('WAT')
00093       CALL READ_FROM_SURFEX_FILE(HFTYP,HFNAM,'WATER ','      ',PFIELD)              
00094    END SELECT
00095 
00096 ELSE
00097 
00098   CATYPE = HATYPE
00099   CALL PGD_FIELD(HPROGRAM,HNAME,HTYPE,HFNAM,HFTYP,PUNIF,PFIELD(:),OPRESENT=OPRESENT)
00100 
00101 ENDIF
00102 !
00103 IF (LHOOK) CALL DR_HOOK('INI_VAR_FROM_DATA_0D',1,ZHOOK_HANDLE)
00104 !
00105 !-------------------------------------------------------------------------------
00106 !
00107 END SUBROUTINE INI_VAR_FROM_DATA_0D
00108