SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/LIB/TOPD/read_topd_file.F90
Go to the documentation of this file.
00001 !-----------------------------------------------------------------
00002 !     #######################
00003       SUBROUTINE READ_TOPD_FILE(HPROGRAM,HFILE,HFORM,KNPT,PTOPD_READ)
00004 !     #######################
00005 !
00006 !!****  *READ_TOPD_FILE*  
00007 !!
00008 !!    PURPOSE
00009 !!    -------
00010 !     This routine aims at reading topographic files
00011 !!**  METHOD
00012 !!    ------
00013 !
00014 !!    EXTERNAL
00015 !!    --------
00016 !!
00017 !!    none
00018 !!
00019 !!    IMPLICIT ARGUMENTS
00020 !!    ------------------ 
00021 !!
00022 !!    
00023 !!    
00024 !!
00025 !!      
00026 !!    REFERENCE
00027 !!    ---------
00028 !!
00029 !!    
00030 !!      
00031 !!    AUTHOR
00032 !!    ------
00033 !!
00034 !!      B. Vincendon    * Meteo-France *
00035 !!
00036 !!    MODIFICATIONS
00037 !!    -------------
00038 !!
00039 !!      Original   11/2006
00040 !-------------------------------------------------------------------------------
00041 !
00042 !*       0.     DECLARATIONS
00043 !               ------------
00044 !
00045 USE MODI_GET_LUOUT
00046 USE MODI_OPEN_FILE
00047 USE MODI_CLOSE_FILE
00048 !
00049 USE MODD_TOPODYN, ONLY : NPMAX
00050 USE MODD_SURF_PAR,  ONLY : XUNDEF
00051 !
00052 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00053 USE PARKIND1  ,ONLY : JPRB
00054 !
00055 IMPLICIT NONE
00056 !
00057 !*      0.1    declarations of arguments
00058 !
00059  CHARACTER(LEN=*),  INTENT(IN)  :: HPROGRAM    !
00060  CHARACTER(LEN=*),  INTENT(IN)  :: HFILE       ! File to be read
00061  CHARACTER(LEN=*),  INTENT(IN)  :: HFORM       ! Format of the file to be read
00062 INTEGER,           INTENT(IN)  :: KNPT        ! Number of points in the catchment
00063 REAL, DIMENSION(:), INTENT(OUT) :: PTOPD_READ ! Topographic parameter read on file
00064 !
00065 !*      0.2    declarations of local variables
00066 !
00067 INTEGER                   :: JJ,JI  ! loop control
00068 INTEGER                   :: IUNIT  ! Unit of the files
00069 INTEGER                   :: ILUOUT ! Unit of the files
00070 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00071 !-------------------------------------------------------------------------------
00072 IF (LHOOK) CALL DR_HOOK('READ_TOPD_FILE',0,ZHOOK_HANDLE)
00073 !
00074 !*       0.2    preparing file openning
00075 !               ----------------------
00076 !
00077  CALL GET_LUOUT(HPROGRAM,ILUOUT)
00078 !
00079  CALL OPEN_FILE(HPROGRAM,IUNIT,HFILE,HFORM,HACTION='READ')
00080 !PTOPD_READ(:)=XUNDEF
00081 !
00082 DO JJ=1,13
00083   READ(IUNIT,*) 
00084 ENDDO
00085 !
00086 DO JI=1,KNPT
00087   !
00088   READ(IUNIT,*,END=110) PTOPD_READ(JI)
00089   !
00090   IF (PTOPD_READ(JI).LT.0.0) PTOPD_READ(JI) = XUNDEF
00091   !
00092 ENDDO
00093 !
00094 110 CALL CLOSE_FILE(HPROGRAM,IUNIT)
00095 !
00096 IF (LHOOK) CALL DR_HOOK('READ_TOPD_FILE',1,ZHOOK_HANDLE)
00097 !
00098 END SUBROUTINE READ_TOPD_FILE
00099 
00100 
00101 
00102 
00103 
00104 
00105