SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/pgd_bem_par.F90
Go to the documentation of this file.
00001 !     ##########################################
00002       SUBROUTINE PGD_BEM_PAR(HPROGRAM,OAUTOSIZE)
00003 !     ##########################################
00004 !
00005 !!**** *PGD_BEM_PAR* monitor for averaging and interpolations of BEM input data
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 !!    G. Pigeon        Meteo-France
00027 !!
00028 !!    MODIFICATION
00029 !!    ------------
00030 !!
00031 !!    Original    08/2011
00032 !!    G. Pigeon   09/2012, NPAR_FLOOR_LAYER default to 1
00033 !!
00034 !!
00035 !----------------------------------------------------------------------------
00036 !
00037 !*    0.     DECLARATION
00038 !            -----------
00039 !
00040 USE MODD_SURF_PAR,   ONLY : XUNDEF
00041 USE MODD_TEB_GRID_n, ONLY : NDIM
00042 USE MODD_DATA_BEM_n,  ONLY : NPAR_FLOOR_LAYER_n => NPAR_FLOOR_LAYER,          &
00043                               XPAR_TCOOL_TARGET, XPAR_THEAT_TARGET,           &
00044                               XPAR_HC_FLOOR, XPAR_TC_FLOOR, XPAR_D_FLOOR,     & 
00045                               XPAR_F_WASTE_CAN, XPAR_SHADE, XPAR_NATVENT,     &
00046                               XPAR_EFF_HEAT, XPAR_QIN, XPAR_QIN_FRAD,         &
00047                               XPAR_SHGC, XPAR_U_WIN, XPAR_GR,                 &
00048                               XPAR_FLOOR_HEIGHT, XPAR_INF, XPAR_QIN_FLAT,     &
00049                               XPAR_HR_TARGET, XPAR_V_VENT, XPAR_CAP_SYS_HEAT, &
00050                               XPAR_CAP_SYS_RAT, XPAR_T_ADP, XPAR_M_SYS_RAT,   &
00051                               XPAR_COP_RAT, XPAR_T_SIZE_MAX, XPAR_T_SIZE_MIN, &
00052                               XPAR_F_WATER_COND, XPAR_SHGC_SH,                &
00053                               LDATA_HC_FLOOR, LDATA_TC_FLOOR, LDATA_D_FLOOR,  &
00054                               LDATA_TCOOL_TARGET, LDATA_THEAT_TARGET,         &
00055                               LDATA_F_WASTE_CAN, LDATA_SHADE, LDATA_NATVENT,  &
00056                               LDATA_EFF_HEAT, LDATA_QIN, LDATA_QIN_FRAD,      &
00057                               LDATA_SHGC, LDATA_U_WIN, LDATA_GR,              &
00058                               LDATA_FLOOR_HEIGHT, LDATA_INF, LDATA_QIN_FLAT,     &
00059                               LDATA_HR_TARGET, LDATA_V_VENT, LDATA_CAP_SYS_HEAT, &
00060                               LDATA_CAP_SYS_RAT, LDATA_T_ADP, LDATA_M_SYS_RAT,   &
00061                               LDATA_COP_RAT, LDATA_T_SIZE_MAX, LDATA_T_SIZE_MIN, &
00062                               LDATA_F_WATER_COND, LDATA_SHGC_SH
00063 !
00064 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00065 USE PARKIND1  ,ONLY : JPRB
00066 !
00067 USE MODI_GET_LUOUT
00068 USE MODI_OPEN_NAMELIST
00069 USE MODI_CLOSE_NAMELIST
00070 USE MODI_TEST_NAM_VAR_SURF
00071 USE MODI_INI_VAR_FROM_DATA_0D
00072 USE MODI_INI_VAR_FROM_DATA
00073 USE MODI_ABOR1_SFX
00074 !
00075 USE MODE_POS_SURF
00076 !
00077 IMPLICIT NONE
00078 !
00079 !*    0.1    Declaration of arguments
00080 !            ------------------------
00081 !
00082  CHARACTER(LEN=6), INTENT(IN) :: HPROGRAM     ! Type of program
00083 LOGICAL,          INTENT(IN) :: OAUTOSIZE    ! T for automatic determination
00084 !                                            ! of HVAC systems charcateristics
00085 !
00086 !
00087 !*    0.2    Declaration of local variables
00088 !            ------------------------------
00089 !
00090 INTEGER               :: ILUOUT    ! output listing logical unit
00091 INTEGER               :: ILUNAM    ! namelist file  logical unit
00092 LOGICAL               :: GFOUND    ! true if namelist is found
00093 INTEGER               :: JLAYER    ! loop counter on layers
00094 !
00095 !
00096 !*    0.3    Declaration of namelists
00097 !            ------------------------
00098 !
00099 ! bem options
00100 !
00101 INTEGER, PARAMETER                      :: NFLOOR_MAX  = 9
00102 INTEGER                                 :: NPAR_FLOOR_LAYER ! number of floor layers
00103 !
00104 REAL                                    :: XUNIF_SHADE    ! 
00105  CHARACTER(LEN=28)                       :: CFNAM_SHADE    ! 
00106  CHARACTER(LEN=6)                        :: CFTYP_SHADE    ! 
00107 REAL                                    :: XUNIF_NATVENT    ! 
00108  CHARACTER(LEN=28)                       :: CFNAM_NATVENT    ! 
00109  CHARACTER(LEN=6)                        :: CFTYP_NATVENT    ! 
00110 !
00111 ! Floor parameters
00112 !
00113 REAL, DIMENSION(NFLOOR_MAX)             :: XUNIF_HC_FLOOR     ! floor layers heat capacity (J/K/m3)
00114 REAL, DIMENSION(NFLOOR_MAX)             :: XUNIF_TC_FLOOR     ! floor layers thermal conduc (W/K/m)
00115 REAL, DIMENSION(NFLOOR_MAX)             :: XUNIF_D_FLOOR      ! depth of floor layers      (m)
00116 REAL                                    :: XUNIF_FLOOR_HEIGHT ! building floor height [m]
00117  CHARACTER(LEN=28), DIMENSION(NFLOOR_MAX):: CFNAM_HC_FLOOR     ! file name for HC_FLOOR   
00118  CHARACTER(LEN=28), DIMENSION(NFLOOR_MAX):: CFNAM_TC_FLOOR     ! file name for TC_FLOOR
00119  CHARACTER(LEN=28), DIMENSION(NFLOOR_MAX):: CFNAM_D_FLOOR      ! file name for D_FLOOR
00120  CHARACTER(LEN=28)                       :: CFNAM_FLOOR_HEIGHT ! file name for FLOOR_HEIGHT
00121  CHARACTER(LEN=6),  DIMENSION(NFLOOR_MAX):: CFTYP_HC_FLOOR     ! file type for HC_FLOOR   
00122  CHARACTER(LEN=6),  DIMENSION(NFLOOR_MAX):: CFTYP_TC_FLOOR     ! file type for TC_FLOOR
00123  CHARACTER(LEN=6),  DIMENSION(NFLOOR_MAX):: CFTYP_D_FLOOR      ! file type for D_FLOOR
00124  CHARACTER(LEN=6)                        :: CFTYP_FLOOR_HEIGHT ! file type for FLOOR_HEIGHT
00125 !
00126 ! AC systems parameters
00127 !
00128 REAL                                    :: XUNIF_TCOOL_TARGET  !cooling setpoint
00129 REAL                                    :: XUNIF_THEAT_TARGET  !heating setpoint
00130 REAL                                    :: XUNIF_F_WASTE_CAN  ! fraction of waste heat into the canyon
00131 REAL                                    :: XUNIF_EFF_HEAT     ! efficiency of the heating system
00132 REAL                                    :: XUNIF_HR_TARGET    ! Relative humidity setpoint
00133 REAL                                    :: XUNIF_CAP_SYS_HEAT ! Capacity of the heating system 
00134 REAL                                    :: XUNIF_CAP_SYS_RAT  ! Rated capacity of the cooling system
00135 REAL                                    :: XUNIF_T_ADP        ! Apparatus dewpoint temperature of the
00136 REAL                                    :: XUNIF_M_SYS_RAT    ! Rated HVAC mass flow rate 
00137 REAL                                    :: XUNIF_COP_RAT      ! Rated COP of the cooling system
00138 REAL                                    :: XUNIF_F_WATER_COND ! fraction of evaporation of condensers
00139  CHARACTER(LEN=28)                       :: CFNAM_TCOOL_TARGET ! file name for TCOOL_TARGET
00140  CHARACTER(LEN=28)                       :: CFNAM_THEAT_TARGET ! file name for THEAT_TARGET
00141  CHARACTER(LEN=28)                       :: CFNAM_F_WASTE_CAN  ! file name for F_WASTE_CAN
00142  CHARACTER(LEN=28)                       :: CFNAM_EFF_HEAT     ! file name for EFF_HEAT
00143  CHARACTER(LEN=28)                       :: CFNAM_HR_TARGET    ! Relative humidity setpoint
00144  CHARACTER(LEN=28)                       :: CFNAM_CAP_SYS_HEAT ! Capacity of the heating system 
00145  CHARACTER(LEN=28)                       :: CFNAM_CAP_SYS_RAT  ! Rated capacity of the cooling system
00146  CHARACTER(LEN=28)                       :: CFNAM_T_ADP        ! Apparatus dewpoint temperature of the
00147  CHARACTER(LEN=28)                       :: CFNAM_M_SYS_RAT    ! Rated HVAC mass flow rate 
00148  CHARACTER(LEN=28)                       :: CFNAM_COP_RAT      ! Rated COP of the cooling system
00149  CHARACTER(LEN=28)                       :: CFNAM_F_WATER_COND ! fraction of evaporation of condensers
00150  CHARACTER(LEN=6)                        :: CFTYP_TCOOL_TARGET ! file type for TCOOL_TARGET
00151  CHARACTER(LEN=6)                        :: CFTYP_THEAT_TARGET ! file type for THEAT_TARGET
00152  CHARACTER(LEN=6)                        :: CFTYP_F_WASTE_CAN  ! file type for F_WASTE_CAN
00153  CHARACTER(LEN=6)                        :: CFTYP_EFF_HEAT     ! file type for EFF_HEAT
00154  CHARACTER(LEN=6)                        :: CFTYP_HR_TARGET    ! Relative humidity setpoint
00155  CHARACTER(LEN=6)                        :: CFTYP_CAP_SYS_HEAT ! Capacity of the heating system 
00156  CHARACTER(LEN=6)                        :: CFTYP_CAP_SYS_RAT  ! Rated capacity of the cooling system
00157  CHARACTER(LEN=6)                        :: CFTYP_T_ADP        ! Apparatus dewpoint temperature of the
00158  CHARACTER(LEN=6)                        :: CFTYP_M_SYS_RAT    ! Rated HVAC mass flow rate 
00159  CHARACTER(LEN=6)                        :: CFTYP_COP_RAT      ! Rated COP of the cooling system
00160  CHARACTER(LEN=6)                        :: CFTYP_F_WATER_COND ! fraction of evaporation of condensers
00161 !
00162 ! Internal heat gains
00163 REAL                                    :: XUNIF_QIN          ! internal heat gains [W m-2(floor)]
00164 REAL                                    :: XUNIF_QIN_FRAD     ! radiant fraction of int heat gains
00165 REAL                                    :: XUNIF_QIN_FLAT     ! Latent franction of internal heat gains
00166  CHARACTER(LEN=28)                       :: CFNAM_QIN          ! file name for QIN
00167  CHARACTER(LEN=28)                       :: CFNAM_QIN_FRAD     ! file name for QIN_FRAD
00168  CHARACTER(LEN=28)                       :: CFNAM_QIN_FLAT     ! Latent franction of internal heat gains
00169  CHARACTER(LEN=6)                        :: CFTYP_QIN          ! file type for QIN
00170  CHARACTER(LEN=6)                        :: CFTYP_QIN_FRAD     ! file type for QIN_FRAD
00171  CHARACTER(LEN=6)                        :: CFTYP_QIN_FLAT     ! Latent franction of internal heat gains
00172 !
00173 ! window parameters
00174 REAL                                    :: XUNIF_GR           ! glazing ratio
00175 REAL                                    :: XUNIF_SHGC         ! solar transmitance of windows
00176 REAL                                    :: XUNIF_SHGC_SH      ! solar transmitance of windows + shading
00177 REAL                                    :: XUNIF_U_WIN        ! glazing thermal resistance[K m W-2]
00178  CHARACTER(LEN=28)                       :: CFNAM_GR           ! file name for GR
00179  CHARACTER(LEN=28)                       :: CFNAM_SHGC         ! file name for SHGC
00180  CHARACTER(LEN=28)                       :: CFNAM_SHGC_SH      ! file name for SHGC_SH
00181  CHARACTER(LEN=28)                       :: CFNAM_U_WIN        ! file name for U_WIN
00182  CHARACTER(LEN=6)                        :: CFTYP_GR           ! file type for GR
00183  CHARACTER(LEN=6)                        :: CFTYP_SHGC         ! file type for SHGC
00184  CHARACTER(LEN=6)                        :: CFTYP_SHGC_SH      ! file type for SHGC
00185  CHARACTER(LEN=6)                        :: CFTYP_U_WIN        ! file type for U_WIN
00186 !
00187 ! air renewal
00188 REAL                                    :: XUNIF_INF          ! infiltration/ventilation flow rate [AC/H]
00189 REAL                                    :: XUNIF_V_VENT       ! Ventilation flow rate [AC/H]
00190  CHARACTER(LEN=28)                       :: CFNAM_INF          ! file name for INF
00191  CHARACTER(LEN=28)                       :: CFNAM_V_VENT       ! Ventilation flow rate [AC/H]
00192  CHARACTER(LEN=6)                        :: CFTYP_INF          ! file type for INF
00193  CHARACTER(LEN=6)                        :: CFTYP_V_VENT       ! Ventilation flow rate [AC/H]
00194 !
00195 ! parameters for autosize calculation of the AC systems
00196 REAL                                    :: XUNIF_T_SIZE_MAX   !
00197 REAL                                    :: XUNIF_T_SIZE_MIN    !
00198  CHARACTER(LEN=28)                       :: CFNAM_T_SIZE_MAX    ! 
00199  CHARACTER(LEN=28)                       :: CFNAM_T_SIZE_MIN    ! 
00200  CHARACTER(LEN=6)                        :: CFTYP_T_SIZE_MAX    !
00201  CHARACTER(LEN=6)                        :: CFTYP_T_SIZE_MIN    !
00202 !
00203 REAL, DIMENSION(NDIM) :: ZWORK
00204 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00205 !
00206 NAMELIST/NAM_DATA_BEM/ NPAR_FLOOR_LAYER,                          &
00207                   XUNIF_HC_FLOOR, XUNIF_TC_FLOOR, XUNIF_D_FLOOR,  &
00208                   XUNIF_FLOOR_HEIGHT,                             &
00209                   XUNIF_TCOOL_TARGET, XUNIF_THEAT_TARGET,         &
00210                   XUNIF_F_WASTE_CAN, XUNIF_EFF_HEAT,              &
00211                   XUNIF_F_WATER_COND, XUNIF_HR_TARGET,            &
00212                   XUNIF_QIN, XUNIF_QIN_FRAD, XUNIF_QIN_FLAT,      &   
00213                   XUNIF_SHGC, XUNIF_U_WIN, XUNIF_GR,XUNIF_SHGC_SH,&
00214                   XUNIF_INF, XUNIF_V_VENT,                        &
00215                   XUNIF_CAP_SYS_HEAT,                             &
00216                   XUNIF_CAP_SYS_RAT, XUNIF_T_ADP, XUNIF_M_SYS_RAT,&
00217                   XUNIF_COP_RAT, XUNIF_T_SIZE_MAX,                &
00218                   XUNIF_T_SIZE_MIN,                               &
00219                   XUNIF_SHADE, CFNAM_SHADE, CFTYP_SHADE,          &
00220                   XUNIF_NATVENT, CFNAM_NATVENT, CFTYP_NATVENT,    &
00221                   CFNAM_HC_FLOOR, CFNAM_TC_FLOOR, CFNAM_D_FLOOR,  &
00222                   CFNAM_FLOOR_HEIGHT,                             &
00223                   CFNAM_TCOOL_TARGET, CFNAM_THEAT_TARGET,         &
00224                   CFNAM_F_WASTE_CAN, CFNAM_EFF_HEAT,              &
00225                   CFNAM_F_WATER_COND, CFNAM_HR_TARGET,            &
00226                   CFNAM_QIN, CFNAM_QIN_FRAD, CFNAM_QIN_FLAT,      &   
00227                   CFNAM_SHGC, CFNAM_U_WIN, CFNAM_GR,              &
00228                   CFNAM_SHGC_SH, CFNAM_INF, CFNAM_V_VENT,         &
00229                   CFNAM_CAP_SYS_HEAT,                             &
00230                   CFNAM_CAP_SYS_RAT, CFNAM_T_ADP, CFNAM_M_SYS_RAT,&
00231                   CFNAM_COP_RAT, CFNAM_T_SIZE_MAX,                &
00232                   CFNAM_T_SIZE_MIN,                               &
00233                   CFTYP_HC_FLOOR, CFTYP_TC_FLOOR, CFTYP_D_FLOOR,  &
00234                   CFTYP_FLOOR_HEIGHT,                             &
00235                   CFTYP_TCOOL_TARGET, CFTYP_THEAT_TARGET,         &
00236                   CFTYP_F_WASTE_CAN, CFTYP_EFF_HEAT,              &
00237                   CFTYP_F_WATER_COND, CFTYP_HR_TARGET,            &
00238                   CFTYP_QIN, CFTYP_QIN_FRAD, CFTYP_QIN_FLAT,      &   
00239                   CFTYP_SHGC, CFTYP_U_WIN, CFTYP_GR,              &
00240                   CFTYP_SHGC_SH, CFTYP_INF, CFTYP_V_VENT,         &
00241                   CFTYP_CAP_SYS_HEAT,                             &
00242                   CFTYP_CAP_SYS_RAT, CFTYP_T_ADP, CFTYP_M_SYS_RAT,&
00243                   CFTYP_COP_RAT, CFTYP_T_SIZE_MAX,                &
00244                   CFTYP_T_SIZE_MIN
00245 !-------------------------------------------------------------------------------
00246 IF (LHOOK) CALL DR_HOOK('PGD_BEM_PAR',0,ZHOOK_HANDLE)
00247 !
00248 !*    1.      Initializations
00249 !             ---------------
00250 !
00251 NPAR_FLOOR_LAYER = 1
00252 XUNIF_SHADE   = XUNDEF
00253 XUNIF_NATVENT = XUNDEF
00254 XUNIF_HC_FLOOR     = XUNDEF
00255 XUNIF_TC_FLOOR     = XUNDEF
00256 XUNIF_D_FLOOR      = XUNDEF
00257 XUNIF_TCOOL_TARGET = XUNDEF
00258 XUNIF_THEAT_TARGET = XUNDEF
00259 XUNIF_F_WASTE_CAN  = XUNDEF
00260 XUNIF_EFF_HEAT     = XUNDEF
00261 XUNIF_QIN          = XUNDEF
00262 XUNIF_QIN_FRAD     = XUNDEF
00263 XUNIF_SHGC         = XUNDEF
00264 XUNIF_U_WIN        = XUNDEF
00265 XUNIF_GR           = XUNDEF
00266 XUNIF_SHGC_SH      = XUNDEF
00267 XUNIF_FLOOR_HEIGHT = XUNDEF
00268 XUNIF_INF          = XUNDEF
00269 XUNIF_F_WATER_COND = XUNDEF
00270 XUNIF_QIN_FLAT     = XUNDEF
00271 XUNIF_HR_TARGET    = XUNDEF
00272 XUNIF_V_VENT       = XUNDEF
00273 XUNIF_CAP_SYS_HEAT = XUNDEF
00274 XUNIF_CAP_SYS_RAT  = XUNDEF
00275 XUNIF_T_ADP        = XUNDEF
00276 XUNIF_M_SYS_RAT    = XUNDEF
00277 XUNIF_COP_RAT      = XUNDEF
00278 XUNIF_T_SIZE_MAX   = XUNDEF
00279 XUNIF_T_SIZE_MIN   = XUNDEF
00280 !
00281 CFNAM_SHADE        = '                            '
00282 CFNAM_NATVENT      = '                            '
00283 CFNAM_HC_FLOOR (:) = '                            '
00284 CFNAM_TC_FLOOR (:) = '                            '
00285 CFNAM_D_FLOOR  (:) = '                            '
00286 CFNAM_TCOOL_TARGET = '                            '
00287 CFNAM_THEAT_TARGET = '                            '
00288 CFNAM_F_WASTE_CAN  = '                            '
00289 CFNAM_EFF_HEAT     = '                            '
00290 CFNAM_QIN          = '                            '
00291 CFNAM_QIN_FRAD     = '                            '
00292 CFNAM_SHGC         = '                            '
00293 CFNAM_U_WIN        = '                            '
00294 CFNAM_GR           = '                            '
00295 CFNAM_SHGC_SH      = '                            '
00296 CFNAM_FLOOR_HEIGHT = '                            '
00297 CFNAM_INF          = '                            '
00298 CFNAM_F_WATER_COND = '                            '
00299 CFNAM_QIN_FLAT     = '                            '
00300 CFNAM_HR_TARGET    = '                            '
00301 CFNAM_V_VENT       = '                            '
00302 CFNAM_CAP_SYS_HEAT = '                            '
00303 CFNAM_CAP_SYS_RAT  = '                            '
00304 CFNAM_T_ADP        = '                            '
00305 CFNAM_M_SYS_RAT    = '                            '
00306 CFNAM_COP_RAT      = '                            '
00307 CFNAM_T_SIZE_MAX   = '                            '
00308 CFNAM_T_SIZE_MIN   = '                            '
00309 !
00310 CFTYP_SHADE        = '      '
00311 CFTYP_NATVENT      = '      '
00312 CFTYP_HC_FLOOR(:)  = '      '
00313 CFTYP_TC_FLOOR(:)  = '      '
00314 CFTYP_D_FLOOR(:)   = '      '
00315 CFTYP_TCOOL_TARGET = '      '
00316 CFTYP_THEAT_TARGET = '      '
00317 CFTYP_F_WASTE_CAN  = '      '
00318 CFTYP_EFF_HEAT     = '      '
00319 CFTYP_QIN          = '      '
00320 CFTYP_QIN_FRAD     = '      '
00321 CFTYP_SHGC         = '      '
00322 CFTYP_U_WIN        = '      '
00323 CFTYP_GR           = '      '
00324 CFTYP_SHGC_SH      = '      '
00325 CFTYP_FLOOR_HEIGHT = '      '
00326 CFTYP_INF          = '      '
00327 CFTYP_F_WATER_COND = '      '
00328 CFTYP_QIN_FLAT     = '      '
00329 CFTYP_HR_TARGET    = '      '
00330 CFTYP_V_VENT       = '      '
00331 CFTYP_CAP_SYS_HEAT = '      '
00332 CFTYP_CAP_SYS_RAT  = '      '
00333 CFTYP_T_ADP        = '      '
00334 CFTYP_M_SYS_RAT    = '      '
00335 CFTYP_COP_RAT      = '      '
00336 CFTYP_T_SIZE_MAX   = '      '
00337 CFTYP_T_SIZE_MIN   = '      '
00338 !
00339 !-------------------------------------------------------------------------------
00340 !
00341 !*    2.      Input file for cover types
00342 !             --------------------------
00343 !
00344  CALL GET_LUOUT(HPROGRAM,ILUOUT)
00345  CALL OPEN_NAMELIST(HPROGRAM,ILUNAM)
00346 !
00347  CALL POSNAM(ILUNAM,'NAM_DATA_BEM',GFOUND,ILUOUT)
00348 IF (GFOUND) READ(UNIT=ILUNAM,NML=NAM_DATA_BEM)
00349 !
00350  CALL CLOSE_NAMELIST(HPROGRAM,ILUNAM)
00351 !
00352 !-------------------------------------------------------------------------------
00353 !
00354 NPAR_FLOOR_LAYER_n = NPAR_FLOOR_LAYER
00355 !
00356 !-------------------------------------------------------------------------------
00357 !
00358 !* coherence check
00359 !
00360 IF ((     ANY(XUNIF_HC_FLOOR/=XUNDEF) .OR. ANY(LEN_TRIM(CFNAM_HC_FLOOR)>0) &
00361      .OR. ANY(XUNIF_TC_FLOOR/=XUNDEF) .OR. ANY(LEN_TRIM(CFNAM_TC_FLOOR)>0) &
00362      .OR. ANY(XUNIF_D_FLOOR /=XUNDEF) .OR. ANY(LEN_TRIM(CFNAM_D_FLOOR )>0) &
00363     ) .AND. NPAR_FLOOR_LAYER<1                                  ) THEN
00364   CALL ABOR1_SFX('In order to initialize FLOOR thermal quantities, please specify NPAR_FLOOR_LAYER in namelist NAM_DATA_BEM')
00365 END IF
00366 !
00367 !-------------------------------------------------------------------------------
00368 !
00369 ALLOCATE(XPAR_HC_FLOOR    (NDIM,NPAR_FLOOR_LAYER))
00370 ALLOCATE(XPAR_TC_FLOOR    (NDIM,NPAR_FLOOR_LAYER))
00371 ALLOCATE(XPAR_D_FLOOR     (NDIM,NPAR_FLOOR_LAYER))
00372 !
00373 ALLOCATE(XPAR_TCOOL_TARGET  (NDIM))
00374 ALLOCATE(XPAR_THEAT_TARGET  (NDIM))
00375 ALLOCATE(XPAR_F_WASTE_CAN   (NDIM))
00376 ALLOCATE(XPAR_EFF_HEAT      (NDIM))
00377 ALLOCATE(XPAR_QIN           (NDIM))
00378 ALLOCATE(XPAR_QIN_FRAD      (NDIM))
00379 ALLOCATE(XPAR_SHGC          (NDIM))
00380 ALLOCATE(XPAR_U_WIN         (NDIM))
00381 ALLOCATE(XPAR_GR            (NDIM))
00382 ALLOCATE(XPAR_SHGC_SH       (NDIM))
00383 ALLOCATE(XPAR_FLOOR_HEIGHT  (NDIM))
00384 ALLOCATE(XPAR_INF           (NDIM))
00385 !
00386 ALLOCATE(XPAR_F_WATER_COND (NDIM))
00387 ALLOCATE(XPAR_QIN_FLAT     (NDIM))
00388 ALLOCATE(XPAR_HR_TARGET    (NDIM))
00389 ALLOCATE(XPAR_V_VENT       (NDIM))
00390 ALLOCATE(XPAR_CAP_SYS_HEAT (NDIM))
00391 ALLOCATE(XPAR_CAP_SYS_RAT  (NDIM))
00392 ALLOCATE(XPAR_T_ADP        (NDIM))
00393 ALLOCATE(XPAR_M_SYS_RAT    (NDIM))
00394 ALLOCATE(XPAR_COP_RAT      (NDIM))
00395 ALLOCATE(XPAR_T_SIZE_MAX   (NDIM))
00396 ALLOCATE(XPAR_T_SIZE_MIN   (NDIM))
00397 !
00398 ALLOCATE(XPAR_SHADE        (NDIM))
00399 ALLOCATE(XPAR_NATVENT      (NDIM))
00400 !
00401 !-------------------------------------------------------------------------------
00402 IF (NFLOOR_MAX < NPAR_FLOOR_LAYER) THEN
00403   WRITE(ILUOUT,*) '---------------------------------------------'
00404   WRITE(ILUOUT,*) 'Please update pgd_bem_par.F90 routine :      '
00405   WRITE(ILUOUT,*) 'The maximum number of FLOOR LAYER             '
00406   WRITE(ILUOUT,*) 'in the declaration of the namelist variables '
00407   WRITE(ILUOUT,*) 'must be increased to : ', NPAR_FLOOR_LAYER
00408   WRITE(ILUOUT,*) '---------------------------------------------'
00409   CALL ABOR1_SFX('PGD_BEM_PAR: MAXIMUM NUMBER OF NPAR_FLOOR_LAYER MUST BE INCREASED')
00410 END IF
00411 !-------------------------------------------------------------------------------
00412 !
00413 !*    3.      user defined fields are prescribed
00414 !             ----------------------------------
00415 !
00416 !
00417  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,'MAJ','SHADE      ','TWN', CFNAM_SHADE, CFTYP_SHADE, XUNIF_SHADE, &
00418         XPAR_SHADE, LDATA_SHADE )
00419 IF (.NOT.LDATA_SHADE) DEALLOCATE(XPAR_SHADE)
00420 !
00421  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,'MAJ','NATVENT   ','TWN', CFNAM_NATVENT, CFTYP_NATVENT, XUNIF_NATVENT, &
00422         XPAR_NATVENT, LDATA_NATVENT )
00423 IF (.NOT.LDATA_NATVENT) DEALLOCATE(XPAR_NATVENT)
00424 !
00425  CALL INI_VAR_FROM_DATA(HPROGRAM,'INV','HC_FLOOR  ','TWN',CFNAM_HC_FLOOR,CFTYP_HC_FLOOR, &
00426         XUNIF_HC_FLOOR,XPAR_HC_FLOOR,LDATA_HC_FLOOR )
00427 IF (.NOT.LDATA_HC_FLOOR) DEALLOCATE(XPAR_HC_FLOOR)
00428 !
00429  CALL INI_VAR_FROM_DATA(HPROGRAM,'ARI','TC_FLOOR  ','TWN',CFNAM_TC_FLOOR,CFTYP_TC_FLOOR, &
00430                  XUNIF_TC_FLOOR ,XPAR_TC_FLOOR, LDATA_TC_FLOOR )
00431 IF (.NOT.LDATA_TC_FLOOR) DEALLOCATE(XPAR_TC_FLOOR)
00432 !
00433  CALL INI_VAR_FROM_DATA(HPROGRAM,'ARI','D_FLOOR   ','TWN',CFNAM_D_FLOOR,CFTYP_D_FLOOR, &
00434                  XUNIF_D_FLOOR  ,XPAR_D_FLOOR , LDATA_D_FLOOR )
00435 IF (.NOT.LDATA_D_FLOOR) DEALLOCATE(XPAR_D_FLOOR)
00436 !
00437  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,'ARI','TCOOL_TARGET','TWN',CFNAM_TCOOL_TARGET, CFTYP_TCOOL_TARGET, XUNIF_TCOOL_TARGET, &
00438         XPAR_TCOOL_TARGET, LDATA_TCOOL_TARGET)
00439 IF (.NOT.LDATA_TCOOL_TARGET) DEALLOCATE(XPAR_TCOOL_TARGET)
00440 !
00441  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,'ARI','THEAT_TARGET','TWN',CFNAM_THEAT_TARGET, CFTYP_THEAT_TARGET, XUNIF_THEAT_TARGET, &
00442         XPAR_THEAT_TARGET, LDATA_THEAT_TARGET)
00443 IF (.NOT.LDATA_THEAT_TARGET) DEALLOCATE(XPAR_THEAT_TARGET)
00444 !
00445  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,'ARI','F_WASTE_CAN','TWN',CFNAM_F_WASTE_CAN, CFTYP_F_WASTE_CAN, XUNIF_F_WASTE_CAN, &
00446         XPAR_F_WASTE_CAN, LDATA_F_WASTE_CAN)
00447 IF (.NOT.LDATA_F_WASTE_CAN) DEALLOCATE(XPAR_F_WASTE_CAN)
00448 !
00449  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,'ARI','EFF_HEAT','TWN',CFNAM_EFF_HEAT, CFTYP_EFF_HEAT, XUNIF_EFF_HEAT, &
00450         XPAR_EFF_HEAT, LDATA_EFF_HEAT)
00451 IF (.NOT.LDATA_EFF_HEAT) DEALLOCATE(XPAR_EFF_HEAT)
00452 !
00453  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,'ARI','QIN','TWN',CFNAM_QIN, CFTYP_QIN, XUNIF_QIN, XPAR_QIN, LDATA_QIN)
00454 IF (.NOT.LDATA_QIN) DEALLOCATE(XPAR_QIN)
00455 !
00456  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,'ARI','QIN_FRAD','TWN',CFNAM_QIN_FRAD, CFTYP_QIN_FRAD, XUNIF_QIN_FRAD, &
00457         XPAR_QIN_FRAD, LDATA_QIN_FRAD)
00458 IF (.NOT.LDATA_QIN_FRAD) DEALLOCATE(XPAR_QIN_FRAD)
00459 !
00460  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,'ARI','SHGC','TWN',CFNAM_SHGC, CFTYP_SHGC, XUNIF_SHGC, XPAR_SHGC, LDATA_SHGC)
00461 IF (.NOT.LDATA_SHGC) DEALLOCATE(XPAR_SHGC)
00462 !
00463  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,'ARI','U_WIN','TWN',CFNAM_U_WIN, CFTYP_U_WIN, XUNIF_U_WIN, XPAR_U_WIN, LDATA_U_WIN)
00464 IF (.NOT.LDATA_U_WIN) DEALLOCATE(XPAR_U_WIN)
00465 !
00466  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,'ARI','GR','TWN',CFNAM_GR, CFTYP_GR, XUNIF_GR, XPAR_GR, LDATA_GR)
00467 IF (.NOT.LDATA_GR) DEALLOCATE(XPAR_GR)
00468 !
00469  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,'ARI','SHGC_SH','TWN',CFNAM_SHGC_SH, CFTYP_SHGC_SH, XUNIF_SHGC_SH, &
00470         XPAR_SHGC_SH, LDATA_SHGC_SH)
00471 IF (.NOT.LDATA_SHGC_SH) DEALLOCATE(XPAR_SHGC_SH)
00472 !
00473  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,'ARI','FLOOR_HEIGHT','TWN',CFNAM_FLOOR_HEIGHT, CFTYP_FLOOR_HEIGHT, XUNIF_FLOOR_HEIGHT, &
00474         XPAR_FLOOR_HEIGHT, LDATA_FLOOR_HEIGHT)
00475 IF (.NOT.LDATA_FLOOR_HEIGHT) DEALLOCATE(XPAR_FLOOR_HEIGHT)
00476 !
00477  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,'ARI','INF','TWN',CFNAM_INF, CFTYP_INF, XUNIF_INF, XPAR_INF, LDATA_INF)
00478 IF (.NOT.LDATA_INF) DEALLOCATE(XPAR_INF)
00479 !
00480  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,'ARI','F_WATER_COND','TWN',CFNAM_F_WATER_COND, CFTYP_F_WATER_COND, XUNIF_F_WATER_COND, &
00481         XPAR_F_WATER_COND, LDATA_F_WATER_COND)
00482 IF (.NOT.LDATA_F_WATER_COND) DEALLOCATE(XPAR_F_WATER_COND)
00483 !
00484  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,'ARI','QIN_FLAT','TWN',CFNAM_QIN_FLAT, CFTYP_QIN_FLAT, XUNIF_QIN_FLAT, &
00485         XPAR_QIN_FLAT, LDATA_QIN_FLAT)
00486 IF (.NOT.LDATA_QIN_FLAT) DEALLOCATE(XPAR_QIN_FLAT)
00487 !
00488  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,'ARI','HR_TARGET','TWN',CFNAM_HR_TARGET, CFTYP_HR_TARGET, XUNIF_HR_TARGET, &
00489         XPAR_HR_TARGET, LDATA_HR_TARGET)
00490 IF (.NOT.LDATA_HR_TARGET) DEALLOCATE(XPAR_HR_TARGET)
00491 !
00492  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,'ARI','V_VENT','TWN',CFNAM_V_VENT, CFTYP_V_VENT, XUNIF_V_VENT, XPAR_V_VENT, LDATA_V_VENT)
00493 IF (.NOT.LDATA_V_VENT) DEALLOCATE(XPAR_V_VENT)
00494 !
00495 !
00496  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,'ARI','T_SIZE_MAX','TWN',CFNAM_T_SIZE_MAX, CFTYP_T_SIZE_MAX, XUNIF_T_SIZE_MAX, &
00497         XPAR_T_SIZE_MAX, LDATA_T_SIZE_MAX)
00498 IF (.NOT.LDATA_T_SIZE_MAX) DEALLOCATE(XPAR_T_SIZE_MAX)
00499 !
00500  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,'ARI','T_SIZE_MIN','TWN',CFNAM_T_SIZE_MIN, CFTYP_T_SIZE_MIN, XUNIF_T_SIZE_MIN, &
00501         XPAR_T_SIZE_MIN, LDATA_T_SIZE_MIN)
00502 IF (.NOT.LDATA_T_SIZE_MIN) DEALLOCATE(XPAR_T_SIZE_MIN)
00503 !
00504  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,'ARI','CAP_SYS_HEAT','TWN',CFNAM_CAP_SYS_HEAT, CFTYP_CAP_SYS_HEAT, XUNIF_CAP_SYS_HEAT, &
00505         XPAR_CAP_SYS_HEAT, LDATA_CAP_SYS_HEAT)
00506 IF (.NOT.LDATA_CAP_SYS_HEAT) DEALLOCATE(XPAR_CAP_SYS_HEAT)
00507 !
00508  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,'ARI','CAP_SYS_RAT','TWN',CFNAM_CAP_SYS_RAT, CFTYP_CAP_SYS_RAT, XUNIF_CAP_SYS_RAT, &
00509         XPAR_CAP_SYS_RAT, LDATA_CAP_SYS_RAT)
00510 IF (.NOT.LDATA_CAP_SYS_RAT) DEALLOCATE(XPAR_CAP_SYS_RAT)
00511 !
00512  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,'ARI','M_SYS_RAT','TWN',CFNAM_M_SYS_RAT, CFTYP_M_SYS_RAT, XUNIF_M_SYS_RAT, &
00513         XPAR_M_SYS_RAT, LDATA_M_SYS_RAT)
00514 IF (.NOT.LDATA_M_SYS_RAT) DEALLOCATE(XPAR_M_SYS_RAT)
00515   !
00516 IF (OAUTOSIZE) THEN
00517   IF (LDATA_CAP_SYS_HEAT .OR. LDATA_CAP_SYS_RAT .OR. LDATA_M_SYS_RAT) THEN
00518     WRITE(ILUOUT,*) '==> You choose LAUTOSIZE=T <=='
00519     WRITE(ILUOUT,*) 'Therefore HVAC systems characteristics will be computed automatically'
00520     IF (LDATA_CAP_SYS_HEAT) THEN
00521       WRITE(ILUOUT,*) 'Data you provided for CAP_SYS_HEAT are then discarded.'
00522       DEALLOCATE(XPAR_CAP_SYS_HEAT)
00523     END IF
00524     IF (LDATA_CAP_SYS_RAT ) THEN
00525       WRITE(ILUOUT,*) 'Data you provided for CAP_SYS_RAT  are then discarded.'
00526       DEALLOCATE(XPAR_CAP_SYS_RAT)
00527     END IF
00528     IF (LDATA_M_SYS_RAT   ) THEN
00529       WRITE(ILUOUT,*) 'Data you provided for M_SYS_RAT    are then discarded.'
00530       DEALLOCATE(XPAR_M_SYS_RAT)
00531     END IF
00532   END IF
00533   LDATA_CAP_SYS_HEAT = .FALSE.
00534   LDATA_CAP_SYS_RAT  = .FALSE.
00535   LDATA_M_SYS_RAT    = .FALSE.
00536 ELSE
00537   IF (LDATA_T_SIZE_MAX .OR. LDATA_T_SIZE_MAX) THEN
00538     WRITE(ILUOUT,*) '==> You choose LAUTOSIZE=F <=='
00539     WRITE(ILUOUT,*) 'Therefore HVAC systems characteristics are specified'
00540     WRITE(ILUOUT,*) 'and you do not need the minimal and maximum temperatures'
00541     WRITE(ILUOUT,*) 'that would be used if you have chosen an automatic calibration.'
00542     IF (LDATA_T_SIZE_MAX) THEN
00543       WRITE(ILUOUT,*) 'Data you provided for T_SIZE_MAX are then discarded.'
00544       DEALLOCATE(XPAR_T_SIZE_MAX)
00545     END IF
00546     IF (LDATA_T_SIZE_MIN) THEN
00547       WRITE(ILUOUT,*) 'Data you provided for T_SIZE_MIN are then discarded.'
00548       DEALLOCATE(XPAR_T_SIZE_MIN)
00549     END IF
00550   END IF
00551   LDATA_T_SIZE_MAX = .FALSE.
00552   LDATA_T_SIZE_MIN = .FALSE.
00553 END IF
00554 !
00555  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,'ARI','T_ADP','TWN',CFNAM_T_ADP, CFTYP_T_ADP, XUNIF_T_ADP, XPAR_T_ADP, LDATA_T_ADP)
00556 IF (.NOT.LDATA_T_ADP) DEALLOCATE(XPAR_T_ADP)
00557 !
00558  CALL INI_VAR_FROM_DATA_0D(HPROGRAM,'ARI','COP_RAT','TWN',CFNAM_COP_RAT, CFTYP_COP_RAT, XUNIF_COP_RAT, &
00559         XPAR_COP_RAT, LDATA_COP_RAT)
00560 IF (.NOT.LDATA_COP_RAT) DEALLOCATE(XPAR_COP_RAT)
00561 
00562 !-------------------------------------------------------------------------------
00563 !
00564 !* coherence checks
00565 !
00566  CALL COHERENCE_THERMAL_DATA_FL('FLOOR',LDATA_HC_FLOOR,LDATA_TC_FLOOR,LDATA_D_FLOOR)
00567 !
00568 !-------------------------------------------------------------------------------
00569 IF (LHOOK) CALL DR_HOOK('PGD_BEM_PAR',1,ZHOOK_HANDLE)
00570 !-------------------------------------------------------------------------------
00571 CONTAINS
00572 SUBROUTINE COHERENCE_THERMAL_DATA_FL(HTYPE,ODATA_HC,ODATA_TC,ODATA_D)
00573  CHARACTER(LEN=5), INTENT(IN) :: HTYPE
00574 LOGICAL,          INTENT(IN) :: ODATA_HC
00575 LOGICAL,          INTENT(IN) :: ODATA_TC
00576 LOGICAL,          INTENT(IN) :: ODATA_D
00577 !
00578 IF (ODATA_HC .OR. ODATA_TC .OR. ODATA_D) THEN
00579   IF (.NOT. (ODATA_HC .AND. ODATA_TC .AND. ODATA_D)) THEN
00580     WRITE(ILUOUT,*) '*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*'
00581     WRITE(ILUOUT,*) 'When specifying data for thermal ',TRIM(HTYPE),' characteristics,'
00582     WRITE(ILUOUT,*) 'All three parameters MUST be defined:'
00583     WRITE(ILUOUT,*) 'Heat capacity, Thermal conductivity and depths of layers'
00584     WRITE(ILUOUT,*) ' '
00585     WRITE(ILUOUT,*) 'In your case :'
00586     IF (ODATA_HC) THEN
00587       WRITE(ILUOUT,*) 'Heat capacity is defined'
00588     ELSE
00589       WRITE(ILUOUT,*) 'Heat capacity is NOT defined'
00590     END IF
00591     IF (ODATA_TC) THEN
00592       WRITE(ILUOUT,*) 'Thermal conductivity is defined'
00593     ELSE
00594       WRITE(ILUOUT,*) 'Thermal conductivity is NOT defined'
00595     END IF
00596     IF (ODATA_D) THEN
00597       WRITE(ILUOUT,*) 'Depths of layers are defined'
00598     ELSE
00599       WRITE(ILUOUT,*) 'Depths of layers are NOT defined'
00600     END IF
00601     WRITE(ILUOUT,*) '*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*'
00602     CALL ABOR1_SFX('Heat capacity, Thermal conductivity and depths of layers MUST all be defined for '//HTYPE)
00603   END IF
00604 END IF
00605 END SUBROUTINE COHERENCE_THERMAL_DATA_FL
00606 !-------------------------------------------------------------------------------
00607 !
00608 !-------------------------------------------------------------------------------
00609 !
00610 END SUBROUTINE PGD_BEM_PAR