6 SUBROUTINE get_veg_n(HPROGRAM, KI, U, I, PLAI, PVH)
44 USE modi_vegtype_to_patch
53 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
54 INTEGER,
INTENT(IN) :: ki
57 TYPE(isba_t
),
INTENT(INOUT) :: i
59 REAL,
DIMENSION(KI),
INTENT(OUT) :: pvh
60 REAL,
DIMENSION(KI),
INTENT(OUT) :: plai
72 REAL,
DIMENSION(U%NSIZE_FULL) :: zh_tree_full, zlai_full
73 REAL,
DIMENSION(U%NSIZE_NATURE) :: zh_tree, zlai,zwork
74 INTEGER:: ipatch_trbe, ipatch_trbd, ipatch_tebe, ipatch_tebd, ipatch_tene, &
75 ipatch_bobd, ipatch_bone, ipatch_bond
102 zwork(:) = i%XVEGTYPE(:,nvt_trbe) + i%XVEGTYPE(:,nvt_trbd) + i%XVEGTYPE(:,nvt_tebe) + &
103 i%XVEGTYPE(:,nvt_tebd) + i%XVEGTYPE(:,nvt_tene) + i%XVEGTYPE(:,nvt_bobd) + &
104 i%XVEGTYPE(:,nvt_bone) + i%XVEGTYPE(:,nvt_bond)
106 DO jj=1,u%NSIZE_NATURE
108 IF (zwork(jj)==0)
THEN
115 zh_tree(jj) = ( (i%XH_TREE(jj,ipatch_trbe) * i%XVEGTYPE(jj,nvt_trbe) ) + &
116 (i%XH_TREE(jj,ipatch_trbd) * i%XVEGTYPE(jj,nvt_trbd) ) + &
117 (i%XH_TREE(jj,ipatch_tebe) * i%XVEGTYPE(jj,nvt_tebe) ) + &
118 (i%XH_TREE(jj,ipatch_tebd) * i%XVEGTYPE(jj,nvt_tebd) ) + &
119 (i%XH_TREE(jj,ipatch_tene) * i%XVEGTYPE(jj,nvt_tene) ) + &
120 (i%XH_TREE(jj,ipatch_bobd) * i%XVEGTYPE(jj,nvt_bobd) ) + &
121 (i%XH_TREE(jj,ipatch_bone) * i%XVEGTYPE(jj,nvt_bone) ) + &
122 (i%XH_TREE(jj,ipatch_bond) * i%XVEGTYPE(jj,nvt_bond) ) &
125 zlai(jj) = ( i%XLAI(jj,ipatch_trbe) * i%XVEGTYPE(jj,nvt_trbe) ) + &
126 ( i%XLAI(jj,ipatch_trbd) * i%XVEGTYPE(jj,nvt_trbd) ) + &
127 ( i%XLAI(jj,ipatch_tebe) * i%XVEGTYPE(jj,nvt_tebe) ) + &
128 ( i%XLAI(jj,ipatch_tebd) * i%XVEGTYPE(jj,nvt_tebd) ) + &
129 ( i%XLAI(jj,ipatch_tene) * i%XVEGTYPE(jj,nvt_tene) ) + &
130 ( i%XLAI(jj,ipatch_bobd) * i%XVEGTYPE(jj,nvt_bobd) ) + &
131 ( i%XLAI(jj,ipatch_bone) * i%XVEGTYPE(jj,nvt_bone) )+ &
132 ( i%XLAI(jj,ipatch_bond) * i%XVEGTYPE(jj,nvt_bond) )
134 zh_tree_full(u%NR_NATURE(jj)) = zh_tree(jj)
135 zlai_full(u%NR_NATURE(jj)) = zlai(jj)
141 zlai_full(:) = u%XNATURE(:) * zlai_full(:)
146 IF (
SIZE(pvh) /=
SIZE(zh_tree_full) )
THEN
147 WRITE(iluout,*)
'try to get VH field from atmospheric model, but size is not correct'
148 WRITE(iluout,*)
'size of field expected by the atmospheric model (PVH) :',
SIZE(pvh)
149 WRITE(iluout,*)
'size of field inthe surface (XVH) :',
SIZE(zh_tree_full)
150 CALL
abor1_sfx(
'GET_VHN: VH SIZE NOT CORRECT')
159 IF (
SIZE(plai) /=
SIZE(zlai_full) )
THEN
160 WRITE(iluout,*)
'try to get LAI field from atmospheric model, but size is not correct'
161 WRITE(iluout,*)
'size of field expected by the atmospheric model (PLAI) :',
SIZE(plai)
162 WRITE(iluout,*)
'size of field inthe surface (XLAI) :',
SIZE(zlai_full)
163 CALL
abor1_sfx(
'GET_LAIN: LAI SIZE NOT CORRECT')
subroutine get_veg_n(HPROGRAM, KI, U, I, PLAI, PVH)
integer function vegtype_to_patch(IVEGTYPE, INPATCH)
subroutine abor1_sfx(YTEXT)
subroutine get_luout(HPROGRAM, KLUOUT)