7 hprogram,hinifile,hinifiletype,hfile,hfiletype,oecoclimap)
62 USE modd_prep, ONLY : cingrid_type, cinterp_type
65 USE modi_open_aux_io_surf
67 USE modi_close_aux_io_surf
68 USE modi_get_surf_size_n
70 USE modi_zoom_pgd_isba_full
73 USE modi_pack_pgd_isba
75 USE yomhook
,ONLY : lhook, dr_hook
76 USE parkind1
,ONLY : jprb
87 TYPE(isba_grid_t
),
INTENT(INOUT) :: ig
88 TYPE(isba_t
),
INTENT(INOUT) :: i
93 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
94 CHARACTER(LEN=28),
INTENT(IN) :: hinifile
95 CHARACTER(LEN=6),
INTENT(IN) :: hinifiletype
96 CHARACTER(LEN=28),
INTENT(IN) :: hfile
97 CHARACTER(LEN=6),
INTENT(IN) :: hfiletype
98 LOGICAL,
INTENT(IN) :: oecoclimap
104 INTEGER :: iversion, ibugfix
109 REAL,
DIMENSION(:),
ALLOCATABLE :: zaosip
110 REAL,
DIMENSION(:),
ALLOCATABLE :: zaosim
111 REAL,
DIMENSION(:),
ALLOCATABLE :: zaosjp
112 REAL,
DIMENSION(:),
ALLOCATABLE :: zaosjm
113 REAL,
DIMENSION(:),
ALLOCATABLE :: zho2ip
114 REAL,
DIMENSION(:),
ALLOCATABLE :: zho2im
115 REAL,
DIMENSION(:),
ALLOCATABLE :: zho2jp
116 REAL,
DIMENSION(:),
ALLOCATABLE :: zho2jm
117 REAL,
DIMENSION(:),
ALLOCATABLE :: zsso_slope
118 REAL(KIND=JPRB) :: zhook_handle
119 INTEGER :: isize_lmeb_patch
121 IF (lhook) CALL dr_hook(
'ZOOM_PGD_ISBA',0,zhook_handle)
132 hinifile,hinifiletype,
'FULL ')
135 hinifiletype,
'VERSION',iversion,iresp)
137 hinifiletype,
'BUG',ibugfix,iresp)
139 hinifiletype,
'PATCH_NUMBER',i%NPATCH,iresp)
141 ALLOCATE(i%LMEB_PATCH(i%NPATCH))
143 IF (iversion>=8)
THEN
145 CALL
read_surf(hinifiletype,
'MEB_PATCH',i%LMEB_PATCH(:),iresp,hdir=
'-')
146 isize_lmeb_patch = count(i%LMEB_PATCH(:))
148 IF (isize_lmeb_patch>0)
THEN
149 CALL
read_surf(hinifiletype,
'FORC_MEASURE',i%LFORC_MEASURE,iresp)
150 CALL
read_surf(hinifiletype,
'MEB_LITTER',i%LMEB_LITTER,iresp)
152 i%LFORC_MEASURE=.false.
153 i%LMEB_LITTER =.false.
157 i%LMEB_PATCH(:)=.false.
158 i%LFORC_MEASURE=.false.
159 i%LMEB_LITTER =.false.
164 hinifiletype,
'GROUND_LAYER',i%NGROUND_LAYER,iresp)
166 hinifiletype,
'ISBA',i%CISBA,iresp)
167 IF (iversion >= 7)
THEN
169 hinifiletype,
'PEDOTF',i%CPEDOTF,iresp)
174 hinifiletype,
'PHOTO',i%CPHOTO,iresp)
176 IF (iversion>7 .OR. iversion==7 .AND. ibugfix>=2)
THEN
179 hinifiletype,
'TR_ML',i%LTR_ML,iresp)
185 IF(i%CISBA==
'DIF')
THEN
186 ALLOCATE(i%XSOILGRID(i%NGROUND_LAYER))
188 IF (iversion>7 .OR. iversion==7 .AND. ibugfix>=2)
THEN
190 hinifiletype,
'SOILGRID',i%XSOILGRID,iresp,hdir=
'-')
192 i%XSOILGRID(1:i%NGROUND_LAYER)=xoptimgrid(1:i%NGROUND_LAYER)
195 ALLOCATE(i%XSOILGRID(0))
200 IF (iversion>=6)
THEN
202 hprogram,
'NBIOMASS',i%NNBIOMASS,iresp)
204 SELECT CASE (i%CPHOTO)
205 CASE (
'AGS',
'LAI',
'AST',
'LST')
217 i%LECOCLIMAP = oecoclimap
228 ALLOCATE(i%LCOVER (jpcover))
229 ALLOCATE(i%XZS (ilu))
230 ALLOCATE(ig%XLAT (ilu))
231 ALLOCATE(ig%XLON (ilu))
232 ALLOCATE(ig%XMESH_SIZE (ilu))
233 ALLOCATE(i%XZ0EFFJPDIR(ilu))
236 hprogram,
'NATURE', &
237 ig%CGRID, ig%XGRID_PAR, &
238 i%LCOVER, i%XCOVER, i%XZS, &
239 ig%XLAT, ig%XLON, ig%XMESH_SIZE, i%XZ0EFFJPDIR )
246 ALLOCATE(i%XSAND(ilu,i%NGROUND_LAYER))
247 ALLOCATE(i%XCLAY(ilu,i%NGROUND_LAYER))
248 ALLOCATE(i%XRUNOFFB(ilu))
249 ALLOCATE(i%XWDRAIN (ilu))
251 hprogram,hinifile,hinifiletype)
269 ALLOCATE(zsso_slope(il))
272 hprogram,il,zaosip,zaosim,zaosjp,zaosjm,zho2ip,zho2im,zho2jp,zho2jm)
274 hprogram,il,zsso_slope)
278 zaosip, zaosim, zaosjp, zaosjm, &
279 zho2ip, zho2im, zho2jp, zho2jm, &
290 DEALLOCATE(zsso_slope)
291 IF (lhook) CALL dr_hook(
'ZOOM_PGD_ISBA',1,zhook_handle)
subroutine get_surf_size_n(DTCO, U, HTYPE, KL)
subroutine pack_pgd(DTCO, U, HPROGRAM, HSURF, HGRID, PGRID_PAR, OCOVER, PCOVER, PZS, PLAT, PLON, PMESH_SIZE, PDIR)
subroutine get_aos_n(USS, HPROGRAM, KI, PAOSIP, PAOSIM, PAOSJP, PAOSJM, PHO2IP, PHO2IM, PHO2JP, PHO2JM)
subroutine zoom_pgd_isba_full(CHI, DTCO, DTI, IG, I, UG, U, HPROGRAM, HINIFILE, HINIFILETYPE)
subroutine zoom_pgd_isba(CHI, DTCO, DTI, IG, I, UG, U, USS, HPROGRAM, HINIFILE, HINIFILETYPE, HFILE, HFILETYPE, OECOCLIMAP)
subroutine close_aux_io_surf(HFILE, HFILETYPE)
subroutine open_aux_io_surf(HFILE, HFILETYPE, HMASK)
subroutine get_sso_n(USS, HPROGRAM, KI, PSSO_SLOPE)
subroutine get_luout(HPROGRAM, KLUOUT)
subroutine pack_pgd_isba(DTCO, IG, I, U, HPROGRAM, PAOSIP, PAOSIM, PAOSJP, PAOSJM, PHO2IP, PHO2IM, PHO2JP, PHO2JM, PSSO_SLOPE)