SURFEX v7.3
General documentation of Surfex
|
00001 ! ########################## 00002 SUBROUTINE WRITE_COVER_TEX_COVER 00003 ! ########################## 00004 ! 00005 !!**** *WRITE_COVER_TEX* writes the cover data arrays into a tex file 00006 !! 00007 !! PURPOSE 00008 !! ------- 00009 !! 00010 !! METHOD 00011 !! ------ 00012 !! 00013 !! 00014 !! EXTERNAL 00015 !! -------- 00016 !! 00017 !! IMPLICIT ARGUMENTS 00018 !! ------------------ 00019 !! 00020 !! REFERENCE 00021 !! --------- 00022 !! 00023 !! AUTHOR 00024 !! ------ 00025 !! 00026 !! V. Masson Meteo-France 00027 !! 00028 !! MODIFICATION 00029 !! ------------ 00030 !! 00031 !! Original 08/01/98 00032 !! 00033 !---------------------------------------------------------------------------- 00034 ! 00035 !* 0. DECLARATION 00036 ! ----------- 00037 ! 00038 ! 00039 ! 00040 USE MODE_WRITE_COVER_TEX 00041 00042 USE MODD_WRITE_COVER_TEX,ONLY : NTEX, CNAME, CLANG, NLINES 00043 USE MODD_SURF_PAR, ONLY : XUNDEF 00044 USE MODD_DATA_COVER, ONLY : XDATA_SEA, XDATA_WATER, XDATA_NATURE, XDATA_TOWN 00045 00046 USE MODD_DATA_COVER_PAR, ONLY : JPCOVER 00047 ! 00048 ! 00049 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00050 USE PARKIND1 ,ONLY : JPRB 00051 ! 00052 IMPLICIT NONE 00053 ! 00054 !* 0.1 Declaration of arguments 00055 ! ------------------------ 00056 ! 00057 ! 00058 !* 0.2 Declaration of local variables 00059 ! ------------------------------ 00060 ! 00061 ! 00062 ! 00063 INTEGER :: I,IP 00064 ! 00065 CHARACTER(LEN=5), DIMENSION(4 ) :: YDATA_SURFTYPE! main surface type 00066 CHARACTER(LEN=6) :: YSTRING6 00067 ! 00068 CHARACTER(LEN=200):: YFMT ! fortran format 00069 ! 00070 LOGICAL :: GLINE ! flag to write an additional horizontal line 00071 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00072 ! 00073 !------------------------------------------------------------------------------- 00074 ! 00075 IF (LHOOK) CALL DR_HOOK('WRITE_COVER_TEX_COVER',0,ZHOOK_HANDLE) 00076 IF (NTEX==0 .AND. LHOOK) CALL DR_HOOK('WRITE_COVER_TEX_COVER',1,ZHOOK_HANDLE) 00077 IF (NTEX==0) RETURN 00078 GLINE = .FALSE. 00079 ! 00080 ! 00081 I=0 00082 DO 00083 00084 IF (I==JPCOVER) EXIT 00085 00086 WRITE(NTEX,*) 00087 '\medskip\' WRITE(NTEX,*) '\begin{tabular}{||r|l||c|c|c|c|c||} 00088 ' WRITE(NTEX,*) '\hline 00089 ' WRITE(NTEX,*) '\hline 00090 ' IF (CLANG=='EN 00091 ') THEN WRITE(NTEX,*) '&& urban and & cultivated and &inland waters&seas and 00092 ' WRITE(NTEX,*) '&Cover Type& artificial areas & natural areas&&oceans 00093 00094 00095 00096 00097 ' ELSE WRITE(NTEX,*) "&& zones urbanis\'ees & zones cultiv\'ees &eaux int\'erieures& mers et\\" WRITE(NTEX,*) "&Type de Surface& ou artificielles & ou naturelles &&oc\'eans\\" END IF WRITE(NTEX,*) '\hline 00098 ' WRITE(NTEX,*) '\hline 00099 00100 00101 00102 00103 00104 00105 00106 ' IP=0 DO IF (I==JPCOVER) EXIT I=I+1 IF (XDATA_TOWN(I)+XDATA_NATURE(I)+XDATA_WATER(I)+XDATA_SEA(I)>0.) THEN IP=IP+1 IF (XDATA_TOWN (I)==0.) THEN YDATA_SURFTYPE(1) = ' 00107 00108 ' ELSE WRITE(YFMT,'(A2,I1,A1,I1,A1)') '(F',NB(XDATA_TOWN(I)),'.',DEC(XDATA_TOWN(I)),') 00109 00110 00111 00112 00113 ' WRITE(YSTRING6, FMT=YFMT) XDATA_TOWN(I) YDATA_SURFTYPE(1) = YSTRING6 END IF IF (XDATA_NATURE(I)==0.) THEN YDATA_SURFTYPE(2) = ' 00114 00115 ' ELSE WRITE(YFMT,'(A2,I1,A1,I1,A1)') '(F',NB(XDATA_NATURE(I)),'.',DEC(XDATA_NATURE(I)),') 00116 00117 00118 00119 00120 ' WRITE(YSTRING6, FMT=YFMT) XDATA_NATURE(I) YDATA_SURFTYPE(2) = YSTRING6 END IF IF (XDATA_WATER (I)==0.) THEN YDATA_SURFTYPE(3) = ' 00121 00122 ' ELSE WRITE(YFMT,'(A2,I1,A1,I1,A1)') '(F',NB(XDATA_WATER(I)),'.',DEC(XDATA_WATER(I)),') 00123 00124 00125 00126 00127 ' WRITE(YSTRING6, FMT=YFMT) XDATA_WATER(I) YDATA_SURFTYPE(3) = YSTRING6 END IF IF (XDATA_SEA (I)==0.) THEN YDATA_SURFTYPE(4) = ' 00128 00129 ' ELSE WRITE(YFMT,'(A2,I1,A1,I1,A1)') '(F',NB(XDATA_SEA(I)),'.',DEC(XDATA_SEA(I)),') 00130 00131 00132 00133 00134 00135 ' WRITE(YSTRING6, FMT=YFMT) XDATA_SEA(I) YDATA_SURFTYPE(4) = YSTRING6 END IF WRITE(NTEX, FMT=*) & I,' & ',CNAME(I),' & ',YDATA_SURFTYPE(1),' & ',YDATA_SURFTYPE(2),' & 00136 ',& YDATA_SURFTYPE(3),' & ', YDATA_SURFTYPE(4), ' 00137 00138 ' GLINE=.TRUE. WRITE(NTEX,*) '\hline 00139 00140 00141 00142 00143 00144 ' CALL HLINE(NTEX,GLINE,I) IF (IP==NLINES) EXIT END IF END DO WRITE(NTEX,*) '\end{tabular} 00145 00146 00147 00148 '!!-------------------------------------------------------------------------------! WRITE(NTEX,*) '\clearpage 00149 00150 00151 00152 '!!ENDDOIF (LHOOK) CALL DR_HOOK('WRITE_COVER_TEX_COVER 00153 00154 00155 00156