|
SURFEX v7.3
General documentation of Surfex
|
00001 !----------------------------------------------------------------- 00002 ! ####################### 00003 SUBROUTINE READ_CONNEX_FILE(HPROGRAM,HFILE,HFORM,KNMC,PCONN,KLINE) 00004 ! ####################### 00005 ! 00006 !!**** *READ_CONNEX_FILE* 00007 !! 00008 !! PURPOSE 00009 !! ------- 00010 ! This routine aims at reading connexion file 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 MODD_TOPODYN, ONLY : NPMAX 00046 USE MODD_SURF_PAR, ONLY : XUNDEF 00047 ! 00048 USE MODI_GET_LUOUT 00049 USE MODI_OPEN_FILE 00050 USE MODI_CLOSE_FILE 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) :: KNMC ! Number of pixels in the catchment 00063 REAL, DIMENSION(:,:),INTENT(OUT) :: PCONN ! pixels topographic slope/length flow 00064 INTEGER, DIMENSION(:),INTENT(OUT) :: KLINE ! second index of the pixel in the array PCONN 00065 ! 00066 !* 0.2 declarations of local variables 00067 ! 00068 ! 00069 INTEGER :: JJ ! loop control 00070 INTEGER :: IUNIT ! Unit of the files 00071 INTEGER :: ILUOUT ! Unit of the files 00072 INTEGER :: IINDEX ! index of the pixel in the topo domain 00073 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00074 !------------------------------------------------------------------------------- 00075 IF (LHOOK) CALL DR_HOOK('READ_CONNEX_FILE',0,ZHOOK_HANDLE) 00076 ! 00077 !* 0.2 preparing file openning 00078 ! ---------------------- 00079 CALL GET_LUOUT(HPROGRAM,ILUOUT) 00080 ! 00081 CALL OPEN_FILE(HPROGRAM,IUNIT,HFILE,HFORM,HACTION='READ') 00082 ! 00083 WRITE(ILUOUT,*) 'Open ',HFILE,'debut' 00084 ! 00085 DO JJ=1,7 00086 READ(IUNIT,*) 00087 ENDDO 00088 ! 00089 DO JJ=1,KNMC 00090 ! 00091 READ(IUNIT,'(f9.0,1x,f8.3,1x,2(f1.0,1x),8(f8.0,1x,f8.6,1x))',END=120) PCONN(JJ,:) 00092 IINDEX = INT(PCONN(JJ,1)) 00093 KLINE(IINDEX) = JJ 00094 ! 00095 ENDDO 00096 ! 00097 120 CALL CLOSE_FILE(HPROGRAM,IUNIT) 00098 ! 00099 IF (LHOOK) CALL DR_HOOK('READ_CONNEX_FILE',1,ZHOOK_HANDLE) 00100 ! 00101 END SUBROUTINE READ_CONNEX_FILE 00102 00103 00104 00105 00106 00107 00108
1.8.0