SURFEX v7.3
General documentation of Surfex
|
00001 ! ######### 00002 SUBROUTINE PGD_ISBA_PAR(HPROGRAM) 00003 ! ############################################################## 00004 ! 00005 !!**** *PGD_ISBA_PAR* monitor for averaging and interpolations of cover fractions 00006 !! 00007 !! PURPOSE 00008 !! ------- 00009 !! 00010 !! METHOD 00011 !! ------ 00012 !! 00013 ! 00014 !! EXTERNAL 00015 !! -------- 00016 !! 00017 !! IMPLICIT ARGUMENTS 00018 !! ------------------ 00019 !! 00020 !! REFERENCE 00021 !! --------- 00022 !! 00023 !! AUTHOR 00024 !! ------ 00025 !! 00026 !! V. Masson Meteo-France 00027 !! 00028 !! MODIFICATION 00029 !! ------------ 00030 !! 00031 !! Original 10/12/97 00032 !! 00033 !! Modified 08/12/05, P. Le Moigne: user defined fields 00034 !! 00035 !---------------------------------------------------------------------------- 00036 ! 00037 !* 0. DECLARATION 00038 ! ----------- 00039 ! 00040 USE MODD_DATA_COVER_PAR, ONLY : NVEGTYPE 00041 USE MODD_SURF_PAR, ONLY : XUNDEF 00042 USE MODD_ISBA_GRID_n, ONLY : NDIM 00043 USE MODD_ISBA_n, ONLY : LECOCLIMAP, CISBA, CPHOTO, NGROUND_LAYER, XSOILGRID 00044 USE MODD_DATA_ISBA_n, ONLY : XPAR_VEGTYPE, XPAR_LAI, XPAR_H_TREE, XPAR_DG, & 00045 XPAR_ROOTFRAC, XPAR_VEG, XPAR_Z0, XPAR_EMIS, XPAR_DICE, & 00046 XPAR_RSMIN, XPAR_GAMMA, XPAR_WRMAX_CF, XPAR_RGL, & 00047 XPAR_CV, XPAR_Z0_O_Z0H, & 00048 XPAR_ALBNIR_VEG, XPAR_ALBVIS_VEG, XPAR_ALBUV_VEG, & 00049 XPAR_ALBNIR_SOIL, XPAR_ALBVIS_SOIL, XPAR_ALBUV_SOIL, & 00050 XPAR_GMES, XPAR_BSLAI, XPAR_SEFOLD, XPAR_GC, XPAR_DMAX, & 00051 XPAR_RE25, XPAR_LAIMIN, XPAR_F2I, & 00052 XPAR_CE_NITRO,XPAR_CF_NITRO,XPAR_CNA_NITRO, & 00053 XPAR_GROUND_DEPTH, XPAR_ROOT_DEPTH, & 00054 XPAR_ROOT_EXTINCTION, XPAR_ROOT_LIN, & 00055 LPAR_STRESS, XPAR_IRRIG, XPAR_WATSUP, & 00056 LDATA_VEGTYPE, LDATA_LAI, LDATA_H_TREE, LDATA_DG, & 00057 LDATA_ROOTFRAC, LDATA_VEG, LDATA_Z0, LDATA_EMIS, & 00058 LDATA_RSMIN, LDATA_GAMMA, LDATA_WRMAX_CF, LDATA_RGL, & 00059 LDATA_CV, LDATA_Z0_O_Z0H, LDATA_DICE, & 00060 LDATA_ALBNIR_VEG, LDATA_ALBVIS_VEG, LDATA_ALBUV_VEG, & 00061 LDATA_ALBVIS_SOIL, LDATA_ALBNIR_SOIL, LDATA_ALBUV_SOIL, & 00062 LDATA_GMES, LDATA_BSLAI, LDATA_SEFOLD, LDATA_GC, LDATA_DMAX, & 00063 LDATA_RE25, LDATA_LAIMIN, LDATA_F2I, & 00064 LDATA_CE_NITRO,LDATA_CF_NITRO, LDATA_CNA_NITRO,& 00065 LDATA_STRESS, LDATA_IRRIG, LDATA_WATSUP, & 00066 LDATA_GROUND_DEPTH, LDATA_ROOT_DEPTH, & 00067 LDATA_ROOT_EXTINCTION, LDATA_ROOT_LIN, & 00068 NTIME_n=>NTIME 00069 ! 00070 USE MODI_GET_LUOUT 00071 USE MODI_OPEN_NAMELIST 00072 USE MODI_CLOSE_NAMELIST 00073 USE MODI_INI_VAR_FROM_DATA 00074 USE MODI_EXTRAPOL_FIELDS 00075 ! 00076 USE MODE_POS_SURF 00077 ! 00078 ! 00079 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00080 USE PARKIND1 ,ONLY : JPRB 00081 ! 00082 USE MODI_ABOR1_SFX 00083 ! 00084 IMPLICIT NONE 00085 ! 00086 !* 0.1 Declaration of arguments 00087 ! ------------------------ 00088 ! 00089 CHARACTER(LEN=6), INTENT(IN) :: HPROGRAM ! Type of program 00090 ! 00091 ! 00092 !* 0.2 Declaration of local variables 00093 ! ------------------------------ 00094 ! 00095 INTEGER :: ILUOUT ! output listing logical unit 00096 INTEGER :: ILUNAM ! namelist file logical unit 00097 LOGICAL :: GFOUND ! true if namelist is found 00098 ! 00099 INTEGER :: JVEGTYPE ! loop counter on patch 00100 LOGICAL :: GPAR_STRESS ! type of stress 00101 ! 00102 !* 0.3 Declaration of namelists 00103 ! ------------------------ 00104 ! 00105 INTEGER :: NTIME 00106 INTEGER, PARAMETER :: NTIME_MAX = 36 00107 INTEGER, PARAMETER :: NGROUND_MAX = 150 00108 INTEGER, PARAMETER :: NVEGTYPE_MAX = 12 00109 ! 00110 REAL, DIMENSION(NVEGTYPE_MAX) :: XSTRESS ! 1. if defensive /0. if offensive 00111 ! 00112 REAL, DIMENSION(NVEGTYPE_MAX) :: XUNIF_VEGTYPE ! fractions of each vegtypes 00113 ! 00114 REAL, DIMENSION(NVEGTYPE_MAX,NTIME_MAX) :: XUNIF_VEG ! vegetation fraction 00115 REAL, DIMENSION(NVEGTYPE_MAX,NTIME_MAX) :: XUNIF_LAI ! LAI 00116 REAL, DIMENSION(NVEGTYPE_MAX,NTIME_MAX) :: XUNIF_Z0 ! roughness length of vegetation 00117 REAL, DIMENSION(NVEGTYPE_MAX,NTIME_MAX) :: XUNIF_EMIS ! emissivity 00118 ! 00119 REAL, DIMENSION(NVEGTYPE_MAX,NGROUND_MAX) :: XUNIF_DG ! soil depths 00120 REAL, DIMENSION(NVEGTYPE_MAX,NGROUND_MAX) :: XUNIF_ROOTFRAC ! root fraction profiles 00121 REAL, DIMENSION(NVEGTYPE_MAX) :: XUNIF_GROUND_DEPTH! ground depth 00122 REAL, DIMENSION(NVEGTYPE_MAX) :: XUNIF_ROOT_DEPTH ! root depth 00123 REAL, DIMENSION(NVEGTYPE_MAX) :: XUNIF_ROOT_EXTINCTION! root extinction parameter 00124 REAL, DIMENSION(NVEGTYPE_MAX) :: XUNIF_ROOT_LIN ! root linear parameter 00125 REAL, DIMENSION(NVEGTYPE_MAX) :: XUNIF_DICE ! soil ice depth for runoff 00126 ! 00127 REAL, DIMENSION(NVEGTYPE_MAX) :: XUNIF_RSMIN ! minimal stomatal resistance 00128 REAL, DIMENSION(NVEGTYPE_MAX) :: XUNIF_GAMMA ! gamma parameter 00129 REAL, DIMENSION(NVEGTYPE_MAX) :: XUNIF_WRMAX_CF ! coefficient for interception 00130 REAL, DIMENSION(NVEGTYPE_MAX) :: XUNIF_RGL !Rgl 00131 REAL, DIMENSION(NVEGTYPE_MAX) :: XUNIF_CV ! Cv 00132 REAL, DIMENSION(NVEGTYPE_MAX) :: XUNIF_Z0_O_Z0H ! ratio of roughness lengths 00133 REAL, DIMENSION(NVEGTYPE_MAX) :: XUNIF_ALBNIR_VEG ! albedo of vegetation (near-infra-red) 00134 REAL, DIMENSION(NVEGTYPE_MAX) :: XUNIF_ALBVIS_VEG ! albedo of vegetation (visible) 00135 REAL, DIMENSION(NVEGTYPE_MAX) :: XUNIF_ALBUV_VEG ! albedo of vegetation (UV) 00136 REAL, DIMENSION(NVEGTYPE_MAX) :: XUNIF_ALBNIR_SOIL! albedo of soil (near-infra-red) 00137 REAL, DIMENSION(NVEGTYPE_MAX) :: XUNIF_ALBVIS_SOIL! albedo of soil (visible) 00138 REAL, DIMENSION(NVEGTYPE_MAX) :: XUNIF_ALBUV_SOIL ! albedo of soil (UV) 00139 REAL, DIMENSION(NVEGTYPE_MAX) :: XUNIF_GMES ! Gmes 00140 REAL, DIMENSION(NVEGTYPE_MAX) :: XUNIF_BSLAI ! Biomass over LAI 00141 REAL, DIMENSION(NVEGTYPE_MAX) :: XUNIF_LAIMIN ! minimum LAI 00142 REAL, DIMENSION(NVEGTYPE_MAX) :: XUNIF_SEFOLD ! Sefold 00143 REAL, DIMENSION(NVEGTYPE_MAX) :: XUNIF_GC ! Gc 00144 REAL, DIMENSION(NVEGTYPE_MAX) :: XUNIF_DMAX ! Dmax 00145 REAL, DIMENSION(NVEGTYPE_MAX) :: XUNIF_F2I ! F2I 00146 REAL, DIMENSION(NVEGTYPE_MAX) :: XUNIF_H_TREE ! height of trees 00147 REAL, DIMENSION(NVEGTYPE_MAX) :: XUNIF_RE25 ! soil respiration parameter 00148 REAL, DIMENSION(NVEGTYPE_MAX) :: XUNIF_CE_NITRO ! CE for nitrogen 00149 REAL, DIMENSION(NVEGTYPE_MAX) :: XUNIF_CF_NITRO ! CF for nitrogen 00150 REAL, DIMENSION(NVEGTYPE_MAX) :: XUNIF_CNA_NITRO ! CNA for nitrogen 00151 ! 00152 LOGICAL, DIMENSION(NVEGTYPE_MAX) :: LUNIF_STRESS ! stress type 00153 ! 00154 ! name of files containing data 00155 ! 00156 CHARACTER(LEN=28), DIMENSION(NVEGTYPE_MAX) :: CFNAM_VEGTYPE ! fractions of each vegtypes 00157 ! 00158 CHARACTER(LEN=28), DIMENSION(NVEGTYPE_MAX,NTIME_MAX) :: CFNAM_VEG ! vegetation fraction 00159 CHARACTER(LEN=28), DIMENSION(NVEGTYPE_MAX,NTIME_MAX) :: CFNAM_LAI ! LAI 00160 CHARACTER(LEN=28), DIMENSION(NVEGTYPE_MAX,NTIME_MAX) :: CFNAM_Z0 ! roughness length 00161 CHARACTER(LEN=28), DIMENSION(NVEGTYPE_MAX,NTIME_MAX) :: CFNAM_EMIS ! emissivity 00162 ! 00163 CHARACTER(LEN=28), DIMENSION(NVEGTYPE_MAX,NGROUND_MAX) :: CFNAM_DG ! soil depth 00164 CHARACTER(LEN=28), DIMENSION(NVEGTYPE_MAX,NGROUND_MAX) :: CFNAM_ROOTFRAC ! root fraction profiles 00165 CHARACTER(LEN=28), DIMENSION(NVEGTYPE_MAX) :: CFNAM_GROUND_DEPTH! ground depth 00166 CHARACTER(LEN=28), DIMENSION(NVEGTYPE_MAX) :: CFNAM_ROOT_DEPTH ! root depth 00167 CHARACTER(LEN=28), DIMENSION(NVEGTYPE_MAX) :: CFNAM_ROOT_EXTINCTION! root extinction parameter 00168 CHARACTER(LEN=28), DIMENSION(NVEGTYPE_MAX) :: CFNAM_ROOT_LIN ! root linear parameter 00169 CHARACTER(LEN=28), DIMENSION(NVEGTYPE_MAX) :: CFNAM_DICE ! soil ice depth for runoff (m) 00170 ! 00171 CHARACTER(LEN=28), DIMENSION(NVEGTYPE_MAX) :: CFNAM_RSMIN ! minimal stomatal resistance 00172 CHARACTER(LEN=28), DIMENSION(NVEGTYPE_MAX) :: CFNAM_GAMMA ! gamma parameter 00173 CHARACTER(LEN=28), DIMENSION(NVEGTYPE_MAX) :: CFNAM_WRMAX_CF ! coefficient for interception 00174 CHARACTER(LEN=28), DIMENSION(NVEGTYPE_MAX) :: CFNAM_RGL ! Rgl 00175 CHARACTER(LEN=28), DIMENSION(NVEGTYPE_MAX) :: CFNAM_CV ! Cv 00176 CHARACTER(LEN=28), DIMENSION(NVEGTYPE_MAX) :: CFNAM_Z0_O_Z0H ! ratio of roughness lengths 00177 CHARACTER(LEN=28), DIMENSION(NVEGTYPE_MAX) :: CFNAM_ALBNIR_VEG ! albedo of vegetation (near-infra-red) 00178 CHARACTER(LEN=28), DIMENSION(NVEGTYPE_MAX) :: CFNAM_ALBVIS_VEG ! albedo of vegetation (visible) 00179 CHARACTER(LEN=28), DIMENSION(NVEGTYPE_MAX) :: CFNAM_ALBUV_VEG ! albedo of vegetation (UV) 00180 CHARACTER(LEN=28), DIMENSION(NVEGTYPE_MAX) :: CFNAM_ALBNIR_SOIL! albedo of soil (near-infra-red) 00181 CHARACTER(LEN=28), DIMENSION(NVEGTYPE_MAX) :: CFNAM_ALBVIS_SOIL! albedo of soil (visible) 00182 CHARACTER(LEN=28), DIMENSION(NVEGTYPE_MAX) :: CFNAM_ALBUV_SOIL ! albedo of soil (UV) 00183 CHARACTER(LEN=28), DIMENSION(NVEGTYPE_MAX) :: CFNAM_GMES ! Gmes 00184 CHARACTER(LEN=28), DIMENSION(NVEGTYPE_MAX) :: CFNAM_BSLAI ! Biomass over LAI 00185 CHARACTER(LEN=28), DIMENSION(NVEGTYPE_MAX) :: CFNAM_LAIMIN ! minimum LAI 00186 CHARACTER(LEN=28), DIMENSION(NVEGTYPE_MAX) :: CFNAM_SEFOLD ! e-folding time for senesence 00187 CHARACTER(LEN=28), DIMENSION(NVEGTYPE_MAX) :: CFNAM_GC ! cuticular conductance 00188 CHARACTER(LEN=28), DIMENSION(NVEGTYPE_MAX) :: CFNAM_DMAX ! Dmax 00189 CHARACTER(LEN=28), DIMENSION(NVEGTYPE_MAX) :: CFNAM_F2I ! F2I 00190 CHARACTER(LEN=28), DIMENSION(NVEGTYPE_MAX) :: CFNAM_H_TREE ! height of trees 00191 CHARACTER(LEN=28), DIMENSION(NVEGTYPE_MAX) :: CFNAM_RE25 ! soil respiration parameter 00192 CHARACTER(LEN=28), DIMENSION(NVEGTYPE_MAX) :: CFNAM_CE_NITRO ! CE for nitrogen 00193 CHARACTER(LEN=28), DIMENSION(NVEGTYPE_MAX) :: CFNAM_CF_NITRO ! CF for nitrogen 00194 CHARACTER(LEN=28), DIMENSION(NVEGTYPE_MAX) :: CFNAM_CNA_NITRO ! CNA for nitrogen 00195 ! 00196 ! types of file containing data 00197 ! 00198 CHARACTER(LEN=6), DIMENSION(NVEGTYPE_MAX) :: CFTYP_VEGTYPE ! fractions of each vegtypes 00199 ! 00200 CHARACTER(LEN=6), DIMENSION(NVEGTYPE_MAX,NTIME_MAX) :: CFTYP_VEG ! vegetation fraction 00201 CHARACTER(LEN=6), DIMENSION(NVEGTYPE_MAX,NTIME_MAX) :: CFTYP_LAI ! LAI 00202 CHARACTER(LEN=6), DIMENSION(NVEGTYPE_MAX,NTIME_MAX) :: CFTYP_Z0 ! roughness length 00203 CHARACTER(LEN=6), DIMENSION(NVEGTYPE_MAX,NTIME_MAX) :: CFTYP_EMIS ! emissivity 00204 ! 00205 CHARACTER(LEN=6), DIMENSION(NVEGTYPE_MAX,NGROUND_MAX) :: CFTYP_DG ! soil depth 00206 CHARACTER(LEN=6), DIMENSION(NVEGTYPE_MAX,NGROUND_MAX) :: CFTYP_ROOTFRAC ! root fraction profiles 00207 CHARACTER(LEN=6), DIMENSION(NVEGTYPE_MAX) :: CFTYP_GROUND_DEPTH! ground depth 00208 CHARACTER(LEN=6), DIMENSION(NVEGTYPE_MAX) :: CFTYP_ROOT_DEPTH ! root depth 00209 CHARACTER(LEN=6), DIMENSION(NVEGTYPE_MAX) :: CFTYP_ROOT_EXTINCTION! root extinction parameter 00210 CHARACTER(LEN=6), DIMENSION(NVEGTYPE_MAX) :: CFTYP_ROOT_LIN ! root linear parameter 00211 CHARACTER(LEN=6), DIMENSION(NVEGTYPE_MAX) :: CFTYP_DICE ! soil ice depth for runoff 00212 ! 00213 CHARACTER(LEN=6), DIMENSION(NVEGTYPE_MAX) :: CFTYP_RSMIN ! minimal stomatal resistance 00214 CHARACTER(LEN=6), DIMENSION(NVEGTYPE_MAX) :: CFTYP_GAMMA ! gamma parameter 00215 CHARACTER(LEN=6), DIMENSION(NVEGTYPE_MAX) :: CFTYP_WRMAX_CF ! coefficient for interception 00216 CHARACTER(LEN=6), DIMENSION(NVEGTYPE_MAX) :: CFTYP_RGL ! Rgl 00217 CHARACTER(LEN=6), DIMENSION(NVEGTYPE_MAX) :: CFTYP_CV ! Cv 00218 CHARACTER(LEN=6), DIMENSION(NVEGTYPE_MAX) :: CFTYP_Z0_O_Z0H ! ratio of roughness lengths 00219 CHARACTER(LEN=6), DIMENSION(NVEGTYPE_MAX) :: CFTYP_ALBNIR_VEG ! albedo of vegetation (near-infra-red) 00220 CHARACTER(LEN=6), DIMENSION(NVEGTYPE_MAX) :: CFTYP_ALBVIS_VEG ! albedo of vegetation (visible) 00221 CHARACTER(LEN=6), DIMENSION(NVEGTYPE_MAX) :: CFTYP_ALBUV_VEG ! albedo of vegetation (UV) 00222 CHARACTER(LEN=6), DIMENSION(NVEGTYPE_MAX) :: CFTYP_ALBNIR_SOIL! albedo of soil (near-infra-red) 00223 CHARACTER(LEN=6), DIMENSION(NVEGTYPE_MAX) :: CFTYP_ALBVIS_SOIL! albedo of soil (visible) 00224 CHARACTER(LEN=6), DIMENSION(NVEGTYPE_MAX) :: CFTYP_ALBUV_SOIL ! albedo of soil (UV) 00225 CHARACTER(LEN=6), DIMENSION(NVEGTYPE_MAX) :: CFTYP_GMES ! Gmes 00226 CHARACTER(LEN=6), DIMENSION(NVEGTYPE_MAX) :: CFTYP_BSLAI ! Biomass over LAI 00227 CHARACTER(LEN=6), DIMENSION(NVEGTYPE_MAX) :: CFTYP_LAIMIN ! minimum LAI 00228 CHARACTER(LEN=6), DIMENSION(NVEGTYPE_MAX) :: CFTYP_SEFOLD ! e-folding time for senesence 00229 CHARACTER(LEN=6), DIMENSION(NVEGTYPE_MAX) :: CFTYP_GC ! cuticular conductance 00230 CHARACTER(LEN=6), DIMENSION(NVEGTYPE_MAX) :: CFTYP_DMAX ! Dmax 00231 CHARACTER(LEN=6), DIMENSION(NVEGTYPE_MAX) :: CFTYP_F2I ! F2I 00232 CHARACTER(LEN=6), DIMENSION(NVEGTYPE_MAX) :: CFTYP_H_TREE ! height of trees 00233 CHARACTER(LEN=6), DIMENSION(NVEGTYPE_MAX) :: CFTYP_RE25 ! soil respiration parameter 00234 CHARACTER(LEN=6), DIMENSION(NVEGTYPE_MAX) :: CFTYP_CE_NITRO ! CE for nitrogen 00235 CHARACTER(LEN=6), DIMENSION(NVEGTYPE_MAX) :: CFTYP_CF_NITRO ! CF for nitrogen 00236 CHARACTER(LEN=6), DIMENSION(NVEGTYPE_MAX) :: CFTYP_CNA_NITRO ! CNA for nitrogen 00237 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00238 ! 00239 NAMELIST/NAM_DATA_ISBA/NTIME, XUNIF_VEGTYPE, XUNIF_DG, XUNIF_ROOTFRAC, XUNIF_DICE, & 00240 XUNIF_GROUND_DEPTH, XUNIF_ROOT_DEPTH, XUNIF_ROOT_EXTINCTION, & 00241 XUNIF_ROOT_LIN, XUNIF_LAI, XUNIF_VEG, XUNIF_Z0, XUNIF_EMIS, & 00242 XUNIF_RSMIN, XUNIF_GAMMA, XUNIF_WRMAX_CF, XUNIF_RGL, & 00243 XUNIF_CV, XUNIF_Z0_O_Z0H, & 00244 XUNIF_ALBNIR_VEG, XUNIF_ALBVIS_VEG, XUNIF_ALBUV_VEG, & 00245 XUNIF_ALBNIR_SOIL, XUNIF_ALBVIS_SOIL, XUNIF_ALBUV_SOIL, & 00246 XUNIF_GMES, XUNIF_BSLAI, XUNIF_LAIMIN, XUNIF_SEFOLD, & 00247 XUNIF_GC, XUNIF_DMAX, XUNIF_F2I, LUNIF_STRESS, XUNIF_H_TREE, XUNIF_RE25, & 00248 XUNIF_CE_NITRO, XUNIF_CF_NITRO, XUNIF_CNA_NITRO, & 00249 CFNAM_VEG,CFNAM_LAI,CFNAM_RSMIN,CFNAM_GAMMA,CFNAM_WRMAX_CF, & 00250 CFNAM_RGL,CFNAM_CV,CFNAM_DG,CFNAM_DICE,CFNAM_Z0,CFNAM_Z0_O_Z0H, & 00251 CFNAM_ALBNIR_VEG,CFNAM_ALBVIS_VEG,CFNAM_ALBUV_VEG, & 00252 CFNAM_ALBNIR_SOIL,CFNAM_ALBVIS_SOIL,CFNAM_ALBUV_SOIL, & 00253 CFNAM_EMIS, & 00254 CFNAM_VEGTYPE,CFNAM_ROOTFRAC, & 00255 CFNAM_GROUND_DEPTH,CFNAM_ROOT_DEPTH,CFNAM_ROOT_EXTINCTION,CFNAM_ROOT_LIN, & 00256 CFNAM_GMES,CFNAM_BSLAI,CFNAM_LAIMIN,CFNAM_SEFOLD,CFNAM_GC, & 00257 CFNAM_DMAX,CFNAM_F2I, CFNAM_H_TREE,CFNAM_RE25, & 00258 CFNAM_CE_NITRO,CFNAM_CF_NITRO,CFNAM_CNA_NITRO, & 00259 CFTYP_VEG,CFTYP_LAI,CFTYP_RSMIN,CFTYP_GAMMA,CFTYP_WRMAX_CF, & 00260 CFTYP_RGL,CFTYP_CV,CFTYP_DG,CFTYP_DICE,CFTYP_Z0,CFTYP_Z0_O_Z0H, & 00261 CFTYP_ALBNIR_VEG,CFTYP_ALBVIS_VEG,CFTYP_ALBUV_VEG, & 00262 CFTYP_ALBNIR_SOIL,CFTYP_ALBVIS_SOIL,CFTYP_ALBUV_SOIL, & 00263 CFTYP_EMIS, & 00264 CFTYP_VEGTYPE,CFTYP_ROOTFRAC, & 00265 CFTYP_GROUND_DEPTH,CFTYP_ROOT_DEPTH,CFTYP_ROOT_EXTINCTION,CFTYP_ROOT_LIN, & 00266 CFTYP_GMES,CFTYP_BSLAI,CFTYP_LAIMIN,CFTYP_SEFOLD,CFTYP_GC, & 00267 CFTYP_DMAX,CFTYP_F2I, CFTYP_H_TREE,CFTYP_RE25, & 00268 CFTYP_CE_NITRO,CFTYP_CF_NITRO,CFTYP_CNA_NITRO 00269 00270 DATA XSTRESS /1.,1.,1.,0.,1.,0.,1.,0.,1.,0.,0.,0./ 00271 !------------------------------------------------------------------------------- 00272 ! 00273 !* 1. Initializations 00274 ! --------------- 00275 ! 00276 IF (LHOOK) CALL DR_HOOK('PGD_ISBA_PAR',0,ZHOOK_HANDLE) 00277 NTIME = 36 00278 XUNIF_VEG = XUNDEF ! vegetation fraction 00279 XUNIF_LAI = XUNDEF ! LAI 00280 XUNIF_RSMIN = XUNDEF ! minimal stomatal resistance 00281 XUNIF_GAMMA = XUNDEF ! gamma parameter 00282 XUNIF_WRMAX_CF = XUNDEF ! coefficient for interception 00283 XUNIF_RGL = XUNDEF ! Rgl 00284 XUNIF_CV = XUNDEF ! Cv 00285 XUNIF_DG = XUNDEF ! soil depths 00286 XUNIF_DICE = XUNDEF ! soil ice depths for runoff 00287 XUNIF_Z0 = XUNDEF ! roughness length of vegetation 00288 XUNIF_Z0_O_Z0H = XUNDEF ! ratio of roughness lengths 00289 XUNIF_ALBNIR_VEG = XUNDEF ! albedo of vegetation (near-infra-red) 00290 XUNIF_ALBVIS_VEG = XUNDEF ! albedo of vegetation (visible) 00291 XUNIF_ALBUV_VEG = XUNDEF ! albedo of vegetation (UV) 00292 XUNIF_ALBNIR_SOIL = XUNDEF ! albedo of soil (near-infra-red) 00293 XUNIF_ALBVIS_SOIL = XUNDEF ! albedo of soil (visible) 00294 XUNIF_ALBUV_SOIL = XUNDEF ! albedo of soil (UV) 00295 XUNIF_EMIS = XUNDEF ! emissivity of vegetation 00296 XUNIF_VEGTYPE = XUNDEF ! fractions of each vegtypes 00297 XUNIF_ROOTFRAC = XUNDEF ! root fraction profiles 00298 XUNIF_GROUND_DEPTH = XUNDEF ! ground depth 00299 XUNIF_ROOT_DEPTH = XUNDEF ! root depth 00300 XUNIF_ROOT_EXTINCTION = XUNDEF ! root extinction parameter 00301 XUNIF_ROOT_LIN = XUNDEF ! root linear parameter 00302 XUNIF_GMES = XUNDEF ! Gmes 00303 XUNIF_BSLAI = XUNDEF ! Biomass over LAI 00304 XUNIF_LAIMIN = XUNDEF ! minimum LAI 00305 XUNIF_SEFOLD = XUNDEF ! Sefold 00306 XUNIF_GC = XUNDEF ! Gc 00307 XUNIF_DMAX = XUNDEF ! Dmax 00308 XUNIF_F2I = XUNDEF ! F2I 00309 LUNIF_STRESS = .TRUE.! stress type 00310 XUNIF_H_TREE = XUNDEF ! height of trees 00311 XUNIF_RE25 = XUNDEF ! soil respiration parameter 00312 XUNIF_CE_NITRO = XUNDEF ! CE for nitrogen 00313 XUNIF_CF_NITRO = XUNDEF ! CF for nitrogen 00314 XUNIF_CNA_NITRO = XUNDEF ! CNA for nitrogen 00315 ! 00316 CFNAM_VEGTYPE (:) = ' ' 00317 ! 00318 CFNAM_VEG (:,:) = ' ' 00319 CFNAM_LAI (:,:) = ' ' 00320 CFNAM_Z0 (:,:) = ' ' 00321 CFNAM_EMIS (:,:) = ' ' 00322 ! 00323 CFNAM_DG (:,:) = ' ' 00324 CFNAM_ROOTFRAC (:,:) = ' ' 00325 CFNAM_DICE (:) = ' ' 00326 ! 00327 CFNAM_GROUND_DEPTH (:) = ' ' 00328 CFNAM_ROOT_DEPTH (:) = ' ' 00329 CFNAM_ROOT_EXTINCTION (:) = ' ' 00330 CFNAM_ROOT_LIN (:) = ' ' 00331 ! 00332 CFNAM_RSMIN (:) = ' ' 00333 CFNAM_GAMMA (:) = ' ' 00334 CFNAM_WRMAX_CF (:) = ' ' 00335 CFNAM_RGL (:) = ' ' 00336 CFNAM_CV (:) = ' ' 00337 CFNAM_Z0_O_Z0H (:) = ' ' 00338 CFNAM_ALBNIR_VEG (:) = ' ' 00339 CFNAM_ALBVIS_VEG (:) = ' ' 00340 CFNAM_ALBUV_VEG (:) = ' ' 00341 CFNAM_ALBNIR_SOIL (:) = ' ' 00342 CFNAM_ALBVIS_SOIL (:) = ' ' 00343 CFNAM_ALBUV_SOIL (:) = ' ' 00344 CFNAM_GMES (:) = ' ' 00345 CFNAM_BSLAI (:) = ' ' 00346 CFNAM_LAIMIN (:) = ' ' 00347 CFNAM_SEFOLD (:) = ' ' 00348 CFNAM_GC (:) = ' ' 00349 CFNAM_DMAX (:) = ' ' 00350 CFNAM_F2I (:) = ' ' 00351 CFNAM_H_TREE (:) = ' ' 00352 CFNAM_RE25 (:) = ' ' 00353 CFNAM_CE_NITRO (:) = ' ' 00354 CFNAM_CF_NITRO (:) = ' ' 00355 CFNAM_CNA_NITRO (:) = ' ' 00356 ! 00357 CFTYP_VEGTYPE (:) = ' ' 00358 ! 00359 CFTYP_VEG (:,:) = ' ' 00360 CFTYP_LAI (:,:) = ' ' 00361 CFTYP_Z0 (:,:) = ' ' 00362 CFTYP_EMIS (:,:) = ' ' 00363 ! 00364 CFTYP_DG (:,:) = ' ' 00365 CFTYP_ROOTFRAC (:,:) = ' ' 00366 CFTYP_DICE (:) = ' ' 00367 ! 00368 CFTYP_GROUND_DEPTH (:) = ' ' 00369 CFTYP_ROOT_DEPTH (:) = ' ' 00370 CFTYP_ROOT_EXTINCTION (:) = ' ' 00371 CFTYP_ROOT_LIN (:) = ' ' 00372 ! 00373 CFTYP_RSMIN (:) = ' ' 00374 CFTYP_GAMMA (:) = ' ' 00375 CFTYP_WRMAX_CF (:) = ' ' 00376 CFTYP_RGL (:) = ' ' 00377 CFTYP_CV (:) = ' ' 00378 CFTYP_Z0_O_Z0H (:) = ' ' 00379 CFTYP_ALBNIR_VEG (:) = ' ' 00380 CFTYP_ALBVIS_VEG (:) = ' ' 00381 CFTYP_ALBUV_VEG (:) = ' ' 00382 CFTYP_ALBNIR_SOIL (:) = ' ' 00383 CFTYP_ALBVIS_SOIL (:) = ' ' 00384 CFTYP_ALBUV_SOIL (:) = ' ' 00385 CFTYP_GMES (:) = ' ' 00386 CFTYP_BSLAI (:) = ' ' 00387 CFTYP_LAIMIN (:) = ' ' 00388 CFTYP_SEFOLD (:) = ' ' 00389 CFTYP_GC (:) = ' ' 00390 CFTYP_DMAX (:) = ' ' 00391 CFTYP_F2I (:) = ' ' 00392 CFTYP_H_TREE (:) = ' ' 00393 CFTYP_RE25 (:) = ' ' 00394 CFTYP_CE_NITRO (:) = ' ' 00395 CFTYP_CF_NITRO (:) = ' ' 00396 CFTYP_CNA_NITRO (:) = ' ' 00397 ! 00398 !------------------------------------------------------------------------------- 00399 ! 00400 !* 2. Input file for cover types 00401 ! -------------------------- 00402 ! 00403 CALL GET_LUOUT(HPROGRAM,ILUOUT) 00404 CALL OPEN_NAMELIST(HPROGRAM,ILUNAM) 00405 ! 00406 CALL POSNAM(ILUNAM,'NAM_DATA_ISBA',GFOUND,ILUOUT) 00407 IF (GFOUND) READ(UNIT=ILUNAM,NML=NAM_DATA_ISBA) 00408 ! 00409 CALL CLOSE_NAMELIST(HPROGRAM,ILUNAM) 00410 ! 00411 NTIME_n = NTIME 00412 ! 00413 !------------------------------------------------------------------------------- 00414 IF (NVEGTYPE_MAX < NVEGTYPE) THEN 00415 WRITE(ILUOUT,*) '------------------------------------' 00416 WRITE(ILUOUT,*) 'Please update pgd_isba_par.f90 routine : ' 00417 WRITE(ILUOUT,*) 'The maximum number of VEGTYPE ' 00418 WRITE(ILUOUT,*) 'in the declaration of the namelist variables ' 00419 WRITE(ILUOUT,*) 'must be increased to : ', NVEGTYPE 00420 WRITE(ILUOUT,*) '------------------------------------' 00421 CALL ABOR1_SFX('PGD_ISBA_PAR: MAXIMUM NUMBER OF VEGTYPE MUST BE INCREASED IN NAMELIST DECLARATION') 00422 END IF 00423 !------------------------------------------------------------------------------- 00424 IF (NGROUND_MAX < NGROUND_LAYER) THEN 00425 WRITE(ILUOUT,*) '------------------------------------' 00426 WRITE(ILUOUT,*) 'Please update pgd_isba_par.f90 routine : ' 00427 WRITE(ILUOUT,*) 'The maximum number of soil layers ' 00428 WRITE(ILUOUT,*) 'in the declaration of the namelist variables ' 00429 WRITE(ILUOUT,*) 'must be increased to : ', NGROUND_LAYER 00430 WRITE(ILUOUT,*) '------------------------------------' 00431 CALL ABOR1_SFX('PGD_ISBA_PAR: MAXIMUM NUMBER OF SOIL LAYERS MUST BE INCREASED IN NAMELIST DECLARATION') 00432 END IF 00433 !------------------------------------------------------------------------------- 00434 ! 00435 IF (NTIME/=36 .AND. NTIME/=12 .AND. NTIME/=2 .AND. NTIME/=1) & 00436 CALL ABOR1_SFX('PGD_ISBA_PAR: WRONG VALUE FOR NTIME (POSSIBLE VALUES ARE 1, 12 OR 36') 00437 ! 00438 !------------------------------------------------------------------------------- 00439 ! 00440 !* 3. Uniform fields are prescribed 00441 ! ----------------------------- 00442 ! 00443 !-------------------------------------vegtypes----------------------------------------- 00444 ! 00445 ALLOCATE(XPAR_VEGTYPE (NDIM,NVEGTYPE)) 00446 CALL INI_VAR_FROM_DATA(HPROGRAM,'ARI','VEGTYPE: vegetation type','NAT',CFNAM_VEGTYPE, & 00447 CFTYP_VEGTYPE,XUNIF_VEGTYPE,XPAR_VEGTYPE,LDATA_VEGTYPE) 00448 ! 00449 IF (.NOT.LECOCLIMAP .AND. .NOT.LDATA_VEGTYPE) THEN 00450 ! 00451 WRITE(ILUOUT,*) ' ' 00452 WRITE(ILUOUT,*) '***********************************************************' 00453 WRITE(ILUOUT,*) '* Error in PGD field preparation of field VEGTYPE *' 00454 WRITE(ILUOUT,*) '* There is no prescribed value and no input file *' 00455 WRITE(ILUOUT,*) '* Without ECOCLIMAP, this field must be prescribed *' 00456 WRITE(ILUOUT,*) '***********************************************************' 00457 WRITE(ILUOUT,*) ' ' 00458 CALL ABOR1_SFX('PGD_ISBA_PAR: NO PRESCRIBED VALUE NOR INPUT FILE FOR VEGTYPE') 00459 ! 00460 ELSEIF (LDATA_VEGTYPE) THEN 00461 ! 00462 WHERE (XPAR_VEGTYPE(:,:)==XUNDEF) XPAR_VEGTYPE(:,:)=0. 00463 WHERE (XPAR_VEGTYPE(:,:)/=0.) XPAR_VEGTYPE(:,:) = XPAR_VEGTYPE(:,:) / SPREAD(SUM(XPAR_VEGTYPE(:,:),2),2,NVEGTYPE) 00464 ! 00465 ENDIF 00466 ! 00467 !--------------------------------temporal fields----------------------------------- 00468 ! 00469 ALLOCATE(XPAR_VEG (NDIM,NTIME,NVEGTYPE)) 00470 CALL INI_VAR_FROM_DATA(HPROGRAM,'ARI','VEG: vegetation fraction','NAT',CFNAM_VEG,CFTYP_VEG,XUNIF_VEG,XPAR_VEG,LDATA_VEG) 00471 IF (.NOT. LDATA_VEG) DEALLOCATE(XPAR_VEG) 00472 ! 00473 ALLOCATE(XPAR_LAI (NDIM,NTIME,NVEGTYPE)) 00474 CALL INI_VAR_FROM_DATA(HPROGRAM,'ARI','LAI: leaf area index','NAT',CFNAM_LAI,CFTYP_LAI,XUNIF_LAI,XPAR_LAI,LDATA_LAI) 00475 IF (.NOT. LDATA_VEGTYPE .AND. .NOT. LDATA_LAI) DEALLOCATE(XPAR_LAI) 00476 ! 00477 ALLOCATE(XPAR_Z0 (NDIM,NTIME,NVEGTYPE)) 00478 CALL INI_VAR_FROM_DATA(HPROGRAM,'CDN','Z0: roughness length','NAT',CFNAM_Z0,CFTYP_Z0,XUNIF_Z0,XPAR_Z0,LDATA_Z0) 00479 IF (.NOT. LDATA_Z0) DEALLOCATE(XPAR_Z0) 00480 ! 00481 ALLOCATE(XPAR_EMIS (NDIM,NTIME,NVEGTYPE)) 00482 CALL INI_VAR_FROM_DATA(HPROGRAM,'ARI','EMIS: emissivity','NAT',CFNAM_EMIS,CFTYP_EMIS,XUNIF_EMIS,XPAR_EMIS,LDATA_EMIS) 00483 IF (.NOT. LDATA_EMIS) DEALLOCATE(XPAR_EMIS) 00484 ! 00485 IF (.NOT.LECOCLIMAP .AND. .NOT.(LDATA_VEG .AND. LDATA_LAI .AND. LDATA_Z0 .AND. LDATA_EMIS)) THEN 00486 ! 00487 WRITE(ILUOUT,*) ' ' 00488 WRITE(ILUOUT,*) '***********************************************************' 00489 WRITE(ILUOUT,*) '* Error in PGD field preparation of temporal fields *' 00490 WRITE(ILUOUT,*) '* There is no prescribed value and no input file : *' 00491 IF (.NOT.LDATA_VEG ) WRITE(ILUOUT,*) '* for VEG *' 00492 IF (.NOT.LDATA_LAI ) WRITE(ILUOUT,*) '* for LAI *' 00493 IF (.NOT.LDATA_Z0 ) WRITE(ILUOUT,*) '* for Z0 *' 00494 IF (.NOT.LDATA_EMIS) WRITE(ILUOUT,*) '* for EMIS *' 00495 WRITE(ILUOUT,*) '* Without ECOCLIMAP, these fields must be prescribed *' 00496 WRITE(ILUOUT,*) '***********************************************************' 00497 WRITE(ILUOUT,*) ' ' 00498 CALL ABOR1_SFX('PGD_ISBA_PAR: NO PRESCRIBED VALUE NOR INPUT FILE FOR TEMPORAL PARAMETERS') 00499 ! 00500 ENDIF 00501 ! 00502 !--------------------------------depths fields----------------------------------- 00503 ! 00504 ALLOCATE(XPAR_DG (NDIM,NGROUND_LAYER,NVEGTYPE)) 00505 CALL INI_VAR_FROM_DATA(HPROGRAM,'ARI','DG: ground depth','NAT',CFNAM_DG,CFTYP_DG,XUNIF_DG,XPAR_DG,LDATA_DG) 00506 IF (.NOT. LDATA_VEGTYPE .AND. .NOT. LDATA_DG) DEALLOCATE(XPAR_DG) 00507 ! 00508 ALLOCATE(XPAR_ROOT_DEPTH (NDIM,NVEGTYPE)) 00509 CALL INI_VAR_FROM_DATA(HPROGRAM,'ARI','ROOT_DEPTH: root depth','NAT',CFNAM_ROOT_DEPTH,CFTYP_ROOT_DEPTH,& 00510 XUNIF_ROOT_DEPTH,XPAR_ROOT_DEPTH,LDATA_ROOT_DEPTH) 00511 ! 00512 ALLOCATE(XPAR_GROUND_DEPTH (NDIM,NVEGTYPE)) 00513 CALL INI_VAR_FROM_DATA(HPROGRAM,'ARI','GROUND_DEPTH: ground depth','NAT',CFNAM_GROUND_DEPTH,CFTYP_GROUND_DEPTH,& 00514 XUNIF_GROUND_DEPTH,XPAR_GROUND_DEPTH,LDATA_GROUND_DEPTH) 00515 ! 00516 IF(CISBA=='DIF')THEN 00517 ! 00518 ALLOCATE(XPAR_ROOTFRAC (NDIM,NGROUND_LAYER,NVEGTYPE)) 00519 CALL INI_VAR_FROM_DATA(HPROGRAM,'ARI','ROOTFRAC: root fraction','NAT',CFNAM_ROOTFRAC,CFTYP_ROOTFRAC,& 00520 XUNIF_ROOTFRAC,XPAR_ROOTFRAC,LDATA_ROOTFRAC) 00521 IF (.NOT. LDATA_ROOTFRAC) DEALLOCATE(XPAR_ROOTFRAC) 00522 ! 00523 ALLOCATE(XPAR_ROOT_EXTINCTION (NDIM,NVEGTYPE)) 00524 CALL INI_VAR_FROM_DATA(HPROGRAM,'ARI','ROOT_EXTINCTION: root extinction','NAT',CFNAM_ROOT_EXTINCTION,CFTYP_ROOT_EXTINCTION,& 00525 XUNIF_ROOT_EXTINCTION,XPAR_ROOT_EXTINCTION,LDATA_ROOT_EXTINCTION) 00526 IF (.NOT. LDATA_ROOT_EXTINCTION) DEALLOCATE(XPAR_ROOT_EXTINCTION) 00527 ! 00528 ALLOCATE(XPAR_ROOT_LIN (NDIM,NVEGTYPE)) 00529 CALL INI_VAR_FROM_DATA(HPROGRAM,'ARI','ROOT_LIN: root linear','NAT',CFNAM_ROOT_LIN,CFTYP_ROOT_LIN,& 00530 XUNIF_ROOT_LIN,XPAR_ROOT_LIN,LDATA_ROOT_LIN) 00531 IF (.NOT. LDATA_ROOT_LIN) DEALLOCATE(XPAR_ROOT_LIN) 00532 ! 00533 IF (.NOT.LECOCLIMAP) THEN 00534 IF(LDATA_DG .AND. .NOT.LDATA_ROOTFRAC .AND. & 00535 (.NOT.LDATA_ROOT_DEPTH.OR..NOT.LDATA_ROOT_EXTINCTION.OR..NOT.LDATA_ROOT_LIN)) THEN 00536 WRITE(ILUOUT,*) ' ' 00537 WRITE(ILUOUT,*) '****************************************************************************' 00538 WRITE(ILUOUT,*) '* Without ECOCLIMAP, Error in PGD field preparation for ISBA-DIF *' 00539 WRITE(ILUOUT,*) '* There is no prescribed value and no input file *' 00540 WRITE(ILUOUT,*) '* (1) XUNIF_ROOTFRAC must be given. *' 00541 WRITE(ILUOUT,*) '* (2) Other solution, give all these fields: *' 00542 WRITE(ILUOUT,*) '* - XUNIF_ROOT_DEPTH (soil root depth) *' 00543 WRITE(ILUOUT,*) '* - XUNIF_ROOT_EXTINCTION (root extinction parameter [Jackson 1996]) *' 00544 WRITE(ILUOUT,*) '* - XUNIF_ROOT_LIN (0.05 usually; 1=uniform root distribution!!)*' 00545 WRITE(ILUOUT,*) '****************************************************************************' 00546 WRITE(ILUOUT,*) ' ' 00547 CALL ABOR1_SFX("PGD_ISBA_PAR: PROBLEM IN SOIL GRID COMPUTATION") 00548 ELSEIF( .NOT.ALL(XSOILGRID(:)==XUNDEF) .AND. & 00549 (.NOT.LDATA_GROUND_DEPTH .OR..NOT.LDATA_ROOT_DEPTH.OR. & 00550 .NOT.LDATA_ROOT_EXTINCTION.OR..NOT.LDATA_ROOT_LIN )) THEN 00551 WRITE(ILUOUT,*) ' ' 00552 WRITE(ILUOUT,*) '****************************************************************************' 00553 WRITE(ILUOUT,*) '* Without ECOCLIMAP, Error in PGD field preparation for ISBA-DIF *' 00554 WRITE(ILUOUT,*) '* There is no prescribed value and no input file. *' 00555 WRITE(ILUOUT,*) '* When XSOILGRID is given, other field are needed : *' 00556 WRITE(ILUOUT,*) '* - XUNIF_GROUND_DEPTH (soil ground depth for moisture) *' 00557 WRITE(ILUOUT,*) '* - XUNIF_ROOT_DEPTH (soil root depth) *' 00558 WRITE(ILUOUT,*) '* - XUNIF_ROOT_LIN (0.05 usually; 1=uniform root distribution!!)*' 00559 WRITE(ILUOUT,*) '* - XUNIF_ROOT_EXTINCTION (root extinction parameter [Jackson 1996]) *' 00560 WRITE(ILUOUT,*) '****************************************************************************' 00561 WRITE(ILUOUT,*) ' ' 00562 CALL ABOR1_SFX("PGD_ISBA_PAR: PROBLEM IN SOIL GRID COMPUTATION") 00563 ENDIF 00564 IF(.NOT.LDATA_DG .AND.ALL(XSOILGRID(:)==XUNDEF))THEN 00565 WRITE(ILUOUT,*) ' ' 00566 WRITE(ILUOUT,*) '****************************************************************************' 00567 WRITE(ILUOUT,*) '* Without ECOCLIMAP, Error in PGD field preparation for ISBA-DIF *' 00568 WRITE(ILUOUT,*) '* There is no prescribed value to compute vertical soil grid. *' 00569 WRITE(ILUOUT,*) '* 2 solutions: *' 00570 WRITE(ILUOUT,*) '* (1) Give XUNIF_DG in NAM_DATA_ISBA. *' 00571 WRITE(ILUOUT,*) '* OR *' 00572 WRITE(ILUOUT,*) '* (2) Give XSOILGRID in NAM_ISBA *' 00573 WRITE(ILUOUT,*) '****************************************************************************' 00574 WRITE(ILUOUT,*) ' ' 00575 CALL ABOR1_SFX("PGD_ISBA_PAR: PROBLEM IN SOIL GRID COMPUTATION") 00576 ENDIF 00577 ENDIF 00578 ! 00579 ELSE 00580 ! 00581 IF ( .NOT.LECOCLIMAP .AND. .NOT.LDATA_DG .AND. & 00582 (.NOT.LDATA_GROUND_DEPTH.OR..NOT.LDATA_ROOT_DEPTH) ) THEN 00583 WRITE(ILUOUT,*) ' ' 00584 WRITE(ILUOUT,*) '****************************************************************************' 00585 WRITE(ILUOUT,*) '* Without ECOCLIMAP, Error in PGD field preparation *' 00586 WRITE(ILUOUT,*) '* There is no prescribed value and no input file *' 00587 WRITE(ILUOUT,*) '* XUNIF_DG or both XUNIF_GROUND_DEPTH and XUNIF_ROOT_DEPTH must be given. *' 00588 WRITE(ILUOUT,*) '****************************************************************************' 00589 WRITE(ILUOUT,*) ' ' 00590 CALL ABOR1_SFX("PGD_ISBA_PAR: PROBLEM IN SOIL GRID COMPUTATION") 00591 ENDIF 00592 ! 00593 ENDIF 00594 ! 00595 ALLOCATE(XPAR_DICE (NDIM,NVEGTYPE)) 00596 CALL INI_VAR_FROM_DATA(HPROGRAM,'ARI','DICE: ice depth for runoff','NAT',CFNAM_DICE,CFTYP_DICE,& 00597 XUNIF_DICE,XPAR_DICE,LDATA_DICE) 00598 ! 00599 IF (.NOT.LECOCLIMAP.AND..NOT. LDATA_DICE) THEN 00600 IF(CISBA/='DIF' .AND. (LDATA_DG.OR.LDATA_ROOT_DEPTH)) THEN 00601 IF(LDATA_DG)THEN 00602 XPAR_DICE(:,:) = MAX(0.2,0.8*XPAR_DG(:,2,:)) 00603 ELSEIF(LDATA_ROOT_DEPTH)THEN 00604 XPAR_DICE(:,:) = MAX(0.2,0.8*XPAR_ROOT_DEPTH(:,:)) 00605 ENDIF 00606 LDATA_DICE=.TRUE. 00607 ELSEIF (CISBA=='DIF') THEN 00608 XPAR_DICE(:,:) = 0.0 00609 LDATA_DICE=.TRUE. 00610 ELSE 00611 WRITE(ILUOUT,*) ' ' 00612 WRITE(ILUOUT,*) '***********************************************************' 00613 WRITE(ILUOUT,*) '* Error in PGD field preparation of field DICE *' 00614 WRITE(ILUOUT,*) '* There is no prescribed value and no input file *' 00615 WRITE(ILUOUT,*) '* Without ECOCLIMAP, this field must be prescribed *' 00616 WRITE(ILUOUT,*) '***********************************************************' 00617 WRITE(ILUOUT,*) ' ' 00618 CALL ABOR1_SFX('PGD_ISBA_PAR: NO PRESCRIBED VALUE NOR INPUT FILE FOR DICE') 00619 ENDIF 00620 ENDIF 00621 ! 00622 !---------------------classical fields--------------------------------------------- 00623 ! 00624 ALLOCATE(XPAR_RSMIN (NDIM,NVEGTYPE)) 00625 CALL INI_VAR_FROM_DATA(HPROGRAM,'INV','RSMIN: minimal stomatal resistance','NAT',CFNAM_RSMIN, & 00626 CFTYP_RSMIN,XUNIF_RSMIN,XPAR_RSMIN,LDATA_RSMIN) 00627 IF (.NOT. LDATA_RSMIN) DEALLOCATE(XPAR_RSMIN) 00628 ! 00629 ALLOCATE(XPAR_GAMMA (NDIM,NVEGTYPE)) 00630 CALL INI_VAR_FROM_DATA(HPROGRAM,'ARI','GAMMA: gamma coefficient','NAT',CFNAM_GAMMA, & 00631 CFTYP_GAMMA,XUNIF_GAMMA,XPAR_GAMMA,LDATA_GAMMA) 00632 IF (.NOT. LDATA_GAMMA) DEALLOCATE(XPAR_GAMMA) 00633 ! 00634 ALLOCATE(XPAR_WRMAX_CF (NDIM,NVEGTYPE)) 00635 CALL INI_VAR_FROM_DATA(HPROGRAM,'ARI','WRMAX_CF: coeff. for max WR','NAT',CFNAM_WRMAX_CF, & 00636 CFTYP_WRMAX_CF,XUNIF_WRMAX_CF,XPAR_WRMAX_CF,LDATA_WRMAX_CF) 00637 IF (.NOT. LDATA_WRMAX_CF) DEALLOCATE(XPAR_WRMAX_CF) 00638 ! 00639 ALLOCATE(XPAR_RGL (NDIM,NVEGTYPE)) 00640 CALL INI_VAR_FROM_DATA(HPROGRAM,'ARI','RGL: max SW rad. for photosynthesis','NAT',CFNAM_RGL, & 00641 CFTYP_RGL,XUNIF_RGL,XPAR_RGL,LDATA_RGL) 00642 IF (.NOT. LDATA_RGL) DEALLOCATE(XPAR_RGL) 00643 ! 00644 ALLOCATE(XPAR_CV (NDIM,NVEGTYPE)) 00645 CALL INI_VAR_FROM_DATA(HPROGRAM,'INV','CV: thermal inertia for vegetation','NAT',CFNAM_CV, & 00646 CFTYP_CV,XUNIF_CV,XPAR_CV,LDATA_CV) 00647 IF (.NOT. LDATA_CV) DEALLOCATE(XPAR_CV) 00648 ! 00649 ALLOCATE(XPAR_Z0_O_Z0H (NDIM,NVEGTYPE)) 00650 CALL INI_VAR_FROM_DATA(HPROGRAM,'ARI','Z0_O_Z0H: ratio of roughness lengths','NAT',CFNAM_Z0_O_Z0H, & 00651 CFTYP_Z0_O_Z0H,XUNIF_Z0_O_Z0H,XPAR_Z0_O_Z0H,LDATA_Z0_O_Z0H) 00652 IF (.NOT. LDATA_Z0_O_Z0H) DEALLOCATE(XPAR_Z0_O_Z0H) 00653 ! 00654 ALLOCATE(XPAR_ALBNIR_VEG (NDIM,NVEGTYPE)) 00655 CALL INI_VAR_FROM_DATA(HPROGRAM,'ARI','ALBNIR_VEG: NIR albedo of vegetation','NAT',CFNAM_ALBNIR_VEG, & 00656 CFTYP_ALBNIR_VEG,XUNIF_ALBNIR_VEG,XPAR_ALBNIR_VEG,LDATA_ALBNIR_VEG) 00657 IF (.NOT. LDATA_ALBNIR_VEG) DEALLOCATE(XPAR_ALBNIR_VEG) 00658 ! 00659 ALLOCATE(XPAR_ALBVIS_VEG (NDIM,NVEGTYPE)) 00660 CALL INI_VAR_FROM_DATA(HPROGRAM,'ARI','ALBVIS_VEG: VIS albedo of vegetation','NAT',CFNAM_ALBVIS_VEG, & 00661 CFTYP_ALBVIS_VEG,XUNIF_ALBVIS_VEG,XPAR_ALBVIS_VEG,LDATA_ALBVIS_VEG) 00662 IF (.NOT. LDATA_ALBVIS_VEG) DEALLOCATE(XPAR_ALBVIS_VEG) 00663 ! 00664 ALLOCATE(XPAR_ALBUV_VEG (NDIM,NVEGTYPE)) 00665 CALL INI_VAR_FROM_DATA(HPROGRAM,'ARI','ALBUV_VEG: UV albedo of vegetation','NAT',CFNAM_ALBUV_VEG, & 00666 CFTYP_ALBUV_VEG,XUNIF_ALBUV_VEG,XPAR_ALBUV_VEG,LDATA_ALBUV_VEG) 00667 IF (.NOT. LDATA_ALBUV_VEG) DEALLOCATE(XPAR_ALBUV_VEG) 00668 ! 00669 ALLOCATE(XPAR_ALBNIR_SOIL (NDIM,NVEGTYPE)) 00670 CALL INI_VAR_FROM_DATA(HPROGRAM,'ARI','ALBNIR_SOIL: NIR albedo of SOIL','NAT',CFNAM_ALBNIR_SOIL, & 00671 CFTYP_ALBNIR_SOIL,XUNIF_ALBNIR_SOIL,XPAR_ALBNIR_SOIL,LDATA_ALBNIR_SOIL) 00672 IF (.NOT. LDATA_ALBNIR_SOIL) DEALLOCATE(XPAR_ALBNIR_SOIL) 00673 ! 00674 ALLOCATE(XPAR_ALBVIS_SOIL (NDIM,NVEGTYPE)) 00675 CALL INI_VAR_FROM_DATA(HPROGRAM,'ARI','ALBVIS_SOIL: VIS albedo of SOIL','NAT',CFNAM_ALBVIS_SOIL, & 00676 CFTYP_ALBVIS_SOIL,XUNIF_ALBVIS_SOIL,XPAR_ALBVIS_SOIL,LDATA_ALBVIS_SOIL) 00677 IF (.NOT. LDATA_ALBVIS_SOIL) DEALLOCATE(XPAR_ALBVIS_SOIL) 00678 ! 00679 ALLOCATE(XPAR_ALBUV_SOIL (NDIM,NVEGTYPE)) 00680 CALL INI_VAR_FROM_DATA(HPROGRAM,'ARI','ALBUV_SOIL: UV albedo of SOIL','NAT',CFNAM_ALBUV_SOIL, & 00681 CFTYP_ALBUV_SOIL,XUNIF_ALBUV_SOIL,XPAR_ALBUV_SOIL,LDATA_ALBUV_SOIL) 00682 IF (.NOT. LDATA_ALBUV_SOIL) DEALLOCATE(XPAR_ALBUV_SOIL) 00683 ! 00684 IF (.NOT.LECOCLIMAP .AND. .NOT.(LDATA_RSMIN.AND.LDATA_GAMMA.AND.LDATA_WRMAX_CF.AND.LDATA_RGL & 00685 .AND.LDATA_CV.AND.LDATA_Z0_O_Z0H.AND.LDATA_ALBNIR_VEG.AND.LDATA_ALBVIS_VEG.AND.& 00686 LDATA_ALBUV_VEG.AND.LDATA_ALBNIR_SOIL.AND.LDATA_ALBVIS_SOIL.AND.LDATA_ALBUV_SOIL)) THEN 00687 ! 00688 WRITE(ILUOUT,*) ' ' 00689 WRITE(ILUOUT,*) '***********************************************************' 00690 WRITE(ILUOUT,*) '* Error in PGD field preparation of classical fields *' 00691 WRITE(ILUOUT,*) '* There is no prescribed value and no input file : *' 00692 IF (.NOT.LDATA_RSMIN ) WRITE(ILUOUT,*) '* for RSMIN *' 00693 IF (.NOT.LDATA_GAMMA ) WRITE(ILUOUT,*) '* for GAMMA *' 00694 IF (.NOT.LDATA_WRMAX_CF ) WRITE(ILUOUT,*) '* for WRMAX_CF *' 00695 IF (.NOT.LDATA_RGL ) WRITE(ILUOUT,*) '* for RGL *' 00696 IF (.NOT.LDATA_CV ) WRITE(ILUOUT,*) '* for CV *' 00697 IF (.NOT.LDATA_Z0_O_Z0H ) WRITE(ILUOUT,*) '* for Z0_O_Z0H *' 00698 IF (.NOT.LDATA_ALBNIR_VEG ) WRITE(ILUOUT,*) '* for ALBNIR_VEG *' 00699 IF (.NOT.LDATA_ALBVIS_VEG ) WRITE(ILUOUT,*) '* for ALBVIS_VEG *' 00700 IF (.NOT.LDATA_ALBUV_VEG ) WRITE(ILUOUT,*) '* for ALBUV_VEG *' 00701 IF (.NOT.LDATA_ALBNIR_SOIL ) WRITE(ILUOUT,*) '* for ALBNIR_SOIL *' 00702 IF (.NOT.LDATA_ALBVIS_SOIL ) WRITE(ILUOUT,*) '* for ALBVIS_SOIL *' 00703 IF (.NOT.LDATA_ALBUV_SOIL ) WRITE(ILUOUT,*) '* for ALBUV_SOIL *' 00704 WRITE(ILUOUT,*) '* Without ECOCLIMAP, these fields must be prescribed *' 00705 WRITE(ILUOUT,*) '***********************************************************' 00706 WRITE(ILUOUT,*) ' ' 00707 CALL ABOR1_SFX('PGD_ISBA_PAR: NO PRESCRIBED VALUE NOR INPUT FILE FOR CLASSICAL PARAMETERS') 00708 ! 00709 ENDIF 00710 ! 00711 !--------------------------------------AGS parameters---------------------------- 00712 ! 00713 IF (CPHOTO/='NON' .OR. (.NOT.LDATA_Z0.AND.(LDATA_LAI.OR.LDATA_VEGTYPE))) THEN 00714 ! 00715 ALLOCATE(XPAR_H_TREE (NDIM,NVEGTYPE)) 00716 CALL INI_VAR_FROM_DATA(HPROGRAM,'ARI','H_TREE: height of trees','NAT',CFNAM_H_TREE, & 00717 CFTYP_H_TREE,XUNIF_H_TREE,XPAR_H_TREE,LDATA_H_TREE) 00718 IF (.NOT. LDATA_VEGTYPE .AND. .NOT. LDATA_H_TREE) DEALLOCATE(XPAR_H_TREE) 00719 ! 00720 ENDIF 00721 00722 IF (CPHOTO/='NON') THEN 00723 ! 00724 ALLOCATE(XPAR_RE25 (NDIM,NVEGTYPE)) 00725 CALL INI_VAR_FROM_DATA(HPROGRAM,'ARI','RE25: ecosystem respiration','NAT',CFNAM_RE25, & 00726 CFTYP_RE25,XUNIF_RE25,XPAR_RE25,LDATA_RE25) 00727 IF (.NOT. LDATA_RE25) DEALLOCATE(XPAR_RE25) 00728 ! 00729 ALLOCATE(XPAR_LAIMIN (NDIM,NVEGTYPE)) 00730 CALL INI_VAR_FROM_DATA(HPROGRAM,'ARI','LAIMIN: minimum LAI','NAT',CFNAM_LAIMIN, & 00731 CFTYP_LAIMIN,XUNIF_LAIMIN,XPAR_LAIMIN,LDATA_LAIMIN) 00732 IF (.NOT. LDATA_LAIMIN) DEALLOCATE(XPAR_LAIMIN) 00733 ! 00734 ALLOCATE(XPAR_BSLAI (NDIM,NVEGTYPE)) 00735 CALL INI_VAR_FROM_DATA(HPROGRAM,'ARI','BSLAI: biomass over LAI','NAT',CFNAM_BSLAI, & 00736 CFTYP_BSLAI,XUNIF_BSLAI,XPAR_BSLAI,LDATA_BSLAI) 00737 IF (.NOT. LDATA_BSLAI) DEALLOCATE(XPAR_BSLAI) 00738 ! 00739 ALLOCATE(XPAR_SEFOLD (NDIM,NVEGTYPE)) 00740 CALL INI_VAR_FROM_DATA(HPROGRAM,'ARI','SEFOLD: e-folding time for senescence','NAT',CFNAM_SEFOLD, & 00741 CFTYP_SEFOLD,XUNIF_SEFOLD,XPAR_SEFOLD,LDATA_SEFOLD) 00742 IF (.NOT. LDATA_SEFOLD) DEALLOCATE(XPAR_SEFOLD) 00743 ! 00744 ALLOCATE(XPAR_GMES (NDIM,NVEGTYPE)) 00745 CALL INI_VAR_FROM_DATA(HPROGRAM,'ARI','GMES: mesophyl conductance','NAT',CFNAM_GMES, & 00746 CFTYP_GMES,XUNIF_GMES,XPAR_GMES,LDATA_GMES) 00747 IF (.NOT. LDATA_GMES) DEALLOCATE(XPAR_GMES) 00748 ! 00749 ALLOCATE(XPAR_GC (NDIM,NVEGTYPE)) 00750 CALL INI_VAR_FROM_DATA(HPROGRAM,'ARI','GC: cuticular conductance','NAT',CFNAM_GC, & 00751 CFTYP_GC,XUNIF_GC,XPAR_GC,LDATA_GC) 00752 IF (.NOT. LDATA_GC) DEALLOCATE(XPAR_GC) 00753 ! 00754 IF (.NOT.LECOCLIMAP .AND. .NOT.(LDATA_H_TREE.AND.LDATA_RE25.AND.LDATA_LAIMIN.AND.& 00755 LDATA_BSLAI.AND.LDATA_SEFOLD.AND.LDATA_GMES.AND.LDATA_GC)) THEN 00756 ! 00757 WRITE(ILUOUT,*) ' ' 00758 WRITE(ILUOUT,*) '***********************************************************' 00759 WRITE(ILUOUT,*) '* Error in PGD field preparation of AGS fields *' 00760 WRITE(ILUOUT,*) '* There is no prescribed value and no input file : *' 00761 IF (.NOT.LDATA_H_TREE ) WRITE(ILUOUT,*) '* for H_TREE *' 00762 IF (.NOT.LDATA_RE25 ) WRITE(ILUOUT,*) '* for RE25 *' 00763 IF (.NOT.LDATA_LAIMIN ) WRITE(ILUOUT,*) '* for LAIMIN *' 00764 IF (.NOT.LDATA_BSLAI ) WRITE(ILUOUT,*) '* for BSLAI *' 00765 IF (.NOT.LDATA_SEFOLD ) WRITE(ILUOUT,*) '* for SEFOLD *' 00766 IF (.NOT.LDATA_GMES ) WRITE(ILUOUT,*) '* for GMES *' 00767 IF (.NOT.LDATA_GC ) WRITE(ILUOUT,*) '* for GC *' 00768 WRITE(ILUOUT,*) '* Without ECOCLIMAP, these fields must be prescribed *' 00769 WRITE(ILUOUT,*) '***********************************************************' 00770 WRITE(ILUOUT,*) ' ' 00771 CALL ABOR1_SFX('PGD_ISBA_PAR: NO PRESCRIBED VALUE NOR INPUT FILE FOR AGS PARAMETERS') 00772 ! 00773 ENDIF 00774 ! 00775 !--------------------------------------AGS Stress parameters---------------------------- 00776 ! 00777 IF (CPHOTO/='AGS' .AND. CPHOTO/='LAI') THEN 00778 ! 00779 ALLOCATE(XPAR_F2I (NDIM,NVEGTYPE)) 00780 CALL INI_VAR_FROM_DATA(HPROGRAM,'ARI','F2I: critical normalized soil water content (stress)','NAT',CFNAM_F2I, & 00781 CFTYP_F2I,XUNIF_F2I,XPAR_F2I,LDATA_F2I) 00782 IF (.NOT. LDATA_F2I) DEALLOCATE(XPAR_F2I) 00783 ! 00784 ALLOCATE(XPAR_DMAX (NDIM,NVEGTYPE)) 00785 CALL INI_VAR_FROM_DATA(HPROGRAM,'ARI','DMAX: maximum air saturation deficit','NAT',CFNAM_DMAX, & 00786 CFTYP_DMAX,XUNIF_DMAX,XPAR_DMAX,LDATA_DMAX) 00787 IF (.NOT. LDATA_DMAX) DEALLOCATE(XPAR_DMAX) 00788 ! 00789 ALLOCATE(LPAR_STRESS (NDIM,NVEGTYPE)) 00790 DO JVEGTYPE=1,NVEGTYPE 00791 GPAR_STRESS = LUNIF_STRESS(JVEGTYPE) 00792 IF (XSTRESS(JVEGTYPE)<1.) GPAR_STRESS = .FALSE. 00793 IF (XSTRESS(JVEGTYPE)==1. .AND. .NOT.GPAR_STRESS) LDATA_STRESS=.TRUE. 00794 LPAR_STRESS(:,JVEGTYPE) = GPAR_STRESS 00795 ENDDO 00796 IF (.NOT. LDATA_STRESS) DEALLOCATE(LPAR_STRESS) 00797 ! 00798 IF (.NOT.LECOCLIMAP .AND. .NOT.(LDATA_F2I.AND.LDATA_DMAX)) THEN 00799 ! 00800 WRITE(ILUOUT,*) ' ' 00801 WRITE(ILUOUT,*) '***********************************************************' 00802 WRITE(ILUOUT,*) '* Error in PGD field preparation of AGS Stress fields *' 00803 WRITE(ILUOUT,*) '* There is no prescribed value and no input file : *' 00804 IF (.NOT.LDATA_F2I ) WRITE(ILUOUT,*) '* for F2I *' 00805 IF (.NOT.LDATA_DMAX ) WRITE(ILUOUT,*) '* for DMAX *' 00806 WRITE(ILUOUT,*) '* Without ECOCLIMAP, these fields must be prescribed *' 00807 WRITE(ILUOUT,*) '***********************************************************' 00808 WRITE(ILUOUT,*) ' ' 00809 CALL ABOR1_SFX('PGD_ISBA_PAR: NO PRESCRIBED VALUE NOR INPUT FILE FOR AGS STRESS PARAMETERS') 00810 ! 00811 ENDIF 00812 ! 00813 !--------------------------------------AGS Nitrogen parameters---------------------------- 00814 ! 00815 IF (CPHOTO=='NIT' .OR. CPHOTO=='NCB') THEN 00816 ! 00817 ALLOCATE(XPAR_CE_NITRO (NDIM,NVEGTYPE)) 00818 CALL INI_VAR_FROM_DATA(HPROGRAM,'ARI','CE_NITRO: leaf area ratio sensitivity to nitrogen ccion','NAT',& 00819 CFNAM_CE_NITRO, CFTYP_CE_NITRO,XUNIF_CE_NITRO,XPAR_CE_NITRO,LDATA_CE_NITRO) 00820 IF (.NOT. LDATA_CE_NITRO) DEALLOCATE(XPAR_CE_NITRO) 00821 ! 00822 ALLOCATE(XPAR_CF_NITRO (NDIM,NVEGTYPE)) 00823 CALL INI_VAR_FROM_DATA(HPROGRAM,'ARI','CF_NITRO: lethal minimum value of leaf area ratio','NAT',& 00824 CFNAM_CF_NITRO,CFTYP_CF_NITRO,XUNIF_CF_NITRO,XPAR_CF_NITRO,LDATA_CF_NITRO) 00825 IF (.NOT. LDATA_CF_NITRO) DEALLOCATE(XPAR_CF_NITRO) 00826 ! 00827 ALLOCATE(XPAR_CNA_NITRO (NDIM,NVEGTYPE)) 00828 CALL INI_VAR_FROM_DATA(HPROGRAM,'ARI','CNA_NITRO: nitrogen ccion of active biomass','NAT',& 00829 CFNAM_CNA_NITRO,CFTYP_CNA_NITRO,XUNIF_CNA_NITRO,XPAR_CNA_NITRO,LDATA_CNA_NITRO) 00830 IF (.NOT. LDATA_CNA_NITRO) DEALLOCATE(XPAR_CNA_NITRO) 00831 ! 00832 IF (.NOT.LECOCLIMAP .AND. .NOT.(LDATA_CE_NITRO.AND.LDATA_CF_NITRO.AND.LDATA_CNA_NITRO)) THEN 00833 ! 00834 WRITE(ILUOUT,*) ' ' 00835 WRITE(ILUOUT,*) '***********************************************************' 00836 WRITE(ILUOUT,*) '* Error in PGD field preparation of AGS Nitrogen fields *' 00837 WRITE(ILUOUT,*) '* There is no prescribed value and no input file : *' 00838 IF (.NOT.LDATA_CE_NITRO ) WRITE(ILUOUT,*) '* for CE_NITRO *' 00839 IF (.NOT.LDATA_CF_NITRO ) WRITE(ILUOUT,*) '* for CF_NITRO *' 00840 IF (.NOT.LDATA_CNA_NITRO ) WRITE(ILUOUT,*) '* for CNA_NITRO *' 00841 WRITE(ILUOUT,*) '* Without ECOCLIMAP, these fields must be prescribed *' 00842 WRITE(ILUOUT,*) '***********************************************************' 00843 WRITE(ILUOUT,*) ' ' 00844 CALL ABOR1_SFX('PGD_ISBA_PAR: NO PRESCRIBED VALUE NOR INPUT FILE FOR AGS NITROGEN PARAMETERS') 00845 ! 00846 ENDIF 00847 ! 00848 ENDIF 00849 ! 00850 ENDIF 00851 ! 00852 ENDIF 00853 ! 00854 !--------------------------------------irrigation parameters---------------------------- 00855 ! 00856 LDATA_IRRIG=.FALSE. 00857 LDATA_WATSUP=.FALSE. 00858 ! 00859 !---------------------------------------------------------------------------------------- 00860 ! 00861 IF (LECOCLIMAP .AND. LDATA_VEGTYPE) THEN 00862 ! 00863 ALLOCATE(XPAR_IRRIG (NDIM,NTIME,NVEGTYPE)) 00864 ALLOCATE(XPAR_WATSUP (NDIM,NTIME,NVEGTYPE)) 00865 ! 00866 CALL EXTRAPOL_FIELDS(HPROGRAM,ILUOUT) 00867 ! 00868 IF (.NOT. LDATA_LAI) DEALLOCATE(XPAR_LAI) 00869 IF (.NOT. LDATA_H_TREE .AND. CPHOTO/='NON') DEALLOCATE(XPAR_H_TREE) 00870 IF (.NOT. LDATA_DG) DEALLOCATE(XPAR_DG) 00871 IF (.NOT. LDATA_ROOT_DEPTH) DEALLOCATE(XPAR_ROOT_DEPTH) 00872 IF (.NOT. LDATA_GROUND_DEPTH) DEALLOCATE(XPAR_GROUND_DEPTH) 00873 ! 00874 ENDIF 00875 ! 00876 !---------------------------------------------------------------------------------------- 00877 ! 00878 IF (LHOOK) CALL DR_HOOK('PGD_ISBA_PAR',1,ZHOOK_HANDLE) 00879 ! 00880 END SUBROUTINE PGD_ISBA_PAR