SURFEX v7.3
General documentation of Surfex
|
00001 ! ################## 00002 MODULE MODD_DATA_TEB_GREENROOF_n 00003 ! ################## 00004 ! 00005 !!**** *MODD_DATA_ISBA - declaration of DATA surface parameters for ISBA scheme 00006 !! 00007 !! PURPOSE 00008 !! ------- 00009 ! 00010 !! 00011 !!** IMPLICIT ARGUMENTS 00012 !! ------------------ 00013 !! None 00014 !! 00015 !! REFERENCE 00016 !! --------- 00017 !! 00018 !! AUTHOR 00019 !! ------ 00020 !! V. Masson *Meteo France* 00021 !! 00022 !! MODIFICATIONS 00023 !! ------------- 00024 !! Original 05/2005 00025 !! A. Lemonsu / C. de Munck 04/2011 : TEB GreenRoof 00026 ! 00027 !* 0. DECLARATIONS 00028 ! ------------ 00029 ! 00030 ! 00031 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00032 USE PARKIND1 ,ONLY : JPRB 00033 ! 00034 IMPLICIT NONE 00035 00036 TYPE DATA_TEB_GREENROOF_t 00037 !------------------------------------------------------------------------------- 00038 ! 00039 00040 REAL, POINTER, DIMENSION(:,:) :: XPAR_OM_GR ! fraction of organic matter (OM) in green roof layer 00041 REAL, POINTER, DIMENSION(:,:) :: XPAR_CLAY_GR ! fraction of clay for the non-OM part of the green roof layer 00042 REAL, POINTER, DIMENSION(:,:) :: XPAR_SAND_GR ! fraction of sand for the non-OM part of the green roof layer 00043 REAL, POINTER, DIMENSION(:,:) :: XPAR_LAI_GR ! LAI of green roof vegetation 00044 ! 00045 ! 00046 ! Mask and number of grid elements containing patches/tiles: 00047 ! 00048 REAL, POINTER, DIMENSION(:,:) :: XPAR_VEGTYPE ! fraction of each vegetation type for 00049 ! each grid mesh (-) 00050 ! 00051 !------------------------------------------------------------------------------- 00052 ! 00053 ! Input Parameters, per patch: 00054 ! 00055 ! - vegetation + bare soil: 00056 ! 00057 REAL, POINTER, DIMENSION(:) :: XPAR_Z0_O_Z0H ! ratio of surface roughness lengths 00058 ! (momentum to heat) (-) 00059 REAL, POINTER, DIMENSION(:,:) :: XPAR_EMIS ! surface emissivity (-) 00060 REAL, POINTER, DIMENSION(:,:) :: XPAR_Z0 ! surface roughness length (m) 00061 ! 00062 ! - vegetation: 00063 ! 00064 REAL, POINTER, DIMENSION(:) :: XPAR_ALBNIR_VEG ! vegetation near-infra-red albedo (-) 00065 REAL, POINTER, DIMENSION(:) :: XPAR_ALBVIS_VEG ! vegetation visible albedo (-) 00066 REAL, POINTER, DIMENSION(:) :: XPAR_ALBUV_VEG ! vegetation UV albedo (-) 00067 ! 00068 ! - vegetation: default option (Jarvis) and general parameters: 00069 ! 00070 REAL, POINTER, DIMENSION(:,:) :: XPAR_VEG ! vegetation cover fraction (-) 00071 REAL, POINTER, DIMENSION(:) :: XPAR_WRMAX_CF ! coefficient for maximum water 00072 ! interception 00073 ! storage capacity on the vegetation (-) 00074 REAL, POINTER, DIMENSION(:) :: XPAR_RSMIN ! minimum stomatal resistance (s/m) 00075 REAL, POINTER, DIMENSION(:) :: XPAR_GAMMA ! coefficient for the calculation 00076 ! of the surface stomatal 00077 ! resistance 00078 REAL, POINTER, DIMENSION(:) :: XPAR_CV ! vegetation thermal inertia coefficient (K m2/J) 00079 REAL, POINTER, DIMENSION(:) :: XPAR_RGL ! maximum solar radiation 00080 ! usable in photosynthesis (W/m2) 00081 REAL, POINTER, DIMENSION(:,:) :: XPAR_ROOTFRAC ! root fraction profile ('DIF' option) 00082 ! 00083 !------------------------------------------------------------------------------- 00084 ! 00085 ! - vegetation: Ags parameters ('AGS', 'LAI', 'AST', 'LST', 'NIT', 'NCB' options) 00086 ! 00087 REAL, POINTER, DIMENSION(:) :: XPAR_BSLAI ! ratio d(biomass)/d(lai) (kg/m2) 00088 REAL, POINTER, DIMENSION(:) :: XPAR_LAIMIN ! minimum LAI (Leaf Area Index) (m2/m2) 00089 REAL, POINTER, DIMENSION(:) :: XPAR_SEFOLD ! e-folding time for senescence (s) 00090 REAL, POINTER, DIMENSION(:) :: XPAR_H_TREE ! height of trees (m) 00091 REAL, POINTER, DIMENSION(:) :: XPAR_GMES ! mesophyll conductance (m s-1) 00092 REAL, POINTER, DIMENSION(:) :: XPAR_RE25 ! Ecosystem respiration parameter (kg m2 s-1) 00093 ! 00094 !------------------------------------------------------------------------------- 00095 ! 00096 ! - vegetation: Ags Stress parameters ('AST', 'LST', 'NIT', 'NCB' options) 00097 ! 00098 LOGICAL, POINTER, DIMENSION(:) :: LDATA_STRESS ! vegetation response type to water 00099 ! stress (true:defensive false:offensive) (-) 00100 REAL, POINTER, DIMENSION(:) :: XPAR_F2I ! critical normilized soil water 00101 ! content for stress parameterisation 00102 REAL, POINTER, DIMENSION(:) :: XPAR_GC ! cuticular conductance (m s-1) 00103 REAL, POINTER, DIMENSION(:) :: XPAR_DMAX ! maximum air saturation deficit 00104 ! tolerate by vegetation (kg/kg) 00105 ! 00106 REAL, POINTER, DIMENSION(:) :: XPAR_BSLAI_ST ! ratio d(biomass)/d(lai) (kg/m2) 00107 REAL, POINTER, DIMENSION(:) :: XPAR_SEFOLD_ST ! e-folding time for senescence (s) 00108 REAL, POINTER, DIMENSION(:) :: XPAR_GMES_ST ! mesophyll conductance (m s-1) 00109 REAL, POINTER, DIMENSION(:) :: XPAR_GC_ST ! cuticular conductance (m s-1) 00110 REAL, POINTER, DIMENSION(:) :: XPAR_DMAX_ST ! maximum air saturation deficit 00111 !------------------------------------------------------------------------------- 00112 ! 00113 ! - vegetation: Ags Nitrogen-model parameters ('NIT', 'NCB' option) 00114 ! 00115 REAL, POINTER, DIMENSION(:) :: XPAR_CE_NITRO ! leaf aera ratio sensitivity to 00116 ! nitrogen concentration (m2/kg) 00117 REAL, POINTER, DIMENSION(:) :: XPAR_CF_NITRO ! lethal minimum value of leaf area 00118 ! ratio (m2/kg) 00119 REAL, POINTER, DIMENSION(:) :: XPAR_CNA_NITRO ! nitrogen concentration of active 00120 ! biomass (kg/kg) 00121 ! 00122 !------------------------------------------------------------------------------- 00123 ! 00124 ! - soil: primary parameters 00125 ! 00126 REAL, POINTER, DIMENSION(:,:) :: XPAR_DG ! soil layer thicknesses (m) 00127 ! NOTE: in Force-Restore mode, the 00128 ! uppermost layer thickness is superficial 00129 ! and is only explicitly used for soil 00130 ! water phase changes (m) 00131 ! 00132 REAL, POINTER,DIMENSION(:) :: XPAR_DICE ! depth of the soil column for the calculation 00133 ! of the frozen soil fraction (m) 00134 ! 00135 ! - bare soil albedo 00136 ! 00137 REAL, POINTER, DIMENSION(:) :: XPAR_ALBNIR_SOIL ! soil near-infra-red albedo (-) 00138 REAL, POINTER, DIMENSION(:) :: XPAR_ALBVIS_SOIL ! soil visible albedo (-) 00139 REAL, POINTER, DIMENSION(:) :: XPAR_ALBUV_SOIL ! soil UV albedo (-) 00140 REAL, POINTER, DIMENSION(:) :: XPAR_ALBNIR_DRY ! dry soil near-infra-red albedo (-) 00141 REAL, POINTER, DIMENSION(:) :: XPAR_ALBVIS_DRY ! dry soil visible albedo (-) 00142 REAL, POINTER, DIMENSION(:) :: XPAR_ALBUV_DRY ! dry soil UV albedo (-) 00143 REAL, POINTER, DIMENSION(:) :: XPAR_ALBNIR_WET ! wet soil near-infra-red albedo (-) 00144 REAL, POINTER, DIMENSION(:) :: XPAR_ALBVIS_WET ! wet soil visible albedo (-) 00145 REAL, POINTER, DIMENSION(:) :: XPAR_ALBUV_WET ! wet soil UV albedo (-) 00146 ! 00147 !------------------------------------------------------------------------------- 00148 ! 00149 !- Vegetation: Ags Prognostic (YPHOTO = ('LAI', 'LST', 'NIT', or 'NCB') or prescribed (YPHOTO='NON', 'AGS' or 'AST') 00150 ! 00151 REAL, POINTER, DIMENSION(:,:) :: XPAR_LAI ! Leaf Area Index (m2/m2) 00152 ! 00153 !------------------------------------------------------------------------------- 00154 ! 00155 00156 END TYPE DATA_TEB_GREENROOF_t 00157 00158 TYPE(DATA_TEB_GREENROOF_t), ALLOCATABLE, TARGET, SAVE :: DATA_TEB_GREENROOF_MODEL(:) 00159 00160 REAL, POINTER, DIMENSION(:,:) :: XPAR_OM_GR=>NULL() 00161 !$OMP THREADPRIVATE(XPAR_OM_GR) 00162 REAL, POINTER, DIMENSION(:,:) :: XPAR_CLAY_GR=>NULL() 00163 !$OMP THREADPRIVATE(XPAR_CLAY_GR) 00164 REAL, POINTER, DIMENSION(:,:) :: XPAR_SAND_GR=>NULL() 00165 !$OMP THREADPRIVATE(XPAR_SAND_GR) 00166 REAL, POINTER, DIMENSION(:,:) :: XPAR_LAI_GR=>NULL() 00167 !$OMP THREADPRIVATE(XPAR_LAI_GR) 00168 REAL, POINTER, DIMENSION(:,:) :: XPAR_VEGTYPE=>NULL() 00169 !$OMP THREADPRIVATE(XPAR_VEGTYPE) 00170 REAL, POINTER, DIMENSION(:) :: XPAR_Z0_O_Z0H=>NULL() 00171 !$OMP THREADPRIVATE(XPAR_Z0_O_Z0H) 00172 REAL, POINTER, DIMENSION(:,:) :: XPAR_EMIS=>NULL() 00173 !$OMP THREADPRIVATE(XPAR_EMIS) 00174 REAL, POINTER, DIMENSION(:,:) :: XPAR_Z0=>NULL() 00175 !$OMP THREADPRIVATE(XPAR_Z0) 00176 REAL, POINTER, DIMENSION(:) :: XPAR_ALBNIR_VEG=>NULL() 00177 !$OMP THREADPRIVATE(XPAR_ALBNIR_VEG) 00178 REAL, POINTER, DIMENSION(:) :: XPAR_ALBVIS_VEG=>NULL() 00179 !$OMP THREADPRIVATE(XPAR_ALBVIS_VEG) 00180 REAL, POINTER, DIMENSION(:) :: XPAR_ALBUV_VEG=>NULL() 00181 !$OMP THREADPRIVATE(XPAR_ALBUV_VEG) 00182 REAL, POINTER, DIMENSION(:) :: XPAR_ALBNIR_SOIL=>NULL() 00183 !$OMP THREADPRIVATE(XPAR_ALBNIR_SOIL) 00184 REAL, POINTER, DIMENSION(:) :: XPAR_ALBVIS_SOIL=>NULL() 00185 !$OMP THREADPRIVATE(XPAR_ALBVIS_SOIL) 00186 REAL, POINTER, DIMENSION(:) :: XPAR_ALBUV_SOIL=>NULL() 00187 !$OMP THREADPRIVATE(XPAR_ALBUV_SOIL) 00188 REAL, POINTER, DIMENSION(:) :: XPAR_ALBNIR_DRY=>NULL() 00189 !$OMP THREADPRIVATE(XPAR_ALBNIR_DRY) 00190 REAL, POINTER, DIMENSION(:) :: XPAR_ALBVIS_DRY=>NULL() 00191 !$OMP THREADPRIVATE(XPAR_ALBVIS_DRY) 00192 REAL, POINTER, DIMENSION(:) :: XPAR_ALBUV_DRY=>NULL() 00193 !$OMP THREADPRIVATE(XPAR_ALBUV_DRY) 00194 REAL, POINTER, DIMENSION(:) :: XPAR_ALBNIR_WET=>NULL() 00195 !$OMP THREADPRIVATE(XPAR_ALBNIR_WET) 00196 REAL, POINTER, DIMENSION(:) :: XPAR_ALBVIS_WET=>NULL() 00197 !$OMP THREADPRIVATE(XPAR_ALBVIS_WET) 00198 REAL, POINTER, DIMENSION(:) :: XPAR_ALBUV_WET=>NULL() 00199 !$OMP THREADPRIVATE(XPAR_ALBUV_WET) 00200 REAL, POINTER, DIMENSION(:,:) :: XPAR_VEG=>NULL() 00201 !$OMP THREADPRIVATE(XPAR_VEG) 00202 REAL, POINTER, DIMENSION(:) :: XPAR_WRMAX_CF=>NULL() 00203 !$OMP THREADPRIVATE(XPAR_WRMAX_CF) 00204 REAL, POINTER, DIMENSION(:) :: XPAR_RSMIN=>NULL() 00205 !$OMP THREADPRIVATE(XPAR_RSMIN) 00206 REAL, POINTER, DIMENSION(:) :: XPAR_GAMMA=>NULL() 00207 !$OMP THREADPRIVATE(XPAR_GAMMA) 00208 REAL, POINTER, DIMENSION(:) :: XPAR_CV=>NULL() 00209 !$OMP THREADPRIVATE(XPAR_CV) 00210 REAL, POINTER, DIMENSION(:) :: XPAR_RGL=>NULL() 00211 !$OMP THREADPRIVATE(XPAR_RGL) 00212 REAL, POINTER, DIMENSION(:,:) :: XPAR_ROOTFRAC=>NULL() 00213 !$OMP THREADPRIVATE(XPAR_ROOTFRAC) 00214 REAL, POINTER, DIMENSION(:) :: XPAR_BSLAI=>NULL() 00215 !$OMP THREADPRIVATE(XPAR_BSLAI) 00216 REAL, POINTER, DIMENSION(:) :: XPAR_LAIMIN=>NULL() 00217 !$OMP THREADPRIVATE(XPAR_LAIMIN) 00218 REAL, POINTER, DIMENSION(:) :: XPAR_SEFOLD=>NULL() 00219 !$OMP THREADPRIVATE(XPAR_SEFOLD) 00220 REAL, POINTER, DIMENSION(:) :: XPAR_H_TREE=>NULL() 00221 !$OMP THREADPRIVATE(XPAR_H_TREE) 00222 REAL, POINTER, DIMENSION(:) :: XPAR_GMES=>NULL() 00223 !$OMP THREADPRIVATE(XPAR_GMES) 00224 REAL, POINTER, DIMENSION(:) :: XPAR_RE25=>NULL() 00225 !$OMP THREADPRIVATE(XPAR_RE25) 00226 LOGICAL, POINTER, DIMENSION(:) :: LDATA_STRESS=>NULL() 00227 !$OMP THREADPRIVATE(LDATA_STRESS) 00228 REAL, POINTER, DIMENSION(:) :: XPAR_F2I=>NULL() 00229 !$OMP THREADPRIVATE(XPAR_F2I) 00230 REAL, POINTER, DIMENSION(:) :: XPAR_GC=>NULL() 00231 !$OMP THREADPRIVATE(XPAR_GC) 00232 REAL, POINTER, DIMENSION(:) :: XPAR_DMAX=>NULL() 00233 !$OMP THREADPRIVATE(XPAR_DMAX) 00234 REAL, POINTER, DIMENSION(:) :: XPAR_BSLAI_ST=>NULL() 00235 !$OMP THREADPRIVATE(XPAR_BSLAI_ST) 00236 REAL, POINTER, DIMENSION(:) :: XPAR_SEFOLD_ST=>NULL() 00237 !$OMP THREADPRIVATE(XPAR_SEFOLD_ST) 00238 REAL, POINTER, DIMENSION(:) :: XPAR_GMES_ST=>NULL() 00239 !$OMP THREADPRIVATE(XPAR_GMES_ST) 00240 REAL, POINTER, DIMENSION(:) :: XPAR_GC_ST=>NULL() 00241 !$OMP THREADPRIVATE(XPAR_GC_ST) 00242 REAL, POINTER, DIMENSION(:) :: XPAR_DMAX_ST=>NULL() 00243 !$OMP THREADPRIVATE(XPAR_DMAX_ST) 00244 REAL, POINTER, DIMENSION(:) :: XPAR_CE_NITRO=>NULL() 00245 !$OMP THREADPRIVATE(XPAR_CE_NITRO) 00246 REAL, POINTER, DIMENSION(:) :: XPAR_CF_NITRO=>NULL() 00247 !$OMP THREADPRIVATE(XPAR_CF_NITRO) 00248 REAL, POINTER, DIMENSION(:) :: XPAR_CNA_NITRO=>NULL() 00249 !$OMP THREADPRIVATE(XPAR_CNA_NITRO) 00250 REAL, POINTER, DIMENSION(:,:) :: XPAR_DG=>NULL() 00251 !$OMP THREADPRIVATE(XPAR_DG) 00252 REAL, POINTER, DIMENSION(:) :: XPAR_DICE=>NULL() 00253 !$OMP THREADPRIVATE(XPAR_DICE) 00254 REAL, POINTER, DIMENSION(:,:) :: XPAR_LAI=>NULL() 00255 !$OMP THREADPRIVATE(XPAR_LAI) 00256 00257 CONTAINS 00258 00259 SUBROUTINE DATA_TEB_GREENROOF_GOTO_MODEL(KFROM, KTO, LKFROM) 00260 LOGICAL, INTENT(IN) :: LKFROM 00261 INTEGER, INTENT(IN) :: KFROM, KTO 00262 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00263 ! 00264 ! Save current state for allocated arrays 00265 IF (LKFROM) THEN 00266 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_OM_GR=>XPAR_OM_GR 00267 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_CLAY_GR=>XPAR_CLAY_GR 00268 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_SAND_GR=>XPAR_SAND_GR 00269 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_LAI_GR=>XPAR_LAI_GR 00270 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_VEGTYPE=>XPAR_VEGTYPE 00271 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_Z0_O_Z0H=>XPAR_Z0_O_Z0H 00272 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_EMIS=>XPAR_EMIS 00273 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_Z0=>XPAR_Z0 00274 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_ALBNIR_VEG=>XPAR_ALBNIR_VEG 00275 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_ALBVIS_VEG=>XPAR_ALBVIS_VEG 00276 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_ALBUV_VEG=>XPAR_ALBUV_VEG 00277 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_ALBNIR_SOIL=>XPAR_ALBNIR_SOIL 00278 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_ALBVIS_SOIL=>XPAR_ALBVIS_SOIL 00279 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_ALBUV_SOIL=>XPAR_ALBUV_SOIL 00280 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_ALBNIR_DRY=>XPAR_ALBNIR_DRY 00281 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_ALBVIS_DRY=>XPAR_ALBVIS_DRY 00282 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_ALBUV_DRY=>XPAR_ALBUV_DRY 00283 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_ALBNIR_WET=>XPAR_ALBNIR_WET 00284 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_ALBVIS_WET=>XPAR_ALBVIS_WET 00285 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_ALBUV_WET=>XPAR_ALBUV_WET 00286 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_VEG=>XPAR_VEG 00287 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_WRMAX_CF=>XPAR_WRMAX_CF 00288 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_RSMIN=>XPAR_RSMIN 00289 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_GAMMA=>XPAR_GAMMA 00290 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_CV=>XPAR_CV 00291 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_RGL=>XPAR_RGL 00292 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_ROOTFRAC=>XPAR_ROOTFRAC 00293 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_BSLAI=>XPAR_BSLAI 00294 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_LAIMIN=>XPAR_LAIMIN 00295 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_SEFOLD=>XPAR_SEFOLD 00296 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_H_TREE=>XPAR_H_TREE 00297 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_GMES=>XPAR_GMES 00298 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_RE25=>XPAR_RE25 00299 DATA_TEB_GREENROOF_MODEL(KFROM)%LDATA_STRESS=>LDATA_STRESS 00300 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_F2I=>XPAR_F2I 00301 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_GC=>XPAR_GC 00302 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_DMAX=>XPAR_DMAX 00303 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_BSLAI_ST=>XPAR_BSLAI_ST 00304 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_SEFOLD_ST=>XPAR_SEFOLD_ST 00305 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_GMES_ST=>XPAR_GMES_ST 00306 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_GC_ST=>XPAR_GC_ST 00307 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_DMAX_ST=>XPAR_DMAX_ST 00308 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_CE_NITRO=>XPAR_CE_NITRO 00309 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_CF_NITRO=>XPAR_CF_NITRO 00310 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_CNA_NITRO=>XPAR_CNA_NITRO 00311 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_DG=>XPAR_DG 00312 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_DICE=>XPAR_DICE 00313 DATA_TEB_GREENROOF_MODEL(KFROM)%XPAR_LAI=>XPAR_LAI 00314 ENDIF 00315 ! 00316 ! Current model is set to model KTO 00317 IF (LHOOK) CALL DR_HOOK('MODD_DATA_TEB_GREENROOF_N:DATA_TEB_GREENROOF_GOTO_MODEL',0,ZHOOK_HANDLE) 00318 XPAR_OM_GR=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_OM_GR 00319 XPAR_CLAY_GR=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_CLAY_GR 00320 XPAR_SAND_GR=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_SAND_GR 00321 XPAR_LAI_GR=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_LAI_GR 00322 XPAR_VEGTYPE=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_VEGTYPE 00323 XPAR_Z0_O_Z0H=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_Z0_O_Z0H 00324 XPAR_EMIS=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_EMIS 00325 XPAR_Z0=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_Z0 00326 XPAR_ALBNIR_VEG=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_ALBNIR_VEG 00327 XPAR_ALBVIS_VEG=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_ALBVIS_VEG 00328 XPAR_ALBUV_VEG=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_ALBUV_VEG 00329 XPAR_ALBNIR_SOIL=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_ALBNIR_SOIL 00330 XPAR_ALBVIS_SOIL=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_ALBVIS_SOIL 00331 XPAR_ALBUV_SOIL=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_ALBUV_SOIL 00332 XPAR_ALBNIR_DRY=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_ALBNIR_DRY 00333 XPAR_ALBVIS_DRY=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_ALBVIS_DRY 00334 XPAR_ALBUV_DRY=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_ALBUV_DRY 00335 XPAR_ALBNIR_WET=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_ALBNIR_WET 00336 XPAR_ALBVIS_WET=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_ALBVIS_WET 00337 XPAR_ALBUV_WET=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_ALBUV_WET 00338 XPAR_VEG=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_VEG 00339 XPAR_WRMAX_CF=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_WRMAX_CF 00340 XPAR_RSMIN=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_RSMIN 00341 XPAR_GAMMA=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_GAMMA 00342 XPAR_CV=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_CV 00343 XPAR_RGL=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_RGL 00344 XPAR_ROOTFRAC=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_ROOTFRAC 00345 XPAR_BSLAI=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_BSLAI 00346 XPAR_LAIMIN=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_LAIMIN 00347 XPAR_SEFOLD=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_SEFOLD 00348 XPAR_H_TREE=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_H_TREE 00349 XPAR_GMES=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_GMES 00350 XPAR_RE25=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_RE25 00351 LDATA_STRESS=>DATA_TEB_GREENROOF_MODEL(KTO)%LDATA_STRESS 00352 XPAR_F2I=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_F2I 00353 XPAR_GC=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_GC 00354 XPAR_DMAX=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_DMAX 00355 XPAR_BSLAI_ST=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_BSLAI_ST 00356 XPAR_SEFOLD_ST=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_SEFOLD_ST 00357 XPAR_GMES_ST=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_GMES_ST 00358 XPAR_GC_ST=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_GC_ST 00359 XPAR_DMAX_ST=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_DMAX_ST 00360 XPAR_CE_NITRO=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_CE_NITRO 00361 XPAR_CF_NITRO=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_CF_NITRO 00362 XPAR_CNA_NITRO=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_CNA_NITRO 00363 XPAR_DG=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_DG 00364 XPAR_DICE=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_DICE 00365 XPAR_LAI=>DATA_TEB_GREENROOF_MODEL(KTO)%XPAR_LAI 00366 IF (LHOOK) CALL DR_HOOK('MODD_DATA_TEB_GREENROOF_N:DATA_TEB_GREENROOF_GOTO_MODEL',1,ZHOOK_HANDLE) 00367 00368 END SUBROUTINE DATA_TEB_GREENROOF_GOTO_MODEL 00369 00370 SUBROUTINE DATA_TEB_GREENROOF_ALLOC(KMODEL) 00371 INTEGER, INTENT(IN) :: KMODEL 00372 INTEGER :: J 00373 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00374 IF (LHOOK) CALL DR_HOOK("MODD_DATA_TEB_GREENROOF_N:DATA_TEB_GREENROOF_ALLOC",0,ZHOOK_HANDLE) 00375 ALLOCATE(DATA_TEB_GREENROOF_MODEL(KMODEL)) 00376 DO J=1,KMODEL 00377 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_OM_GR) 00378 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_CLAY_GR) 00379 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_SAND_GR) 00380 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_LAI_GR) 00381 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_VEGTYPE) 00382 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_Z0_O_Z0H) 00383 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_EMIS) 00384 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_Z0) 00385 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_ALBNIR_VEG) 00386 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_ALBVIS_VEG) 00387 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_ALBUV_VEG) 00388 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_VEG) 00389 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_WRMAX_CF) 00390 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_RSMIN) 00391 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_GAMMA) 00392 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_CV) 00393 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_RGL) 00394 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_ROOTFRAC) 00395 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_BSLAI) 00396 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_LAIMIN) 00397 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_SEFOLD) 00398 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_H_TREE) 00399 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_GMES) 00400 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_RE25) 00401 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%LDATA_STRESS) 00402 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_F2I) 00403 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_GC) 00404 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_DMAX) 00405 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_BSLAI_ST) 00406 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_SEFOLD_ST) 00407 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_GMES_ST) 00408 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_GC_ST) 00409 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_DMAX_ST) 00410 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_CE_NITRO) 00411 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_CF_NITRO) 00412 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_CNA_NITRO) 00413 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_DG) 00414 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_DICE) 00415 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_ALBNIR_SOIL) 00416 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_ALBVIS_SOIL) 00417 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_ALBUV_SOIL) 00418 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_ALBNIR_DRY) 00419 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_ALBVIS_DRY) 00420 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_ALBUV_DRY) 00421 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_ALBNIR_WET) 00422 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_ALBVIS_WET) 00423 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_ALBUV_WET) 00424 NULLIFY(DATA_TEB_GREENROOF_MODEL(J)%XPAR_LAI) 00425 ENDDO 00426 IF (LHOOK) CALL DR_HOOK("MODD_DATA_TEB_GREENROOF_N:DATA_TEB_GREENROOF_ALLOC",1,ZHOOK_HANDLE) 00427 END SUBROUTINE DATA_TEB_GREENROOF_ALLOC 00428 00429 SUBROUTINE DATA_TEB_GREENROOF_DEALLO 00430 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00431 IF (LHOOK) CALL DR_HOOK("MODD_DATA_TEB_GREENROOF_N:DATA_TEB_GREENROOF_DEALLO",0,ZHOOK_HANDLE) 00432 IF (ALLOCATED(DATA_TEB_GREENROOF_MODEL)) DEALLOCATE(DATA_TEB_GREENROOF_MODEL) 00433 IF (LHOOK) CALL DR_HOOK("MODD_DATA_TEB_GREENROOF_N:DATA_TEB_GREENROOF_DEALLO",1,ZHOOK_HANDLE) 00434 END SUBROUTINE DATA_TEB_GREENROOF_DEALLO 00435 00436 END MODULE MODD_DATA_TEB_GREENROOF_n