SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/LIB/TOPD/write_file_vecmap.F90
Go to the documentation of this file.
00001 !------------------------------------------------------------
00002 !     ##########################
00003       SUBROUTINE WRITE_FILE_VECMAP(PVAR,HVAR,KCAT)
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 USE MODD_TOPODYN
00040 !
00041 USE MODD_SURF_PAR, ONLY:XUNDEF
00042 USE MODI_OPEN_FILE
00043 USE MODI_CLOSE_FILE
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 REAL, DIMENSION(:),INTENT(IN) :: PVAR   ! variable to write in the file
00053  CHARACTER(LEN=30), INTENT(IN) :: HVAR   ! end name of the file
00054 INTEGER,           INTENT(IN) :: KCAT   ! catchment number
00055 !
00056 !*      0.2    declarations of local variables
00057 !
00058  CHARACTER(LEN=50)          :: CNAME
00059  CHARACTER(LEN=40)          :: CFMT
00060 INTEGER                    :: JJ,JI,JK
00061 INTEGER                    :: IINDEX ! reference number of the pixel
00062 INTEGER                    :: IUNIT
00063 REAL                       :: ZOUT ! pixel not included in the catchment
00064 REAL                       :: ZMIN,ZMAX
00065 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00066 !-------------------------------------------------------------------------------
00067 IF (LHOOK) CALL DR_HOOK('WRITE_FILE_VECMAP',0,ZHOOK_HANDLE)
00068 !
00069 !*       0.     Initialization:
00070 !               ---------------
00071 !
00072 ZOUT = XUNDEF
00073 ZMIN = MINVAL(PVAR)
00074 ZMAX = MAXVAL(PVAR)
00075 !
00076 CNAME = TRIM(CCAT(KCAT))//TRIM(HVAR)
00077 !
00078  CALL OPEN_FILE('ASCII ',IUNIT,HFILE=CNAME,HFORM='FORMATTED')
00079 !
00080 DO JI=1,5
00081   WRITE(IUNIT,*)
00082 ENDDO
00083 !
00084 WRITE(IUNIT,*) XX0(KCAT)
00085 WRITE(IUNIT,*) XY0(KCAT)
00086 WRITE(IUNIT,*) NNXC(KCAT) 
00087 WRITE(IUNIT,*) NNYC(KCAT)
00088 WRITE(IUNIT,*) ZOUT
00089 WRITE(IUNIT,*) XDXT(KCAT)
00090 WRITE(IUNIT,*) ZMIN
00091 WRITE(IUNIT,*) ZMAX
00092 !
00093 DO JI=1,NNYC(KCAT)
00094   DO JK=1,NNXC(KCAT)
00095     IINDEX = (JI - 1) * NNXC(KCAT) + JK
00096     IF (XTOPD(KCAT,IINDEX).EQ.XNUL(KCAT)) THEN
00097       WRITE(IUNIT,*) ZOUT
00098     ELSE
00099       WRITE(IUNIT,*) PVAR(NLINE(KCAT,IINDEX))
00100     ENDIF
00101   ENDDO
00102 ENDDO
00103 ! 
00104  CALL CLOSE_FILE('ASCII ',IUNIT)
00105 !
00106 IF (LHOOK) CALL DR_HOOK('WRITE_FILE_VECMAP',1,ZHOOK_HANDLE)
00107 !
00108 END SUBROUTINE WRITE_FILE_VECMAP
00109