Changeset 3464 for palm/trunk/SOURCE/biometeorology_mod.f90
 Timestamp:
 Oct 30, 2018 6:08:55 PM (3 years ago)
 File:

 1 edited
Legend:
 Unmodified
 Added
 Removed

palm/trunk/SOURCE/biometeorology_mod.f90
r3448 r3464 27 27 !  28 28 ! $Id$ 29 ! From branch resler@3462, pavelkrc: 30 ! make use of basic_constants_and_equations_mod 31 ! 32 ! 3448 20181029 18:14:31Z kanani 29 33 ! Initial revision 30 34 ! … … 60 64 61 65 USE basic_constants_and_equations_mod, & 62 ONLY: magnus66 ONLY: degc_to_k, magnus, sigma_sb 63 67 64 68 USE biometeorology_ipt_mod … … 113 117 REAL ( wp ) :: biom_output_height !< height output is calculated in m 114 118 REAL ( wp ) :: time_biom_results !< the time, the last set of biom results have been calculated for 115 REAL ( wp ), PARAMETER :: cels_offs = 273.15_wp !< KelvinCelsius offset (K)116 REAL ( wp ), PARAMETER :: sigma_sb = 5.67037321E8_wp !< StefanBoltzmann constant117 119 REAL ( wp ), PARAMETER :: human_absorb = 0.7_wp !< SW absorbtivity of a human body (Fanger 1972) 118 120 REAL ( wp ), PARAMETER :: human_emiss = 0.97_wp !< LW emissivity of a human body after (Fanger 1972) … … 313 315 biom_mrt_av(:) = biom_mrt_av(:) + & 314 316 ((human_absorb*mrtinsw(:) + human_emiss*mrtinlw(:)) & 315 / (human_emiss*sigma_sb)) ** .25_wp  cels_offs317 / (human_emiss*sigma_sb)) ** .25_wp  degc_to_k 316 318 ELSE 317 319 biom_mrt_av(:) = biom_mrt_av(:) + & 318 320 (human_emiss * mrtinlw(:) / sigma_sb) ** .25_wp & 319  cels_offs321  degc_to_k 320 322 ENDIF 321 323 ENDIF … … 1046 1048 1047 1049 ! Compute mean radiant temperature 1048 tmrt = ( nrfd / (human_emiss * sigma_sb) )**0.25_wp  cels_offs1050 tmrt = ( nrfd / (human_emiss * sigma_sb) )**0.25_wp  degc_to_k 1049 1051 1050 1052 END SUBROUTINE calculate_tmrt_6_directions … … 1122 1124 1123 1125 sw_side = sw_in * 0.125_wp ! distribute half of upper sw_in to the 4 sides 1124 lw_air = ( sigma_sb * 0.95_wp * ( ta + cels_offs)**4 )1126 lw_air = ( sigma_sb * 0.95_wp * ( ta + degc_to_k )**4 ) 1125 1127 1126 1128 ! Compute mean radiation flux density absorbed by rotational symetric human … … 1133 1135 1134 1136 ! Compute mean radiant temperature 1135 tmrt = ( nrfd / (human_emiss * sigma_sb) )**0.25_wp  cels_offs1137 tmrt = ( nrfd / (human_emiss * sigma_sb) )**0.25_wp  degc_to_k 1136 1138 1137 1139 END SUBROUTINE calculate_tmrt_2_directions … … 1221 1223 IF ( average_input ) THEN 1222 1224 ! Calculate ta from Tp assuming dry adiabatic laps rate 1223 ta = pt_av(k, j, i)  ( 0.0098_wp * dz(1) * ( k + .5_wp ) )  cels_offs1225 ta = pt_av(k, j, i)  ( 0.0098_wp * dz(1) * ( k + .5_wp ) )  degc_to_k 1224 1226 1225 1227 vp = 0.034_wp … … 1233 1235 ELSE 1234 1236 ! Calculate ta from Tp assuming dry adiabatic laps rate 1235 ta = pt(k, j, i)  ( 0.0098_wp * dz(1) * ( k + .5_wp ) )  cels_offs1237 ta = pt(k, j, i)  ( 0.0098_wp * dz(1) * ( k + .5_wp ) )  degc_to_k 1236 1238 1237 1239 vp = q(k, j, i) … … 1249 1251 ! The magnus formula is limited to temperatures up to 333.15 K to 1250 1252 ! avoid negative values of vp_sat 1251 vp_sat = 0.01_wp * magnus( MIN( ta + cels_offs, 333.15_wp ) )1253 vp_sat = 0.01_wp * magnus( MIN( ta + degc_to_k, 333.15_wp ) ) 1252 1254 vp = vp * pair / ( vp + 0.622_wp ) 1253 1255 IF ( vp > vp_sat ) vp = vp_sat
Note: See TracChangeset
for help on using the changeset viewer.