SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/read_lcover.F90
Go to the documentation of this file.
00001 !     #########
00002       SUBROUTINE READ_LCOVER(HPROGRAM,OCOVER)
00003 !     ################################
00004 !
00005 !!****  *READ_LCOVER* - routine to read a file for
00006 !!                         physiographic data file of model _n 
00007 !!
00008 !!    PURPOSE
00009 !!    -------
00010 !!       The purpose of this routine is to initialise the list of covers
00011 !!
00012 !!
00013 !!**  METHOD
00014 !!    ------
00015 !!
00016 !!    EXTERNAL
00017 !!    --------
00018 !!      
00019 !!
00020 !!
00021 !!    IMPLICIT ARGUMENTS
00022 !!    ------------------
00023 !!
00024 !!    REFERENCE
00025 !!    ---------
00026 !!
00027 !!
00028 !!    AUTHOR
00029 !!    ------
00030 !!      V. Masson   *Meteo France*      
00031 !!
00032 !!    MODIFICATIONS
00033 !!    -------------
00034 !!      Original    10/2008
00035 !-------------------------------------------------------------------------------
00036 !
00037 !*       0.    DECLARATIONS
00038 !              ------------
00039 !
00040 USE MODD_DATA_COVER_PAR, ONLY : JPCOVER
00041 !
00042 USE MODI_READ_SURF
00043 USE MODI_OLD_NAME
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 ! calling program
00054 LOGICAL, DIMENSION(JPCOVER)    :: OCOVER   ! list of covers
00055 !
00056 !*       0.2   Declarations of local variables
00057 !              -------------------------------
00058 !
00059 INTEGER           :: IRESP          ! Error code after redding
00060  CHARACTER(LEN=12) :: YRECFM         ! Name of the article to be read
00061 INTEGER           :: IVERSION       ! version of surfex file being read
00062 LOGICAL, DIMENSION(:), ALLOCATABLE :: GCOVER ! cover list in the file
00063 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00064 !-------------------------------------------------------------------------------
00065 !
00066 !
00067 !* ascendant compatibility
00068 IF (LHOOK) CALL DR_HOOK('READ_LCOVER',0,ZHOOK_HANDLE)
00069 YRECFM='VERSION'
00070  CALL READ_SURF(HPROGRAM,YRECFM,IVERSION,IRESP)
00071 IF (IVERSION<=3) THEN
00072   ALLOCATE(GCOVER(255))
00073 ELSE
00074   ALLOCATE(GCOVER(JPCOVER))
00075 END IF
00076  CALL OLD_NAME(HPROGRAM,'COVER_LIST      ',YRECFM)
00077  CALL READ_SURF(HPROGRAM,YRECFM,GCOVER(:),IRESP,HDIR='-')
00078 !
00079 OCOVER=.FALSE.
00080 OCOVER(:SIZE(GCOVER))=GCOVER(:)
00081 DEALLOCATE(GCOVER)
00082 IF (LHOOK) CALL DR_HOOK('READ_LCOVER',1,ZHOOK_HANDLE)
00083 !
00084 !-------------------------------------------------------------------------------
00085 !
00086 END SUBROUTINE READ_LCOVER