SURFEX v7.3
General documentation of Surfex
|
00001 !----------------------------------------------------------------- 00002 ! ####################### 00003 SUBROUTINE READ_TOPD_HEADER_DTM(HPROGRAM,HFILE,HFORM,PX0,PY0,KNXC,KNYC,PNUL,PDXT) 00004 ! ####################### 00005 ! 00006 !!**** *READ_TOPD_HEADER* 00007 !! 00008 !! PURPOSE 00009 !! ------- 00010 ! This routine aims at reading topographic files header 00011 ! for a given file (then for a cathment) 00012 ! 00013 !!** METHOD 00014 !! ------ 00015 ! 00016 !! EXTERNAL 00017 !! -------- 00018 !! 00019 !! none 00020 !! 00021 !! IMPLICIT ARGUMENTS 00022 !! ------------------ 00023 !! 00024 !! 00025 !! 00026 !! 00027 !! 00028 !! REFERENCE 00029 !! --------- 00030 !! 00031 !! 00032 !! 00033 !! AUTHOR 00034 !! ------ 00035 !! 00036 !! B. Vincendon * Meteo-France * 00037 !! 00038 !! MODIFICATIONS 00039 !! ------------- 00040 !! 00041 !! Original 11/2006 00042 !------------------------------------------------------------------------------- 00043 ! 00044 !* 0. DECLARATIONS 00045 ! ------------ 00046 ! 00047 USE MODI_GET_LUOUT 00048 USE MODI_OPEN_FILE 00049 USE MODI_CLOSE_FILE 00050 ! 00051 USE MODD_TOPODYN, ONLY : NPMAX 00052 ! 00053 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00054 USE PARKIND1 ,ONLY : JPRB 00055 ! 00056 IMPLICIT NONE 00057 ! 00058 !* 0.1 declarations of arguments 00059 ! 00060 CHARACTER(LEN=*), INTENT(IN) :: HPROGRAM ! 00061 CHARACTER(LEN=*), INTENT(IN) :: HFILE ! File to be read 00062 CHARACTER(LEN=*), INTENT(IN) :: HFORM ! Format of the file to be read 00063 REAL, INTENT(OUT) :: PX0 ! abcissa of bottom-left pixel 00064 REAL, INTENT(OUT) :: PY0 ! ordinate of bottom-left pixel 00065 INTEGER, INTENT(OUT) :: KNXC ! number of topographixc grid points along abcissa axis 00066 INTEGER, INTENT(OUT) :: KNYC ! number of topographixc grid points along ordinate axis 00067 REAL, INTENT(OUT) :: PNUL ! undifined value in topographic files 00068 REAL, INTENT(OUT) :: PDXT ! catchment rid mesh size 00069 ! 00070 !* 0.2 declarations of local variables 00071 ! 00072 INTEGER :: JJ ! loop control 00073 INTEGER :: IUNIT ! Unit of the files 00074 INTEGER :: ILUOUT ! Unit of the files 00075 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00076 !------------------------------------------------------------------------------- 00077 IF (LHOOK) CALL DR_HOOK('READ_TOPD_HEADER_DTM',0,ZHOOK_HANDLE) 00078 ! 00079 !* 0.2 preparing file openning 00080 ! ---------------------- 00081 CALL GET_LUOUT(HPROGRAM,ILUOUT) 00082 ! 00083 WRITE(ILUOUT,*) 'Open ',HFILE,'header' 00084 ! 00085 CALL OPEN_FILE(HPROGRAM,IUNIT,HFILE,HFORM,HACTION='READ') 00086 ! 00087 DO JJ=1,5 00088 READ(IUNIT,*) 00089 ENDDO 00090 ! 00091 READ(IUNIT,*) PX0 00092 READ(IUNIT,*) PY0 00093 READ(IUNIT,*) KNXC 00094 READ(IUNIT,*) KNYC 00095 READ(IUNIT,*) PNUL 00096 READ(IUNIT,*) PDXT 00097 READ(IUNIT,*) 00098 READ(IUNIT,*) 00099 ! 00100 CALL CLOSE_FILE(HPROGRAM,IUNIT) 00101 ! 00102 IF (LHOOK) CALL DR_HOOK('READ_TOPD_HEADER_DTM',1,ZHOOK_HANDLE) 00103 ! 00104 END SUBROUTINE READ_TOPD_HEADER_DTM 00105 00106 00107 00108 00109 00110 00111