SURFEX v7.3
General documentation of Surfex
|
00001 !----------------------------------------------------------------- 00002 ! ########################## 00003 SUBROUTINE READ_FILE_ISBAMAP(KUNIT,PVAR,INI) 00004 ! ########################## 00005 ! 00006 !! 00007 !! PURPOSE 00008 !! ------- 00009 ! 00010 ! 00011 !!** METHOD 00012 !! ------ 00013 ! 00014 !! EXTERNAL 00015 !! -------- 00016 !! 00017 !! none 00018 !! 00019 !! IMPLICIT ARGUMENTS 00020 !! ------------------ 00021 !! 00022 !! REFERENCE 00023 !! --------- 00024 !! 00025 !! AUTHOR 00026 !! ------ 00027 !! 00028 !! K. Chancibault * Meteo-France * 00029 !! 00030 !! MODIFICATIONS 00031 !! ------------- 00032 !! 00033 !! Original 25/01/2005 00034 !------------------------------------------------------------------------------- 00035 ! 00036 !* 0. DECLARATIONS 00037 ! ------------ 00038 ! 00039 ! 00040 USE MODD_TOPODYN 00041 USE MODD_SURF_ATM_GRID_n, ONLY : XGRID_PAR 00042 USE MODD_SURF_PAR, ONLY : XUNDEF 00043 ! 00044 USE MODE_GRIDTYPE_CONF_PROJ 00045 ! 00046 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00047 USE PARKIND1 ,ONLY : JPRB 00048 ! 00049 IMPLICIT NONE 00050 ! 00051 !* 0.1 declarations of arguments 00052 ! 00053 INTEGER, INTENT(IN) :: KUNIT ! file unit 00054 REAL, DIMENSION(:), INTENT(OUT) :: PVAR ! variable to write in the file 00055 INTEGER, INTENT(IN) :: INI ! Grid dimensions 00056 ! 00057 ! 00058 !* 0.2 declarations of local variables 00059 INTEGER :: JJ,JI 00060 INTEGER :: JINDEX ! reference number of the pixel 00061 REAL :: ZOUT 00062 REAL :: ZMAX,ZMIN 00063 REAL, DIMENSION(INI) :: ZXI, ZYI ! natural coordinates of ISBA grid (conformal projection) 00064 REAL, DIMENSION(INI) :: ZDXI, ZDYI ! Isba grid resolution in the conformal projection 00065 INTEGER :: IIMAX,IJMAX 00066 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00067 !------------------------------------------------------------------------------- 00068 IF (LHOOK) CALL DR_HOOK('READ_FILE_ISBAMAP',0,ZHOOK_HANDLE) 00069 ! 00070 !* 0. Initialization: 00071 ! --------------- 00072 ! 00073 CALL GET_GRIDTYPE_CONF_PROJ(XGRID_PAR,PX=ZXI,PY=ZYI,KIMAX=IIMAX,KJMAX=IJMAX,PDX=ZDXI) 00074 ! 00075 ZMAX=MAXVAL(PVAR) 00076 ZMIN=MINVAL(PVAR) 00077 ZOUT = XUNDEF 00078 ! 00079 DO JJ=1,5 00080 READ(KUNIT,*) 00081 ENDDO 00082 ! 00083 READ(KUNIT,*) ZXI(1) 00084 READ(KUNIT,*) ZYI(1) 00085 READ(KUNIT,*) IIMAX 00086 READ(KUNIT,*) IJMAX 00087 READ(KUNIT,*) ZOUT 00088 READ(KUNIT,*) ZDXI(1) 00089 READ(KUNIT,*) ZMIN 00090 READ(KUNIT,*) ZMAX 00091 ! 00092 DO JJ=1,IJMAX 00093 DO JI=1,IIMAX 00094 JINDEX=(JJ - 1) * IIMAX + JI 00095 READ(KUNIT,*) PVAR(JINDEX) 00096 ENDDO 00097 ENDDO 00098 ! 00099 IF (LHOOK) CALL DR_HOOK('READ_FILE_ISBAMAP',1,ZHOOK_HANDLE) 00100 ! 00101 END SUBROUTINE READ_FILE_ISBAMAP