Changeset 1571 for palm/trunk
- Timestamp:
- Mar 12, 2015 4:12:49 PM (10 years ago)
- Location:
- palm/trunk/SOURCE
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/flow_statistics.f90
r1568 r1571 21 21 ! Current revisions: 22 22 ! ----------------- 23 ! 23 ! Bugfix: output of rad_net and rad_sw_in 24 24 ! 25 25 ! Former revisions: … … 1480 1480 !-- Collect radiation model timeseries 1481 1481 IF ( radiation ) THEN 1482 ts_value(dots_rad,sr) = hom(nzb,1, 99,sr) ! rad_net1483 ts_value(dots_rad+1,sr) = hom(nzb,1,10 0,sr) ! rad_sw_in1482 ts_value(dots_rad,sr) = hom(nzb,1,101,sr) ! rad_net 1483 ts_value(dots_rad+1,sr) = hom(nzb,1,102,sr) ! rad_sw_in 1484 1484 ENDIF 1485 1485 … … 3285 3285 !-- Collect radiation model timeseries 3286 3286 IF ( radiation ) THEN 3287 ts_value(dots_rad,sr) = hom(nzb,1, 99,sr) ! rad_net3288 ts_value(dots_rad+1,sr) = hom(nzb,1,10 0,sr) ! rad_sw_in3287 ts_value(dots_rad,sr) = hom(nzb,1,101,sr) ! rad_net 3288 ts_value(dots_rad+1,sr) = hom(nzb,1,102,sr) ! rad_sw_in 3289 3289 ENDIF 3290 3290 -
palm/trunk/SOURCE/land_surface_model.f90
r1556 r1571 20 20 ! Current revisions: 21 21 ! ----------------- 22 ! 22 ! Removed upper-case variable names. Corrected distribution of precipitation to 23 ! the liquid water reservoir and the bare soil fractions. 23 24 ! 24 25 ! Former revisions: … … 69 70 ! - Implement surface runoff model (required when performing long-term LES with 70 71 ! considerable precipitation 72 ! 71 73 ! Notes: 72 74 ! ------ … … 96 98 97 99 USE radiation_model_mod, & 98 ONLY: irad_scheme, rad_net, rad_sw_in, sigma_ SB100 ONLY: irad_scheme, rad_net, rad_sw_in, sigma_sb 99 101 100 102 USE statistics, & … … 934 936 e, & !: water vapour pressure 935 937 e_s, & !: water vapour saturation pressure 936 e_s_d T, & !: derivate of e_s with respect to T938 e_s_dt, & !: derivate of e_s with respect to T 937 939 tend, & !: tendency 938 dq_s_d T, & !: derivate of q_s with respect to T940 dq_s_dt, & !: derivate of q_s with respect to T 939 941 coef_1, & !: coef. for prognostic equation 940 942 coef_2, & !: coef. for prognostic equation … … 1097 1099 ! 1098 1100 !-- Calculate derivative of q_s for Taylor series expansion 1099 e_s_d T= e_s * ( 17.269_wp / (t_surface(j,i) - 35.86_wp) - &1101 e_s_dt = e_s * ( 17.269_wp / (t_surface(j,i) - 35.86_wp) - & 1100 1102 17.269_wp*(t_surface(j,i) - 273.16_wp) & 1101 1103 / (t_surface(j,i) - 35.86_wp)**2 ) 1102 1104 1103 dq_s_d T = 0.622_wp * e_s_dT/ surface_pressure1105 dq_s_dt = 0.622_wp * e_s_dt / surface_pressure 1104 1106 1105 1107 T_1 = pt_p(k+1,j,i) * exn … … 1107 1109 ! 1108 1110 !-- Add LW up so that it can be removed in prognostic equation 1109 rad_net(j,i) = rad_net(j,i) + sigma_ SB* t_surface(j,i) ** 41111 rad_net(j,i) = rad_net(j,i) + sigma_sb * t_surface(j,i) ** 4 1110 1112 1111 1113 IF ( humidity ) THEN … … 1113 1115 ! 1114 1116 !-- Numerator of the prognostic equation 1115 coef_1 = rad_net(j,i) + 3.0_wp * sigma_ SB* t_surface(j,i) ** 4&1117 coef_1 = rad_net(j,i) + 3.0_wp * sigma_sb * t_surface(j,i) ** 4& 1116 1118 + f_shf / exn * T_1 + f_qsws * ( q_p(k+1,j,i) - q_s & 1117 + dq_s_d T* t_surface(j,i) ) + lambda_surface &1119 + dq_s_dt * t_surface(j,i) ) + lambda_surface & 1118 1120 * t_soil(nzb_soil,j,i) 1119 1121 1120 1122 ! 1121 1123 !-- Denominator of the prognostic equation 1122 coef_2 = 4.0_wp * sigma_ SB* t_surface(j,i) ** 3 + f_qsws &1123 * dq_s_d T+ lambda_surface + f_shf / exn1124 coef_2 = 4.0_wp * sigma_sb * t_surface(j,i) ** 3 + f_qsws & 1125 * dq_s_dt + lambda_surface + f_shf / exn 1124 1126 1125 1127 ELSE … … 1127 1129 ! 1128 1130 !-- Numerator of the prognostic equation 1129 coef_1 = rad_net(j,i) + 3.0_wp * sigma_ SB* t_surface(j,i) ** 4&1131 coef_1 = rad_net(j,i) + 3.0_wp * sigma_sb * t_surface(j,i) ** 4& 1130 1132 + f_shf / exn * T_1 + lambda_surface & 1131 1133 * t_soil(nzb_soil,j,i) … … 1133 1135 ! 1134 1136 !-- Denominator of the prognostic equation 1135 coef_2 = 4.0_wp * sigma_ SB* t_surface(j,i) ** 3 &1137 coef_2 = 4.0_wp * sigma_sb * t_surface(j,i) ** 3 & 1136 1138 + lambda_surface + f_shf / exn 1137 1139 … … 1170 1172 ! 1171 1173 !-- Calculate fluxes 1172 rad_net(j,i) = rad_net(j,i) + 3.0_wp * sigma_ SB&1173 * t_surface(j,i)**4 - 4.0_wp * sigma_ SB&1174 rad_net(j,i) = rad_net(j,i) + 3.0_wp * sigma_sb & 1175 * t_surface(j,i)**4 - 4.0_wp * sigma_sb & 1174 1176 * t_surface(j,i)**3 * t_surface_p(j,i) 1175 1177 ghf_eb(j,i) = lambda_surface * (t_surface_p(j,i) & … … 1178 1180 1179 1181 IF ( humidity ) THEN 1180 qsws_eb(j,i) = - f_qsws * ( q_p(k+1,j,i) - q_s + dq_s_d T&1181 * t_surface(j,i) - dq_s_d T* t_surface_p(j,i) )1182 qsws_eb(j,i) = - f_qsws * ( q_p(k+1,j,i) - q_s + dq_s_dt & 1183 * t_surface(j,i) - dq_s_dt * t_surface_p(j,i) ) 1182 1184 1183 1185 qsws_veg_eb(j,i) = - f_qsws_veg * ( q_p(k+1,j,i) - q_s & 1184 + dq_s_d T * t_surface(j,i) - dq_s_dT&1186 + dq_s_dt * t_surface(j,i) - dq_s_dt & 1185 1187 * t_surface_p(j,i) ) 1186 1188 1187 1189 qsws_soil_eb(j,i) = - f_qsws_soil * ( q_p(k+1,j,i) - q_s & 1188 + dq_s_d T * t_surface(j,i) - dq_s_dT&1190 + dq_s_dt * t_surface(j,i) - dq_s_dt & 1189 1191 * t_surface_p(j,i) ) 1190 1192 1191 1193 qsws_liq_eb(j,i) = - f_qsws_liq * ( q_p(k+1,j,i) - q_s & 1192 + dq_s_d T * t_surface(j,i) - dq_s_dT&1194 + dq_s_dt * t_surface(j,i) - dq_s_dt & 1193 1195 * t_surface_p(j,i) ) 1194 1196 ENDIF … … 1199 1201 r_s(j,i) = 1.0E10_wp 1200 1202 ELSE 1201 r_s(j,i) = - rho_lv * ( q_p(k+1,j,i) - q_s + dq_s_d T&1202 * t_surface(j,i) - dq_s_d T* t_surface_p(j,i) ) &1203 r_s(j,i) = - rho_lv * ( q_p(k+1,j,i) - q_s + dq_s_dt & 1204 * t_surface(j,i) - dq_s_dt * t_surface_p(j,i) ) & 1203 1205 / qsws_eb(j,i) - r_a(j,i) 1204 1206 ENDIF … … 1209 1211 IF ( humidity ) THEN 1210 1212 ! 1211 !-- If precipitation is activated, add rain water to qsws_liq_eb. 1213 !-- If precipitation is activated, add rain water to qsws_liq_eb 1214 !-- and qsws_soil_eb according the the vegetation coverage. 1212 1215 !-- precipitation_rate is given in mm. 1213 1216 IF ( precipitation ) THEN 1214 qsws_liq_eb(j,i) = qsws_liq_eb(j,i) & 1215 + precipitation_rate(j,i) * 0.001_wp & 1216 * rho_l * l_v 1217 1218 ! 1219 !-- Add precipitation to liquid water reservoir, if possible. 1220 !-- Otherwise, add the water to bare soil fraction. 1221 IF ( m_liq_eb(j,i) .EQ. m_liq_eb_max ) THEN 1222 qsws_liq_eb(j,i) = qsws_liq_eb(j,i) & 1223 + c_veg(j,i) * precipitation_rate(j,i) & 1224 * 0.001_wp * rho_l * l_v 1225 ELSE 1226 qsws_soil_eb(j,i) = qsws_soil_eb(j,i) & 1227 + c_veg(j,i) * precipitation_rate(j,i) & 1228 * 0.001_wp * rho_l * l_v 1229 ENDIF 1230 1231 !-- Add precipitation to bare soil according to the bare soil 1232 !-- coverage. 1233 qsws_soil_eb(j,i) = qsws_soil_eb(j,i) * (1.0_wp & 1234 - c_veg(j,i)) * precipitation_rate(j,i) & 1235 * 0.001_wp * rho_l * l_v 1217 1236 ENDIF 1218 1237 ! -
palm/trunk/SOURCE/radiation_model.f90
r1552 r1571 20 20 ! Current revisions: 21 21 ! ----------------- 22 ! 22 ! Added missing KIND attribute. Removed upper-case variable names 23 23 ! 24 24 ! Former revisions: … … 68 68 LOGICAL :: radiation = .FALSE. !: flag parameter indicating wheather the radiation model is used 69 69 70 REAL(wp), PARAMETER :: SW_0 = 1368.0, &!: solar constant70 REAL(wp), PARAMETER :: sw_0 = 1368.0_wp, & !: solar constant 71 71 pi = 3.14159265358979323_wp, & 72 sigma_ SB= 5.67E-8_wp !: Stefan-Boltzmann constant72 sigma_sb = 5.67E-8_wp !: Stefan-Boltzmann constant 73 73 74 74 REAL(wp) :: albedo = 0.2_wp, & !: NAMELIST alpha … … 126 126 irad_scheme, lambda, net_radiation, rad_net, rad_net_av, radiation, & 127 127 radiation_clearsky, radiation_constant, radiation_rrtm, & 128 radiation_scheme, rad_sw_in, rad_sw_in_av, sigma_ SB, &128 radiation_scheme, rad_sw_in, rad_sw_in_av, sigma_sb, & 129 129 time_radiation, time_utc_init 130 130 … … 231 231 232 232 k = nzb_s_inner(j,i) 233 rad_sw_in(j,i) = SW_0 * sky_trans * zenith233 rad_sw_in(j,i) = sw_0 * sky_trans * zenith 234 234 rad_sw_out(j,i) = - alpha(j,i) * rad_sw_in(j,i) 235 rad_lw_out(j,i) = - sigma_ SB* (pt(k,j,i) * exn)**4236 rad_lw_in(j,i) = 0.8_wp * sigma_ SB* (pt(k+1,j,i) * exn)**4235 rad_lw_out(j,i) = - sigma_sb * (pt(k,j,i) * exn)**4 236 rad_lw_in(j,i) = 0.8_wp * sigma_sb * (pt(k+1,j,i) * exn)**4 237 237 rad_net(j,i) = rad_sw_in(j,i) + rad_sw_out(j,i) & 238 238 + rad_lw_in(j,i) + rad_lw_out(j,i)
Note: See TracChangeset
for help on using the changeset viewer.