SURFEX v8.1
General documentation of Surfex
modd_bld_descriptionn.F90
Go to the documentation of this file.
1 !SFX_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
2 !SFX_LIC This is part of the SURFEX software governed by the CeCILL-C licence
3 !SFX_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
4 !SFX_LIC for details. version 1.
5 ! ################
7 ! ################
8 !
9 !!**** *MODD_BLD_DESCRIPTION_n - declaration of surface parameters for typical
10 ! buildings
11 !!
12 !! PURPOSE
13 !! -------
14 ! Declaration of surface parameters
15 !
16 !!
17 !!** IMPLICIT ARGUMENTS
18 !! ------------------
19 !! None
20 !!
21 !! REFERENCE
22 !! ---------
23 !!
24 !! AUTHOR
25 !! ------
26 !! G. Pigeon *Meteo France*
27 !!
28 !! MODIFICATIONS
29 !! -------------
30 !! Original 08/2011
31 !! V. Masson 08/2013 adds solar panels
32 !! V. Masson 10/2013 adds residential fraction
33 !!----------------------------------------------------------------------------------
34 !
35 !* 0. DECLARATIONS
36 ! ------------
37 !
38 USE yomhook ,ONLY : lhook, dr_hook
39 USE parkind1 ,ONLY : jprb
40 !
41 IMPLICIT NONE
42 
44 !
45 ! Number of layers
46 !
47  INTEGER :: ndesc_bld ! number of types of buildings
48  INTEGER :: ndesc_age ! number of building's construction dates ranges
49  INTEGER :: ndesc_code ! number of codes for buildings (merges type & age)
50  INTEGER :: ndesc_use ! number of types of building's uses
51  INTEGER :: ndesc_roof_layer ! number of layers in roofs
52  INTEGER :: ndesc_road_layer ! number of layers in roads
53  INTEGER :: ndesc_wall_layer ! number of layers in walls
54  INTEGER :: ndesc_floor_layer ! number of layers in floor
55  INTEGER, POINTER, DIMENSION(:):: ndesc_bld_list ! list of the types for buildings
56  INTEGER, POINTER, DIMENSION(:):: ndesc_age_date ! list of the contruction dates for buildings
57  INTEGER, POINTER, DIMENSION(:):: ndesc_code_list ! list of the codes for buildings
58  INTEGER, POINTER, DIMENSION(:):: ndesc_age_list ! list of the contruction dates' codes
59  INTEGER, POINTER, DIMENSION(:):: ndesc_use_list ! list of the codes for building's uses
60  !
61  REAL, POINTER, DIMENSION(:) :: xdesc_alb_roof ! Roof albedo
62  REAL, POINTER, DIMENSION(:) :: xdesc_alb_road ! Road albedo
63  REAL, POINTER, DIMENSION(:) :: xdesc_alb_wall ! Wall albedo
64  REAL, POINTER, DIMENSION(:) :: xdesc_emis_roof ! Roof emissivity
65  REAL, POINTER, DIMENSION(:) :: xdesc_emis_road ! Road emissivity
66  REAL, POINTER, DIMENSION(:) :: xdesc_emis_wall ! Wall emissivity
67  REAL, POINTER, DIMENSION(:) :: xdesc_tcool_target ! cooling setpoint of indoor air
68  REAL, POINTER, DIMENSION(:) :: xdesc_theat_target ! heating setpoint of indoor air
69  REAL, POINTER, DIMENSION(:) :: xdesc_f_waste_can ! fraction of waste heat into the canyon
70  REAL, POINTER, DIMENSION(:) :: xdesc_eff_heat ! efficiency of the heating system
71  REAL, POINTER, DIMENSION(:,:) :: xdesc_hc_floor ! heat capacity of floor layers [J m-3 K-1]
72  REAL, POINTER, DIMENSION(:,:) :: xdesc_tc_floor ! thermal conductivity of floor layers [W m-1 K-1]
73  REAL, POINTER, DIMENSION(:,:) :: xdesc_d_floor ! thickness of floor layers [m]
74  REAL, POINTER, DIMENSION(:,:) :: xdesc_hc_roof ! heat capacity of roof layers [J m-3 K-1]
75  REAL, POINTER, DIMENSION(:,:) :: xdesc_tc_roof ! thermal conductivity of roof layers [W m-1 K-1]
76  REAL, POINTER, DIMENSION(:,:) :: xdesc_d_roof ! thickness of roof layers [m]
77  REAL, POINTER, DIMENSION(:,:) :: xdesc_hc_road ! heat capacity of road layers [J m-3 K-1]
78  REAL, POINTER, DIMENSION(:,:) :: xdesc_tc_road ! thermal conductivity of road layers [W m-1 K-1]
79  REAL, POINTER, DIMENSION(:,:) :: xdesc_d_road ! thickness of road layers [m]
80  REAL, POINTER, DIMENSION(:,:) :: xdesc_hc_wall ! heat capacity of wall layers [J m-3 K-1]
81  REAL, POINTER, DIMENSION(:,:) :: xdesc_tc_wall ! thermal conductivity of wall layers [W m-1 K-1]
82  REAL, POINTER, DIMENSION(:,:) :: xdesc_d_wall ! thickness of wall layers [m]
83  REAL, POINTER, DIMENSION(:) :: xdesc_qin ! internal heat gains [W m-2(floor)]
84  REAL, POINTER, DIMENSION(:) :: xdesc_qin_frad ! radiant fraction of internal heat gains
85  REAL, POINTER, DIMENSION(:) :: xdesc_shgc ! solar transmitance of windows
86  REAL, POINTER, DIMENSION(:) :: xdesc_u_win ! glazing thermal resistance [K m W-2]
87  REAL, POINTER, DIMENSION(:) :: xdesc_gr ! glazing ratio
88  REAL, POINTER, DIMENSION(:) :: xdesc_shgc_sh ! solar transmitance of windows + shading
89  REAL, POINTER, DIMENSION(:) :: xdesc_floor_height ! building floor height [m]
90  REAL, POINTER, DIMENSION(:) :: xdesc_inf ! infiltration/ventilation flow rate [AC/H]
91 !
92  REAL, POINTER, DIMENSION(:) :: xdesc_f_water_cond ! fraction of evaporation for condensers
93  REAL, POINTER, DIMENSION(:) :: xdesc_shade ! Flag to activate shading devices 0->inactivated , 1->activated
94  REAL, POINTER, DIMENSION(:) :: xdesc_natvent ! Flag to describe bld surventilation solution 0-> NONE ; 1 -> MANU ; 2-> AUTO
95  REAL, POINTER, DIMENSION(:) :: xdesc_qin_flat ! Latent franction of internal heat gains
96  REAL, POINTER, DIMENSION(:) :: xdesc_hr_target ! Relative humidity setpoint
97  REAL, POINTER, DIMENSION(:) :: xdesc_v_vent ! Ventilation flow rate [AC/H]
98  REAL, POINTER, DIMENSION(:) :: xdesc_cop_rat ! Rated COP of the cooling system
99  REAL, POINTER, DIMENSION(:) :: xdesc_greenroof ! Greenroof fraction
100  REAL, POINTER, DIMENSION(:) :: xdesc_emis_panel ! Emissivity of Solar panels
101  REAL, POINTER, DIMENSION(:) :: xdesc_alb_panel ! Albedo of Solar panels
102  REAL, POINTER, DIMENSION(:) :: xdesc_eff_panel ! Efficiency of Solar panels
103  REAL, POINTER, DIMENSION(:) :: xdesc_frac_panel ! Fraction of Solar panels on roofs
104  REAL, POINTER, DIMENSION(:) :: xdesc_residential ! Fraction of residential use
105 !
106 END TYPE bld_desc_t
107 
108 
109 
110 CONTAINS
111 
112 !
113 !
114 
115 
116 !
117 !
118 SUBROUTINE bld_desc_init(YBLD_DESC)
119 TYPE(bld_desc_t), INTENT(INOUT) :: YBLD_DESC
120 REAL(KIND=JPRB) :: ZHOOK_HANDLE
121 IF (lhook) CALL dr_hook("MODD_BLD_DESCRIPTION_n:BLD_DESC_INIT",0,zhook_handle)
122  NULLIFY(ybld_desc%NDESC_BLD_LIST)
123  NULLIFY(ybld_desc%NDESC_CODE_LIST)
124  NULLIFY(ybld_desc%NDESC_AGE_LIST)
125  NULLIFY(ybld_desc%NDESC_AGE_DATE)
126  NULLIFY(ybld_desc%NDESC_USE_LIST)
127  NULLIFY(ybld_desc%XDESC_ALB_ROOF)
128  NULLIFY(ybld_desc%XDESC_ALB_ROAD)
129  NULLIFY(ybld_desc%XDESC_ALB_WALL)
130  NULLIFY(ybld_desc%XDESC_EMIS_ROOF)
131  NULLIFY(ybld_desc%XDESC_EMIS_ROAD)
132  NULLIFY(ybld_desc%XDESC_EMIS_WALL)
133  NULLIFY(ybld_desc%XDESC_TCOOL_TARGET)
134  NULLIFY(ybld_desc%XDESC_THEAT_TARGET)
135  NULLIFY(ybld_desc%XDESC_F_WASTE_CAN)
136  NULLIFY(ybld_desc%XDESC_EFF_HEAT)
137  NULLIFY(ybld_desc%XDESC_HC_FLOOR)
138  NULLIFY(ybld_desc%XDESC_TC_FLOOR)
139  NULLIFY(ybld_desc%XDESC_D_FLOOR)
140  NULLIFY(ybld_desc%XDESC_HC_ROOF)
141  NULLIFY(ybld_desc%XDESC_TC_ROOF)
142  NULLIFY(ybld_desc%XDESC_D_ROOF)
143  NULLIFY(ybld_desc%XDESC_HC_ROAD)
144  NULLIFY(ybld_desc%XDESC_TC_ROAD)
145  NULLIFY(ybld_desc%XDESC_D_ROAD)
146  NULLIFY(ybld_desc%XDESC_HC_WALL)
147  NULLIFY(ybld_desc%XDESC_TC_WALL)
148  NULLIFY(ybld_desc%XDESC_D_WALL)
149  NULLIFY(ybld_desc%XDESC_QIN)
150  NULLIFY(ybld_desc%XDESC_QIN_FRAD)
151  NULLIFY(ybld_desc%XDESC_SHGC)
152  NULLIFY(ybld_desc%XDESC_U_WIN)
153  NULLIFY(ybld_desc%XDESC_GR)
154  NULLIFY(ybld_desc%XDESC_FLOOR_HEIGHT)
155  NULLIFY(ybld_desc%XDESC_INF)
156  NULLIFY(ybld_desc%XDESC_F_WATER_COND)
157  NULLIFY(ybld_desc%XDESC_QIN_FLAT)
158  NULLIFY(ybld_desc%XDESC_HR_TARGET)
159  NULLIFY(ybld_desc%XDESC_V_VENT)
160  NULLIFY(ybld_desc%XDESC_COP_RAT)
161  NULLIFY(ybld_desc%XDESC_GREENROOF)
162  NULLIFY(ybld_desc%XDESC_SHADE)
163  NULLIFY(ybld_desc%XDESC_NATVENT)
164  NULLIFY(ybld_desc%XDESC_EMIS_PANEL)
165  NULLIFY(ybld_desc%XDESC_ALB_PANEL)
166  NULLIFY(ybld_desc%XDESC_EFF_PANEL)
167  NULLIFY(ybld_desc%XDESC_FRAC_PANEL)
168  NULLIFY(ybld_desc%XDESC_RESIDENTIAL)
169 ybld_desc%NDESC_BLD=0
170 ybld_desc%NDESC_AGE=0
171 ybld_desc%NDESC_CODE=0
172 ybld_desc%NDESC_USE=0
173 ybld_desc%NDESC_ROOF_LAYER=0
174 ybld_desc%NDESC_ROAD_LAYER=0
175 ybld_desc%NDESC_WALL_LAYER=0
176 ybld_desc%NDESC_FLOOR_LAYER=0
177 IF (lhook) CALL dr_hook("MODD_BLD_DESCRIPTION_n:BLD_DESC_INIT",1,zhook_handle)
178 END SUBROUTINE bld_desc_init
179 !
180 !
181 END MODULE modd_bld_description_n
subroutine bld_desc_init(YBLD_DESC)
integer, parameter jprb
Definition: parkind1.F90:32
logical lhook
Definition: yomhook.F90:15