Ignore:
Timestamp:
Oct 16, 2017 12:41:56 PM (7 years ago)
Author:
schwenkel
Message:

extended by cloud_droplets option

File:
1 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SOURCE/radiation_model_mod.f90

    r2544 r2547  
    2525! -----------------
    2626! $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
    2731! Moved date and time quantitis to separate module date_and_time_mod
    2832!
     
    173177 
    174178    USE arrays_3d,                                                             &
    175         ONLY:  dzw, hyp, pt, q, ql, zu, zw
     179        ONLY:  dzw, hyp, nc, pt, q, ql, zu, zw
    176180
    177181    USE cloud_parameters,                                                      &
     
    183187    USE control_parameters,                                                    &
    184188        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
    187192
    188193    USE date_and_time_mod,                                                     &
     
    12521257             rad_lw_out(0,j,i) = emis(j,i) * sigma_sb * (pt(k,j,i) * exn)**4
    12531258
    1254              IF ( cloud_physics )  THEN
     1259             IF ( cloud_physics  .OR.  cloud_droplets )  THEN
    12551260                pt1 = pt(k+1,j,i) + l_d_cp / exn1 * ql(k+1,j,i)
    12561261                rad_lw_in(0,j,i)  = 0.8_wp * sigma_sb * (pt1 * exn1)**4
     
    13031308             exn1 = (hyp(k+1) / 100000.0_wp )**0.286_wp
    13041309
    1305              IF ( cloud_physics )  THEN
     1310             IF ( cloud_physics  .OR.  cloud_droplets )  THEN
    13061311                pt1 = pt(k+1,j,i) + l_d_cp / exn1 * ql(k+1,j,i)
    13071312                rad_lw_in(0,j,i)  = 0.8_wp * sigma_sb * (pt1 * exn1)**4
     
    14501455       INTEGER(iwp) :: i, j, k, n !< loop indices
    14511456
    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
    14541460
    14551461!
     
    14901496                   rrtm_h2ovmr(0,k) = mol_mass_air_d_wv * (q(k,j,i) - ql(k,j,i))
    14911497                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     
    14921504             ELSE
    14931505                DO k = nzb+1, nzt+1
     
    15311543             rrtm_icld   = 0
    15321544
    1533              IF ( cloud_physics )  THEN
     1545             IF ( cloud_physics  .OR.  cloud_droplets )  THEN
    15341546                DO k = nzb+1, nzt+1
    15351547                   rrtm_cliqwp(0,k) =  ql(k,j,i) * 1000.0_wp *                 &
     
    15441556!--                   Calculate cloud droplet effective radius
    15451557                      IF ( cloud_physics )  THEN
     1558                         nc_rad = MERGE( nc(k,j,i), nc_const, microphysics_morrison )
    15461559                         rrtm_reliq(0,k) = 1.0E6_wp * ( 3.0_wp * ql(k,j,i)     &
    15471560                                           * rho_surface                       &
    1548                                            / ( 4.0_wp * pi * nc_const * rho_l )&
     1561                                           / ( 4.0_wp * pi * nc_rad * rho_l )&
    15491562                                           )**0.33333333333333_wp              &
    15501563                                           * EXP( LOG( sigma_gc )**2 )
Note: See TracChangeset for help on using the changeset viewer.