46 USE modd_data_cover, ONLY : xdata_town, xdata_nature, xdata_sea, xdata_water, &
47 xdata_vegtype, xdata_lai, xdata_h_tree, &
48 xdata_root_depth, xdata_ground_depth, xdata_dice, &
49 xdata_lai_all_years, tdata_seed, tdata_reap, &
50 xdata_alb_soil_nir, xdata_alb_soil_vis, &
51 xdata_alb_veg_nir, xdata_alb_veg_vis, &
52 xdata_watsup, xdata_irrig, &
53 xdata_z0_town, xdata_bld_height, xdata_wall_o_hor,&
54 xdata_bld, xdata_garden, &
55 xdata_alb_roof, xdata_alb_road, xdata_alb_wall, &
56 xdata_emis_roof, xdata_emis_road, xdata_emis_wall,&
57 xdata_hc_roof, xdata_hc_road, xdata_hc_wall, &
58 xdata_tc_roof, xdata_tc_road, xdata_tc_wall, &
59 xdata_d_roof, xdata_d_road, xdata_d_wall, &
60 xdata_h_traffic, xdata_le_traffic, &
61 xdata_h_industry, xdata_le_industry, &
62 neco2_start_year, neco2_end_year
68 USE yomhook
,ONLY : lhook, dr_hook
69 USE parkind1
,ONLY : jprb
76 INTEGER,
INTENT(IN) :: kfile
82 INTEGER :: inb_cover, inb_an
83 INTEGER :: icover, irec
89 REAL(KIND=JPRB) :: zhook_handle
91 IF (lhook) CALL dr_hook(
'READ_COVERS_PARAM',0,zhook_handle)
95 OPEN(41,file=
'ecoclimapI_covers_param.bin',form=
'UNFORMATTED',access=
'DIRECT', &
96 recl=20*8,status=
'OLD',iostat=ierr_open)
97 IF (ierr_open /= 0 )
THEN
98 CALL
abor1_sfx(
'ERROR WHILE OPENING ''ecoclimapI_covers_param.bin'' THIS FILE IS NEEDED AND MUST BE'// &
99 ' IN (OR LINKED TO) THE RUN DIRECTORY')
101 inb_cover = ncover_eco1_end
103 ELSEIF (kfile==2)
THEN
104 OPEN(41,file=
'ecoclimapII_eu_covers_param.bin',form=
'UNFORMATTED',access=
'DIRECT', &
105 recl=20*8,status=
'OLD',iostat=ierr_open)
106 IF (ierr_open /= 0 )
THEN
107 CALL
abor1_sfx(
'ERROR WHILE OPENING ''ecoclimapII_eu_covers_param.bin'' THIS FILE IS NEEDED AND MUST BE'// &
108 ' IN (OR LINKED TO) THE RUN DIRECTORY')
110 inb_cover = jpcover - ncover_eco2_start + 1
111 inb_an = neco2_end_year - neco2_start_year + 1
115 DO jcover = 1,inb_cover
117 READ(41,rec=irec) icover
120 READ(41,rec=irec) xdata_town(icover),xdata_nature(icover),xdata_water(icover),xdata_sea(icover)
124 IF (xdata_town(icover).NE.0.)
THEN
127 READ(41,rec=irec) xdata_z0_town(icover),xdata_bld_height(icover),xdata_wall_o_hor(icover),&
128 xdata_bld(icover),xdata_garden(icover)
131 READ(41,rec=irec) xdata_alb_roof(icover),xdata_alb_road(icover),xdata_alb_wall(icover)
134 READ(41,rec=irec) xdata_emis_roof(icover),xdata_emis_road(icover),xdata_emis_wall(icover)
137 READ(41,rec=irec) xdata_hc_roof(icover,:)
139 READ(41,rec=irec) xdata_hc_road(icover,:)
141 READ(41,rec=irec) xdata_hc_wall(icover,:)
144 READ(41,rec=irec) xdata_tc_roof(icover,:)
146 READ(41,rec=irec) xdata_tc_road(icover,:)
148 READ(41,rec=irec) xdata_tc_wall(icover,:)
151 READ(41,rec=irec) xdata_d_roof(icover,:)
153 READ(41,rec=irec) xdata_d_road(icover,:)
155 READ(41,rec=irec) xdata_d_wall(icover,:)
158 READ(41,rec=irec) xdata_h_traffic(icover),xdata_le_traffic(icover),xdata_h_industry(icover),xdata_le_industry(icover)
159 IF (xdata_garden(icover).NE.0. .AND. xdata_nature(icover).EQ.0.) CALL
read_nature
164 IF (lhook) CALL dr_hook(
'READ_COVERS_PARAM',1,zhook_handle)
170 REAL,
DIMENSION(12) :: zinter
171 INTEGER :: jvegtype, jlai
172 REAL(KIND=JPRB) :: zhook_handle
174 IF (lhook) CALL dr_hook(
'READ_COVERS_PARAM:READ_NATURE',0,zhook_handle)
178 READ(41,rec=irec) xdata_vegtype(icover,:)
181 IF (kfile<=2 .AND. xdata_nature(icover)/=0.)
THEN
183 READ(41,rec=irec) zinter(:)
184 xdata_alb_soil_nir(icover,1:12,1) = zinter(:)
186 READ(41,rec=irec) zinter(:)
187 xdata_alb_soil_nir(icover,13:24,1) = zinter(:)
189 READ(41,rec=irec) zinter(:)
190 xdata_alb_soil_nir(icover,25:36,1) = zinter(:)
192 READ(41,rec=irec) zinter(:)
193 xdata_alb_soil_vis(icover,1:12,1) = zinter(:)
195 READ(41,rec=irec) zinter(:)
196 xdata_alb_soil_vis(icover,13:24,1) = zinter(:)
198 READ(41,rec=irec) zinter(:)
199 xdata_alb_soil_vis(icover,25:36,1) = zinter(:)
202 DO jvegtype=1,nvegtype
204 IF (xdata_vegtype(icover,jvegtype).NE.0.)
THEN
207 READ(41,rec=irec) xdata_root_depth(icover,jvegtype), xdata_ground_depth(icover,jvegtype), xdata_dice(icover,jvegtype)
208 IF (jvegtype.GT.3)
THEN
213 READ(41,rec=irec) zinter(:)
214 xdata_lai(icover,(jlai-1)*12+1:jlai*12,jvegtype) = zinter(:)
215 ELSEIF (kfile==2)
THEN
216 READ(41,rec=irec) zinter(:)
217 xdata_lai_all_years(icover,(jlai-1)*12+1:jlai*12,jvegtype) = zinter(:)
221 IF ((jvegtype < 7) .OR. (jvegtype > 12 .AND. jvegtype /= 18))
THEN
223 READ(41,rec=irec) xdata_h_tree(icover,jvegtype)
226 IF (kfile<=2 .AND. xdata_nature(icover)/=0.)
THEN
228 READ(41,rec=irec) zinter(:)
229 xdata_alb_veg_nir(icover,1:12,jvegtype) = zinter(:)
231 READ(41,rec=irec) zinter(:)
232 xdata_alb_veg_nir(icover,13:24,jvegtype) = zinter(:)
234 READ(41,rec=irec) zinter(:)
235 xdata_alb_veg_nir(icover,25:36,jvegtype) = zinter(:)
237 READ(41,rec=irec) zinter(:)
238 xdata_alb_veg_vis(icover,1:12,jvegtype) = zinter(:)
240 READ(41,rec=irec) zinter(:)
241 xdata_alb_veg_vis(icover,13:24,jvegtype) = zinter(:)
243 READ(41,rec=irec) zinter(:)
244 xdata_alb_veg_vis(icover,25:36,jvegtype) = zinter(:)
249 xdata_lai(icover,:,jvegtype) = 0.
250 ELSEIF (kfile==2)
THEN
251 xdata_lai_all_years(icover,:,jvegtype) = 0.
253 xdata_alb_veg_nir(icover,:,jvegtype) = 0.3
254 xdata_alb_veg_vis(icover,:,jvegtype) = 0.1
257 IF (jvegtype.EQ.8 .AND. kfile.EQ.1 .OR. jvegtype.EQ.9 .AND. kfile.EQ.2)
THEN
259 READ(41,rec=irec) tdata_seed(icover,jvegtype)%TDATE%MONTH, tdata_seed(icover,jvegtype)%TDATE%DAY, &
260 tdata_reap(icover,jvegtype)%TDATE%MONTH, tdata_reap(icover,jvegtype)%TDATE%DAY, &
261 xdata_watsup(icover,jvegtype),xdata_irrig(icover,jvegtype)
266 IF (lhook) CALL dr_hook(
'READ_COVERS_PARAM:READ_NATURE',1,zhook_handle)
subroutine read_covers_param(KFILE)
subroutine abor1_sfx(YTEXT)