SURFEX v7.3
General documentation of Surfex
|
00001 !############################################################# 00002 SUBROUTINE INIT_VEG_PGD_GARDEN_n(HPROGRAM, KLUOUT, KI, KGROUND_LAYER, KMONTH, & 00003 PVEGTYPE, PTDEEP, PGAMMAT, HPHOTO, HINIT, OTR_ML, & 00004 KNBIOMASS, PCO2, PRHOA, PABC, PPOI, & 00005 PGMES, PGC, PDMAX, PANMAX, PFZERO, PEPSO, PGAMM, PQDGAMM, & 00006 PQDGMES, PT1GMES, PT2GMES, PAMAX, PQDAMAX, PT1AMAX, PT2AMAX,& 00007 PAH, PBH, & 00008 KSV, HSV, KBEQ, HSVO, KAEREQ, KSV_CHSBEG, KSV_CHSEND, & 00009 KSV_AERBEG, KSV_AEREND, HCH_NAMES, HAER_NAMES, KDSTEQ, & 00010 KSV_DSTBEG, KSV_DSTEND, KSLTEQ, KSV_SLTBEG, KSV_SLTEND, & 00011 HDSTNAMES, HSLTNAMES, HCHEM_SURF_FILE, & 00012 PCLAY, PSAND, HPEDOTF, & 00013 PCONDSAT, PMPOTSAT, PBCOEF, PWWILT, PWFC, PWSAT, & 00014 PTAUICE, PCGSAT, PC1SAT, PC2REF, PC3, PC4B, PACOEF, PPCOEF, & 00015 PC4REF, PPCPS, PPLVTT, PPLSTT, & 00016 HSCOND, HISBA, PHCAPSOIL, PCONDDRY, PCONDSLD, HCPSURF, & 00017 PDG, PDROOT, PDG2, PROOTFRAC, PRUNOFFD, PDZG, PDZDIF, & 00018 PSOILWGHT, KWG_LAYER, KLAYER_HORT, KLAYER_DUN, PD_ICE, & 00019 PKSAT_ICE, PALBNIR_DRY, PALBVIS_DRY, PALBUV_DRY, & 00020 PALBNIR_WET, PALBVIS_WET, PALBUV_WET, PBSLAI_NITRO, & 00021 PCE_NITRO, PCNA_NITRO, PCF_NITRO ) 00022 !############################################################# 00023 ! 00024 !!**** *INIT_VEG_PGD_GARDEN_n* - routine to initialize ISBA 00025 !! 00026 !! PURPOSE 00027 !! ------- 00028 !! 00029 !!** METHOD 00030 !! ------ 00031 !! 00032 !! EXTERNAL 00033 !! -------- 00034 !! 00035 !! 00036 !! IMPLICIT ARGUMENTS 00037 !! ------------------ 00038 !! 00039 !! REFERENCE 00040 !! --------- 00041 !! 00042 !! 00043 !! AUTHOR 00044 !! ------ 00045 !! V. Masson *Meteo France* 00046 !! 00047 !! MODIFICATIONS 00048 !! ------------- 00049 !! 00050 !------------------------------------------------------------------------------- 00051 ! 00052 !* 0. DECLARATIONS 00053 ! ------------ 00054 ! 00055 USE MODI_INIT_VEG_PGD_n 00056 ! 00057 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00058 USE PARKIND1 ,ONLY : JPRB 00059 ! 00060 IMPLICIT NONE 00061 ! 00062 !* 0.1 Declarations of arguments 00063 ! ------------------------- 00064 ! 00065 CHARACTER(LEN=6), INTENT(IN) :: HPROGRAM ! program calling surf. schemes 00066 INTEGER, INTENT(IN) :: KLUOUT 00067 ! 00068 INTEGER, INTENT(IN) :: KI 00069 INTEGER, INTENT(IN) :: KGROUND_LAYER 00070 INTEGER, INTENT(IN) :: KMONTH 00071 ! 00072 REAL, DIMENSION(:,:), POINTER :: PVEGTYPE 00073 ! 00074 REAL, DIMENSION(:), POINTER :: PTDEEP 00075 REAL, DIMENSION(:), POINTER :: PGAMMAT 00076 ! 00077 ! 00078 CHARACTER(LEN=3), INTENT(IN) :: HPHOTO 00079 CHARACTER(LEN=3), INTENT(IN) :: HINIT 00080 LOGICAL, INTENT(IN) :: OTR_ML 00081 INTEGER, INTENT(IN) :: KNBIOMASS 00082 REAL, DIMENSION(:), INTENT(IN) :: PCO2 00083 REAL, DIMENSION(:), INTENT(IN) :: PRHOA 00084 REAL, DIMENSION(:), POINTER :: PABC 00085 REAL, DIMENSION(:), POINTER :: PPOI 00086 REAL, DIMENSION(:), POINTER :: PGMES 00087 REAL, DIMENSION(:), POINTER :: PGC 00088 REAL, DIMENSION(:), POINTER :: PDMAX 00089 REAL, DIMENSION(:), POINTER :: PANMAX 00090 REAL, DIMENSION(:), POINTER :: PFZERO 00091 REAL, DIMENSION(:), POINTER :: PEPSO 00092 REAL, DIMENSION(:), POINTER :: PGAMM 00093 REAL, DIMENSION(:), POINTER :: PQDGAMM 00094 REAL, DIMENSION(:), POINTER :: PQDGMES 00095 REAL, DIMENSION(:), POINTER :: PT1GMES 00096 REAL, DIMENSION(:), POINTER :: PT2GMES 00097 REAL, DIMENSION(:), POINTER :: PAMAX 00098 REAL, DIMENSION(:), POINTER :: PQDAMAX 00099 REAL, DIMENSION(:), POINTER :: PT1AMAX 00100 REAL, DIMENSION(:), POINTER :: PT2AMAX 00101 REAL, DIMENSION(:), POINTER :: PAH 00102 REAL, DIMENSION(:), POINTER :: PBH 00103 ! 00104 INTEGER, INTENT(IN) :: KSV ! number of scalars 00105 CHARACTER(LEN=6), DIMENSION(KSV), INTENT(IN) :: HSV ! name of all scalar variables 00106 INTEGER, INTENT(OUT) :: KBEQ ! number of chemical variables 00107 CHARACTER(LEN=6), DIMENSION(:), POINTER :: HSVO ! name of scalar species without # and @ 00108 INTEGER, INTENT(OUT) :: KAEREQ ! number of aerosol variables 00109 INTEGER, INTENT(OUT) :: KSV_CHSBEG ! first chemical var. 00110 INTEGER, INTENT(OUT) :: KSV_CHSEND ! last chemical var. 00111 INTEGER, INTENT(OUT) :: KSV_AERBEG ! first aerosol var. 00112 INTEGER, INTENT(OUT) :: KSV_AEREND ! last aerosol var. 00113 CHARACTER(LEN=6), DIMENSION(:), POINTER :: HCH_NAMES 00114 CHARACTER(LEN=6), DIMENSION(:), POINTER :: HAER_NAMES 00115 INTEGER, INTENT(OUT) :: KDSTEQ ! number of chemical variables 00116 INTEGER, INTENT(OUT) :: KSV_DSTBEG ! first chemical var. 00117 INTEGER, INTENT(OUT) :: KSV_DSTEND ! last chemical var. 00118 INTEGER, INTENT(OUT) :: KSLTEQ ! number of chemical variables 00119 INTEGER, INTENT(OUT) :: KSV_SLTBEG ! first chemical var. 00120 INTEGER, INTENT(OUT) :: KSV_SLTEND ! last chemical var. 00121 CHARACTER(LEN=6), DIMENSION(:), POINTER, OPTIONAL :: HDSTNAMES 00122 CHARACTER(LEN=6), DIMENSION(:), POINTER, OPTIONAL :: HSLTNAMES 00123 ! 00124 CHARACTER(LEN=28), INTENT(OUT) :: HCHEM_SURF_FILE 00125 ! 00126 REAL, DIMENSION(:,:), INTENT(IN) :: PCLAY 00127 REAL, DIMENSION(:,:), INTENT(IN) :: PSAND 00128 CHARACTER(LEN=4), INTENT(IN) :: HPEDOTF 00129 REAL, DIMENSION(:,:), POINTER :: PCONDSAT 00130 REAL, DIMENSION(:,:), POINTER :: PMPOTSAT 00131 REAL, DIMENSION(:,:), POINTER :: PBCOEF 00132 REAL, DIMENSION(:,:), POINTER :: PWWILT 00133 REAL, DIMENSION(:,:), POINTER :: PWFC 00134 REAL, DIMENSION(:,:), POINTER :: PWSAT 00135 REAL, DIMENSION(:), POINTER :: PTAUICE 00136 REAL, DIMENSION(:), POINTER :: PCGSAT 00137 REAL, DIMENSION(:), POINTER :: PC1SAT 00138 REAL, DIMENSION(:), POINTER :: PC2REF 00139 REAL, DIMENSION(:,:), POINTER :: PC3 00140 REAL, DIMENSION(:), POINTER :: PC4B 00141 REAL, DIMENSION(:), POINTER :: PACOEF 00142 REAL, DIMENSION(:), POINTER :: PPCOEF 00143 REAL, DIMENSION(:), POINTER :: PC4REF 00144 ! 00145 REAL, DIMENSION(:), POINTER :: PPCPS 00146 REAL, DIMENSION(:), POINTER :: PPLVTT 00147 REAL, DIMENSION(:), POINTER :: PPLSTT 00148 ! 00149 CHARACTER(LEN=4), INTENT(IN) :: HSCOND 00150 CHARACTER(LEN=3), INTENT(IN) :: HISBA 00151 REAL, DIMENSION(:,:), POINTER :: PHCAPSOIL 00152 REAL, DIMENSION(:,:), POINTER :: PCONDDRY 00153 REAL, DIMENSION(:,:), POINTER :: PCONDSLD 00154 CHARACTER(LEN=3), INTENT(IN) :: HCPSURF 00155 ! 00156 REAL, DIMENSION(:,:), INTENT(IN) :: PDG 00157 REAL, DIMENSION(:), INTENT(IN) :: PDROOT 00158 REAL, DIMENSION(:), INTENT(IN) :: PDG2 00159 REAL, DIMENSION(:,:), INTENT(IN) :: PROOTFRAC 00160 REAL, DIMENSION(:), POINTER :: PRUNOFFD 00161 REAL, DIMENSION(:,:), POINTER :: PDZG 00162 REAL, DIMENSION(:,:), POINTER :: PDZDIF 00163 REAL, DIMENSION(:,:), POINTER :: PSOILWGHT 00164 INTEGER, DIMENSION(:), INTENT(IN) :: KWG_LAYER 00165 INTEGER, INTENT(OUT) :: KLAYER_HORT 00166 INTEGER, INTENT(OUT) :: KLAYER_DUN 00167 ! 00168 REAL, DIMENSION(:), INTENT(INOUT) :: PD_ICE 00169 REAL, DIMENSION(:), POINTER :: PKSAT_ICE 00170 ! 00171 REAL, DIMENSION(:), POINTER :: PALBNIR_DRY 00172 REAL, DIMENSION(:), POINTER :: PALBVIS_DRY 00173 REAL, DIMENSION(:), POINTER :: PALBUV_DRY 00174 REAL, DIMENSION(:), POINTER :: PALBNIR_WET 00175 REAL, DIMENSION(:), POINTER :: PALBVIS_WET 00176 REAL, DIMENSION(:), POINTER :: PALBUV_WET 00177 ! 00178 REAL, DIMENSION(:), POINTER :: PBSLAI_NITRO 00179 REAL, DIMENSION(:), INTENT(IN) :: PCE_NITRO 00180 REAL, DIMENSION(:), INTENT(IN) :: PCNA_NITRO 00181 REAL, DIMENSION(:), INTENT(IN) :: PCF_NITRO 00182 ! 00183 !* 0.2 Declarations of local variables 00184 ! ------------------------------- 00185 ! 00186 REAL, DIMENSION(:,:), POINTER :: ZPATCH 00187 REAL, DIMENSION(:,:,:), POINTER :: ZVEGTYPE_PATCH 00188 INTEGER, DIMENSION(:), POINTER :: ISIZE_NATURE_P 00189 INTEGER, DIMENSION(:,:), POINTER :: IR_NATURE_P 00190 REAL, DIMENSION(0) :: ZTDEEP_CLI, ZGAMMAT_CLI, ZTHRESHOLD 00191 INTEGER, DIMENSION(:,:), POINTER :: IIRRINUM 00192 LOGICAL, DIMENSION(:,:), POINTER :: GIRRIDAY 00193 LOGICAL, DIMENSION(:,:), POINTER :: GIRRIGATE 00194 REAL, DIMENSION(:,:), POINTER :: ZTHRESHOLDSPT 00195 REAL, DIMENSION(:,:,:), POINTER :: ZINCREASE 00196 REAL, DIMENSION(:,:,:), POINTER :: ZTURNOVER 00197 REAL, DIMENSION(:,:,:), POINTER :: ZSFDST 00198 REAL, DIMENSION(:,:,:), POINTER :: ZSFDSTM 00199 REAL, DIMENSION(:,:,:), POINTER :: ZSFSLT 00200 REAL, DIMENSION(0) :: ZAOSIP, ZAOSIM, ZAOSJP, ZAOSJM 00201 REAL, DIMENSION(0) :: ZHO2IP, ZHO2IM, ZHO2JP, ZHO2JM 00202 REAL, DIMENSION(0,0) :: ZZ0 00203 REAL, DIMENSION(:,:), POINTER :: ZZ0EFFIP 00204 REAL, DIMENSION(:,:), POINTER :: ZZ0EFFIM 00205 REAL, DIMENSION(:,:), POINTER :: ZZ0EFFJP 00206 REAL, DIMENSION(:,:), POINTER :: ZZ0EFFJM 00207 REAL, DIMENSION(:), POINTER :: ZZ0REL 00208 ! 00209 REAL, DIMENSION(:,:), POINTER :: ZC1SAT 00210 REAL, DIMENSION(:,:), POINTER :: ZC2REF 00211 REAL, DIMENSION(:,:), POINTER :: ZC4REF 00212 REAL, DIMENSION(:,:,:), POINTER :: ZC3 00213 ! 00214 REAL, DIMENSION(:,:), POINTER :: ZPCPS 00215 REAL, DIMENSION(:,:), POINTER :: ZPLVTT 00216 REAL, DIMENSION(:,:), POINTER :: ZPLSTT 00217 ! 00218 REAL, DIMENSION(:,:), POINTER :: ZKSAT_ICE 00219 REAL, DIMENSION(:,:,:), POINTER :: ZDZG 00220 REAL, DIMENSION(:,:,:), POINTER :: ZDZDIF 00221 REAL, DIMENSION(:,:,:), POINTER :: ZSOILWGHT 00222 REAL, DIMENSION(:,:,:), POINTER :: ZCONDSAT 00223 REAL, DIMENSION(:,:), POINTER :: ZRUNOFFD 00224 REAL, DIMENSION(:,:), POINTER :: ZBSLAI_NITRO 00225 REAL, DIMENSION(:,:), POINTER :: ZANMAX 00226 REAL, DIMENSION(:,:), POINTER :: ZFZERO 00227 REAL, DIMENSION(:,:), POINTER :: ZEPSO 00228 REAL, DIMENSION(:,:), POINTER :: ZGAMM 00229 REAL, DIMENSION(:,:), POINTER :: ZQDGAMM 00230 REAL, DIMENSION(:,:), POINTER :: ZQDGMES 00231 REAL, DIMENSION(:,:), POINTER :: ZT1GMES 00232 REAL, DIMENSION(:,:), POINTER :: ZT2GMES 00233 REAL, DIMENSION(:,:), POINTER :: ZAMAX 00234 REAL, DIMENSION(:,:), POINTER :: ZQDAMAX 00235 REAL, DIMENSION(:,:), POINTER :: ZT1AMAX 00236 REAL, DIMENSION(:,:), POINTER :: ZT2AMAX 00237 REAL, DIMENSION(:,:), POINTER :: ZAH 00238 REAL, DIMENSION(:,:), POINTER :: ZBH 00239 REAL, DIMENSION(:,:), POINTER :: ZTAU_WOOD 00240 ! 00241 REAL, DIMENSION(SIZE(PDG,1),SIZE(PDG,2),1) :: ZDG 00242 REAL, DIMENSION(SIZE(PDROOT),1) :: ZDROOT 00243 REAL, DIMENSION(SIZE(PDG2),1) :: ZDG2 00244 REAL, DIMENSION(SIZE(PD_ICE),1) :: ZD_ICE 00245 REAL, DIMENSION(SIZE(PROOTFRAC,1),SIZE(PROOTFRAC,2),1) :: ZROOTFRAC 00246 REAL, DIMENSION(SIZE(PCE_NITRO),1) :: ZCE_NITRO 00247 REAL, DIMENSION(SIZE(PCNA_NITRO),1) :: ZCNA_NITRO 00248 REAL, DIMENSION(SIZE(PCF_NITRO),1) :: ZCF_NITRO 00249 REAL, DIMENSION(SIZE(PGMES),1) :: ZGMES 00250 REAL, DIMENSION(SIZE(PGC),1) :: ZGC 00251 REAL, DIMENSION(SIZE(PDMAX),1) :: ZDMAX 00252 INTEGER, DIMENSION(SIZE(KWG_LAYER),1) :: IWG_LAYER 00253 ! 00254 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00255 ! 00256 !------------------------------------------------------------------------------- 00257 ! Initialisation for IO 00258 ! 00259 IF (LHOOK) CALL DR_HOOK('INIT_VEG_PGD_GARDEN_n',0,ZHOOK_HANDLE) 00260 ! 00261 !* 2.4 Fraction of each tile 00262 ! --------------------- 00263 ! 00264 NULLIFY(ZPATCH) 00265 NULLIFY(ZVEGTYPE_PATCH) 00266 NULLIFY(ISIZE_NATURE_P) 00267 NULLIFY(IR_NATURE_P) 00268 NULLIFY(IIRRINUM) 00269 NULLIFY(GIRRIDAY) 00270 NULLIFY(GIRRIGATE) 00271 NULLIFY(ZTHRESHOLDSPT) 00272 NULLIFY(ZINCREASE) 00273 NULLIFY(ZTURNOVER) 00274 NULLIFY(ZSFDST) 00275 NULLIFY(ZSFDSTM) 00276 NULLIFY(ZSFSLT) 00277 NULLIFY(ZZ0EFFIP) 00278 NULLIFY(ZZ0EFFIM) 00279 NULLIFY(ZZ0EFFJP) 00280 NULLIFY(ZZ0EFFJM) 00281 NULLIFY(ZZ0REL) 00282 ! 00283 NULLIFY(ZC1SAT) 00284 NULLIFY(ZC2REF) 00285 NULLIFY(ZC4REF) 00286 NULLIFY(ZC3) 00287 ! 00288 NULLIFY(ZPCPS) 00289 NULLIFY(ZPLVTT) 00290 NULLIFY(ZPLSTT) 00291 ! 00292 NULLIFY(ZKSAT_ICE) 00293 NULLIFY(ZDZG) 00294 NULLIFY(ZDZDIF) 00295 NULLIFY(ZSOILWGHT) 00296 NULLIFY(ZCONDSAT) 00297 NULLIFY(ZRUNOFFD) 00298 NULLIFY(ZBSLAI_NITRO) 00299 NULLIFY(ZANMAX) 00300 NULLIFY(ZFZERO) 00301 NULLIFY(ZEPSO) 00302 NULLIFY(ZGAMM) 00303 NULLIFY(ZQDGAMM) 00304 NULLIFY(ZQDGMES) 00305 NULLIFY(ZT1GMES) 00306 NULLIFY(ZT2GMES) 00307 NULLIFY(ZAMAX) 00308 NULLIFY(ZT1AMAX) 00309 NULLIFY(ZT2AMAX) 00310 NULLIFY(ZAH) 00311 NULLIFY(ZBH) 00312 NULLIFY(ZTAU_WOOD) 00313 ! 00314 ZDG(:,:,1) = PDG(:,:) 00315 ZROOTFRAC(:,:,1) = PROOTFRAC(:,:) 00316 ZDROOT(:,1) = PDROOT(:) 00317 ZDG2(:,1) = PDG2(:) 00318 ZD_ICE(:,1) = PD_ICE(:) 00319 IWG_LAYER(:,1) = KWG_LAYER(:) 00320 ZCE_NITRO(:,1) = PCE_NITRO(:) 00321 ZCNA_NITRO(:,1) = PCNA_NITRO(:) 00322 ZCF_NITRO(:,1) = PCF_NITRO(:) 00323 ZGMES(:,1) = PGMES(:) 00324 ZGC(:,1) = PGC(:) 00325 ZDMAX(:,1) = PDMAX(:) 00326 ! 00327 CALL INIT_VEG_PGD_n(HPROGRAM, KLUOUT, KI, 1, KGROUND_LAYER, KMONTH, & 00328 PVEGTYPE, ZPATCH, ZVEGTYPE_PATCH, ISIZE_NATURE_P, IR_NATURE_P, & 00329 0.0, & 00330 .FALSE., .FALSE., ZTDEEP_CLI, ZGAMMAT_CLI, PTDEEP, PGAMMAT, & 00331 .FALSE., ZTHRESHOLD, IIRRINUM, GIRRIDAY, GIRRIGATE, ZTHRESHOLDSPT, & 00332 HPHOTO, HINIT, OTR_ML, KNBIOMASS, PCO2, PRHOA, PABC, PPOI, & 00333 ZGMES, ZGC, ZDMAX, ZANMAX, ZFZERO, ZEPSO, ZGAMM, ZQDGAMM, & 00334 ZQDGMES, ZT1GMES, ZT2GMES, ZAMAX, ZQDAMAX, ZT1AMAX, ZT2AMAX,& 00335 ZAH, ZBH, ZTAU_WOOD, ZINCREASE, ZTURNOVER, & 00336 KSV, HSV, KBEQ, HSVO, KAEREQ, KSV_CHSBEG, KSV_CHSEND, & 00337 KSV_AERBEG, KSV_AEREND, HCH_NAMES, HAER_NAMES, KDSTEQ, & 00338 KSV_DSTBEG, KSV_DSTEND, KSLTEQ, KSV_SLTBEG, KSV_SLTEND, & 00339 HDSTNAMES, HSLTNAMES, HCHEM_SURF_FILE, & 00340 ZSFDST, ZSFDSTM, ZSFSLT, & 00341 ZAOSIP, ZAOSIM, ZAOSJP, ZAOSJM, ZHO2IP, ZHO2IM, ZHO2JP, & 00342 ZHO2JM, ZZ0, ZZ0EFFIP, ZZ0EFFIM, ZZ0EFFJP, ZZ0EFFJM, ZZ0REL,& 00343 PCLAY, PSAND, HPEDOTF, & 00344 ZCONDSAT, PMPOTSAT, PBCOEF, PWWILT, PWFC, PWSAT, & 00345 PTAUICE, PCGSAT, ZC1SAT, ZC2REF, ZC3, PC4B, PACOEF, PPCOEF, & 00346 ZC4REF, ZPCPS, ZPLVTT, ZPLSTT, & 00347 HSCOND, HISBA, PHCAPSOIL, PCONDDRY, PCONDSLD, HCPSURF, & 00348 ZDG, ZDROOT, ZDG2, ZROOTFRAC, ZRUNOFFD, ZDZG, ZDZDIF, & 00349 ZSOILWGHT, IWG_LAYER, KLAYER_HORT, KLAYER_DUN, ZD_ICE, & 00350 ZKSAT_ICE, PALBNIR_DRY, PALBVIS_DRY, PALBUV_DRY, & 00351 PALBNIR_WET, PALBVIS_WET, PALBUV_WET, ZBSLAI_NITRO, & 00352 ZCE_NITRO, ZCNA_NITRO, ZCF_NITRO ) 00353 ! 00354 ALLOCATE(PPCPS(SIZE(ZPCPS,1))) 00355 IF (SIZE(ZPCPS)>0) & 00356 PPCPS(:) = ZPCPS(:,1) 00357 00358 ALLOCATE(PPLVTT(SIZE(ZPLVTT,1))) 00359 IF (SIZE(ZPLVTT)>0) & 00360 PPLVTT(:) = ZPLVTT(:,1) 00361 00362 ALLOCATE(PPLSTT(SIZE(ZPLSTT,1))) 00363 IF (SIZE(ZPLSTT)>0) & 00364 PPLSTT(:) = ZPLSTT(:,1) 00365 00366 IF (SIZE(ZD_ICE)>0) & 00367 PD_ICE(:) = ZD_ICE(:,1) 00368 00369 ALLOCATE(PKSAT_ICE(SIZE(ZKSAT_ICE,1))) 00370 IF (SIZE(ZKSAT_ICE)>0) & 00371 PKSAT_ICE(:) = ZKSAT_ICE(:,1) 00372 00373 ALLOCATE(PDZG(SIZE(ZDZG,1),SIZE(ZDZG,2))) 00374 IF (SIZE(ZDZG)>0) & 00375 PDZG(:,:) = ZDZG(:,:,1) 00376 00377 ALLOCATE(PDZDIF(SIZE(ZDZDIF,1),SIZE(ZDZDIF,2))) 00378 IF (SIZE(ZDZDIF)>0) & 00379 PDZDIF(:,:) = ZDZDIF(:,:,1) 00380 00381 ALLOCATE(PSOILWGHT(SIZE(ZSOILWGHT,1),SIZE(ZSOILWGHT,2))) 00382 IF (SIZE(ZSOILWGHT)>0) & 00383 PSOILWGHT(:,:) = ZSOILWGHT(:,:,1) 00384 00385 ALLOCATE(PCONDSAT(SIZE(ZCONDSAT,1),SIZE(ZCONDSAT,2))) 00386 IF (SIZE(ZCONDSAT)>0) & 00387 PCONDSAT(:,:) = ZCONDSAT(:,:,1) 00388 00389 ALLOCATE(PC1SAT(SIZE(ZC1SAT,1))) 00390 IF (SIZE(ZC1SAT)>0) & 00391 PC1SAT(:) = ZC1SAT(:,1) 00392 00393 ALLOCATE(PC2REF(SIZE(ZC2REF,1))) 00394 IF (SIZE(ZC2REF)>0) & 00395 PC2REF(:) = ZC2REF(:,1) 00396 00397 ALLOCATE(PC4REF(SIZE(ZC4REF,1))) 00398 IF (SIZE(ZC4REF)>0) & 00399 PC4REF(:) = ZC4REF(:,1) 00400 00401 ALLOCATE(PC3(SIZE(ZC3,1),SIZE(ZC3,2))) 00402 IF (SIZE(ZC3)>0) & 00403 PC3(:,:) = ZC3(:,:,1) 00404 00405 ALLOCATE(PRUNOFFD(SIZE(ZRUNOFFD,1))) 00406 IF (SIZE(ZRUNOFFD)>0) & 00407 PRUNOFFD(:) = ZRUNOFFD(:,1) 00408 00409 ALLOCATE(PBSLAI_NITRO(SIZE(ZBSLAI_NITRO,1))) 00410 IF (SIZE(ZBSLAI_NITRO)>0) & 00411 PBSLAI_NITRO(:) = ZBSLAI_NITRO(:,1) 00412 00413 ALLOCATE(PANMAX(SIZE(ZANMAX,1))) 00414 IF (SIZE(PANMAX)>0) & 00415 PANMAX(:) = ZANMAX(:,1) 00416 00417 ALLOCATE(PFZERO(SIZE(ZFZERO,1))) 00418 IF (SIZE(ZFZERO)>0) & 00419 PFZERO(:) = ZFZERO(:,1) 00420 00421 ALLOCATE(PEPSO(SIZE(ZEPSO,1))) 00422 IF (SIZE(ZEPSO)>0) & 00423 PEPSO(:) = ZEPSO(:,1) 00424 00425 ALLOCATE(PGAMM(SIZE(ZGAMM,1))) 00426 IF (SIZE(ZGAMM)>0) & 00427 PGAMM(:) = ZGAMM(:,1) 00428 00429 ALLOCATE(PQDGAMM(SIZE(ZQDGAMM,1))) 00430 IF (SIZE(ZQDGAMM)>0) & 00431 PQDGAMM(:) = ZQDGAMM(:,1) 00432 00433 ALLOCATE(PQDGMES(SIZE(ZQDGMES,1))) 00434 IF (SIZE(ZQDGMES)>0) & 00435 PQDGMES(:) = ZQDGMES(:,1) 00436 00437 ALLOCATE(PT1GMES(SIZE(ZT1GMES,1))) 00438 IF (SIZE(ZT1GMES)>0) & 00439 PT1GMES(:) = ZT1GMES(:,1) 00440 00441 ALLOCATE(PT2GMES(SIZE(ZT2GMES,1))) 00442 IF (SIZE(ZT2GMES)>0) & 00443 PT2GMES(:) = ZT2GMES(:,1) 00444 00445 ALLOCATE(PAMAX(SIZE(ZAMAX,1))) 00446 IF (SIZE(ZAMAX)>0) & 00447 PAMAX(:) = ZAMAX(:,1) 00448 00449 ALLOCATE(PQDAMAX(SIZE(ZQDAMAX,1))) 00450 IF (SIZE(ZQDAMAX)>0) & 00451 PQDAMAX(:) = ZQDAMAX(:,1) 00452 00453 ALLOCATE(PT1AMAX(SIZE(ZT1AMAX,1))) 00454 IF (SIZE(ZT1AMAX)>0) & 00455 PT1AMAX(:) = ZT1AMAX(:,1) 00456 00457 ALLOCATE(PT2AMAX(SIZE(ZT2AMAX,1))) 00458 IF (SIZE(ZT2AMAX)>0) & 00459 PT2AMAX(:) = ZT2AMAX(:,1) 00460 00461 ALLOCATE(PAH(SIZE(ZAH,1))) 00462 IF (SIZE(ZAH)>0) & 00463 PAH(:) = ZAH(:,1) 00464 00465 ALLOCATE(PBH(SIZE(ZBH,1))) 00466 IF (SIZE(ZBH)>0) & 00467 PBH(:) = ZBH(:,1) 00468 ! 00469 IF (LHOOK) CALL DR_HOOK('INIT_VEG_PGD_GARDEN_n',1,ZHOOK_HANDLE) 00470 ! 00471 END SUBROUTINE INIT_VEG_PGD_GARDEN_n