7 pdata_nature,pdata_town,pdata_sea,pdata_water,pdata_vegtype, &
8 pdata_garden, ogarden, pdata_bld, pdata_wall_o_hor )
54 USE modd_data_cover, ONLY : xdata_root_depth, xdata_ground_depth, xdata_dice, &
55 xdata_lai, xdata_lai_all_years, &
56 xdata_alb_veg_nir, xdata_alb_veg_vis, &
57 xdata_alb_soil_nir, xdata_alb_soil_vis
62 USE yomhook
,ONLY : lhook, dr_hook
63 USE parkind1
,ONLY : jprb
74 REAL,
DIMENSION(:),
INTENT(IN) :: pdata_nature
75 REAL,
DIMENSION(:),
INTENT(IN) :: pdata_town
76 REAL,
DIMENSION(:),
INTENT(IN) :: pdata_sea
77 REAL,
DIMENSION(:),
INTENT(IN) :: pdata_water
78 REAL,
DIMENSION(:),
INTENT(IN) :: pdata_garden
79 REAL,
DIMENSION(:,:),
INTENT(IN) :: pdata_vegtype
80 LOGICAL,
INTENT(IN) :: ogarden
81 REAL,
DIMENSION(:),
INTENT(IN) :: pdata_bld
82 REAL,
DIMENSION(:),
INTENT(IN) :: pdata_wall_o_hor
90 INTEGER :: jcover, jvegtype, jl
91 REAL(KIND=JPRB) :: zhook_handle
94 IF (lhook) CALL dr_hook(
'ARRANGE_COVER',0,zhook_handle)
99 IF (
ASSOCIATED(dtco%XDATA_NATURE))
DEALLOCATE(dtco%XDATA_NATURE)
100 IF (
ASSOCIATED(dtco%XDATA_TOWN))
DEALLOCATE(dtco%XDATA_TOWN)
101 IF (
ASSOCIATED(dtco%XDATA_SEA))
DEALLOCATE(dtco%XDATA_SEA)
102 IF (
ASSOCIATED(dtco%XDATA_WATER))
DEALLOCATE(dtco%XDATA_WATER)
103 IF (
ASSOCIATED(dtco%XDATA_VEGTYPE))
DEALLOCATE(dtco%XDATA_VEGTYPE)
104 IF (
ASSOCIATED(dtco%XDATA_GARDEN))
DEALLOCATE(dtco%XDATA_GARDEN)
105 IF (
ASSOCIATED(dtco%XDATA_BLD))
DEALLOCATE(dtco%XDATA_BLD)
106 IF (
ASSOCIATED(dtco%XDATA_WALL_O_HOR))
DEALLOCATE(dtco%XDATA_WALL_O_HOR)
108 ALLOCATE(dtco%XDATA_NATURE (jpcover))
109 ALLOCATE(dtco%XDATA_TOWN (jpcover))
110 ALLOCATE(dtco%XDATA_SEA (jpcover))
111 ALLOCATE(dtco%XDATA_WATER (jpcover))
112 ALLOCATE(dtco%XDATA_VEGTYPE (jpcover,nvegtype))
113 ALLOCATE(dtco%XDATA_GARDEN (jpcover))
114 ALLOCATE(dtco%XDATA_BLD (jpcover))
115 ALLOCATE(dtco%XDATA_WALL_O_HOR(jpcover))
121 dtco%LGARDEN = ogarden
123 dtco%XDATA_NATURE = pdata_nature
124 dtco%XDATA_TOWN = pdata_town
125 dtco%XDATA_SEA = pdata_sea
126 dtco%XDATA_WATER = pdata_water
127 dtco%XDATA_VEGTYPE = pdata_vegtype
128 dtco%XDATA_GARDEN = pdata_garden
129 dtco%XDATA_BLD = pdata_bld
130 dtco%XDATA_WALL_O_HOR = pdata_wall_o_hor
136 IF(u%LWATER_TO_NATURE)
THEN
138 IF(dtco%XDATA_WATER(jcover)>0.0.AND.dtco%XDATA_WATER(jcover)<1.0)
THEN
139 dtco%XDATA_NATURE(jcover)=dtco%XDATA_NATURE(jcover)+dtco%XDATA_WATER(jcover)
140 dtco%XDATA_WATER (jcover)=0.0
149 IF(u%LTOWN_TO_ROCK)
THEN
152 IF(dtco%XDATA_TOWN(jcover)>0.0.OR.dtco%XDATA_GARDEN(jcover)>0.0)
THEN
154 dtco%XDATA_NATURE(jcover) = dtco%XDATA_NATURE(jcover) + dtco%XDATA_GARDEN(jcover) * dtco%XDATA_TOWN(jcover)
155 dtco%XDATA_TOWN (jcover) = dtco%XDATA_TOWN (jcover) * ( 1. - dtco%XDATA_GARDEN(jcover))
156 dtco%XDATA_GARDEN(jcover) = 0.0
158 zwork=dtco%XDATA_NATURE(jcover)+dtco%XDATA_TOWN(jcover)
160 DO jvegtype=1,nvegtype
161 dtco%XDATA_VEGTYPE(jcover,jvegtype)=dtco%XDATA_VEGTYPE(jcover,jvegtype)*dtco%XDATA_NATURE(jcover)/zwork
164 dtco%XDATA_VEGTYPE(jcover,nvt_rock) = dtco%XDATA_VEGTYPE(jcover,nvt_rock)+dtco%XDATA_TOWN(jcover)/zwork
166 dtco%XDATA_NATURE(jcover)=dtco%XDATA_NATURE(jcover)+dtco%XDATA_TOWN(jcover)
168 dtco%XDATA_TOWN (jcover)=0.0
171 xdata_lai(jcover,:,nvt_rock) = 0.0
172 xdata_lai_all_years(jcover,:,nvt_rock) = 0.0
173 xdata_root_depth(jcover, nvt_rock) = 0.2
174 xdata_ground_depth(jcover, nvt_rock) = 0.2
175 xdata_dice(jcover, nvt_rock) = 0.2
176 xdata_alb_veg_nir(jcover,:,nvt_rock) = 0.3
177 xdata_alb_veg_vis(jcover,:,nvt_rock) = 0.1
178 xdata_alb_soil_nir(jcover,:,nvt_rock) = 0.3
179 xdata_alb_soil_vis(jcover,:,nvt_rock) = 0.1
190 IF (.NOT. ogarden)
THEN
191 dtco%XDATA_NATURE = dtco%XDATA_NATURE + dtco%XDATA_GARDEN * dtco%XDATA_TOWN
192 dtco%XDATA_TOWN = dtco%XDATA_TOWN * ( 1. - dtco%XDATA_GARDEN)
193 dtco%XDATA_GARDEN = 0.
194 dtco%XDATA_BLD = dtco%XDATA_BLD / (1. - dtco%XDATA_GARDEN)
195 dtco%XDATA_WALL_O_HOR = dtco%XDATA_WALL_O_HOR / (1. - dtco%XDATA_GARDEN)
202 IF (lhook) CALL dr_hook(
'ARRANGE_COVER',1,zhook_handle)
subroutine arrange_cover(DTCO, U, PDATA_NATURE, PDATA_TOWN, PDATA_SEA, PDATA_WATER, PDATA_VEGTYPE, PDATA_GARDEN, OGARDEN, PDATA_BLD, PDATA_WALL_O_HOR)