56 USE yomhook
,ONLY : lhook, dr_hook
57 USE parkind1
,ONLY : jprb
71 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
77 REAL(KIND=JPRB) :: zhook_handle
79 REAL,
DIMENSION(:),
ALLOCATABLE :: zwork
84 CHARACTER(LEN=100) :: ycomment
88 IF (lhook) CALL dr_hook(
'WRITE_BLD_DESCRIPTION_n',0,zhook_handle)
97 zwork(1) = float(bdd%NDESC_BLD)
98 zwork(2) = float(bdd%NDESC_AGE)
99 zwork(3) = float(bdd%NDESC_USE)
100 zwork(4) = float(bdd%NDESC_WALL_LAYER)
101 zwork(5) = float(bdd%NDESC_ROOF_LAYER)
102 zwork(6) = float(bdd%NDESC_ROAD_LAYER)
103 zwork(7) = float(bdd%NDESC_FLOOR_LAYER)
105 ycomment=
'Configuration numbers for descriptive building data'
107 hprogram,
'BLD_DESC_CNF',zwork,iresp,ycomment,
'-',
'Bld_dimensions ')
115 itot=(21+3*bdd%NDESC_ROOF_LAYER+3*bdd%NDESC_ROAD_LAYER+3*bdd%NDESC_WALL_LAYER+3*bdd%NDESC_FLOOR_LAYER)*bdd%NDESC_CODE &
116 + 9*bdd%NDESC_USE+2*bdd%NDESC_AGE+bdd%NDESC_BLD
117 ALLOCATE(zwork(itot))
121 CALL
up_desc_ind_w(bdd%NDESC_BLD) ; zwork(i1:i2) = float(bdd%NDESC_BLD_LIST(:))
122 CALL
up_desc_ind_w(bdd%NDESC_CODE) ; zwork(i1:i2) = float(bdd%NDESC_CODE_LIST(:))
123 CALL
up_desc_ind_w(bdd%NDESC_CODE) ; zwork(i1:i2) = bdd%XDESC_ALB_ROOF(:)
124 CALL
up_desc_ind_w(bdd%NDESC_CODE) ; zwork(i1:i2) = bdd%XDESC_ALB_ROAD(:)
125 CALL
up_desc_ind_w(bdd%NDESC_CODE) ; zwork(i1:i2) = bdd%XDESC_ALB_WALL(:)
126 CALL
up_desc_ind_w(bdd%NDESC_CODE) ; zwork(i1:i2) = bdd%XDESC_EMIS_ROOF(:)
127 CALL
up_desc_ind_w(bdd%NDESC_CODE) ; zwork(i1:i2) = bdd%XDESC_EMIS_ROAD(:)
128 CALL
up_desc_ind_w(bdd%NDESC_CODE) ; zwork(i1:i2) = bdd%XDESC_EMIS_WALL(:)
129 DO jl=1,bdd%NDESC_ROOF_LAYER
130 CALL
up_desc_ind_w(bdd%NDESC_CODE) ; zwork(i1:i2) = bdd%XDESC_HC_ROOF(:,jl)
132 DO jl=1,bdd%NDESC_ROOF_LAYER
133 CALL
up_desc_ind_w(bdd%NDESC_CODE) ; zwork(i1:i2) = bdd%XDESC_TC_ROOF(:,jl)
135 DO jl=1,bdd%NDESC_ROOF_LAYER
136 CALL
up_desc_ind_w(bdd%NDESC_CODE) ; zwork(i1:i2) = bdd%XDESC_D_ROOF (:,jl)
138 DO jl=1,bdd%NDESC_ROAD_LAYER
139 CALL
up_desc_ind_w(bdd%NDESC_CODE) ; zwork(i1:i2) = bdd%XDESC_HC_ROAD(:,jl)
141 DO jl=1,bdd%NDESC_ROAD_LAYER
142 CALL
up_desc_ind_w(bdd%NDESC_CODE) ; zwork(i1:i2) = bdd%XDESC_TC_ROAD(:,jl)
144 DO jl=1,bdd%NDESC_ROAD_LAYER
145 CALL
up_desc_ind_w(bdd%NDESC_CODE) ; zwork(i1:i2) = bdd%XDESC_D_ROAD (:,jl)
147 DO jl=1,bdd%NDESC_WALL_LAYER
148 CALL
up_desc_ind_w(bdd%NDESC_CODE) ; zwork(i1:i2) = bdd%XDESC_HC_WALL(:,jl)
150 DO jl=1,bdd%NDESC_WALL_LAYER
151 CALL
up_desc_ind_w(bdd%NDESC_CODE) ; zwork(i1:i2) = bdd%XDESC_TC_WALL(:,jl)
153 DO jl=1,bdd%NDESC_WALL_LAYER
154 CALL
up_desc_ind_w(bdd%NDESC_CODE) ; zwork(i1:i2) = bdd%XDESC_D_WALL (:,jl)
156 DO jl=1,bdd%NDESC_FLOOR_LAYER
157 CALL
up_desc_ind_w(bdd%NDESC_CODE) ; zwork(i1:i2) = bdd%XDESC_HC_FLOOR(:,jl)
159 DO jl=1,bdd%NDESC_FLOOR_LAYER
160 CALL
up_desc_ind_w(bdd%NDESC_CODE) ; zwork(i1:i2) = bdd%XDESC_TC_FLOOR(:,jl)
162 DO jl=1,bdd%NDESC_FLOOR_LAYER
163 CALL
up_desc_ind_w(bdd%NDESC_CODE) ; zwork(i1:i2) = bdd%XDESC_D_FLOOR (:,jl)
166 CALL
up_desc_ind_w(bdd%NDESC_CODE) ; zwork(i1:i2) = bdd%XDESC_SHGC(:)
167 CALL
up_desc_ind_w(bdd%NDESC_CODE) ; zwork(i1:i2) = bdd%XDESC_U_WIN(:)
168 CALL
up_desc_ind_w(bdd%NDESC_CODE) ; zwork(i1:i2) = bdd%XDESC_GR(:)
170 CALL
up_desc_ind_w(bdd%NDESC_CODE) ; zwork(i1:i2) = bdd%XDESC_F_WASTE_CAN(:)
171 CALL
up_desc_ind_w(bdd%NDESC_CODE) ; zwork(i1:i2) = bdd%XDESC_F_WATER_COND(:)
172 CALL
up_desc_ind_w(bdd%NDESC_CODE) ; zwork(i1:i2) = bdd%XDESC_COP_RAT(:)
173 CALL
up_desc_ind_w(bdd%NDESC_CODE) ; zwork(i1:i2) = bdd%XDESC_EFF_HEAT(:)
174 CALL
up_desc_ind_w(bdd%NDESC_CODE) ; zwork(i1:i2) = bdd%XDESC_INF(:)
175 CALL
up_desc_ind_w(bdd%NDESC_CODE) ; zwork(i1:i2) = bdd%XDESC_V_VENT(:)
176 CALL
up_desc_ind_w(bdd%NDESC_CODE) ; zwork(i1:i2) = bdd%XDESC_GREENROOF(:)
177 CALL
up_desc_ind_w(bdd%NDESC_CODE) ; zwork(i1:i2) = bdd%XDESC_EMIS_PANEL(:)
178 CALL
up_desc_ind_w(bdd%NDESC_CODE) ; zwork(i1:i2) = bdd%XDESC_ALB_PANEL(:)
179 CALL
up_desc_ind_w(bdd%NDESC_CODE) ; zwork(i1:i2) = bdd%XDESC_EFF_PANEL(:)
180 CALL
up_desc_ind_w(bdd%NDESC_CODE) ; zwork(i1:i2) = bdd%XDESC_FRAC_PANEL(:)
182 CALL
up_desc_ind_w(bdd%NDESC_USE) ; zwork(i1:i2) = float(bdd%NDESC_USE_LIST(:))
183 CALL
up_desc_ind_w(bdd%NDESC_USE) ; zwork(i1:i2) = bdd%XDESC_TCOOL_TARGET(:)
184 CALL
up_desc_ind_w(bdd%NDESC_USE) ; zwork(i1:i2) = bdd%XDESC_THEAT_TARGET(:)
185 CALL
up_desc_ind_w(bdd%NDESC_USE) ; zwork(i1:i2) = bdd%XDESC_QIN(:)
186 CALL
up_desc_ind_w(bdd%NDESC_USE) ; zwork(i1:i2) = bdd%XDESC_QIN_FLAT(:)
187 CALL
up_desc_ind_w(bdd%NDESC_USE) ; zwork(i1:i2) = bdd%XDESC_SHGC_SH(:)
188 CALL
up_desc_ind_w(bdd%NDESC_USE) ; zwork(i1:i2) = bdd%XDESC_SHADE(:)
189 CALL
up_desc_ind_w(bdd%NDESC_USE) ; zwork(i1:i2) = bdd%XDESC_NATVENT(:)
190 CALL
up_desc_ind_w(bdd%NDESC_USE) ; zwork(i1:i2) = bdd%XDESC_RESIDENTIAL(:)
192 CALL
up_desc_ind_w(bdd%NDESC_AGE) ; zwork(i1:i2) = float(bdd%NDESC_AGE_LIST(:))
193 CALL
up_desc_ind_w(bdd%NDESC_AGE) ; zwork(i1:i2) = float(bdd%NDESC_AGE_DATE(:))
195 ycomment=
'Descriptive building data'
197 hprogram,
'BLD_DESC_DAT',zwork,iresp,ycomment,
'-',
'Bld_parameters ')
200 IF (lhook) CALL dr_hook(
'WRITE_BLD_DESCRIPTION_n',1,zhook_handle)
204 INTEGER,
INTENT(IN) :: k
subroutine write_bld_description_n(DGU, U, BDD, HPROGRAM)
subroutine up_desc_ind_w(K)