Changeset 2547 for palm/trunk/SOURCE/radiation_model_mod.f90
- Timestamp:
- Oct 16, 2017 12:41:56 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/radiation_model_mod.f90
r2544 r2547 25 25 ! ----------------- 26 26 ! $Id$ 27 ! extended by cloud_droplets option, minor bugfix and correct calculation of 28 ! cloud droplet number concentration 29 ! 30 ! 2544 2017-10-13 18:09:32Z maronga 27 31 ! Moved date and time quantitis to separate module date_and_time_mod 28 32 ! … … 173 177 174 178 USE arrays_3d, & 175 ONLY: dzw, hyp, pt, q, ql, zu, zw179 ONLY: dzw, hyp, nc, pt, q, ql, zu, zw 176 180 177 181 USE cloud_parameters, & … … 183 187 USE control_parameters, & 184 188 ONLY: cloud_droplets, cloud_physics, g, initializing_actions, & 185 large_scale_forcing, lsf_surf, phi, pt_surface, rho_surface, & 186 surface_pressure, time_since_reference_point 189 large_scale_forcing, lsf_surf, microphysics_morrison, phi, & 190 pt_surface, rho_surface, surface_pressure, & 191 time_since_reference_point 187 192 188 193 USE date_and_time_mod, & … … 1252 1257 rad_lw_out(0,j,i) = emis(j,i) * sigma_sb * (pt(k,j,i) * exn)**4 1253 1258 1254 IF ( cloud_physics ) THEN1259 IF ( cloud_physics .OR. cloud_droplets ) THEN 1255 1260 pt1 = pt(k+1,j,i) + l_d_cp / exn1 * ql(k+1,j,i) 1256 1261 rad_lw_in(0,j,i) = 0.8_wp * sigma_sb * (pt1 * exn1)**4 … … 1303 1308 exn1 = (hyp(k+1) / 100000.0_wp )**0.286_wp 1304 1309 1305 IF ( cloud_physics ) THEN1310 IF ( cloud_physics .OR. cloud_droplets ) THEN 1306 1311 pt1 = pt(k+1,j,i) + l_d_cp / exn1 * ql(k+1,j,i) 1307 1312 rad_lw_in(0,j,i) = 0.8_wp * sigma_sb * (pt1 * exn1)**4 … … 1450 1455 INTEGER(iwp) :: i, j, k, n !< loop indices 1451 1456 1452 REAL(wp) :: s_r2, & !< weighted sum over all droplets with r^2 1453 s_r3 !< weighted sum over all droplets with r^3 1457 REAL(wp) :: nc_rad, & !< number concentration of cloud droplets 1458 s_r2, & !< weighted sum over all droplets with r^2 1459 s_r3 !< weighted sum over all droplets with r^3 1454 1460 1455 1461 ! … … 1490 1496 rrtm_h2ovmr(0,k) = mol_mass_air_d_wv * (q(k,j,i) - ql(k,j,i)) 1491 1497 ENDDO 1498 ELSEIF ( cloud_droplets ) THEN 1499 DO k = nzb+1, nzt+1 1500 rrtm_tlay(0,k) = pt(k,j,i) * ( (hyp(k) ) / 100000.0_wp & 1501 )**0.286_wp + l_d_cp * ql(k,j,i) 1502 rrtm_h2ovmr(0,k) = mol_mass_air_d_wv * q(k,j,i) 1503 ENDDO 1492 1504 ELSE 1493 1505 DO k = nzb+1, nzt+1 … … 1531 1543 rrtm_icld = 0 1532 1544 1533 IF ( cloud_physics ) THEN1545 IF ( cloud_physics .OR. cloud_droplets ) THEN 1534 1546 DO k = nzb+1, nzt+1 1535 1547 rrtm_cliqwp(0,k) = ql(k,j,i) * 1000.0_wp * & … … 1544 1556 !-- Calculate cloud droplet effective radius 1545 1557 IF ( cloud_physics ) THEN 1558 nc_rad = MERGE( nc(k,j,i), nc_const, microphysics_morrison ) 1546 1559 rrtm_reliq(0,k) = 1.0E6_wp * ( 3.0_wp * ql(k,j,i) & 1547 1560 * rho_surface & 1548 / ( 4.0_wp * pi * nc_ const* rho_l )&1561 / ( 4.0_wp * pi * nc_rad * rho_l )& 1549 1562 )**0.33333333333333_wp & 1550 1563 * EXP( LOG( sigma_gc )**2 )
Note: See TracChangeset
for help on using the changeset viewer.