!SFX_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier !SFX_LIC This is part of the SURFEX software governed by the CeCILL version 2.1 !SFX_LIC version 1. See LICENSE, Licence_CeCILL_V2.1-en.txt and Licence_CeCILL_V2.1-fr.txt !SFX_LIC for details. version 1. ! ################ MODULE MODD_DATA_TEB_n ! ################ ! !!**** *MODD_DATA_TEB_n - declaration of surface parameters for urban surface !! !! PURPOSE !! ------- ! Declaration of surface parameters ! !! !!** IMPLICIT ARGUMENTS !! ------------------ !! None !! !! REFERENCE !! --------- !! !! AUTHOR !! ------ !! V. Masson *Meteo France* !! !! MODIFICATIONS !! ------------- !! Original 01/2004 !! Modified 08/2012 G. Pigeon ROUGH_WALL, ROUGH_ROOF ! !* 0. DECLARATIONS ! ------------ ! ! USE YOMHOOK ,ONLY : LHOOK, DR_HOOK USE PARKIND1 ,ONLY : JPRB ! IMPLICIT NONE TYPE DATA_TEB_t ! LOGICAL :: LDATA_BLDTYPE LOGICAL :: LDATA_BLD_AGE LOGICAL :: LDATA_USETYPE LOGICAL :: LDATA_GARDEN LOGICAL :: LDATA_GREENROOF LOGICAL :: LDATA_ROAD_DIR LOGICAL :: LDATA_BLD LOGICAL :: LDATA_BLD_HEIGHT LOGICAL :: LDATA_WALL_O_HOR LOGICAL :: LDATA_Z0_TOWN LOGICAL :: LDATA_ALB_ROOF LOGICAL :: LDATA_EMIS_ROOF LOGICAL :: LDATA_HC_ROOF LOGICAL :: LDATA_TC_ROOF LOGICAL :: LDATA_D_ROOF LOGICAL :: LDATA_ALB_ROAD LOGICAL :: LDATA_EMIS_ROAD LOGICAL :: LDATA_HC_ROAD LOGICAL :: LDATA_TC_ROAD LOGICAL :: LDATA_D_ROAD LOGICAL :: LDATA_ALB_WALL LOGICAL :: LDATA_EMIS_WALL LOGICAL :: LDATA_HC_WALL LOGICAL :: LDATA_TC_WALL LOGICAL :: LDATA_D_WALL LOGICAL :: LDATA_H_TRAFFIC LOGICAL :: LDATA_LE_TRAFFIC LOGICAL :: LDATA_LE_INDUSTRY LOGICAL :: LDATA_H_INDUSTRY LOGICAL :: LDATA_ROUGH_ROOF LOGICAL :: LDATA_ROUGH_WALL LOGICAL :: LDATA_RESIDENTIAL LOGICAL :: LDATA_EMIS_PANEL LOGICAL :: LDATA_ALB_PANEL LOGICAL :: LDATA_EFF_PANEL LOGICAL :: LDATA_FRAC_PANEL ! ! Number of layers in the specification of thermal characteristics ! INTEGER :: NPAR_ROOF_LAYER ! number of layers in roofs INTEGER :: NPAR_ROAD_LAYER ! number of layers in roads INTEGER :: NPAR_WALL_LAYER ! number of layers in walls ! ! ! Geometric Parameters: ! INTEGER, POINTER, DIMENSION(:):: NPAR_BLDTYPE ! type of buidlings INTEGER, POINTER, DIMENSION(:):: NPAR_BLD_AGE ! date of construction of buildings INTEGER, POINTER, DIMENSION(:):: NPAR_BLDCODE ! code for buildings (type+age) INTEGER, POINTER, DIMENSION(:):: NPAR_USETYPE ! type of use in the buildings REAL, POINTER, DIMENSION(:) :: XPAR_GARDEN ! fraction of veg in the streets (-) REAL, POINTER, DIMENSION(:) :: XPAR_GREENROOF ! fraction of greenroofs on roofs (-) REAL, POINTER, DIMENSION(:) :: XPAR_ROAD_DIR ! road direction (deg from North, clockwise) REAL, POINTER, DIMENSION(:) :: XPAR_BLD ! fraction of buildings (-) REAL, POINTER, DIMENSION(:) :: XPAR_BLD_HEIGHT ! buildings height 'h' (m) REAL, POINTER, DIMENSION(:) :: XPAR_WALL_O_HOR ! wall surf. / hor. surf. (-) REAL, POINTER, DIMENSION(:) :: XPAR_Z0_TOWN ! roughness length for momentum (m) ! ! Roof parameters ! REAL, POINTER, DIMENSION(:) :: XPAR_ALB_ROOF ! roof albedo (-) REAL, POINTER, DIMENSION(:) :: XPAR_EMIS_ROOF ! roof emissivity (-) REAL, POINTER, DIMENSION(:,:) :: XPAR_HC_ROOF ! roof layers heat capacity (J/K/m3) REAL, POINTER, DIMENSION(:,:) :: XPAR_TC_ROOF ! roof layers thermal conductivity (W/K/m) REAL, POINTER, DIMENSION(:,:) :: XPAR_D_ROOF ! depth of roof layers (m) REAL, POINTER, DIMENSION(:) :: XPAR_ROUGH_ROOF ! outside roof roughness coef ! ! ! Road parameters ! REAL, POINTER, DIMENSION(:) :: XPAR_ALB_ROAD ! road albedo (-) REAL, POINTER, DIMENSION(:) :: XPAR_EMIS_ROAD ! road emissivity (-) REAL, POINTER, DIMENSION(:,:) :: XPAR_HC_ROAD ! road layers heat capacity (J/K/m3) REAL, POINTER, DIMENSION(:,:) :: XPAR_TC_ROAD ! road layers thermal conductivity (W/K/m) REAL, POINTER, DIMENSION(:,:) :: XPAR_D_ROAD ! depth of road layers (m) ! ! Wall parameters ! REAL, POINTER, DIMENSION(:) :: XPAR_ALB_WALL ! wall albedo (-) REAL, POINTER, DIMENSION(:) :: XPAR_EMIS_WALL ! wall emissivity (-) REAL, POINTER, DIMENSION(:,:) :: XPAR_HC_WALL ! wall layers heat capacity (J/K/m3) REAL, POINTER, DIMENSION(:,:) :: XPAR_TC_WALL ! wall layers thermal conductivity (W/K/m) REAL, POINTER, DIMENSION(:,:) :: XPAR_D_WALL ! depth of wall layers (m) REAL, POINTER, DIMENSION(:) :: XPAR_ROUGH_WALL ! outside wall roughness coef ! ! anthropogenic fluxes ! REAL, POINTER, DIMENSION(:) :: XPAR_H_TRAFFIC ! anthropogenic sensible ! ! heat fluxes due to traffic (W/m2) REAL, POINTER, DIMENSION(:) :: XPAR_LE_TRAFFIC ! anthropogenic latent ! ! heat fluxes due to traffic (W/m2) REAL, POINTER, DIMENSION(:) :: XPAR_H_INDUSTRY ! anthropogenic sensible ! ! heat fluxes due to factories (W/m2) REAL, POINTER, DIMENSION(:) :: XPAR_LE_INDUSTRY ! anthropogenic latent ! ! heat fluxes due to factories (W/m2) ! solar panels ! REAL, POINTER, DIMENSION(:) :: XPAR_EMIS_PANEL ! emissivity of solar panel (-) REAL, POINTER, DIMENSION(:) :: XPAR_ALB_PANEL ! albedo of solar panel (-) REAL, POINTER, DIMENSION(:) :: XPAR_EFF_PANEL ! efficiency of solar panel (-) REAL, POINTER, DIMENSION(:) :: XPAR_FRAC_PANEL ! fraction of solar panel (-) ! ! fraction of residential use ! REAL, POINTER, DIMENSION(:) :: XPAR_RESIDENTIAL ! fraction of residential use (-) ! END TYPE DATA_TEB_t CONTAINS ! SUBROUTINE DATA_TEB_INIT(YDATA_TEB) TYPE(DATA_TEB_t), INTENT(INOUT) :: YDATA_TEB REAL(KIND=JPRB) :: ZHOOK_HANDLE IF (LHOOK) CALL DR_HOOK("MODD_DATA_TEB_N:DATA_TEB_INIT",0,ZHOOK_HANDLE) NULLIFY(YDATA_TEB%NPAR_BLDTYPE) NULLIFY(YDATA_TEB%NPAR_BLD_AGE) NULLIFY(YDATA_TEB%NPAR_BLDCODE) NULLIFY(YDATA_TEB%NPAR_USETYPE) NULLIFY(YDATA_TEB%XPAR_GARDEN) NULLIFY(YDATA_TEB%XPAR_GREENROOF) NULLIFY(YDATA_TEB%XPAR_ROAD_DIR) NULLIFY(YDATA_TEB%XPAR_BLD) NULLIFY(YDATA_TEB%XPAR_BLD_HEIGHT) NULLIFY(YDATA_TEB%XPAR_WALL_O_HOR) NULLIFY(YDATA_TEB%XPAR_Z0_TOWN) NULLIFY(YDATA_TEB%XPAR_ALB_ROOF) NULLIFY(YDATA_TEB%XPAR_EMIS_ROOF) NULLIFY(YDATA_TEB%XPAR_HC_ROOF) NULLIFY(YDATA_TEB%XPAR_TC_ROOF) NULLIFY(YDATA_TEB%XPAR_D_ROOF) NULLIFY(YDATA_TEB%XPAR_ALB_ROAD) NULLIFY(YDATA_TEB%XPAR_EMIS_ROAD) NULLIFY(YDATA_TEB%XPAR_HC_ROAD) NULLIFY(YDATA_TEB%XPAR_TC_ROAD) NULLIFY(YDATA_TEB%XPAR_D_ROAD) NULLIFY(YDATA_TEB%XPAR_ALB_WALL) NULLIFY(YDATA_TEB%XPAR_EMIS_WALL) NULLIFY(YDATA_TEB%XPAR_HC_WALL) NULLIFY(YDATA_TEB%XPAR_TC_WALL) NULLIFY(YDATA_TEB%XPAR_D_WALL) NULLIFY(YDATA_TEB%XPAR_H_TRAFFIC) NULLIFY(YDATA_TEB%XPAR_LE_TRAFFIC) NULLIFY(YDATA_TEB%XPAR_H_INDUSTRY) NULLIFY(YDATA_TEB%XPAR_LE_INDUSTRY) NULLIFY(YDATA_TEB%XPAR_ROUGH_ROOF) NULLIFY(YDATA_TEB%XPAR_ROUGH_WALL) NULLIFY(YDATA_TEB%XPAR_RESIDENTIAL) NULLIFY(YDATA_TEB%XPAR_EMIS_PANEL) NULLIFY(YDATA_TEB%XPAR_ALB_PANEL) NULLIFY(YDATA_TEB%XPAR_EFF_PANEL) NULLIFY(YDATA_TEB%XPAR_EMIS_PANEL) YDATA_TEB%LDATA_BLDTYPE=.FALSE. YDATA_TEB%LDATA_BLD_AGE=.FALSE. YDATA_TEB%LDATA_USETYPE=.FALSE. YDATA_TEB%LDATA_GARDEN=.FALSE. YDATA_TEB%LDATA_GREENROOF=.FALSE. YDATA_TEB%LDATA_ROAD_DIR=.FALSE. YDATA_TEB%LDATA_BLD=.FALSE. YDATA_TEB%LDATA_BLD_HEIGHT=.FALSE. YDATA_TEB%LDATA_WALL_O_HOR=.FALSE. YDATA_TEB%LDATA_Z0_TOWN=.FALSE. YDATA_TEB%LDATA_ALB_ROOF=.FALSE. YDATA_TEB%LDATA_EMIS_ROOF=.FALSE. YDATA_TEB%LDATA_HC_ROOF=.FALSE. YDATA_TEB%LDATA_TC_ROOF=.FALSE. YDATA_TEB%LDATA_D_ROOF=.FALSE. YDATA_TEB%LDATA_ALB_ROAD=.FALSE. YDATA_TEB%LDATA_EMIS_ROAD=.FALSE. YDATA_TEB%LDATA_HC_ROAD=.FALSE. YDATA_TEB%LDATA_TC_ROAD=.FALSE. YDATA_TEB%LDATA_D_ROAD=.FALSE. YDATA_TEB%LDATA_ALB_WALL=.FALSE. YDATA_TEB%LDATA_EMIS_WALL=.FALSE. YDATA_TEB%LDATA_HC_WALL=.FALSE. YDATA_TEB%LDATA_TC_WALL=.FALSE. YDATA_TEB%LDATA_D_WALL=.FALSE. YDATA_TEB%LDATA_H_TRAFFIC=.FALSE. YDATA_TEB%LDATA_LE_TRAFFIC=.FALSE. YDATA_TEB%LDATA_H_INDUSTRY=.FALSE. YDATA_TEB%LDATA_LE_INDUSTRY=.FALSE. YDATA_TEB%LDATA_ROUGH_ROOF=.FALSE. YDATA_TEB%LDATA_ROUGH_WALL=.FALSE. YDATA_TEB%LDATA_RESIDENTIAL=.FALSE. YDATA_TEB%LDATA_EMIS_PANEL=.FALSE. YDATA_TEB%LDATA_ALB_PANEL=.FALSE. YDATA_TEB%LDATA_EFF_PANEL=.FALSE. YDATA_TEB%LDATA_FRAC_PANEL=.FALSE. YDATA_TEB%NPAR_ROOF_LAYER=0 YDATA_TEB%NPAR_ROAD_LAYER=0 YDATA_TEB%NPAR_WALL_LAYER=0 IF (LHOOK) CALL DR_HOOK("MODD_DATA_TEB_N:DATA_TEB_INIT",1,ZHOOK_HANDLE) END SUBROUTINE DATA_TEB_INIT END MODULE MODD_DATA_TEB_n