SURFEX  V8_0
Surfex V8_0 release
 All Classes Files Functions Variables
write_cover_tex_teb.F90
Go to the documentation of this file.
1 !SFX_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
2 !SFX_LIC This is part of the SURFEX software governed by the CeCILL-C licence
3 !SFX_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
4 !SFX_LIC for details. version 1.
5 ! ##########################
6  SUBROUTINE write_cover_tex_teb
7 ! ##########################
8 !
9 !!**** *WRITE_COVER_TEX* writes the TEB data arrays into a tex file
10 !!
11 !! PURPOSE
12 !! -------
13 !!
14 !! METHOD
15 !! ------
16 !!
17 !!
18 !! EXTERNAL
19 !! --------
20 !!
21 !! IMPLICIT ARGUMENTS
22 !! ------------------
23 !!
24 !! REFERENCE
25 !! ---------
26 !!
27 !! AUTHOR
28 !! ------
29 !!
30 !! V. Masson Meteo-France
31 !!
32 !! MODIFICATION
33 !! ------------
34 !!
35 !! Original 08/01/98
36 !!
37 !----------------------------------------------------------------------------
38 !
39 !* 0. DECLARATION
40 ! -----------
41 !
42 !
43 !
45 
46 USE modd_write_cover_tex,ONLY : ntex, cname, clang, nlines
47 USE modd_surf_par, ONLY : xundef
48 USE modd_data_cover, ONLY : xdata_town, xdata_wall_o_hor, &
49  xdata_alb_roof, xdata_emis_roof, &
50  xdata_alb_road, xdata_emis_road, &
51  xdata_alb_wall, xdata_emis_wall, &
52  xdata_hc_roof, xdata_tc_roof, &
53  xdata_d_roof, xdata_hc_road, &
54  xdata_tc_road, xdata_d_road, &
55  xdata_hc_wall, xdata_tc_wall, &
56  xdata_d_wall, xdata_can_hw_ratio, &
57  xdata_z0_town, xdata_bld, &
58  xdata_bld_height
59 
60 
61 USE modd_data_cover_par, ONLY : jpcover
62 !
63 !
64 USE yomhook ,ONLY : lhook, dr_hook
65 USE parkind1 ,ONLY : jprb
66 !
67 IMPLICIT NONE
68 !
69 !* 0.1 Declaration of arguments
70 ! ------------------------
71 !
72 !
73 !* 0.2 Declaration of local variables
74 ! ------------------------------
75 !
76 !
77 !
78 INTEGER :: i,ip
79 !
80  CHARACTER(LEN=6), DIMENSION(8) :: ydata_town ! town parameters
81  CHARACTER(LEN=6), DIMENSION(9) :: ydata_mate ! materials parameters
82  CHARACTER(LEN=6) :: ystring6
83 !
84  CHARACTER(LEN=200):: yfmt ! fortran format
85 LOGICAL :: gline ! flag to write an additional horizontal line
86 !
87 REAL, DIMENSION(JPCOVER) :: zdata_svf_road,zdata_svf_wall
88 REAL, DIMENSION(SIZE(XDATA_HC_ROOF,1),SIZE(XDATA_HC_ROOF,2)) :: zdata_hc_roof,zdata_hc_road,zdata_hc_wall
89 REAL(KIND=JPRB) :: zhook_handle
90 !-------------------------------------------------------------------------------
91 !
92 IF (lhook) CALL dr_hook('WRITE_COVER_TEX_TEB',0,zhook_handle)
93 IF (ntex==0 .AND. lhook) CALL dr_hook('WRITE_COVER_TEX_TEB',1,zhook_handle)
94 IF (ntex==0) RETURN
95 gline=.false.
96 !
97 zdata_svf_road=xundef
98 zdata_svf_wall=xundef
99 WHERE (xdata_can_hw_ratio.NE.xundef)
100  zdata_svf_road = sqrt(xdata_can_hw_ratio**2+1.) - xdata_can_hw_ratio
101  WHERE (xdata_can_hw_ratio>0.)
102  zdata_svf_wall = 0.5 * (xdata_can_hw_ratio + 1. - sqrt(xdata_can_hw_ratio**2+1.) ) &
103  / xdata_can_hw_ratio
104  ELSEWHERE
105  zdata_svf_wall = 0.5
106  END WHERE
107 END WHERE
108 
109 zdata_hc_roof=xdata_hc_roof
110 zdata_hc_road=xdata_hc_road
111 zdata_hc_wall=xdata_hc_wall
112 WHERE (zdata_hc_roof.EQ.xundef)
113  zdata_hc_roof=xundef*1.e+6
114 END WHERE
115 WHERE (zdata_hc_road.EQ.xundef)
116  zdata_hc_road=xundef*1.e+6
117 END WHERE
118 WHERE (zdata_hc_wall.EQ.xundef)
119  zdata_hc_wall=xundef*1.e+6
120 END WHERE
121 !
122 !-------------------------------------------------------------------------------
123 !
124 i=0
125 DO
126  IF (i==jpcover) EXIT
127 
128  IF (clang=='EN') THEN
129  WRITE(ntex,*) '{\bf town parameters (1)}\'
130  ELSE
131  WRITE(NTEX,*) '{\bf param\`etres de ville(1)}
132  END IF
133  WRITE(ntex,*) '\medskip\'
134  WRITE(NTEX,*) '\begin{tabular}{||r|l||c|c|c|c|c|c|c||}'
135  WRITE(NTEX,*) '\hline'
136  WRITE(NTEX,*) '\hline'
137  WRITE(NTEX,*) '&&$z_{0_{town}}$&bld frac.&$h$&h/l&{h/w} $^\star$&'
138  WRITE(NTEX,*) '$\alpha_{_{roof}}$&'
139  WRITE(NTEX,*) '$\epsilon_{_{roof}}$'
140  WRITE(NTEX,*) '\hline'
141  WRITE(NTEX,*) '\hline'
142  IP=0
143  DO
144  IF (I==JPCOVER) EXIT
145  I=I+1
146 .AND..NE. IF (XDATA_TOWN(I)>0. XDATA_Z0_TOWN(I)XUNDEF) THEN
147  IP=IP+1
148  WRITE(YFMT,'(a2,i1,a1,i1,a1)') '(f',NB(XDATA_Z0_TOWN(I)),'.',DEC(XDATA_Z0_TOWN(I)),')'
149  WRITE(YSTRING6, FMT=YFMT) XDATA_Z0_TOWN(I)
150  YDATA_TOWN(1) = YSTRING6
151  WRITE(YFMT,'(a2,i1,a1,i1,a1)') '(f',NB(XDATA_BLD(I)),'.',DEC(XDATA_BLD(I)),')'
152  WRITE(YSTRING6, FMT=YFMT) XDATA_BLD(I)
153  YDATA_TOWN(2) = YSTRING6
154  WRITE(YFMT,'(a2,i1,a1,i1,a1)') '(f',NB(XDATA_BLD_HEIGHT(I)),'.',DEC(XDATA_BLD_HEIGHT(I)),')'
155  WRITE(YSTRING6, FMT=YFMT) XDATA_BLD_HEIGHT(I)
156  YDATA_TOWN(3) = YSTRING6
157  WRITE(YFMT,'(a2,i1,a1,i1,a1)') '(f',NB(XDATA_WALL_O_HOR(I)),'.',DEC(XDATA_WALL_O_HOR(I)),')'
158  WRITE(YSTRING6, FMT=YFMT) XDATA_WALL_O_HOR(I)
159  YDATA_TOWN(4) = YSTRING6
160  WRITE(YFMT,'(a2,i1,a1,i1,a1)') '(f',NB(XDATA_CAN_HW_RATIO(I)),'.',DEC(XDATA_CAN_HW_RATIO(I)),')'
161  WRITE(YSTRING6, FMT=YFMT) XDATA_CAN_HW_RATIO(I)
162  YDATA_TOWN(5) = YSTRING6
163  WRITE(YSTRING6, FMT='(f3.2)') XDATA_ALB_ROOF(I)
164  YDATA_TOWN(6) = YSTRING6
165  WRITE(YSTRING6, FMT='(f3.2)') XDATA_EMIS_ROOF(I)
166  YDATA_TOWN(7) = YSTRING6
167 
168  WRITE(NTEX, FMT=*) &
169  I,' &',CNAME(I),' &', YDATA_TOWN(1),' &',YDATA_TOWN(2),' &', &
170  YDATA_TOWN(3),' &', YDATA_TOWN(4),' &', &
171  YDATA_TOWN(5),' &', YDATA_TOWN(6),' &', &
172  YDATA_TOWN(7),' '
173  GLINE=.TRUE.
174  WRITE(NTEX,*) '\hline'
175  END IF
176  CALL HLINE(NTEX,GLINE,I)
177  IF (IP==NLINES) EXIT
178  END DO
179  WRITE(NTEX,*) '\end{tabular}'
180  WRITE(NTEX,*) ' '
181  WRITE(NTEX,*) '\bigskip'
182 
183 ENDDO
184 !
185 
186 I=0
187 DO
188  IF (I==JPCOVER) EXIT
189 
190  IF (CLANG=='en') THEN
191  WRITE(NTEX,*) '{\bf town parameters(2)}
192  ELSE
193  WRITE(ntex,*) '{\bf param\`etres de ville (2)}\'
194  END IF
195  WRITE(NTEX,*) '\begin{tabular}{||r|l||c|c|c|c|c|c||}'
196  WRITE(NTEX,*) '\hline'
197  WRITE(NTEX,*) '\hline'
198  WRITE(NTEX,*) '&&$\alpha_{_{road}}$&'
199  WRITE(NTEX,*) '$\epsilon_{_{road}}$&$\psi_{s_{road}}$ $^\dagger$&'
200  WRITE(NTEX,*) '$\alpha_{_{wall}}$&'
201  WRITE(NTEX,*) '$\epsilon_{_{wall}}$&$\psi_{s_{wall}}$ $^\ddagger$'
202  WRITE(NTEX,*) '\hline'
203  WRITE(NTEX,*) '\hline'
204  IP=0
205  DO
206  IF (I==JPCOVER) EXIT
207  I=I+1
208 .AND..NE. IF (XDATA_TOWN(I)>0. XDATA_Z0_TOWN(I)XUNDEF) THEN
209  IP=IP+1
210  WRITE(YSTRING6, FMT='(f3.2)') XDATA_ALB_ROAD(I)
211  YDATA_TOWN(1) = YSTRING6
212  WRITE(YSTRING6, FMT='(f3.2)') XDATA_EMIS_ROAD(I)
213  YDATA_TOWN(2) = YSTRING6
214  WRITE(YFMT,'(a2,i1,a1,i1,a1)') '(f',NB(ZDATA_SVF_ROAD(I)),'.',DEC(ZDATA_SVF_ROAD(I)),')'
215  WRITE(YSTRING6, FMT=YFMT) ZDATA_SVF_ROAD(I)
216  YDATA_TOWN(3) = YSTRING6
217  WRITE(YSTRING6, FMT='(f3.2)') XDATA_ALB_WALL(I)
218  YDATA_TOWN(4) = YSTRING6
219  WRITE(YSTRING6, FMT='(f3.2)') XDATA_EMIS_WALL(I)
220  YDATA_TOWN(5) = YSTRING6
221  WRITE(YFMT,'(a2,i1,a1,i1,a1)') '(f',NB(ZDATA_SVF_WALL(I)),'.',DEC(ZDATA_SVF_WALL(I)),')'
222  WRITE(YSTRING6, FMT='(f3.2)') ZDATA_SVF_WALL(I)
223  YDATA_TOWN(6) = YSTRING6
224 
225  WRITE(NTEX, FMT=*) &
226  I,' &',CNAME(I),' &', YDATA_TOWN(1),' &',YDATA_TOWN(2),' &', &
227  YDATA_TOWN(3),' &', YDATA_TOWN(4),' &', &
228  YDATA_TOWN(5),' &', YDATA_TOWN(6),' '
229  GLINE=.TRUE.
230  WRITE(NTEX,*) '\hline'
231  END IF
232  CALL HLINE(NTEX,GLINE,I)
233  IF (IP==NLINES) EXIT
234  END DO
235  WRITE(NTEX,*) '\end{tabular}'
236  WRITE(NTEX,*) ' '
237  WRITE(NTEX,*) '\bigskip'
238  WRITE(NTEX,*) ' '
239  WRITE(NTEX,*) '\bigskip'
240  WRITE(NTEX,*) ' '
241 ENDDO
242 !
243 !
244 !-------------------------------------------------------------------------------
245 !
246 I=0
247 DO
248  IF (I==JPCOVER) EXIT
249 
250  IF (CLANG=='en') THEN
251  WRITE(NTEX,*) '$^\star$ {h/w} is computed from the vegetation fraction, the building '
252  WRITE(NTEX,*) 'fraction of artificial area, and h/l'
253  ELSE
254  WRITE(NTEX,*) "$^\star$ {h/W} est calcul\'e \`a partir de la fraction de v\'eg\'etation,"
255  WRITE(NTEX,*) 'de la fraction de batiments dans la surface construite, et de h/l'
256  END IF
257  WRITE(NTEX,*) ' '
258  WRITE(NTEX,*) '$^\dagger$ $\psi_{s_{road}} = \sqrt{\frac{h^2}{w^2}+1}-\frac{h}{w}$ '
259  WRITE(NTEX,*) ' '
260  WRITE(NTEX,*) '$^\ddagger$ $\psi_{s_{wall}} = \frac{1}{2}\frac{w}{h}\left(\frac{h}{w}+1-\sqrt{\frac{h^2}{w^2}+1}\right)$'
261 
262 
263  WRITE(NTEX,*) ' '
264  WRITE(NTEX,*) '\bigskip'
265  IF (CLANG=='en') THEN
266  WRITE(NTEX,*) '{\bf roof thermal parameters }'
267  ELSE
268  WRITE(NTEX,*) '{\bf param\`etres thermiques des toits}'
269  END IF
270  WRITE(NTEX,*) '\medskip
271  WRITE(ntex,*) '\begin{tabular}{||r|l||c|c|c|c|c|c|c|c|c||}'
272  WRITE(ntex,*) '\hline'
273  WRITE(ntex,*) '\hline'
274  WRITE(ntex,*) '&&$C_{_{roof}}^{(1)}$&$C_{_{roof}}^{(2)}$&$C_{_{roof}}^{(3)}$&'
275  WRITE(ntex,*) '$\lambda_{_{roof}}^{(1)}$&$\lambda_{_{roof}}^{(2)}$&$\lambda_{_{roof}}^{(3)}$&'
276  WRITE(ntex,*) '$D_{_{roof}}^{(1)}$&$D_{_{roof}}^{(2)}$&$D_{_{roof}}^{(3)}$\\'
277  WRITE(ntex,*) '\hline'
278  WRITE(ntex,*) '\hline'
279  ip=0
280  DO
281  IF (i==jpcover) EXIT
282  i=i+1
283 
284  IF (xdata_town(i)>0. .AND. xdata_z0_town(i).NE.xundef) THEN
285  ip=ip+1
286 
287  WRITE(yfmt,'(A2,I1,A1,I1,A1)') '(F',nb(zdata_hc_roof(i,1)*1.e-6),'.',dec(zdata_hc_roof(i,1)*1.e-6),')'
288  WRITE(ystring6, fmt=yfmt) zdata_hc_roof(i,1)*1.e-6
289  ydata_mate(1) = ystring6
290  WRITE(yfmt,'(A2,I1,A1,I1,A1)') '(F',nb(zdata_hc_roof(i,2)*1.e-6),'.',dec(zdata_hc_roof(i,2)*1.e-6),')'
291  WRITE(ystring6, fmt=yfmt) zdata_hc_roof(i,2)*1.e-6
292  ydata_mate(2) = ystring6
293  WRITE(yfmt,'(A2,I1,A1,I1,A1)') '(F',nb(zdata_hc_roof(i,3)*1.e-6),'.',dec(zdata_hc_roof(i,3)*1.e-6),')'
294  WRITE(ystring6, fmt=yfmt) zdata_hc_roof(i,3)*1.e-6
295  ydata_mate(3) = ystring6
296  WRITE(yfmt,'(A2,I1,A1,I1,A1)') '(F',nb(xdata_tc_roof(i,1)),'.',dec(xdata_tc_roof(i,1)),')'
297  WRITE(ystring6, fmt=yfmt) xdata_tc_roof(i,1)
298  ydata_mate(4) = ystring6
299  WRITE(yfmt,'(A2,I1,A1,I1,A1)') '(F',nb(xdata_tc_roof(i,2)),'.',dec(xdata_tc_roof(i,2)),')'
300  WRITE(ystring6, fmt=yfmt) xdata_tc_roof(i,2)
301  ydata_mate(5) = ystring6
302  WRITE(yfmt,'(A2,I1,A1,I1,A1)') '(F',nb(xdata_tc_roof(i,3)),'.',dec(xdata_tc_roof(i,3)),')'
303  WRITE(ystring6, fmt=yfmt) xdata_tc_roof(i,3)
304  ydata_mate(6) = ystring6
305  WRITE(yfmt,'(A2,I1,A1,I1,A1)') '(F',nb(xdata_d_roof(i,1)),'.',dec(xdata_d_roof(i,1)),')'
306  WRITE(ystring6, fmt=yfmt) xdata_d_roof(i,1)
307  ydata_mate(7) = ystring6
308  WRITE(yfmt,'(A2,I1,A1,I1,A1)') '(F',nb(xdata_d_roof(i,2)),'.',dec(xdata_d_roof(i,2)),')'
309  WRITE(ystring6, fmt=yfmt) xdata_d_roof(i,2)
310  ydata_mate(8) = ystring6
311  WRITE(yfmt,'(A2,I1,A1,I1,A1)') '(F',nb(xdata_d_roof(i,3)),'.',dec(xdata_d_roof(i,3)),')'
312  WRITE(ystring6, fmt=yfmt) xdata_d_roof(i,3)
313  ydata_mate(9) = ystring6
314 
315 
316  WRITE(ntex, fmt=*) &
317  i,' &',cname(i),' &', ydata_mate(1),' &',ydata_mate(2),' &', &
318  ydata_mate(3),' &', ydata_mate(4),' &', &
319  ydata_mate(5),' &', ydata_mate(6),' &', &
320  ydata_mate(7),' &', ydata_mate(8),' &',ydata_mate(9),' \\'
321  WRITE(ntex,*) '\hline'
322  gline=.true.
323  END IF
324  CALL hline(ntex,gline,i)
325  IF (ip==nlines) EXIT
326  END DO
327  WRITE(ntex,*) '\end{tabular}'
328 !
329 !
330  WRITE(ntex,*) ' '
331  WRITE(ntex,*) '\bigskip'
332 ENDDO
333 
334 i=0
335 DO
336  IF (i==jpcover) EXIT
337  IF (clang=='EN') THEN
338  WRITE(ntex,*) '{\bf road thermal parameters}\\'
339  ELSE
340  WRITE(ntex,*) '{\bf param\`etres thermiques des rues}\\'
341  END IF
342  WRITE(ntex,*) '\medskip\'
343  WRITE(NTEX,*) '\begin{tabular}{||r|l||c|c|c|c|c|c|c|c|c||}'
344  WRITE(NTEX,*) '\hline'
345  WRITE(NTEX,*) '\hline'
346  WRITE(NTEX,*) '&&$c_{_{road}}^{(1)}$&$c_{_{road}}^{(2)}$&$c_{_{road}}^{(3)}$&'
347  WRITE(NTEX,*) '$\lambda_{_{road}}^{(1)}$&$\lambda_{_{road}}^{(2)}$&$\lambda_{_{road}}^{(3)}$&'
348  WRITE(NTEX,*) '$d_{_{road}}^{(1)}$&$d_{_{road}}^{(2)}$&$d_{_{road}}^{(3)}$'
349  WRITE(NTEX,*) '\hline'
350  WRITE(NTEX,*) '\hline'
351  IP=0
352  DO
353  IF (I==JPCOVER) EXIT
354  I=I+1
355 .AND..NE. IF (XDATA_TOWN(I)>0. XDATA_Z0_TOWN(I)XUNDEF) THEN
356  IP=IP+1
357  WRITE(YFMT,'(a2,i1,a1,i1,a1)') '(f',NB(ZDATA_HC_ROAD(I,1)*1.E-6),'.',DEC(ZDATA_HC_ROAD(I,1)*1.E-6),')'
358  WRITE(YSTRING6, FMT=YFMT) ZDATA_HC_ROAD(I,1)*1.E-6
359  YDATA_MATE(1) = YSTRING6
360  WRITE(YFMT,'(a2,i1,a1,i1,a1)') '(f',NB(ZDATA_HC_ROAD(I,2)*1.E-6),'.',DEC(ZDATA_HC_ROAD(I,2)*1.E-6),')'
361  WRITE(YSTRING6, FMT=YFMT) ZDATA_HC_ROAD(I,2)*1.E-6
362  YDATA_MATE(2) = YSTRING6
363  WRITE(YFMT,'(a2,i1,a1,i1,a1)') '(f',NB(ZDATA_HC_ROAD(I,3)*1.E-6),'.',DEC(ZDATA_HC_ROAD(I,3)*1.E-6),')'
364  WRITE(YSTRING6, FMT=YFMT) ZDATA_HC_ROAD(I,3)*1.E-6
365  YDATA_MATE(3) = YSTRING6
366  WRITE(YFMT,'(a2,i1,a1,i1,a1)') '(f',NB(XDATA_TC_ROAD(I,1)),'.',DEC(XDATA_TC_ROAD(I,1)),')'
367  WRITE(YSTRING6, FMT=YFMT) XDATA_TC_ROAD(I,1)
368  YDATA_MATE(4) = YSTRING6
369  WRITE(YFMT,'(a2,i1,a1,i1,a1)') '(f',NB(XDATA_TC_ROAD(I,2)),'.',DEC(XDATA_TC_ROAD(I,2)),')'
370  WRITE(YSTRING6, FMT=YFMT) XDATA_TC_ROAD(I,2)
371  YDATA_MATE(5) = YSTRING6
372  WRITE(YFMT,'(a2,i1,a1,i1,a1)') '(f',NB(XDATA_TC_ROAD(I,3)),'.',DEC(XDATA_TC_ROAD(I,3)),')'
373  WRITE(YSTRING6, FMT=YFMT) XDATA_TC_ROAD(I,3)
374  YDATA_MATE(6) = YSTRING6
375  WRITE(YFMT,'(a2,i1,a1,i1,a1)') '(f',NB(XDATA_D_ROAD(I,1)),'.',DEC(XDATA_D_ROAD(I,1)),')'
376  WRITE(YSTRING6, FMT=YFMT) XDATA_D_ROAD(I,1)
377  YDATA_MATE(7) = YSTRING6
378  WRITE(YFMT,'(a2,i1,a1,i1,a1)') '(f',NB(XDATA_D_ROAD(I,2)),'.',DEC(XDATA_D_ROAD(I,2)),')'
379  WRITE(YSTRING6, FMT=YFMT) XDATA_D_ROAD(I,2)
380  YDATA_MATE(8) = YSTRING6
381  WRITE(YFMT,'(a2,i1,a1,i1,a1)') '(f',NB(XDATA_D_ROAD(I,3)),'.',DEC(XDATA_D_ROAD(I,3)),')'
382  WRITE(YSTRING6, FMT=YFMT) XDATA_D_ROAD(I,3)
383  YDATA_MATE(9) = YSTRING6
384 
385 
386  WRITE(NTEX, FMT=*) &
387  I,' &',CNAME(I),' &', YDATA_MATE(1),' &',YDATA_MATE(2),' &', &
388  YDATA_MATE(3),' &', YDATA_MATE(4),' &', &
389  YDATA_MATE(5),' &', YDATA_MATE(6),' &', &
390  YDATA_MATE(7),' &', YDATA_MATE(8),' &',YDATA_MATE(9),' '
391  WRITE(NTEX,*) '\hline'
392  GLINE=.TRUE.
393  END IF
394  CALL HLINE(NTEX,GLINE,I)
395  IF (IP==NLINES) EXIT
396  END DO
397  WRITE(NTEX,*) '\end{tabular}'
398 !
399 !
400  WRITE(NTEX,*) ' '
401  WRITE(NTEX,*) '\bigskip'
402 ENDDO
403 
404 I=0
405 DO
406  IF (I==JPCOVER) EXIT
407  IF (CLANG=='en') THEN
408  WRITE(NTEX,*) '{\bf wall thermal parameters}'
409  ELSE
410  WRITE(NTEX,*) '{\bf param\`etres thermiques des murs}'
411  END IF
412  WRITE(NTEX,*) '\medskip
413  WRITE(ntex,*) '\begin{tabular}{||r|l||c|c|c|c|c|c|c|c|c||}'
414  WRITE(ntex,*) '\hline'
415  WRITE(ntex,*) '\hline'
416  WRITE(ntex,*) '&&$C_{_{wall}}^{(1)}$&$C_{_{wall}}^{(2)}$&$C_{_{wall}}^{(3)}$&'
417  WRITE(ntex,*) '$\lambda_{_{wall}}^{(1)}$&$\lambda_{_{wall}}^{(2)}$&$\lambda_{_{wall}}^{(3)}$&'
418  WRITE(ntex,*) '$D_{_{wall}}^{(1)}$&$D_{_{wall}}^{(2)}$&$D_{_{wall}}^{(3)}$\\'
419  WRITE(ntex,*) '\hline'
420  WRITE(ntex,*) '\hline'
421  ip=0
422  DO
423  IF (i==jpcover) EXIT
424  i=i+1
425  IF (xdata_town(i)>0. .AND. xdata_z0_town(i).NE.xundef) THEN
426  ip=ip+1
427  WRITE(yfmt,'(A2,I1,A1,I1,A1)') '(F',nb(zdata_hc_wall(i,1)*1.e-6),'.',dec(zdata_hc_wall(i,1)*1.e-6),')'
428  WRITE(ystring6, fmt=yfmt) zdata_hc_wall(i,1)*1.e-6
429  ydata_mate(1) = ystring6
430  WRITE(yfmt,'(A2,I1,A1,I1,A1)') '(F',nb(zdata_hc_wall(i,2)*1.e-6),'.',dec(zdata_hc_wall(i,2)*1.e-6),')'
431  WRITE(ystring6, fmt=yfmt) zdata_hc_wall(i,2)*1.e-6
432  ydata_mate(2) = ystring6
433  WRITE(yfmt,'(A2,I1,A1,I1,A1)') '(F',nb(zdata_hc_wall(i,3)*1.e-6),'.',dec(zdata_hc_wall(i,3)*1.e-6),')'
434  WRITE(ystring6, fmt=yfmt) zdata_hc_wall(i,3)*1.e-6
435  ydata_mate(3) = ystring6
436  WRITE(yfmt,'(A2,I1,A1,I1,A1)') '(F',nb(xdata_tc_wall(i,1)),'.',dec(xdata_tc_wall(i,1)),')'
437  WRITE(ystring6, fmt=yfmt) xdata_tc_wall(i,1)
438  ydata_mate(4) = ystring6
439  WRITE(yfmt,'(A2,I1,A1,I1,A1)') '(F',nb(xdata_tc_wall(i,2)),'.',dec(xdata_tc_wall(i,2)),')'
440  WRITE(ystring6, fmt=yfmt) xdata_tc_wall(i,2)
441  ydata_mate(5) = ystring6
442  WRITE(yfmt,'(A2,I1,A1,I1,A1)') '(F',nb(xdata_tc_wall(i,3)),'.',dec(xdata_tc_wall(i,3)),')'
443  WRITE(ystring6, fmt=yfmt) xdata_tc_wall(i,3)
444  ydata_mate(6) = ystring6
445  WRITE(yfmt,'(A2,I1,A1,I1,A1)') '(F',nb(xdata_d_wall(i,1)),'.',dec(xdata_d_wall(i,1)),')'
446  WRITE(ystring6, fmt=yfmt) xdata_d_wall(i,1)
447  ydata_mate(7) = ystring6
448  WRITE(yfmt,'(A2,I1,A1,I1,A1)') '(F',nb(xdata_d_wall(i,2)),'.',dec(xdata_d_wall(i,2)),')'
449  WRITE(ystring6, fmt=yfmt) xdata_d_wall(i,2)
450  ydata_mate(8) = ystring6
451  WRITE(yfmt,'(A2,I1,A1,I1,A1)') '(F',nb(xdata_d_wall(i,3)),'.',dec(xdata_d_wall(i,3)),')'
452  WRITE(ystring6, fmt=yfmt) xdata_d_wall(i,3)
453  ydata_mate(9) = ystring6
454 
455 
456  WRITE(ntex, fmt=*) &
457  i,' &',cname(i),' &', ydata_mate(1),' &',ydata_mate(2),' &', &
458  ydata_mate(3),' &', ydata_mate(4),' &', &
459  ydata_mate(5),' &', ydata_mate(6),' &', &
460  ydata_mate(7),' &', ydata_mate(8),' &',ydata_mate(9),' \\'
461  WRITE(ntex,*) '\hline'
462  gline=.true.
463  END IF
464  CALL hline(ntex,gline,i)
465  IF (ip==nlines) EXIT
466  END DO
467  WRITE(ntex,*) '\end{tabular}'
468 !
469 !-------------------------------------------------------------------------------
470 !
471  WRITE(ntex,*) '\clearpage'
472 !
473 ENDDO
474 IF (lhook) CALL dr_hook('WRITE_COVER_TEX_TEB',1,zhook_handle)
475 !-------------------------------------------------------------------------------
476 !
477 !
478 END SUBROUTINE write_cover_tex_teb
subroutine write_cover_tex_teb
integer function dec(PX, KMAX)
integer function nb(PX, KMAX)
subroutine hline(KTEX, GLINE, I)