Changeset 4267 for palm/trunk
- Timestamp:
- Oct 16, 2019 6:58:49 PM (5 years ago)
- Location:
- palm/trunk/SOURCE
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/indoor_model_mod.f90
r4246 r4267 26 26 ! ----------------- 27 27 ! $Id$ 28 ! Bugfix in initialization, some indices to access building_pars where wrong. 29 ! Introduction of seasonal parameters. 30 ! 31 ! 4246 2019-09-30 09:27:52Z pavelkrc 28 32 ! 29 33 ! … … 121 125 USE netcdf_data_input_mod, & 122 126 ONLY: building_id_f, building_type_f 127 128 USE palm_date_time_mod, & 129 ONLY: get_date_time, northward_equinox, seconds_per_hour, & 130 southward_equinox 123 131 124 132 USE surface_mod, & … … 273 281 REAL(wp), PARAMETER :: params_solar_protection = 300.0_wp !< [W/m2] chap. G.5.3.1 sun protection closed, if the radiation 274 282 !< on facade exceeds this value 275 276 283 ! 284 !-- Definition of seasonal parameters, summer and winter, for different building types 285 REAL(wp), DIMENSION(0:1,1:7) :: summer_pars = RESHAPE( (/ & ! building_type 1 286 0.5_wp, & ! basical airflow without occupancy of the room 287 2.0_wp, & ! additional airflow depend of occupancy of the room 288 0.5_wp, & ! building_type 2: basical airflow without occupancy of the room 289 2.0_wp, & ! additional airflow depend of occupancy of the room 290 0.8_wp, & ! building_type 3: basical airflow without occupancy of the room 291 2.0_wp, & ! additional airflow depend of occupancy of the room 292 0.1_wp, & ! building_type 4: basical airflow without occupancy of the room 293 1.5_wp, & ! additional airflow depend of occupancy of the room 294 0.1_wp, & ! building_type 5: basical airflow without occupancy of the room 295 1.5_wp, & ! additional airflow depend of occupancy of the room 296 0.1_wp, & ! building_type 6: basical airflow without occupancy of the room 297 1.5_wp, & ! additional airflow depend of occupancy of the room 298 0.1_wp, & ! building_type 7: basical airflow without occupancy of the room 299 1.5_wp & ! additional airflow depend of occupancy of the room 300 /), (/ 2, 7 /) ) 301 302 REAL(wp), DIMENSION(0:1,1:7) :: winter_pars = RESHAPE( (/ & ! building_type 1 303 0.1_wp, & ! basical airflow without occupancy of the room 304 0.5_wp, & ! additional airflow depend of occupancy of the room 305 0.1_wp, & ! building_type 2: basical airflow without occupancy of the room 306 0.5_wp, & ! additional airflow depend of occupancy of the room 307 0.1_wp, & ! building_type 3: basical airflow without occupancy of the room 308 0.5_wp, & ! additional airflow depend of occupancy of the room 309 0.1_wp, & ! building_type 4: basical airflow without occupancy of the room 310 1.5_wp, & ! additional airflow depend of occupancy of the room 311 0.1_wp, & ! building_type 5: basical airflow without occupancy of the room 312 1.5_wp, & ! additional airflow depend of occupancy of the room 313 0.1_wp, & ! building_type 6: basical airflow without occupancy of the room 314 1.5_wp, & ! additional airflow depend of occupancy of the room 315 0.1_wp, & ! building_type 7: basical airflow without occupancy of the room 316 1.5_wp & ! additional airflow depend of occupancy of the room 317 /), (/ 2, 7 /) ) 318 277 319 SAVE 278 320 … … 424 466 425 467 USE control_parameters, & 426 ONLY: message_string 468 ONLY: message_string, time_since_reference_point 427 469 428 470 USE indices, & … … 442 484 IMPLICIT NONE 443 485 444 INTEGER(iwp) :: bt !< local building type 445 INTEGER(iwp) :: i !< running index along x-direction 446 INTEGER(iwp) :: j !< running index along y-direction 447 INTEGER(iwp) :: k !< running index along z-direction 448 INTEGER(iwp) :: l !< running index for surface-element orientation 449 INTEGER(iwp) :: m !< running index surface elements 450 INTEGER(iwp) :: n !< building index 451 INTEGER(iwp) :: nb !< building index 486 INTEGER(iwp) :: bt !< local building type 487 INTEGER(iwp) :: day_of_year !< day of the year 488 INTEGER(iwp) :: i !< running index along x-direction 489 INTEGER(iwp) :: j !< running index along y-direction 490 INTEGER(iwp) :: k !< running index along z-direction 491 INTEGER(iwp) :: l !< running index for surface-element orientation 492 INTEGER(iwp) :: m !< running index surface elements 493 INTEGER(iwp) :: n !< building index 494 INTEGER(iwp) :: nb !< building index 452 495 453 496 INTEGER(iwp), DIMENSION(:), ALLOCATABLE :: build_ids !< building IDs on entire model domain … … 927 970 !-- In a second step initialize with building tpyes from static input file, 928 971 !-- where building types can be individual for each building. 929 buildings(:)%lambda_layer3 = building_pars( 63,building_type)930 buildings(:)%s_layer3 = building_pars( 57,building_type)972 buildings(:)%lambda_layer3 = building_pars(31,building_type) 973 buildings(:)%s_layer3 = building_pars(44,building_type) 931 974 buildings(:)%f_c_win = building_pars(119,building_type) 932 975 buildings(:)%g_value_win = building_pars(120,building_type) 933 buildings(:)%u_value_win = building_pars(121,building_type) 934 buildings(:)%air_change_low = building_pars(122,building_type) 935 buildings(:)%air_change_high = building_pars(123,building_type) 976 buildings(:)%u_value_win = building_pars(121,building_type) 936 977 buildings(:)%eta_ve = building_pars(124,building_type) 937 978 buildings(:)%factor_a = building_pars(125,building_type) 938 979 buildings(:)%factor_c = building_pars(126,building_type) 939 980 buildings(:)%lambda_at = building_pars(127,building_type) 940 buildings(:)%theta_int_h_set = building_pars(1 18,building_type)941 buildings(:)%theta_int_c_set = building_pars(1 17,building_type)981 buildings(:)%theta_int_h_set = building_pars(13,building_type) 982 buildings(:)%theta_int_c_set = building_pars(12,building_type) 942 983 buildings(:)%q_h_max = building_pars(128,building_type) 943 984 buildings(:)%q_c_max = building_pars(129,building_type) … … 948 989 buildings(:)%params_waste_heat_h = building_pars(134,building_type) 949 990 buildings(:)%params_waste_heat_c = building_pars(135,building_type) 991 ! 992 !-- Initialize seasonal dependent parameters, depending on day of the year. 993 !-- First, calculated day of the year. 994 CALL get_date_time( time_since_reference_point, day_of_year = day_of_year ) 995 ! 996 !-- Summer is defined in between northward- and southward equinox. 997 IF ( day_of_year >= northward_equinox .AND. & 998 day_of_year <= southward_equinox ) THEN 999 buildings(:)%air_change_low = summer_pars(0,building_type) 1000 buildings(:)%air_change_high = summer_pars(1,building_type) 1001 ELSE 1002 buildings(:)%air_change_low = winter_pars(0,building_type) 1003 buildings(:)%air_change_high = winter_pars(1,building_type) 1004 ENDIF 950 1005 ! 951 1006 !-- Initialize ventilaation load. Please note, building types > 7 are actually … … 979 1034 bt = building_type_f%var(j,i) 980 1035 981 buildings(nb)%lambda_layer3 = building_pars( 63,bt)982 buildings(nb)%s_layer3 = building_pars( 57,bt)1036 buildings(nb)%lambda_layer3 = building_pars(31,bt) 1037 buildings(nb)%s_layer3 = building_pars(44,bt) 983 1038 buildings(nb)%f_c_win = building_pars(119,bt) 984 1039 buildings(nb)%g_value_win = building_pars(120,bt) 985 1040 buildings(nb)%u_value_win = building_pars(121,bt) 986 buildings(nb)%air_change_low = building_pars(122,bt)987 buildings(nb)%air_change_high = building_pars(123,bt)988 1041 buildings(nb)%eta_ve = building_pars(124,bt) 989 1042 buildings(nb)%factor_a = building_pars(125,bt) 990 1043 buildings(nb)%factor_c = building_pars(126,bt) 991 1044 buildings(nb)%lambda_at = building_pars(127,bt) 992 buildings(nb)%theta_int_h_set = building_pars(1 18,bt)993 buildings(nb)%theta_int_c_set = building_pars(1 17,bt)1045 buildings(nb)%theta_int_h_set = building_pars(13,bt) 1046 buildings(nb)%theta_int_c_set = building_pars(12,bt) 994 1047 buildings(nb)%q_h_max = building_pars(128,bt) 995 1048 buildings(nb)%q_c_max = building_pars(129,bt) … … 1000 1053 buildings(nb)%params_waste_heat_h = building_pars(134,bt) 1001 1054 buildings(nb)%params_waste_heat_c = building_pars(135,bt) 1055 1056 IF ( day_of_year >= northward_equinox .AND. & 1057 day_of_year <= southward_equinox ) THEN 1058 buildings(nb)%air_change_low = summer_pars(0,bt) 1059 buildings(nb)%air_change_high = summer_pars(1,bt) 1060 ELSE 1061 buildings(nb)%air_change_low = winter_pars(0,bt) 1062 buildings(nb)%air_change_high = winter_pars(1,bt) 1063 ENDIF 1064 1002 1065 ! 1003 1066 !-- Initialize ventilaation load. Please note, building types > 7 … … 1039 1102 du_tmp = 1.0_wp / u_tmp 1040 1103 1041 buildings(nb)%h_es = ( du_tmp / ( du_tmp - ( 1.0_wp / h_is ) ) ) * &1042 u_tmp 1104 buildings(nb)%h_es = 1.0_wp / ( du_tmp - ( 1.0_wp / h_is ) ) 1105 1043 1106 ENDIF 1044 1107 ENDDO … … 1078 1141 USE grid_variables, & 1079 1142 ONLY: dx, dy 1080 1081 USE palm_date_time_mod, &1082 ONLY: get_date_time, seconds_per_hour1083 1143 1084 1144 USE pegrid … … 1124 1184 !-- Residental Building, panel WBS 70 1125 1185 IF ( buildings(nb)%ventilation_int_loads == 1 ) THEN 1126 IF ( time_utc_hour >= 6.0_wp .AND. time_utc_hour <= 8.0_wp ) THEN 1186 IF ( time_utc_hour >= 8.0_wp .AND. time_utc_hour <= 18.0_wp ) THEN 1187 schedule_d = 0 1188 ELSE 1127 1189 schedule_d = 1 1128 ELSEIF ( time_utc_hour >= 18.0_wp .AND. time_utc_hour <= 23.0_wp ) THEN1129 schedule_d = 11130 ELSE1131 schedule_d = 01132 1190 ENDIF 1133 1191 ENDIF -
palm/trunk/SOURCE/palm_date_time_mod.f90
r4227 r4267 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Add days of northward- and southward equinox 28 ! 29 ! 4227 2019-09-10 18:04:34Z gronemeier 27 30 ! Complete rework of module date_and_time_mod: 28 31 ! - renamed module to prevent confusion with … … 64 67 INTEGER(iwp), PARAMETER :: minutes_per_hour = 60_iwp !< minutes in an hour 65 68 INTEGER(iwp), PARAMETER :: months_per_year = 12_iwp !< months in a year 69 ! 70 !-- Definition of mean northward and southward equinox (summer and winter half year) 71 !-- in days of year. For simplicity, March 21 and September 21 is assumed. 72 INTEGER(iwp), PARAMETER :: northward_equinox = 80_iwp 73 INTEGER(iwp), PARAMETER :: southward_equinox = 264_iwp 66 74 67 75 REAL(wp), PARAMETER :: seconds_per_minute = 60.0_wp !< seconds in a minute … … 146 154 minutes_per_hour, & 147 155 months_per_year, & 156 northward_equinox, & 148 157 seconds_per_minute, & 149 158 seconds_per_hour, & 150 159 seconds_per_day, & 160 southward_equinox, & 151 161 weekdays 152 162 -
palm/trunk/SOURCE/urban_surface_mod.f90
r4259 r4267 28 28 ! ----------------- 29 29 ! $Id$ 30 ! Revision of some indoor-model parameters 31 ! 32 ! 4259 2019-10-09 10:05:22Z suehring 30 33 ! Instead of terminate the job in case the relative wall fractions do not 31 34 ! sum-up to one, give only an informative message and normalize the fractions. … … 9176 9179 0.76_wp, & !< parameter 120 - g-value windows 9177 9180 5.0_wp, & !< parameter 121 - u-value windows 9178 0. 1_wp, & !< parameter 122 - basical airflow without occupancy of the room9179 0.5_wp, & !< parameter 123 - additional airflow depend of occupancy of the room9181 0.5_wp, & !< parameter 122 - basical airflow without occupancy of the room for - summer 0.5_wp, winter 0.1 9182 2.0_wp, & !< parameter 123 - additional airflow depend of occupancy of the room for - summer 2.0_wp, winter 0.5 9180 9183 0.0_wp, & !< parameter 124 - heat recovery efficiency 9181 9184 3.5_wp, & !< parameter 125 - dynamic parameter specific effective surface 9182 9185 370000.0_wp, & !< parameter 126 - dynamic parameter innner heatstorage 9183 9186 4.5_wp, & !< parameter 127 - ratio internal surface/floor area 9184 100 000.0_wp,& !< parameter 128 - maximal heating capacity9187 100.0_wp, & !< parameter 128 - maximal heating capacity 9185 9188 0.0_wp, & !< parameter 129 - maximal cooling capacity 9186 3.0_wp, & !< parameter 130 - additional internal heat gains dependent on occupancy of the room9187 10.0_wp,& !< parameter 131 - basic internal heat gains without occupancy of the room9189 2.0_wp, & !< parameter 130 - additional internal heat gains dependent on occupancy of the room 9190 6.0_wp, & !< parameter 131 - basic internal heat gains without occupancy of the room 9188 9191 3.0_wp, & !< parameter 132 - storey height 9189 9192 0.2_wp, & !< parameter 133 - ceiling construction height … … 9192 9195 /) 9193 9196 9194 9197 building_pars(:,2) = (/ & 9195 9198 0.73_wp, & !< parameter 0 - wall fraction above ground floor level 9196 9199 0.27_wp, & !< parameter 1 - window fraction above ground floor level … … 9315 9318 0.6_wp, & !< parameter 120 - g-value windows 9316 9319 3.0_wp, & !< parameter 121 - u-value windows 9317 0. 1_wp, & !< parameter 122 - basical airflow without occupancy of the room9318 0.5_wp, & !< parameter 123 - additional airflow depend of occupancy of the room9320 0.5_wp, & !< parameter 122 - basical airflow without occupancy of the room for - summer 0.5_wp for winter 0.1 9321 2.0_wp, & !< parameter 123 - additional airflow depend of occupancy of the room for - summer 2.0_wp for winter 0.5 9319 9322 0.0_wp, & !< parameter 124 - heat recovery efficiency 9320 9323 2.5_wp, & !< parameter 125 - dynamic parameter specific effective surface 9321 9324 165000.0_wp, & !< parameter 126 - dynamic parameter innner heatstorage 9322 9325 4.5_wp, & !< parameter 127 - ratio internal surface/floor area 9323 100 000.0_wp,& !< parameter 128 - maximal heating capacity9326 100.0_wp, & !< parameter 128 - maximal heating capacity 9324 9327 0.0_wp, & !< parameter 129 - maximal cooling capacity 9325 4.0_wp, & !< parameter 130 - additional internal heat gains dependent on occupancy of the room9326 8.0_wp, & !< parameter 131 - basic internal heat gains without occupancy of the room9328 2.0_wp, & !< parameter 130 - additional internal heat gains dependent on occupancy of the room 9329 6.0_wp, & !< parameter 131 - basic internal heat gains without occupancy of the room 9327 9330 3.0_wp, & !< parameter 132 - storey height 9328 9331 0.2_wp, & !< parameter 133 - ceiling construction height … … 9330 9333 1.333_wp & !< parameter 135 - anthropogenic heat output for cooling 9331 9334 /) 9332 9333 9335 9336 building_pars(:,3) = (/ & 9334 9337 0.7_wp, & !< parameter 0 - wall fraction above ground floor level 9335 9338 0.3_wp, & !< parameter 1 - window fraction above ground floor level … … 9451 9454 5.0_wp, & !< parameter 117 - green albedo roof 9452 9455 0.0_wp, & !< parameter 118 - green type roof 9453 0. 8_wp, & !< parameter 119 - shading factor9456 0.3_wp, & !< parameter 119 - shading factor 9454 9457 0.5_wp, & !< parameter 120 - g-value windows 9455 2.5_wp, & !< parameter 121 - u-value windows9456 0. 1_wp, & !< parameter 122 - basical airflow without occupancy of the room9457 0.5_wp, & !< parameter 123 - additional airflow depend of occupancy of the room9458 1.0_wp, & !< parameter 121 - u-value windows 9459 0.8_wp, & !< parameter 122 - basical airflow without occupancy of the room for - summer 0.8_wp, winter 0.1 9460 2.0_wp, & !< parameter 123 - additional airflow depend of occupancy of the room for - summer 2.0_wp, winter 0.5 9458 9461 0.8_wp, & !< parameter 124 - heat recovery efficiency 9459 9462 2.5_wp, & !< parameter 125 - dynamic parameter specific effective surface 9460 9463 80000.0_wp, & !< parameter 126 - dynamic parameter innner heatstorage 9461 9464 4.5_wp, & !< parameter 127 - ratio internal surface/floor area 9462 100 000.0_wp,& !< parameter 128 - maximal heating capacity9465 100.0_wp, & !< parameter 128 - maximal heating capacity 9463 9466 0.0_wp, & !< parameter 129 - maximal cooling capacity 9464 3.0_wp, & !< parameter 130 - additional internal heat gains dependent on occupancy of the room9465 8.0_wp, & !< parameter 131 - basic internal heat gains without occupancy of the room9467 2.0_wp, & !< parameter 130 - additional internal heat gains dependent on occupancy of the room 9468 6.0_wp, & !< parameter 131 - basic internal heat gains without occupancy of the room 9466 9469 3.0_wp, & !< parameter 132 - storey height 9467 9470 0.2_wp, & !< parameter 133 - ceiling construction height 9468 9471 -2.0_wp, & !< parameter 134 - anthropogenic heat output for heating 9469 9472 1.25_wp & !< parameter 135 - anthropogenic heat output for cooling 9470 /) 9473 /) 9471 9474 9472 9475 building_pars(:,4) = (/ & … … 9590 9593 5.0_wp, & !< parameter 117 - green albedo roof 9591 9594 0.0_wp, & !< parameter 118 - green type roof 9592 0. 8_wp,& !< parameter 119 - shading factor9595 0.25_wp, & !< parameter 119 - shading factor 9593 9596 0.76_wp, & !< parameter 120 - g-value windows 9594 9597 5.0_wp, & !< parameter 121 - u-value windows 9595 0.1_wp, & !< parameter 122 - basical airflow without occupancy of the room 9596 1.5_wp, & !< parameter 123 - additional airflow depend of occupancy of the room 9598 0.1_wp, & !< parameter 122 - basical airflow without occupancy of the room for - summer 0.1_wp, winter 0.1 9599 1.5_wp, & !< parameter 123 - additional airflow depend of occupancy of the room for - summer 1.5_wp, winter 1.5 9597 9600 0.0_wp, & !< parameter 124 - heat recovery efficiency 9598 9601 3.5_wp, & !< parameter 125 - dynamic parameter specific effective surface 9599 9602 370000.0_wp, & !< parameter 126 - dynamic parameter innner heatstorage 9600 9603 4.5_wp, & !< parameter 127 - ratio internal surface/floor area 9601 100 000.0_wp,& !< parameter 128 - maximal heating capacity9602 0.0_wp,& !< parameter 129 - maximal cooling capacity9604 100.0_wp, & !< parameter 128 - maximal heating capacity 9605 -200.0_wp, & !< parameter 129 - maximal cooling capacity 9603 9606 3.0_wp, & !< parameter 130 - additional internal heat gains dependent on occupancy of the room 9604 9607 10.0_wp, & !< parameter 131 - basic internal heat gains without occupancy of the room … … 9729 9732 5.0_wp, & !< parameter 117 - green albedo roof 9730 9733 0.0_wp, & !< parameter 118 - green type roof 9731 0. 8_wp,& !< parameter 119 - shading factor9734 0.25_wp, & !< parameter 119 - shading factor 9732 9735 0.6_wp, & !< parameter 120 - g-value windows 9733 9736 3.0_wp, & !< parameter 121 - u-value windows 9734 0.1_wp, & !< parameter 122 - basical airflow without occupancy of the room 9735 1.5_wp, & !< parameter 123 - additional airflow depend of occupancy of the room 9737 0.1_wp, & !< parameter 122 - basical airflow without occupancy of the room for - summer 0.1_wp, winter 0.1 9738 1.5_wp, & !< parameter 123 - additional airflow depend of occupancy of the room for - summer 1.5_wp, winter 1.5 9736 9739 0.65_wp, & !< parameter 124 - heat recovery efficiency 9737 9740 2.5_wp, & !< parameter 125 - dynamic parameter specific effective surface 9738 9741 165000.0_wp, & !< parameter 126 - dynamic parameter innner heatstorage 9739 9742 4.5_wp, & !< parameter 127 - ratio internal surface/floor area 9740 100 000.0_wp,& !< parameter 128 - maximal heating capacity9741 0.0_wp,& !< parameter 129 - maximal cooling capacity9743 100.0_wp, & !< parameter 128 - maximal heating capacity 9744 -200.0_wp, & !< parameter 129 - maximal cooling capacity 9742 9745 7.0_wp, & !< parameter 130 - additional internal heat gains dependent on occupancy of the room 9743 9746 20.0_wp, & !< parameter 131 - basic internal heat gains without occupancy of the room … … 9868 9871 5.0_wp, & !< parameter 117 - green albedo roof 9869 9872 0.0_wp, & !< parameter 118 - green type roof 9870 0. 8_wp,& !< parameter 119 - shading factor9873 0.25_wp, & !< parameter 119 - shading factor 9871 9874 0.5_wp, & !< parameter 120 - g-value windows 9872 9875 2.5_wp, & !< parameter 121 - u-value windows 9873 0.1_wp, & !< parameter 122 - basical airflow without occupancy of the room 9874 1.5_wp, & !< parameter 123 - additional airflow depend of occupancy of the room 9876 0.1_wp, & !< parameter 122 - basical airflow without occupancy of the room for - summer 0.1_wp, winter 0.1 9877 1.5_wp, & !< parameter 123 - additional airflow depend of occupancy of the room for - summer 1.5_wp, winter 1.5 9875 9878 0.9_wp, & !< parameter 124 - heat recovery efficiency 9876 9879 2.5_wp, & !< parameter 125 - dynamic parameter specific effective surface 9877 9880 80000.0_wp, & !< parameter 126 - dynamic parameter innner heatstorage 9878 9881 4.5_wp, & !< parameter 127 - ratio internal surface/floor area 9879 100 000.0_wp,& !< parameter 128 - maximal heating capacity9880 0.0_wp,& !< parameter 129 - maximal cooling capacity9882 100.0_wp, & !< parameter 128 - maximal heating capacity 9883 -80.0_wp, & !< parameter 129 - maximal cooling capacity 9881 9884 5.0_wp, & !< parameter 130 - additional internal heat gains dependent on occupancy of the room 9882 9885 15.0_wp, & !< parameter 131 - basic internal heat gains without occupancy of the room
Note: See TracChangeset
for help on using the changeset viewer.