7 hprogram, hsurf, kluout, ki, kpatch, kground_layer, kmonth, &
8 pvegtype, ppatch, pvegtype_patch, ksize_nature_p, &
9 kr_nature_p, prm_patch, &
10 odeepsoil, ophysdomc, ptdeep_cli, pgammat_cli, ptdeep, &
11 pgammat, oagrip, pthreshold, kirrinum, oirriday, oirrigate, &
13 hphoto, hinit, otr_ml, knbiomass, pco2, prhoa, pabc, ppoi, &
14 pgmes, pgc, pdmax, panmax, pfzero, pepso, pgamm, pqdgamm, &
15 pqdgmes, pt1gmes, pt2gmes, pamax, pqdamax, pt1amax, pt2amax,&
16 pah, pbh, ptau_wood, pincrease, pturnover, &
17 ksv, hsv, ysv, hch_names, haer_names, hdstnames, hsltnames, &
19 psfdst, psfdstm, psfslt, &
20 paosip, paosim, paosjp, paosjm, pho2ip, pho2im, pho2jp, &
21 pho2jm, pz0, pz0effip, pz0effim, pz0effjp, pz0effjm, pz0rel,&
22 pclay, psand, hpedotf, &
23 pcondsat, pmpotsat, pbcoef, pwwilt, pwfc, pwsat, pwd0, &
25 ptauice, pcgsat, pc1sat, pc2ref, pc3, pc4b, pacoef, ppcoef, &
26 pc4ref, ppcps, pplvtt, pplstt, &
27 hscond, hisba, phcapsoil, pconddry, pcondsld, hcpsurf, &
28 pdg, pdroot, pdg2, prootfrac, prunoffd, pdzg, pdzdif, &
29 psoilwght, kwg_layer, klayer_hort, klayer_dun, pd_ice, &
30 pksat_ice, palbnir_dry, palbvis_dry, palbuv_dry, &
31 palbnir_wet, palbvis_wet, palbuv_wet, pbslai_nitro, &
32 pce_nitro, pcna_nitro, pcf_nitro, pfwtd, pwtd )
94 USE modi_init_chemical_n
95 USE modi_open_namelist
96 USE modi_ch_init_dep_isba_n
97 USE modi_close_namelist
110 USE yomhook
,ONLY : lhook, dr_hook
111 USE parkind1
,ONLY : jprb
121 TYPE(dst_t),
INTENT(INOUT) :: dst
122 TYPE(isba_t
),
INTENT(INOUT) :: i
123 TYPE(slt_t),
INTENT(INOUT) :: slt
126 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
127 CHARACTER(LEN=6),
INTENT(IN) :: hsurf
128 INTEGER,
INTENT(IN) :: kluout
130 INTEGER,
INTENT(IN) :: ki
131 INTEGER,
INTENT(IN) :: kpatch
132 INTEGER,
INTENT(IN) :: kground_layer
133 INTEGER,
INTENT(IN) :: kmonth
135 REAL,
DIMENSION(:,:),
POINTER :: pvegtype
136 REAL,
DIMENSION(:,:),
POINTER :: ppatch
137 REAL,
DIMENSION(:,:,:),
POINTER :: pvegtype_patch
138 INTEGER,
DIMENSION(:),
POINTER :: ksize_nature_p
139 INTEGER,
DIMENSION(:,:),
POINTER :: kr_nature_p
141 REAL,
INTENT(IN) :: prm_patch
143 LOGICAL,
INTENT(IN) :: odeepsoil
144 LOGICAL,
INTENT(IN) :: ophysdomc
145 REAL,
DIMENSION(:),
INTENT(IN) :: ptdeep_cli
146 REAL,
DIMENSION(:),
INTENT(IN) :: pgammat_cli
147 REAL,
DIMENSION(:),
POINTER :: ptdeep
148 REAL,
DIMENSION(:),
POINTER :: pgammat
150 LOGICAL,
INTENT(IN) :: oagrip
151 REAL,
DIMENSION(:),
INTENT(IN) :: pthreshold
152 INTEGER,
DIMENSION(:,:),
POINTER :: kirrinum
153 LOGICAL,
DIMENSION(:,:),
POINTER :: oirriday
154 LOGICAL,
DIMENSION(:,:),
POINTER :: oirrigate
155 REAL,
DIMENSION(:,:),
POINTER :: pthresholdspt
157 CHARACTER(LEN=3),
INTENT(IN) :: hphoto
158 CHARACTER(LEN=3),
INTENT(IN) :: hinit
159 LOGICAL,
INTENT(IN) :: otr_ml
160 INTEGER,
INTENT(IN) :: knbiomass
161 REAL,
DIMENSION(:),
INTENT(IN) :: pco2
162 REAL,
DIMENSION(:),
INTENT(IN) :: prhoa
163 REAL,
DIMENSION(:),
POINTER :: pabc
164 REAL,
DIMENSION(:),
POINTER :: ppoi
165 REAL,
DIMENSION(:,:),
INTENT(IN) :: pgmes
166 REAL,
DIMENSION(:,:),
INTENT(IN) :: pgc
167 REAL,
DIMENSION(:,:),
INTENT(IN):: pdmax
168 REAL,
DIMENSION(:,:),
POINTER :: panmax
169 REAL,
DIMENSION(:,:),
POINTER :: pfzero
170 REAL,
DIMENSION(:,:),
POINTER :: pepso
171 REAL,
DIMENSION(:,:),
POINTER :: pgamm
172 REAL,
DIMENSION(:,:),
POINTER :: pqdgamm
173 REAL,
DIMENSION(:,:),
POINTER :: pqdgmes
174 REAL,
DIMENSION(:,:),
POINTER :: pt1gmes
175 REAL,
DIMENSION(:,:),
POINTER :: pt2gmes
176 REAL,
DIMENSION(:,:),
POINTER :: pamax
177 REAL,
DIMENSION(:,:),
POINTER :: pqdamax
178 REAL,
DIMENSION(:,:),
POINTER :: pt1amax
179 REAL,
DIMENSION(:,:),
POINTER :: pt2amax
180 REAL,
DIMENSION(:,:),
POINTER :: pah
181 REAL,
DIMENSION(:,:),
POINTER :: pbh
182 REAL,
DIMENSION(:,:),
POINTER :: ptau_wood
183 REAL,
DIMENSION(:,:,:),
POINTER :: pincrease
184 REAL,
DIMENSION(:,:,:),
POINTER :: pturnover
186 INTEGER,
INTENT(IN) :: ksv
187 CHARACTER(LEN=6),
DIMENSION(KSV),
INTENT(IN) :: hsv
188 TYPE(sv_t),
INTENT(INOUT) :: ysv
189 CHARACTER(LEN=6),
DIMENSION(:),
POINTER :: hch_names
190 CHARACTER(LEN=6),
DIMENSION(:),
POINTER :: haer_names
191 CHARACTER(LEN=6),
DIMENSION(:),
POINTER,
OPTIONAL :: hdstnames
192 CHARACTER(LEN=6),
DIMENSION(:),
POINTER,
OPTIONAL :: hsltnames
194 CHARACTER(LEN=28),
INTENT(OUT) :: hchem_surf_file
196 REAL,
DIMENSION(:,:,:),
POINTER :: psfdst
197 REAL,
DIMENSION(:,:,:),
POINTER :: psfdstm
198 REAL,
DIMENSION(:,:,:),
POINTER :: psfslt
200 REAL,
DIMENSION(:),
INTENT(IN) :: paosip
201 REAL,
DIMENSION(:),
INTENT(IN) :: paosim
202 REAL,
DIMENSION(:),
INTENT(IN) :: paosjp
203 REAL,
DIMENSION(:),
INTENT(IN) :: paosjm
204 REAL,
DIMENSION(:),
INTENT(IN) :: pho2ip
205 REAL,
DIMENSION(:),
INTENT(IN) :: pho2im
206 REAL,
DIMENSION(:),
INTENT(IN) :: pho2jp
207 REAL,
DIMENSION(:),
INTENT(IN) :: pho2jm
208 REAL,
DIMENSION(:,:),
INTENT(IN) :: pz0
209 REAL,
DIMENSION(:,:),
POINTER :: pz0effip
210 REAL,
DIMENSION(:,:),
POINTER :: pz0effim
211 REAL,
DIMENSION(:,:),
POINTER :: pz0effjp
212 REAL,
DIMENSION(:,:),
POINTER :: pz0effjm
213 REAL,
DIMENSION(:),
POINTER :: pz0rel
215 REAL,
DIMENSION(:,:),
INTENT(IN) :: pclay
216 REAL,
DIMENSION(:,:),
INTENT(IN) :: psand
217 CHARACTER(LEN=4),
INTENT(IN) :: hpedotf
218 REAL,
DIMENSION(:,:,:),
POINTER :: pcondsat
219 REAL,
DIMENSION(:,:),
POINTER :: pmpotsat
220 REAL,
DIMENSION(:,:),
POINTER :: pbcoef
221 REAL,
DIMENSION(:,:),
POINTER :: pwwilt
222 REAL,
DIMENSION(:,:),
POINTER :: pwfc
223 REAL,
DIMENSION(:,:),
POINTER :: pwsat
224 REAL,
DIMENSION(:,:),
POINTER :: pwd0
225 REAL,
DIMENSION(:,:),
POINTER :: pkaniso
227 REAL,
DIMENSION(:),
POINTER :: ptauice
228 REAL,
DIMENSION(:),
POINTER :: pcgsat
229 REAL,
DIMENSION(:,:),
POINTER :: pc1sat
230 REAL,
DIMENSION(:,:),
POINTER :: pc2ref
231 REAL,
DIMENSION(:,:,:),
POINTER :: pc3
232 REAL,
DIMENSION(:),
POINTER :: pc4b
233 REAL,
DIMENSION(:),
POINTER :: pacoef
234 REAL,
DIMENSION(:),
POINTER :: ppcoef
235 REAL,
DIMENSION(:,:),
POINTER :: pc4ref
237 REAL,
DIMENSION(:,:),
POINTER :: ppcps
238 REAL,
DIMENSION(:,:),
POINTER :: pplvtt
239 REAL,
DIMENSION(:,:),
POINTER :: pplstt
241 CHARACTER(LEN=4),
INTENT(IN) :: hscond
242 CHARACTER(LEN=3),
INTENT(IN) :: hisba
243 CHARACTER(LEN=4),
INTENT(IN) :: hrunoff
244 REAL,
DIMENSION(:,:),
POINTER :: phcapsoil
245 REAL,
DIMENSION(:,:),
POINTER :: pconddry
246 REAL,
DIMENSION(:,:),
POINTER :: pcondsld
247 CHARACTER(LEN=3),
INTENT(IN) :: hcpsurf
249 REAL,
DIMENSION(:,:,:),
INTENT(IN) :: pdg
250 REAL,
DIMENSION(:,:),
INTENT(IN) :: pdroot
251 REAL,
DIMENSION(:,:),
INTENT(IN) :: pdg2
252 REAL,
DIMENSION(:,:,:),
INTENT(IN) :: prootfrac
253 REAL,
DIMENSION(:,:),
POINTER :: prunoffd
254 REAL,
DIMENSION(:,:,:),
POINTER :: pdzg
255 REAL,
DIMENSION(:,:,:),
POINTER :: pdzdif
256 REAL,
DIMENSION(:,:,:),
POINTER :: psoilwght
257 INTEGER,
DIMENSION(:,:),
INTENT(IN) :: kwg_layer
258 INTEGER,
INTENT(OUT) :: klayer_hort
259 INTEGER,
INTENT(OUT) :: klayer_dun
261 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: pd_ice
262 REAL,
DIMENSION(:,:),
POINTER :: pksat_ice
264 REAL,
DIMENSION(:),
POINTER :: palbnir_dry
265 REAL,
DIMENSION(:),
POINTER :: palbvis_dry
266 REAL,
DIMENSION(:),
POINTER :: palbuv_dry
267 REAL,
DIMENSION(:),
POINTER :: palbnir_wet
268 REAL,
DIMENSION(:),
POINTER :: palbvis_wet
269 REAL,
DIMENSION(:),
POINTER :: palbuv_wet
271 REAL,
DIMENSION(:,:),
POINTER :: pbslai_nitro
272 REAL,
DIMENSION(:,:),
INTENT(IN) :: pce_nitro
273 REAL,
DIMENSION(:,:),
INTENT(IN) :: pcna_nitro
274 REAL,
DIMENSION(:,:),
INTENT(IN) :: pcf_nitro
276 REAL,
DIMENSION(:),
POINTER :: pfwtd
277 REAL,
DIMENSION(:),
POINTER :: pwtd
283 INTEGER :: jilu,jp, jmaxloc
289 REAL,
DIMENSION(SIZE(PCO2)) :: zco2
291 INTEGER,
DIMENSION(:),
ALLOCATABLE :: ir_nature_p
293 REAL(KIND=JPRB) :: zhook_handle
299 IF (lhook) CALL dr_hook(
'INIT_VEG_PGD_n',0,zhook_handle)
304 ALLOCATE(ppatch(ki,kpatch))
305 ALLOCATE(pvegtype_patch(ki,nvegtype,kpatch))
306 ALLOCATE(ksize_nature_p(kpatch))
307 ALLOCATE(kr_nature_p(ki,kpatch))
309 CALL
surf_patch(kpatch,pvegtype,ppatch,pvegtype_patch)
314 IF (prm_patch/=0.)
THEN
316 WRITE(kluout,*)
" REMOVE PATCH below 5 % add to dominant patch "
320 jmaxloc = maxval(maxloc(ppatch(jp,:)))
323 IF ( ppatch(jp,jpatch)<prm_patch )
THEN
324 ppatch(jp,jmaxloc) = ppatch(jp,jmaxloc) + ppatch(jp,jpatch)
325 ppatch(jp,jpatch) = 0.0
333 ksize_nature_p(jpatch) = count(ppatch(:,jpatch) > 0.0)
338 ALLOCATE(ir_nature_p(ksize_nature_p(jpatch)))
339 CALL
get_1d_mask(ksize_nature_p(jpatch),ki,ppatch(:,jpatch),ir_nature_p)
340 kr_nature_p(:ksize_nature_p(jpatch),jpatch) = ir_nature_p(:)
341 DEALLOCATE(ir_nature_p)
352 ALLOCATE(pgammat(ki))
358 ptdeep(jilu) = ptdeep_cli(kmonth)
359 pgammat(jilu) = 1. / pgammat_cli(kmonth)
362 WRITE(kluout,*)
' LDEEPSOIL = ',odeepsoil,
' LPHYSDOMC = ',ophysdomc
363 WRITE(kluout,*)
' XTDEEP = ',minval(ptdeep(:)),maxval(ptdeep(:))
364 WRITE(kluout,*)
' XGAMMAT = ',minval(pgammat(:)),maxval(pgammat(:))
372 ALLOCATE(kirrinum(ki,kpatch))
373 ALLOCATE(oirriday(ki,kpatch))
374 ALLOCATE(oirrigate(ki,kpatch))
375 ALLOCATE(pthresholdspt(ki,kpatch))
378 oirriday(:,:) = .false.
379 oirrigate(:,:) = .false.
382 DO jpatch = 1, kpatch
383 pthresholdspt(jilu,jpatch) = pthreshold(kirrinum(jilu,jpatch))
387 ALLOCATE(kirrinum(0,0))
388 ALLOCATE(oirriday(0,0))
389 ALLOCATE(oirrigate(0,0))
390 ALLOCATE(pthresholdspt(0,0))
397 IF(hphoto /=
'NON' .AND. hinit ==
'ALL')
THEN
403 ALLOCATE(pabc(isize))
404 ALLOCATE(ppoi(isize))
407 zco2(:) = pco2(:) / prhoa(:)
408 ALLOCATE(panmax(ki,kpatch))
409 ALLOCATE(pfzero(ki,kpatch))
410 ALLOCATE(pepso(ki,kpatch))
411 ALLOCATE(pgamm(ki,kpatch))
412 ALLOCATE(pqdgamm(ki,kpatch))
413 ALLOCATE(pqdgmes(ki,kpatch))
414 ALLOCATE(pt1gmes(ki,kpatch))
415 ALLOCATE(pt2gmes(ki,kpatch))
416 ALLOCATE(pamax(ki,kpatch))
417 ALLOCATE(pqdamax(ki,kpatch))
418 ALLOCATE(pt1amax(ki,kpatch))
419 ALLOCATE(pt2amax(ki,kpatch))
420 ALLOCATE(pah(ki,kpatch))
421 ALLOCATE(pbh(ki,kpatch))
422 ALLOCATE(ptau_wood(ki,kpatch))
423 ALLOCATE(pincrease(ki,knbiomass,kpatch))
424 ALLOCATE(pturnover(ki,knbiomass,kpatch))
426 hphoto, ksize_nature_p, kr_nature_p, pvegtype_patch, &
427 zco2, pgmes, pgc, pdmax, pabc, ppoi, panmax, &
428 pfzero, pepso, pgamm, pqdgamm, pqdgmes, &
429 pt1gmes, pt2gmes, pamax, pqdamax, &
430 pt1amax, pt2amax, pah, pbh, ptau_wood, &
431 pincrease, pturnover )
433 ELSEIF(hphoto ==
'NON' .AND. otr_ml)
THEN
435 ALLOCATE (pabc(isize))
436 ALLOCATE (ppoi(isize))
439 CALL
gauleg(0.0,1.0,pabc,ppoi,
SIZE(pabc))
445 ALLOCATE(panmax(0,0))
446 ALLOCATE(pfzero(0,0))
449 ALLOCATE(pqdgamm(0,0))
450 ALLOCATE(pqdgmes(0,0))
451 ALLOCATE(pt1gmes(0,0))
452 ALLOCATE(pt2gmes(0,0))
454 ALLOCATE(pqdamax(0,0))
455 ALLOCATE(pt1amax(0,0))
456 ALLOCATE(pt2amax(0,0))
459 ALLOCATE(ptau_wood(0,0))
460 ALLOCATE(pincrease(0,0,0))
461 ALLOCATE(pturnover(0,0,0))
476 IF (hsurf==
'NATURE')
THEN
478 hdstnames=hdstnames, hsltnames=hsltnames )
483 IF (hsurf==
'NATURE' .AND. ysv%NBEQ > 0)
THEN
494 IF (ysv%NDSTEQ >=1)
THEN
495 ALLOCATE (psfdst(ki, ysv%NDSTEQ, kpatch))
496 ALLOCATE (psfdstm(ki, ysv%NDSTEQ, kpatch))
500 hprogram,ksize_nature_p,kr_nature_p, &
501 kpatch,pvegtype_patch)
503 ALLOCATE(psfdst(0,0,0))
504 ALLOCATE(psfdstm(0,0,0))
507 IF (ysv%NSLTEQ >=1)
THEN
508 ALLOCATE (psfslt(ki,ysv%NSLTEQ,kpatch))
512 ALLOCATE(psfslt(0,0,0))
522 ALLOCATE(pz0effip(ki,kpatch))
523 ALLOCATE(pz0effim(ki,kpatch))
524 ALLOCATE(pz0effjp(ki,kpatch))
525 ALLOCATE(pz0effjm(ki,kpatch))
528 IF (
SIZE(paosip)>0) &
530 pho2ip,pho2im,pho2jp,pho2jm,pz0, &
531 pz0effip,pz0effim,pz0effjp,pz0effjm, &
539 ALLOCATE(pcondsat(ki,kground_layer,kpatch))
540 ALLOCATE(pmpotsat(ki,kground_layer))
541 ALLOCATE(pbcoef(ki,kground_layer))
542 ALLOCATE(pwwilt(ki,kground_layer))
543 ALLOCATE(pwfc(ki,kground_layer))
544 ALLOCATE(pwsat(ki,kground_layer))
545 ALLOCATE(ptauice(ki))
547 DO jlayer=1,kground_layer
548 pbcoef(:,jlayer) =
bcoef_func(pclay(:,jlayer),psand(:,jlayer),hpedotf)
549 pmpotsat(:,jlayer) =
matpotsat_func(pclay(:,jlayer),psand(:,jlayer),hpedotf)
551 pcondsat(:,jlayer,jpatch) =
hydcondsat_func(pclay(:,jlayer),psand(:,jlayer),hpedotf)
553 pwsat(:,jlayer) =
wsat_func(pclay(:,jlayer),psand(:,jlayer),hpedotf)
554 pwwilt(:,jlayer) =
wwilt_func(pclay(:,jlayer),psand(:,jlayer),hpedotf)
557 IF (hisba==
'2-L' .OR. hisba==
'3-L')
THEN
559 pwfc(:,:) =
wfc_func(pclay(:,:),psand(:,:),hpedotf)
560 ELSE IF (hisba==
'DIF')
THEN
562 pwfc(:,:) =
w33_func(pclay(:,:),psand(:,:),hpedotf)
565 ptauice(:) = xtau_ice
567 IF (hisba==
'2-L' .OR. hisba==
'3-L')
THEN
569 ALLOCATE(pc1sat(ki,kpatch))
570 ALLOCATE(pc2ref(ki,kpatch))
571 ALLOCATE(pc3(ki,2,kpatch))
575 ALLOCATE(pc4ref(ki,kpatch))
585 pc4ref(:,jpatch) =
c4ref_func(pclay(:,1),psand(:,1), &
587 pdg(:,kground_layer,jpatch) )
588 pc3(:,1,jpatch) =
c3_func(pclay(:,1))
589 pc3(:,2,jpatch) =
c3_func(pclay(:,2))
593 ELSE IF (hisba==
'DIF')
THEN
596 ALLOCATE(pc1sat(0,0))
597 ALLOCATE(pc2ref(0,0))
600 ALLOCATE(pc4ref(0,0))
606 IF(hrunoff==
'SGH')
THEN
608 ALLOCATE(pwd0(ki,kground_layer))
609 ALLOCATE(pkaniso(ki,kground_layer))
612 pwd0(:,:) =
wfc_func(pclay(:,:),psand(:,:),hpedotf)
614 pwd0(:,:) = pwwilt(:,:)
621 ALLOCATE(pkaniso(0,0))
628 ALLOCATE(ppcps(ki,kpatch))
629 ALLOCATE(pplvtt(ki,kpatch))
630 ALLOCATE(pplstt(ki,kpatch))
637 IF (hscond==
'NP89'.AND.hisba==
'DIF')
THEN
638 WRITE(kluout,*)
'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'
639 WRITE(kluout,*)
'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'
640 WRITE(kluout,*)
'IF CISBA=DIF, CSCOND=NP89 is not available'
641 WRITE(kluout,*)
'because not physic. CSCOND is put to PL98 '
642 WRITE(kluout,*)
'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'
643 WRITE(kluout,*)
'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'
646 IF (hscond==
'PL98'.OR.hisba==
'DIF')
THEN
647 ALLOCATE(phcapsoil(ki,kground_layer))
648 ALLOCATE(pconddry(ki,kground_layer))
649 ALLOCATE(pcondsld(ki,kground_layer))
652 CALL
thrmcondz(psand,pwsat,pconddry,pcondsld)
655 ALLOCATE(phcapsoil(0,0))
656 ALLOCATE(pconddry(0,0))
657 ALLOCATE(pcondsld(0,0))
663 IF(hcpsurf==
'DRY'.AND.lcpl_arp)
THEN
664 CALL
abor1_sfx(
'CCPSURF=DRY must not be used with LCPL_ARP')
670 ALLOCATE(prunoffd(ki,kpatch))
673 IF (hisba ==
'DIF')
THEN
675 ALLOCATE(pdzg(ki,kground_layer,kpatch))
676 ALLOCATE(pdzdif(ki,kground_layer,kpatch))
677 ALLOCATE(psoilwght(ki,kground_layer,kpatch))
678 CALL
dif_layer(ki, kground_layer, kpatch, ksize_nature_p, &
679 ppatch, pdg, pdroot, pdg2, prootfrac, &
680 kwg_layer, pdzg, pdzdif, psoilwght, &
681 prunoffd, klayer_hort, klayer_dun )
690 ALLOCATE(pdzg(0,0,0))
691 ALLOCATE(pdzdif(0,0,0))
692 ALLOCATE(psoilwght(0,0,0))
694 WHERE(ppatch(:,jpatch)>0.0)
695 prunoffd(:,jpatch) = pdg(:,2,jpatch)
709 ALLOCATE(pksat_ice(ki,kpatch))
712 pd_ice(:,:)=min(pdg(:,2,:),pd_ice(:,:))
713 pd_ice(:,:)=max(xice_deph_max,pd_ice(:,:))
714 pksat_ice(:,:)=pcondsat(:,1,:)
728 ALLOCATE(palbnir_dry(ki))
729 ALLOCATE(palbvis_dry(ki))
730 ALLOCATE(palbuv_dry(ki))
731 ALLOCATE(palbnir_wet(ki))
732 ALLOCATE(palbvis_wet(ki))
733 ALLOCATE(palbuv_wet(ki))
737 palbnir_dry,palbvis_dry,palbuv_dry, &
738 palbnir_wet,palbvis_wet,palbuv_wet )
745 IF (hphoto==
'NIT' .OR. hphoto==
'NCB')
THEN
746 ALLOCATE(pbslai_nitro(ki,kpatch ))
747 WHERE ((pce_nitro(:,:)*pcna_nitro(:,:)+pcf_nitro(:,:)) /= 0. )
748 pbslai_nitro(:,:) = 1. / (pce_nitro(:,:)*pcna_nitro(:,:)+pcf_nitro(:,:))
750 pbslai_nitro(:,:) = xundef
753 ALLOCATE(pbslai_nitro(0,0))
756 IF (lhook) CALL dr_hook(
'INIT_VEG_PGD_n',1,zhook_handle)
subroutine thrmcondz(PSANDZ, PWSATZ, PCONDDRY, PCONDSLD)
subroutine ch_init_dep_isba_n(CHI, DTCO, I, KCH, KLUOUT, KLU)
subroutine init_slt(SLT, HPROGRAM)
subroutine abor1_sfx(YTEXT)
subroutine close_namelist(HPROGRAM, KLUNAM)
subroutine get_1d_mask(KSIZE, KFRAC, PFRAC, KMASK)
subroutine init_veg_pgd_n(CHI, DTCO, DST, I, SLT, U, HPROGRAM, HSURF, KLUOUT, KI, KPATCH, KGROUND_LAYER, KMONTH, PVEGTYPE, PPATCH, PVEGTYPE_PATCH, KSIZE_NATURE_P, KR_NATURE_P, PRM_PATCH, ODEEPSOIL, OPHYSDOMC, PTDEEP_CLI, PGAMMAT_CLI, PTDEEP, PGAMMAT, OAGRIP, PTHRESHOLD, KIRRINUM, OIRRIDAY, OIRRIGATE, PTHRESHOLDSPT, HPHOTO, HINIT, OTR_ML, KNBIOMASS, PCO2, PRHOA, PABC, PPOI, PGMES, PGC, PDMAX, PANMAX, PFZERO, PEPSO, PGAMM, PQDGAMM, PQDGMES, PT1GMES, PT2GMES, PAMAX, PQDAMAX, PT1AMAX, PT2AMAX, PAH, PBH, PTAU_WOOD, PINCREASE, PTURNOVER, KSV, HSV, YSV, HCH_NAMES, HAER_NAMES, HDSTNAMES, HSLTNAMES, HCHEM_SURF_FILE, PSFDST, PSFDSTM, PSFSLT, PAOSIP, PAOSIM, PAOSJP, PAOSJM, PHO2IP, PHO2IM, PHO2JP, PHO2JM, PZ0, PZ0EFFIP, PZ0EFFIM, PZ0EFFJP, PZ0EFFJM, PZ0REL, PCLAY, PSAND, HPEDOTF, PCONDSAT, PMPOTSAT, PBCOEF, PWWILT, PWFC, PWSAT, PWD0, PKANISO, HRUNOFF, PTAUICE, PCGSAT, PC1SAT, PC2REF, PC3, PC4B, PACOEF, PPCOEF, PC4REF, PPCPS, PPLVTT, PPLSTT, HSCOND, HISBA, PHCAPSOIL, PCONDDRY, PCONDSLD, HCPSURF, PDG, PDROOT, PDG2, PROOTFRAC, PRUNOFFD, PDZG, PDZDIF, PSOILWGHT, KWG_LAYER, KLAYER_HORT, KLAYER_DUN, PD_ICE, PKSAT_ICE, PALBNIR_DRY, PALBVIS_DRY, PALBUV_DRY, PALBNIR_WET, PALBVIS_WET, PALBUV_WET, PBSLAI_NITRO, PCE_NITRO, PCNA_NITRO, PCF_NITRO, PFWTD, PWTD)
subroutine init_dst(DST, U, HPROGRAM, KSIZE_NATURE_P, KR_NATURE_P, KPATCH, PVEGTYPE_PATCH)
subroutine heatcapz(PSANDZ, PHCAPSOIL)
subroutine open_namelist(HPROGRAM, KLUNAM, HFILE)
subroutine dif_layer(KLU, KGROUND_LAYER, KPATCH, KSIZE_NATURE_P, PPATCH, PDG, PDROOT, PDG2, PROOTFRAC, KWG_LAYER, PDZG, PDZDIF, PSOILWGHT, PRUNOFFD, KLAYER_HORT, KLAYER_DUN)
subroutine co2_init_n(I, HPHOTO, KSIZE_NATURE_P, KR_NATURE_P, PVEGTYPE_PATCH, PCO2, PGMES, PGC, PDMAX, PABC, PPOI, PANMAX, PFZERO, PEPSO, PGAMM, PQDGAMM, PQDGMES, PT1GMES, PT2GMES, PAMAX, PQDAMAX, PT1AMAX, PT2AMAX, PAH, PBH, PTAU_WOOD, PINCREASE, PTURNOVER)
subroutine init_chemical_n(KLUOUT, KSV, HSV, YSV, HCH_NAMES, HAER_NAMES, HDSTNAMES, HSLTNAMES)