101 INTEGER(KIND=JPIM),
INTENT(IN) :: KULOUT
102 INTEGER(KIND=JPIM) :: IVEG, J
103 REAL(KIND=JPRB) :: ZHOOK_HANDLE
104 #include "abor1.intfb.h"
105 #include "posnam.intfb.h"
148 sodelx(0)=1.0_jprb/sqrt(1.0_jprb+2.0_jprb*
rpi)
191 gwlex=2.0_jprb/3._jprb
205 gcz0h(1,1)=2.39037_jprb
206 gcz0h(2,1)=-.28583_jprb
207 gcz0h(3,1)=.01074_jprb
209 gcz0h(1,2)=-.07028_jprb
210 gcz0h(2,2)=.01023_jprb
211 gcz0h(3,2)=-.00067_jprb
213 gcz0h(1,3)=4.51268_jprb
214 gcz0h(2,3)=.34012_jprb
215 gcz0h(3,3)=-.05330_jprb
217 gcz0h(1,4)=-.09421_jprb
218 gcz0h(2,4)=.01463_jprb
219 gcz0h(3,4)=-.00099_jprb
225 toexp=0.24_jprb/86400._jprb
226 tolin=0.008_jprb/86400._jprb
257 vozhs=1.0_jprb/86400._jprb
305 IF (
gc1y1 > 60._jprb)
THEN
306 CALL abor1 (
'GC1Y1 FOR C1-VAPOUR PHASE IS BIGGER THAN 60.')
310 CALL abor1(
'YSD_VVD%NUMFLDS<8 IMPLIES RZHZ0M=1.0_JPRB !...')
318 WRITE(
unit=kulout,fmt=
'('' COMMON YOMPHY1 '')')
320 WRITE(
unit=kulout,fmt=
'(&
321 & '' ALCRIN ='',E10.4,'' ALRCN1 ='',E10.4,'' ALRCN2 ='',E10.4 &
322 & ,'' EMCRIN ='',E10.4,'' WCRIN ='',E10.4,'' TMERGL ='',E10.4)')&
325 WRITE(
unit=kulout,fmt=
'(&
327 & '' NTVMER ='',I3,'' NTVGLA ='',I3 &
328 & ,'' RD2MER ='',E10.4,'' ALBMER='',E10.4,'' EMMMER ='',E10.4,/&
329 & ,'' RD2GLA ='',E10.4,'' ALBGLA='',E10.4,'' EMMGLA ='',E10.4,/&
330 & ,'' RZ0MER ='',E10.4,'' RZHMER='',E10.4 &
331 & ,'' RZ0GLA ='',E10.4,'' RZHGLA='',E10.4)')&
334 WRITE(
unit=kulout,fmt=
'(&
335 & '' RTINER ='',E10.4,'' HSOL ='',E10.4,'' HSOLIT0 ='',E10.4 &
336 & ,'' HSOLIWR ='',E10.4,'' WPMX ='',E10.4 &
337 & ,'' WSMX ='',E10.4,'' OMTPRO ='',E10.4,'' OMWPRO ='',E10.4)')&
340 WRITE(
unit=kulout,fmt=
'(&
341 & '' EA ='',E10.4,'' GA ='',E10.4,'' G1B ='',E10.4 &
342 & ,'' G2B ='',E10.4,'' G1P ='',E10.4,'' G2P = '',E10.4,/&
343 & ,'' GC1 ='',E10.4,'' GC2 ='',E10.4,'' GC3 ='',E10.4 &
344 & ,'' GCONV ='',E10.4)')&
347 WRITE(
unit=kulout,fmt=
'(&
348 & '' G1WSAT ='',E10.4,'' G2WSAT ='',E10.4,'' EWFC ='',E10.4 &
349 & ,'' GWFC ='',E10.4,/,'' EWWILT ='',E10.4,'' GWWILT ='',E10.4 &
350 & ,'' EC2REF ='',E10.4,'' GC2REF ='',E10.4,/&
351 & ,'' G1CGSAT ='',E10.4,'' G2CGSAT ='',E10.4,'' G3CGSAT =''&
352 & ,E10.4,'' G1C1SAT ='',E10.4,'' G2C1SAT ='',E10.4)')&
356 WRITE(
unit=kulout,fmt=
'(&
357 & '' RD1 ='',E10.4,'' RC1MAX ='',E10.4,'' RCTGLA ='',E10.4 &
358 & ,'' RCGMAX ='',E10.4,'' LIMC ='',L2,'' LIMW ='',L2)')&
361 WRITE(
unit=kulout,fmt=
'(&
362 & '' GC1S1 ='',E10.4,'' GC1S2 ='',E10.4,'' GC1S3 ='',E10.4 &
363 & ,'' GC1S4 ='',E10.4,'' GC1Y1 ='',E10.4,'' LC1VAP ='',L2 &
364 & ,'' GTSVAP ='',E10.4)')&
367 WRITE(
unit=kulout,fmt=
'(&
368 & '' GCGEL ='',E10.4,'' GVEGMX ='',E10.4,'' GLAIMX ='',E10.4 &
369 & ,'' GWPIMX ='',E10.4,'' GNEIMX ='',E10.4)')&
372 WRITE(
unit=kulout,fmt=
'(&
373 & '' GCGELS ='',E10.4,'' GVEGMXS ='',E10.4 &
374 & ,'' GLAIMXS ='',E10.4,'' GNEIMXS ='',E10.4)')&
377 WRITE(
unit=kulout,fmt=
'(&
378 & '' ALB1 ='',E10.4,'' ALB2 ='',E10.4 &
379 & ,'' RLAIMX ='',E10.4,'' RLAI ='',E10.4)')&
382 WRITE(
unit=kulout,fmt=
'('' GCZ0H ='',/,4(1X,4E11.4,/))')
gcz0h
384 WRITE(
unit=kulout,fmt=
'(&
385 & '' GF1 ='',E10.4,'' GWLEX ='',E10.4,'' GWLMX ='',E10.4 &
386 & ,'' RSMAX ='',E10.4,/&
387 & ,'' GF3 ='',/,2(1X,9E11.4,/),'' GF4 ='',/,2(1X,9E11.4,/)&
388 & ,'' RCTVEG ='',/,2(1X,9E11.4,/),'' RGL ='',/,2(1X,9E11.4,/)&
389 & ,'' TREF4 ='',/,2(1X,9E11.4,/))')&
392 WRITE(
unit=kulout,fmt=
'(&
393 & '' ALBMAX = '',E10.4,'' ALBMIN = '',E10.4 &
394 & ,'' RHOMAX = '',E10.4,'' RHOMIN = '',E10.4,/&
395 & ,'' TOEXP = '',E10.4,'' TOLIN = '',E10.4 &
396 & ,'' WCRINC = '',E10.4,'' WCRING = '',E10.4,/&
397 & ,'' WNEW = '',E10.4 &
398 & ,'' XCRINR = '',E10.4,'' XCRINV = '',E10.4)')&
402 WRITE(
unit=kulout,fmt=
'('' SODELX = ''/5E11.4/5E11.4)')
sodelx
403 IF(
ysp_sbd%NLEVS > 9)
CALL abor1(
' TOO MANY SOIL LAYERS !')
405 WRITE(
unit=kulout,fmt=
'('' COMMON YOMVDOZ '')')
410 WRITE(
unit=kulout,fmt=
'('' VOZNJ ='',F10.5,'' VOZHS ='',F10.5)')
voznj,
vozhs
412 IF((
vdhjs(iveg) /= -999._jprb).OR.(
vdhjh(iveg) /= -999._jprb).OR.&
413 & (
vdhns(iveg) /= -999._jprb).OR.(
vdhnh(iveg) /= -999._jprb).OR.&
414 & (
vdpjs(iveg) /= -999._jprb).OR.(
vdpjh(iveg) /= -999._jprb).OR.&
415 & (
vdpns(iveg) /= -999._jprb).OR.(
vdpnh(iveg) /= -999._jprb).OR.&
416 & (
vdejs(iveg) /= -999._jprb).OR.(
vdejh(iveg) /= -999._jprb).OR.&
417 & (
vdens(iveg) /= -999._jprb).OR.(
vdenh(iveg) /= -999._jprb).OR.&
418 & (
vdajs(iveg) /= -999._jprb).OR.(
vdajh(iveg) /= -999._jprb).OR.&
419 & (
vdans(iveg) /= -999._jprb).OR.(
vdanh(iveg) /= -999._jprb).OR.&
420 & (
vdnjs(iveg) /= -999._jprb).OR.(
vdnjh(iveg) /= -999._jprb).OR.&
421 & (
vdnns(iveg) /= -999._jprb).OR.(
vdnnh(iveg) /= -999._jprb))
THEN
422 WRITE(
unit=kulout,fmt=
'('' IVEJ ='',I2 &
423 & ,'' VDHJS ='',E9.3,'' VDHJH ='',E9.3,'' VDHNS ='',E9.3 &
424 & ,'' VDHNH ='',E9.3)')&
426 WRITE(
unit=kulout,fmt=
'('' IVEJ ='',I2 &
427 & ,'' VDPJS ='',E9.3,'' VDPJH ='',E9.3,'' VDPNS ='',E9.3 &
428 & ,'' VDPNH ='',E9.3)')&
430 WRITE(
unit=kulout,fmt=
'('' IVEJ ='',I2 &
431 & ,'' VDEJS ='',E9.3,'' VDEJH ='',E9.3,'' VDENS ='',E9.3 &
432 & ,'' VDENH ='',E9.3)')&
434 WRITE(
unit=kulout,fmt=
'('' IVEJ ='',I2 &
435 & ,'' VDAJS ='',E9.3,'' VDAJH ='',E9.3,'' VDANS ='',E9.3 &
436 & ,'' VDANH ='',E9.3)')&
438 WRITE(
unit=kulout,fmt=
'('' IVEJ ='',I2 &
439 & ,'' VDNJS ='',E9.3,'' VDNJH ='',E9.3,'' VDNNS ='',E9.3 &
440 & ,'' VDNNH ='',E9.3)')&
real(kind=jprb), dimension(99) vdhjs
real(kind=jprb), dimension(18) gf3
real(kind=jprb), dimension(99) vdnjs
real(kind=jprb), dimension(99) vdpns
real(kind=jprb), dimension(18) tref4
type(type_surf_gen) ysd_vvd
integer(kind=jpim) ntvgla
real(kind=jprb), dimension(0:9) sodelx
real(kind=jprb), dimension(99) vdanh
real(kind=jprb), dimension(99) vdejh
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL false
real(kind=jprb), dimension(99) vdhns
real(kind=jprb), dimension(99) vdpjs
real(kind=jprb), dimension(99) vdans
real(kind=jprb), dimension(99) vdajh
real(kind=jprb), dimension(99) vdenh
real(kind=jprb), dimension(18) rctveg
real(kind=jprb), dimension(99) vdejs
real(kind=jprb), dimension(99) vdajs
real(kind=jprb), dimension(99) vdnnh
real(kind=jprb), dimension(99) vdnns
real(kind=jprb), dimension(99) vdpjh
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL ulevSTD CALL &zphi philevSTD CALL &zx_rh rhlevSTD!DO klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon du jour ou toutes les read_climoz CALL true
real(kind=jprb), dimension(99) vdpnh
real(kind=jprb), dimension(99) vdnjh
real(kind=jprb), dimension(0:3, 4) gcz0h
real(kind=jprb), dimension(99) vdhnh
subroutine dr_hook(CDNAME, KSWITCH, PKEY)
real(kind=jprb), dimension(18) gf4
integer(kind=jpim) ntvmer
type(type_surf_gen) ysp_sbd
real(kind=jprb), dimension(99) vdens
real(kind=jprb), dimension(99) vdhjh
subroutine suphy1(KULOUT)
!$Header!integer nvarmx s s unit
real(kind=jprb), dimension(18) rgl