53 USE modd_data_cover_par
, ONLY : jpcover, nvegtype, nvt_no, nvt_rock, &
54 nvt_snow, nvt_tebd, nvt_bone, nvt_trbe, &
55 nvt_c3, nvt_c4, nvt_irr, nvt_gras, &
56 nvt_trog,nvt_park, nvt_trbd, nvt_tebe, &
57 nvt_tene, nvt_bobd, nvt_bond, nvt_bogr, &
58 nvt_shrb, nvt_c3w, nvt_c3s, nvt_fltr, &
71 INTEGER,
INTENT(IN) :: KPATCH
72 INTEGER,
INTENT(IN) :: KLAYER
73 CHARACTER(LEN=*),
INTENT(IN) :: HISBA
81 CHARACTER(LEN=5),
DIMENSION(NVEGTYPE) :: YDATA_VEGTYPE
82 CHARACTER(LEN=6),
DIMENSION(12 ) :: YDATA_VEGPARAM
83 CHARACTER(LEN=6) :: YSTRING6
84 CHARACTER(LEN=6),
DIMENSION(12 ) :: YDATA_MONTH
86 CHARACTER(LEN=40),
DIMENSION(2) :: YPATCH
88 CHARACTER(LEN=20) :: YFMT
97 REAL(KIND=JPRB) :: ZHOOK_HANDLE
101 IF (
lhook)
CALL dr_hook(
'WRITE_COVER_TEX_ISBA',0,zhook_handle)
113 IF (
clang==
'EN')
THEN 114 WRITE(
ntex,*)
'{\bf vegetation type and main ISBA parameters$^\star$}\\' 116 WRITE(
ntex,*)
"{\bf type de v\'eg\'etation et param\`etres principaux d'ISBA $^\star$}\\" 118 WRITE(
ntex,*)
'\medskip\' 119 WRITE(NTEX,*) '\begin{tabular}{||r|l||c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c
' 120 WRITE(NTEX,*) '\
hline' 121 WRITE(NTEX,*) '\
hline' 123 !* WARNING: check the cover type order in ini_data_cover routine 125 IF (CLANG=='en
') THEN 126 WRITE(NTEX, '(
"&&bare&rocks&snow&broad.d&needl.e&ever-&C3&C4&irr.&grass&grass&irr. "', ADVANCE='no
') 127 WRITE(NTEX, '(
"broad.d&broad.e&needl.e&broad.d&needl.d&grass&shrubs\\"') 128 WRITE(NTEX, '(
"&&land&&&temp.&boreal&green&crops&crops&crops&C3&C4&grass&trop. "', ADVANCE='no
') 129 WRITE(NTEX, '(
"temp.&temp.&boreal&boreal&boreal&broad.\\")
') 131 WRITE(NTEX, '(
"&&sol&roc&neige&feuillu.d&coni.p&persis-&C3&C4&cult.&prairie&prairie "', ADVANCE='no
') 132 WRITE(NTEX, '(
"pelouse&feuillu.d&feuillu.p&aigui.p&feuillu.d&aigui.d&prairie&arbuste\\"') 133 WRITE(NTEX, '(
"&&nu&&&temp.&boreale&tants&cult.&cult.&irr.&&tropicale&&tropi.&temp. "', ADVANCE='no
') 134 WRITE(NTEX, '(
"temp.&boreale&boreale&boreale\\")
') 136 WRITE(NTEX,*) '\
hline' 137 WRITE(NTEX,*) '\
hline' 143 IF (XDATA_NATURE(I)>0.) THEN 146 IF (XDATA_VEGTYPE(I,J)==0.) THEN 147 YDATA_VEGTYPE(J) = ' ' 149 WRITE(YFMT,FMT='(a2,i1,a1,i1,a1)
') '(f
',NB(XDATA_VEGTYPE(I,J)),'',DEC(XDATA_VEGTYPE(I,J)),'' 150 WRITE(YSTRING6, FMT=YFMT) XDATA_VEGTYPE(I,J) 151 YDATA_VEGTYPE(J) = YSTRING6 156 I,' &
',CNAME(I ),' &
',YDATA_VEGTYPE(1 ),' &
',YDATA_VEGTYPE(2 ),'',& 157 YDATA_VEGTYPE(3 ),' &
',YDATA_VEGTYPE(4 ),' &
',YDATA_VEGTYPE(5 ),'',& 158 YDATA_VEGTYPE(6 ),' &
',YDATA_VEGTYPE(7 ),' &
',YDATA_VEGTYPE(8 ),'',& 159 YDATA_VEGTYPE(9 ),' &
',YDATA_VEGTYPE(10),' &
',YDATA_VEGTYPE(11),'',& 160 YDATA_VEGTYPE(12),' &
',YDATA_VEGTYPE(13),' &
',YDATA_VEGTYPE(14),'',& 161 YDATA_VEGTYPE(15),' &
',YDATA_VEGTYPE(16),' &
',YDATA_VEGTYPE(17),'',& 162 YDATA_VEGTYPE(18),' &
',YDATA_VEGTYPE(19),' ' 163 WRITE(NTEX,*) '\
hline' 166 CALL HLINE(NTEX,GLINE,I) 169 WRITE(NTEX,*) '\end{tabular}
' 171 !------------------------------------------------------------------------------- 173 WRITE(NTEX,*) '\clearpage
' 177 !------------------------------------------------------------------------------- 179 IF (CLANG=='en
') THEN 180 WRITE(NTEX,*) '{\bf computation of other
isba parameters}
181 WRITE(
ntex,*)
'\medskip\' 182 WRITE(NTEX,*) "Vegetation type, Leaf area index and height of vegetation (for trees)" 183 WRITE(NTEX,*) "are used in these computations.\" 184 WRITE(NTEX,*) '\bigskip
185 WRITE(
ntex,*)
'\underline{vegetation fraction}\' 186 WRITE(NTEX,*) '\medskip
187 WRITE(
ntex,*)
'\begin{tabular}{rll}' 188 WRITE(
ntex,*)
'veg = & $1-e^{-0.6 lai}$ & for C3, C4 and irrigated crops\\' 189 WRITE(
ntex,*)
'veg = & 0.95 & for boreale, temperate, tropical and irrigated grass\\' 190 WRITE(
ntex,*)
'veg = & 0.95 & for broadleaf and coniferous trees\\' 192 WRITE(
ntex,*)
'veg = & 0.99 & for evergreen broadleaf trees\\' 194 WRITE(
ntex,*)
'veg = & 1.00 & for evergreen broadleaf trees\\' 196 WRITE(
ntex,*)
'veg = & 0. & for bare soil, snow and rocks' 197 WRITE(
ntex,*)
'\end{tabular}' 198 WRITE(
ntex,*)
'\smallskip\' 199 WRITE(NTEX,*) 'when averaging is needed, it is performed arithmetically
' 200 WRITE(NTEX,*) "\bigskip\" 201 WRITE(NTEX,*) '\underline{roughness length for momentum}
202 WRITE(
ntex,*)
'\medskip\' 203 WRITE(NTEX,*) 'the height of the vegetation(or obstacles over bare soils
204 WRITE(
ntex,*)
'\begin{tabular}{rll}' 205 WRITE(
ntex,*)
'$h_{veg}$ = & min $(1. , h_{allen})$ & for C3 crops\\' 206 WRITE(
ntex,*)
'$h_{veg}$ = & min $(2.5, h_{allen})$ & for C4 and irrigated crops\\' 207 WRITE(
ntex,*)
'$h_{veg}$ = & $h$ & for broadleaf, coniferous and evergreen trees\\' 208 WRITE(
ntex,*)
'$h_{veg}$ = & $lai/6$ & for grassland, tropical grassland and irrigated grass\\' 209 WRITE(
ntex,*)
'$h_{veg}$ = & 0.1 m & for bare soil\\' 210 WRITE(
ntex,*)
'$h_{veg}$ = & 1. m & for rocks\\' 211 WRITE(
ntex,*)
'$h_{veg}$ = & 0.01 m & for permanent snow and ice' 212 WRITE(
ntex,*)
'\end{tabular}' 213 WRITE(
ntex,*)
'\smallskip\' 214 WRITE(NTEX,*) 'where $h_{allen} = e^{(lai-3.5)/1.3}$
215 WRITE(
ntex,*)
'The roughness length is deduced: $z_{0} = 0.13 h_{veg}$\' 216 WRITE(NTEX,*) 'when averaging is needed, it is performed according to
' 217 WRITE(NTEX,*) '$1/{\rm ln}^2(\frac{z_{0}}{10})$ quantities.
' 218 WRITE(NTEX,*) "\bigskip\" 219 WRITE(NTEX,*) '\underline{emissivity}
220 WRITE(
ntex,*)
"\medskip\" 221 WRITE(NTEX,*) "emissivity is equal to 0.97 on the vegetated part(
veg" 222 WRITE(NTEX,*) "to 0.94 on bare
soil and rocks, and to 1. on snow.
" 223 WRITE(NTEX,*) "averaging is linear.
" 224 WRITE(NTEX,*) "\bigskip
225 WRITE(
ntex,*)
'\underline{cumulative root fraction}\' 226 WRITE(NTEX,*) "\smallskip\" 227 WRITE(NTEX,*) "\begin{displaymath}" 228 WRITE(NTEX,*) "F_{root} =(1-\delta) \left[ \frac{1-A^{100\times z}}" 229 WRITE(NTEX,*) "{1 - A^{100\times d_2}} \right] + \delta \frac{z}{d_2}" 230 WRITE(NTEX,*) "\end{displaymath}" 231 WRITE(NTEX,*) "where $d_2$ is root depth, given for each 215 ecosystem (meters)," 232 WRITE(NTEX,*) "$z$ is depth (meters, " 233 WRITE(NTEX,*) "positive downwards), $\delta=0.05$ and $A$ is the extinction" 234 WRITE(NTEX,*) "coefficient after Jackson (1996) (see below).\" 235 WRITE(NTEX,*) "Averaging is linear." 236 WRITE(NTEX,*) "\bigskip\" 237 WRITE(NTEX,*) '\underline{other vegetation parameters}
238 WRITE(
ntex,*)
"\medskip\" 239 WRITE(NTEX,*) 'Other vegetation parameters are computed from the vegetation types.' 240 WRITE(NTEX,*) "the
'bare soil',
'rocks' and
'snow' vegetation types are
" 241 WRITE(NTEX,*) 'When averaging is needed,' 242 WRITE(NTEX,*) 'it is performed linearly, except for the $C_v$ parameter, where it is harmonic.' 243 WRITE(NTEX,*) '\medskip\' 244 WRITE(NTEX,*) '\begin{tabular}{||l||c|c|c|c|c|c|c|c|c|c||}' 245 WRITE(NTEX,*) '\hline' 246 WRITE(NTEX,*) '&$\alpha_{nir}$&$\alpha_{vis}$&$r_{s_{min}}$&$\gamma$&$rgl$&$gm$&$B/lai$&$e_{_{fold}}$&$C_v$&$A$\\' 247 WRITE(NTEX,*) '\hline' 248 WRITE(NTEX,*) 'brodleaf trees & .25 & .05 & 150 & .04 & 30 & .001 & .25 & 365. & 1. $10^{-5}$ & 0.966 \\' 249 WRITE(NTEX,*) 'coniferous trees & .15 & .05 & 150 & .04 & 30 & .001 & .25 & 365. & 1. $10^{-5}$ & 0.943 \\' 250 IF(XEVERG_RSMIN==250.)THEN 251 WRITE(NTEX,*) 'evergreen broadleaf trees & .21 & .05 & 250 & .04 & 30 & .001 & .25 & 365. & 1. $10^{-5}$ & 0.962 \\' 253 WRITE(NTEX,*) 'evergreen broadleaf trees & .21 & .05 & 175 & .04 & 30 & .001 & .25 & 365. & 1. $10^{-5}$ & 0.962 \\' 255 WRITE(NTEX,*) 'C3 crops & .30 & .10 & 40 & 0. & 100 & .003 & .06 & 60. & 2. $10^{-5}$& 0.961 \\' 256 WRITE(NTEX,*) 'C4 crops & .30 & .10 & 120 & 0. & 100 & .003 & .06 & 60. & 2. $10^{-5}$ & 0.972 \\' 257 WRITE(NTEX,*) 'irr. crops & .30 & .10 & 120 & 0. & 100 & .003 & .06 & 60. & 2. $10^{-5}$ & 0.961 \\' 258 WRITE(NTEX,*) 'grassland & .30 & .10 & 40 & 0. & 100 & .020 & .36 & 90. & 2. $10^{-5}$& 0.943 \\' 259 WRITE(NTEX,*) 'trop. grass & .30 & .10 & 120 & 0. & 100 & .020 & .36 & 90. & 2. $10^{-5}$ & 0.972 \\' 260 WRITE(NTEX,*) 'irr. grass & .30 & .10 & 40 & 0. & 100 & .020 & .36 & 90. & 2. $10^{-5}$& 0.943 \\' 261 WRITE(NTEX,*) '\hline' 262 WRITE(NTEX,*) '\end{tabular}' 264 WRITE(NTEX,*) "{\bf calcul des autres param\`etres d
'ISBA}\" 265 WRITE(NTEX,*) '\medskip
266 WRITE(
ntex,*)
"Les types de v\'eg\'etation, l'indice foliaire et la hauteur de la v\'eg\'etation (pour les arbres)" 267 WRITE(
ntex,*)
"sont utilis\'es dans ces calculs.\" 268 WRITE(NTEX,*) '\bigskip\' 269 WRITE(NTEX,*) "\underline{fraction de vegetation}
270 WRITE(
ntex,*)
'\medskip\' 271 WRITE(NTEX,*) "\begin{tabular}{rll}" 272 WRITE(NTEX,*) "veg = & $1-e^{-0.6 lai}$ & pour les cultures (C3, C4 et irrigu\'ees)\\" 273 WRITE(NTEX,*) "veg = & 0.95 & pour les arbres (feuillus, conif\`eres)\\" 274 IF(XEVERG_VEG==0.99)THEN 275 WRITE(NTEX,*) "veg = & 0.99 & pour les feuillus persistants\\" 277 WRITE(NTEX,*) "veg = & 1.00 & pour les feuillus persistants\\" 279 WRITE(NTEX,*) "veg = & 0.95 & pour la prairie, la prairie tropicale et la pelouse irrigu\'ee\\" 280 WRITE(NTEX,*) "veg = & 0. & pour les sols nus, la neige \'eternelle et les rochers" 281 WRITE(NTEX,*) "\end{tabular}" 282 WRITE(NTEX,*) "\smallskip\" 283 WRITE(NTEX,*) "Quand une moyenne est n\'ecessaire, elle est arithm\'etique." 284 WRITE(NTEX,*) "\bigskip\" 285 WRITE(NTEX,*) "\underline{longueur de rugosit\'e pour la quantit\'e de mouvement}\" 286 WRITE(NTEX,*) '\medskip
287 WRITE(
ntex,*)
"La hauteur de la v\'eg\'etation (ou des obstacles sur les sols nus) est calcul\'ee ainsi:\" 288 WRITE(NTEX,*) "\begin{tabular}{rll}
" 289 WRITE(NTEX,*) "$h_{
veg}$ = & min $(1. , h_{allen})$ & pour les cultures
" 290 WRITE(NTEX,*) "$h_{
veg}$ = & min $(2.5, h_{allen})$ & pour les cultures
" 291 WRITE(NTEX,*) "$h_{
veg}$ = & $h$ & pour les arbres(feuillus, conif\
" 292 WRITE(NTEX,*) "$h_{
veg}$ = & $lai/6$ & pour la prairie, la prairie tropicale
" 293 WRITE(NTEX,*) "$h_{
veg}$ = & 0.1 m & pour le sol nu
" 294 WRITE(NTEX,*) "$h_{
veg}$ = & 1. m & pour les rochers
" 295 WRITE(NTEX,*) "$h_{
veg}$ = & 0.01 m & pour les neiges eternelles
" 296 WRITE(NTEX,*) "\end{tabular}
" 297 WRITE(NTEX,*) "\smallskip
298 WRITE(
ntex,*)
"avec $h_{allen} = e^{(lai-3.5)/1.3}$\" 299 WRITE(NTEX,*) "la longueur de rugosite de la surface en est deduite
" 300 WRITE(NTEX,*) "$z_{0} = 0.13 h_{
veg}$
301 WRITE(
ntex,*)
"Quand une moyenne est n\'ecessaire, elle s'effectue sur les" 302 WRITE(
ntex,*)
"$1/{\rm ln}^2(\frac{z_{0}}{10})$." 303 WRITE(
ntex,*)
"\bigskip\" 304 WRITE(NTEX,*) "\underline{emissivite}
305 WRITE(
ntex,*)
'\medskip\' 306 WRITE(NTEX,*) "L'emissivite est egale
a 0.97 sur la partie vegetale
" 307 WRITE(NTEX,*) "0.94 sur la partie sol nu et rochers, et 1 sur la neige
" 308 WRITE(NTEX,*) "les moyennes sont lineaires.
" 309 WRITE(NTEX,*) "\bigskip
310 WRITE(
ntex,*)
"\underline{fraction cumul\'ee de racines}\" 311 WRITE(NTEX,*) "\medskip
312 WRITE(
ntex,*)
"\begin{displaymath}" 313 WRITE(
ntex,*)
"F_{root} =(1-\delta) \left[ \frac{1-A^{100\times z}}" 314 WRITE(
ntex,*)
"{1 - A^{100\times d}} \right] + \delta \frac{z}{d_2}" 315 WRITE(
ntex,*)
"\end{displaymath}" 316 WRITE(
ntex,*)
"o\`u $d_2$ est la profondeur racinaire, " 317 WRITE(
ntex,*)
"donn\'ee pour chacun des 215 ecosyst\`emes (m\`etres)," 318 WRITE(
ntex,*)
"$z$ est la profondeur (m\`etres, " 319 WRITE(
ntex,*)
"positive vers le bas), $\delta=0.05$ et $A$ est le" 320 WRITE(
ntex,*)
"coefficient d'extinction d'apr\`es Jackson (1996) (voir ci-dessous).\" 321 WRITE(NTEX,*) "les moyennes sont lineaires.
" 322 WRITE(NTEX,*) "\bigskip
323 WRITE(
ntex,*)
"\underline{autres param\`etres de v\'eg\'etation}\" 324 WRITE(NTEX,*) '\medskip\' 325 WRITE(NTEX,*) "les autres param\`etres de vegetation sont deduits
" 326 WRITE(NTEX,*) "les types
'sol nu',
'rochers' et
'neige' ne sont pas pertinents
" 327 WRITE(NTEX,*) "quand une moyenne est
necessaire, elle est lineaire
" 328 WRITE(NTEX,*) "$c_v$, o\`u elle est harmonique.
" 329 WRITE(NTEX,*) '\medskip\' 330 WRITE(NTEX,*) '\begin{tabular}{||l||c|c|c|c|c|c|c|c|c|c||}' 331 WRITE(NTEX,*) '\hline' 332 WRITE(NTEX,*) '&$\alpha_{nir}$&$\alpha_{vis}$&$r_{s_{min}}$&$\gamma$&$rgl$&$gm$&$B/lai$&$e_{_{fold}}$&$C_v$&$A$\\' 333 WRITE(NTEX,*) '\hline' 334 WRITE(NTEX,*) 'feuillus & .25 & .05 & 150 & .04 & 30 & .001 & .25 & 365. & 1. $10^{-5}$& 0.966 \\' 335 WRITE(NTEX,*) 'conif\`eres & .15 & .05 & 150 & .04 & 30 & .001 & .25 & 365. & 1. $10^{-5}$& 0.943 \\' 336 IF(XEVERG_RSMIN==250.)THEN 337 WRITE(NTEX,*) 'feuillus persistans & .21 & .05 & 250 & .04 & 30 & .001 & .25 & 365. & 1. $10^{-5}$& 0.962 \\' 339 WRITE(NTEX,*) 'feuillus persistans & .21 & .05 & 175 & .04 & 30 & .001 & .25 & 365. & 1. $10^{-5}$& 0.962 \\' 341 WRITE(NTEX,*) 'cultures C3 & .30 & .10 & 40 & 0. & 100 & .003 & .06 & 60. & 2. $10^{-5}$& 0.961 \\' 342 WRITE(NTEX,*) 'cultures C4 & .30 & .10 & 120 & 0. & 100 & .003 & .06 & 60. & 2. $10^{-5}$& 0.972 \\' 343 WRITE(NTEX,*) 'cultures irr. & .30 & .10 & 120 & 0. & 100 & .003 & .06 & 60. & 2. $10^{-5}$& 0.961 \\' 344 WRITE(NTEX,*) 'prairies & .30 & .10 & 40 & 0. & 100 & .020 & .36 & 90. & 2. $10^{-5}$&0.943 \\' 345 WRITE(NTEX,*) 'prairies trop. & .30 & .10 & 120 & 0. & 100 & .020 & .36 & 90. & 2. $10^{-5}$& 0.972 \\' 346 WRITE(NTEX,*) 'pelouse & .30 & .10 & 40 & 0. & 100 & .020 & .36 & 90. & 2. $10^{-5}$& 0.943 \\' 347 WRITE(NTEX,*) '\hline' 348 WRITE(NTEX,*) '\end{tabular}' 351 !------------------------------------------------------------------------------- 353 WRITE(NTEX,*) '\clearpage' 355 !------------------------------------------------------------------------------- 356 !------------------------------------------------------------------------------- 358 DO JVEGTYPE=1,NVEGTYPE 366 IF (JVEGTYPE==NVT_ROCK) YPATCH = (/ 'rocks ', & 368 IF (JVEGTYPE==NVT_SNOW) THEN 369 YPATCH(1) = 'permanent snow and ice ' 370 YPATCH(2) = "les neiges eternelles
" 372 IF (JVEGTYPE==NVT_NO ) YPATCH = (/ 'bare soil ', & 374 IF (JVEGTYPE==NVT_GRAS) YPATCH = (/ 'grasslands ', & 376 IF (JVEGTYPE==NVT_BOGR) YPATCH = (/ 'tundra and boreal grass ', & 377 'les prairies boreale ' /) 378 IF (JVEGTYPE==NVT_TROG) YPATCH = (/ 'tropical grasslands ', & 379 'les prairies tropicales ' /) 380 IF (JVEGTYPE==NVT_PARK) THEN 381 YPATCH(1) = 'irrigated grass ' 382 YPATCH(2) = "les pelouses irriguees
" 384 IF (JVEGTYPE==NVT_FLTR) THEN 385 YPATCH(1) = 'flooded trees ' 386 YPATCH(2) = "les arbres inondes
" 388 IF (JVEGTYPE==NVT_FLGR) THEN 389 YPATCH(1) = 'flooded grassland ' 390 YPATCH(2) = "les prairies inondees
" 392 IF (JVEGTYPE==NVT_C3) YPATCH = (/ 'C3 crops ', & 393 'les cultures C3 ' /) 394 IF (JVEGTYPE==NVT_C3W) YPATCH = (/ 'C3W crops ', & 395 'les cultures C3 dhiver ' /) 396 IF (JVEGTYPE==NVT_C3S) YPATCH = (/ 'C3S crops ', & 397 'les cultures C3 dete ' /) 398 IF (JVEGTYPE==NVT_C4) YPATCH = (/ 'C4 crops ', & 399 'les cultures C4 ' /) 400 IF (JVEGTYPE==NVT_IRR ) THEN 401 YPATCH(1) = 'irrigated crops ' 402 YPATCH(2) = "les cultures irriguees
" 404 IF (JVEGTYPE==NVT_TEBD) YPATCH = (/ 'temperate broadleaf deciduous', & 405 'les feuillus decidus tempere ' /) 406 IF (JVEGTYPE==NVT_BONE) YPATCH = (/ 'boreal needleleaf evergreen ', & 407 'coniferes boreale persistant ' /) 408 IF (JVEGTYPE==NVT_TRBE) THEN 409 YPATCH(1) = 'equatorial evergreen forest ' 410 YPATCH(2) = "les for\^ets equatoriales
" 412 IF (JVEGTYPE==NVT_TRBD) YPATCH = (/ 'tropical broadleaf deciduous ', & 413 'feuillus decidus tropical ' /) 414 IF (JVEGTYPE==NVT_TEBE) YPATCH = (/ 'temperate broadleaf evergreen', & 415 'feuillus tempere persistant ' /) 416 IF (JVEGTYPE==NVT_TENE) YPATCH = (/ 'temperate needle. evergreen ', & 417 'coniferes tempere persistant ' /) 418 IF (JVEGTYPE==NVT_BOBD) YPATCH = (/ 'boreal broadleaf deciduous ', & 419 'coniferes decidus boreale ' /) 420 IF (JVEGTYPE==NVT_BOND) YPATCH = (/ 'boreal needleleaf deciduous ', & 421 'coniferes decidus boreale ' /) 422 IF (JVEGTYPE==NVT_SHRB) YPATCH = (/ 'broadleaf shrub ', & 423 'arbustes feuillus ' /) 425 .OR..OR.
IF (JVEGTYPE==NVT_ROCK JVEGTYPE==NVT_SNOW JVEGTYPE==NVT_NO) THEN 426 IF (CLANG=='EN') THEN 427 WRITE(NTEX,*) '{\bf Ground depths for : ',YPATCH(1),'}\\' 429 WRITE(NTEX,*) "{\bf profondeurs de sol pour :
",YPATCH(2),'}\\' 432 WRITE(NTEX,*) '\medskip\' 433 WRITE(NTEX,*) '\begin{tabular}{||r|l||c|c||}' 434 WRITE(NTEX,*) '\hline' 435 WRITE(NTEX,*) '\hline' 436 WRITE(NTEX,*) '&&$d_2$&$d_3$\\' 437 WRITE(NTEX,*) '\hline' 438 WRITE(NTEX,*) '\hline' 440 IF (CLANG=='EN') THEN 441 WRITE(NTEX,*) '{\bf Leaf Area Index and ground depths for : ',YPATCH(1),'}\\' 443 WRITE(NTEX,*) "{\bf indice foliaire et profondeurs de sol pour :
",YPATCH(2),'}\\' 446 .OR..OR..OR.
IF (JVEGTYPE==NVT_TEBD JVEGTYPE==NVT_BONE JVEGTYPE==NVT_TRBE & 447 .OR..OR..OR.
JVEGTYPE==NVT_TRBD JVEGTYPE==NVT_TEBE JVEGTYPE==NVT_TENE & 448 .OR..OR.
JVEGTYPE==NVT_BOBD JVEGTYPE==NVT_BOND JVEGTYPE==NVT_SHRB ) THEN 449 WRITE(NTEX,*) '\medskip\' 450 WRITE(NTEX,*) '\begin{tabular}{||r|l||c|c|c|c|c|c|c|c|c|c|c|c||c|c||c||}' 451 WRITE(NTEX,*) '\hline' 452 WRITE(NTEX,*) '\hline' 453 WRITE(NTEX,*) '&&01&02&03&04&05&06&07&08&09&10&11&12&$d_2$&$d_3$&$h$\\' 454 WRITE(NTEX,*) '\hline' 455 WRITE(NTEX,*) '\hline' 457 WRITE(NTEX,*) '\medskip\' 458 WRITE(NTEX,*) '\begin{tabular}{||r|l||c|c|c|c|c|c|c|c|c|c|c|c||c|c||}' 459 WRITE(NTEX,*) '\hline' 460 WRITE(NTEX,*) '\hline' 461 WRITE(NTEX,*) '&&01&02&03&04&05&06&07&08&09&10&11&12&$d_2$&$d_3$\\' 462 WRITE(NTEX,*) '\hline' 463 WRITE(NTEX,*) '\hline' 472 IF (XDATA_VEGTYPE(I,JVEGTYPE)>0.) THEN 476 IF (XDATA_LAI(I,J,JVEGTYPE)==0.) THEN 477 YDATA_MONTH(J) = ' - ' 479 WRITE(YFMT,FMT='(A2,I1,A1,I1,A1)') '(F',NB(XDATA_LAI(I,3*J-1,JVEGTYPE)),'.',DEC(XDATA_LAI(I,3*J-1,JVEGTYPE)),')' 480 WRITE(YSTRING6, FMT=YFMT) XDATA_LAI(I,3*J-1,JVEGTYPE) 481 YDATA_MONTH(J) = YSTRING6 485 WRITE(YFMT,'(A2,I1,A1,I1,A1)') '(F',NB(XDATA_ROOT_DEPTH(I,JVEGTYPE)),'.',DEC(XDATA_ROOT_DEPTH(I,JVEGTYPE)),')' 486 WRITE(YSTRING6, FMT=YFMT) XDATA_ROOT_DEPTH(I,JVEGTYPE) 487 YDATA_VEGPARAM(1) = YSTRING6 488 WRITE(YFMT,'(A2,I1,A1,I1,A1)') '(F',NB(XDATA_GROUND_DEPTH(I,JVEGTYPE)),'.',DEC(XDATA_GROUND_DEPTH(I,JVEGTYPE)),')' 489 WRITE(YSTRING6, FMT=YFMT) XDATA_GROUND_DEPTH(I,JVEGTYPE) 490 YDATA_VEGPARAM(2) = YSTRING6 492 IF (JVEGTYPE==NVT_TEBD) THEN 493 WRITE(YFMT,'(A2,I1,A1,I1,A1)') '(F',NB(XDATA_H_TREE(I,NVT_TEBD)),'.',DEC(XDATA_H_TREE(I,NVT_TEBD)),')' 494 WRITE(YSTRING6, FMT=YFMT) XDATA_H_TREE(I,NVT_TEBD) 495 YDATA_VEGPARAM(3) = YSTRING6 496 ELSE IF (JVEGTYPE==NVT_BONE) THEN 497 WRITE(YFMT,'(A2,I1,A1,I1,A1)') '(F',NB(XDATA_H_TREE(I,NVT_BONE)),'.',DEC(XDATA_H_TREE(I,NVT_BONE)),')' 498 WRITE(YSTRING6, FMT=YFMT) XDATA_H_TREE(I,NVT_BONE) 499 YDATA_VEGPARAM(3) = YSTRING6 500 ELSE IF (JVEGTYPE==NVT_TRBE) THEN 501 WRITE(YFMT,'(A2,I1,A1,I1,A1)') '(F',NB(XDATA_H_TREE(I,NVT_TRBE)),'.',DEC(XDATA_H_TREE(I,NVT_TRBE)),')' 502 WRITE(YSTRING6, FMT=YFMT) XDATA_H_TREE(I,NVT_TRBE) 503 YDATA_VEGPARAM(3) = YSTRING6 504 ELSE IF (JVEGTYPE==NVT_TRBD) THEN 505 WRITE(YFMT,'(A2,I1,A1,I1,A1)') '(F',NB(XDATA_H_TREE(I,NVT_TRBD)),'.',DEC(XDATA_H_TREE(I,NVT_TRBD)),')' 506 WRITE(YSTRING6, FMT=YFMT) XDATA_H_TREE(I,NVT_TRBD) 507 YDATA_VEGPARAM(3) = YSTRING6 508 ELSE IF (JVEGTYPE==NVT_TEBE) THEN 509 WRITE(YFMT,'(A2,I1,A1,I1,A1)') '(F',NB(XDATA_H_TREE(I,NVT_TEBE)),'.',DEC(XDATA_H_TREE(I,NVT_TEBE)),')' 510 WRITE(YSTRING6, FMT=YFMT) XDATA_H_TREE(I,NVT_TEBE) 511 YDATA_VEGPARAM(3) = YSTRING6 512 ELSE IF (JVEGTYPE==NVT_TENE) THEN 513 WRITE(YFMT,'(A2,I1,A1,I1,A1)') '(F',NB(XDATA_H_TREE(I,NVT_TENE)),'.',DEC(XDATA_H_TREE(I,NVT_TENE)),')' 514 WRITE(YSTRING6, FMT=YFMT) XDATA_H_TREE(I,NVT_TENE) 515 YDATA_VEGPARAM(3) = YSTRING6 516 ELSE IF (JVEGTYPE==NVT_BOBD) THEN 517 WRITE(YFMT,'(A2,I1,A1,I1,A1)') '(F',NB(XDATA_H_TREE(I,NVT_BOBD)),'.',DEC(XDATA_H_TREE(I,NVT_BOBD)),')' 518 WRITE(YSTRING6, FMT=YFMT) XDATA_H_TREE(I,NVT_BOBD) 519 YDATA_VEGPARAM(3) = YSTRING6 520 ELSE IF (JVEGTYPE==NVT_BOND) THEN 521 WRITE(YFMT,'(A2,I1,A1,I1,A1)') '(F',NB(XDATA_H_TREE(I,NVT_BOND)),'.',DEC(XDATA_H_TREE(I,NVT_BOND)),')' 522 WRITE(YSTRING6, FMT=YFMT) XDATA_H_TREE(I,NVT_BOND) 523 YDATA_VEGPARAM(3) = YSTRING6 524 ELSE IF (JVEGTYPE==NVT_SHRB) THEN 525 WRITE(YFMT,'(A2,I1,A1,I1,A1)') '(F',NB(XDATA_H_TREE(I,NVT_SHRB)),'.',DEC(XDATA_H_TREE(I,NVT_SHRB)),')' 526 WRITE(YSTRING6, FMT=YFMT) XDATA_H_TREE(I,NVT_SHRB) 527 YDATA_VEGPARAM(3) = YSTRING6 529 YDATA_VEGPARAM(3) = ' ' 532 .OR..OR..OR.
IF (JVEGTYPE==NVT_TEBD JVEGTYPE==NVT_BONE JVEGTYPE==NVT_TRBE & 533 .OR..OR..OR.
JVEGTYPE==NVT_TRBD JVEGTYPE==NVT_TEBE JVEGTYPE==NVT_TENE & 534 .OR..OR.
JVEGTYPE==NVT_BOBD JVEGTYPE==NVT_BOND JVEGTYPE==NVT_SHRB ) THEN 536 I,' & ',CNAME(I ),' & ',YDATA_MONTH(1 ), ' & ',YDATA_MONTH(2),' & ', & 537 YDATA_MONTH(3 ),' & ',YDATA_MONTH(4 ), ' & ',YDATA_MONTH(5),' & ', & 538 YDATA_MONTH(6 ),' & ',YDATA_MONTH(7 ), ' & ',YDATA_MONTH(8),' & ', & 539 YDATA_MONTH(9 ),' & ',YDATA_MONTH(10),' & ',YDATA_MONTH(11),' & ', & 540 YDATA_MONTH(12),' & ',YDATA_VEGPARAM(1),' & ',YDATA_VEGPARAM(2),' & ',YDATA_VEGPARAM(3),' \\' 541 .OR..OR.
ELSE IF (JVEGTYPE==NVT_ROCK JVEGTYPE==NVT_SNOW JVEGTYPE==NVT_NO) THEN 543 I,' & ',CNAME(I),' & ',YDATA_VEGPARAM(1),' & ',YDATA_VEGPARAM(2),' \\' 546 I,' & ',CNAME(I),' & ',YDATA_MONTH(1), ' & ',YDATA_MONTH(2), ' & ', & 547 YDATA_MONTH(3),' & ',YDATA_MONTH(4), ' & ',YDATA_MONTH(5), ' & ', & 548 YDATA_MONTH(6),' & ',YDATA_MONTH(7), ' & ',YDATA_MONTH(8), ' & ', & 549 YDATA_MONTH(9),' & ',YDATA_MONTH(10),' & ',YDATA_MONTH(11),' & ', & 550 YDATA_MONTH(12),' & ',YDATA_VEGPARAM(1),' & ',YDATA_VEGPARAM(2),' \\' 552 WRITE(NTEX,*) '\hline' 555 CALL HLINE(NTEX,GLINE,I) 559 WRITE(NTEX,*) '\end{tabular}' 561 WRITE(NTEX,*) '\clearpage' 565 !------------------------------------------------------------------------------- 567 IF (LHOOK) CALL DR_HOOK('WRITE_COVER_TEX_ISBA',1,ZHOOK_HANDLE) 568 !------------------------------------------------------------------------------- 570 END SUBROUTINE WRITE_COVER_TEX_ISBA
subroutine hline(KTEX, GLINE, I)
real, dimension(:,:), allocatable xdata_root_depth
real, dimension(:,:), allocatable xdata_vegtype
subroutine write_cover_tex_isba(KPATCH, KLAYER, HISBA)
real, dimension(:,:), allocatable xdata_h_tree
subroutine veg(PSW_RAD, PTA, PQA, PPS, PRGL, PLAI, PRSMIN, PGAMMA, PF2, PRS)
subroutine isba(IO, KK, PK, PEK, G, AG, DK, DEK, DMK, TPTIME, PPOI
real, dimension(:,:,:), allocatable xdata_lai
subroutine soil(IO, KK, PK, PEK, DMI, PVEG, PCS, PFROZEN1, PFFG_N
real, dimension(:,:), allocatable xdata_ground_depth
character(len=60), dimension(:), allocatable cname
real, dimension(:), allocatable xdata_nature
integer, parameter nlines