Ignore:
Timestamp:
Sep 24, 2018 3:42:55 PM (3 years ago)
Author:
knoop
Message:

Modularization of all bulk cloud physics code components

File:
1 edited

Legend:

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

    r3241 r3274  
    2525! -----------------
    2626! $Id$
     27! Modularization of all bulk cloud physics code components
     28!
     29! 3241 2018-09-12 15:02:00Z raasch
    2730! unused variables removed
    2831!
     
    283286               momentumflux_output_conversion, nc, nr, p, prho, prr, pt, q,    &
    284287               qc, ql, qr, rho_air, rho_air_zw, rho_ocean, s,                  &
    285                sa, u, ug, v, vg, vpt, w, w_subs, waterflux_output_conversion, zw
     288               sa, u, ug, v, vg, vpt, w, w_subs, waterflux_output_conversion,  &
     289               zw, d_exner
    286290       
    287     USE cloud_parameters,                                                      &
    288         ONLY:   l_d_cp, pt_d_t
     291    USE basic_constants_and_equations_mod,                                     &
     292        ONLY:   g, lv_d_cp
    289293       
    290294    USE control_parameters,                                                    &
    291         ONLY:   average_count_pr, cloud_droplets, cloud_physics, do_sum,       &
    292                 dt_3d, g, humidity, initializing_actions, land_surface,        &
     295        ONLY:   average_count_pr, cloud_droplets, do_sum,                      &
     296                dt_3d, humidity, initializing_actions, land_surface,           &
    293297                large_scale_forcing, large_scale_subsidence, max_pr_user,      &
    294                 message_string, neutral, microphysics_morrison,                &
    295                 microphysics_seifert, ocean, passive_scalar, simulated_time,   &
    296                 simulated_time_at_begin, use_subsidence_tendencies,            &
     298                message_string, neutral, ocean, passive_scalar, simulated_time,&
     299                simulated_time_at_begin, use_subsidence_tendencies,            &
    297300                use_surface_fluxes, use_top_fluxes, ws_scheme_mom,             &
    298301                ws_scheme_sca
     
    313316       
    314317    USE kinds
     318
     319    USE bulk_cloud_model_mod,                                                  &
     320        ONLY: bulk_cloud_model, microphysics_morrison, microphysics_seifert
    315321   
    316322    USE land_surface_model_mod,                                                &
     
    515521             ENDDO
    516522          ENDDO
    517           IF ( cloud_physics )  THEN
     523          IF ( bulk_cloud_model )  THEN
    518524             !$OMP DO
    519525             DO  i = nxl, nxr
     
    525531                                                               * flag
    526532                      sums_l(k,43,tn) = sums_l(k,43,tn) + (                    &
    527                                       pt(k,j,i) + l_d_cp*pt_d_t(k) * ql(k,j,i) &
     533                                      pt(k,j,i) + lv_d_cp * d_exner(k) * ql(k,j,i) &
    528534                                                          ) * rmask(j,i,sr)    &
    529535                                                            * flag
     
    563569                sums_l(:,41,0) = sums_l(:,41,0) + sums_l(:,41,i)
    564570                sums_l(:,44,0) = sums_l(:,44,0) + sums_l(:,44,i)
    565                 IF ( cloud_physics )  THEN
     571                IF ( bulk_cloud_model )  THEN
    566572                   sums_l(:,42,0) = sums_l(:,42,0) + sums_l(:,42,i)
    567573                   sums_l(:,43,0) = sums_l(:,43,0) + sums_l(:,43,i)
     
    598604          CALL MPI_ALLREDUCE( sums_l(nzb,41,0), sums(nzb,41), nzt+2-nzb,       &
    599605                              MPI_REAL, MPI_SUM, comm2d, ierr )
    600           IF ( cloud_physics ) THEN
     606          IF ( bulk_cloud_model ) THEN
    601607             IF ( collective_wait )  CALL MPI_BARRIER( comm2d, ierr )
    602608             CALL MPI_ALLREDUCE( sums_l(nzb,42,0), sums(nzb,42), nzt+2-nzb,    &
     
    621627          sums(:,44) = sums_l(:,44,0)
    622628          sums(:,41) = sums_l(:,41,0)
    623           IF ( cloud_physics ) THEN
     629          IF ( bulk_cloud_model ) THEN
    624630             sums(:,42) = sums_l(:,42,0)
    625631             sums(:,43) = sums_l(:,43,0)
     
    654660          hom(:,1,44,sr) = sums(:,44)             ! vpt
    655661          hom(:,1,41,sr) = sums(:,41)             ! qv (q)
    656           IF ( cloud_physics ) THEN
     662          IF ( bulk_cloud_model ) THEN
    657663             sums(:,42) = sums(:,42) / ngp_2dh_s_inner(:,sr)
    658664             sums(:,43) = sums(:,43) / ngp_2dh_s_inner(:,sr)
     
    948954                                               * ddzu(k+1) * rmask(j,i,sr) * flag
    949955
    950                    IF ( cloud_physics ) THEN
     956                   IF ( bulk_cloud_model ) THEN
    951957                      sums_l(k,51,tn) = sums_l(k,51,tn)                        &
    952958                                         - 0.5_wp * ( kh(k,j,i) + kh(k+1,j,i) )&
     
    10141020                                          * heatflux_output_conversion(k+ki)
    10151021                            ENDIF
    1016                             IF ( cloud_physics )  THEN
     1022                            IF ( bulk_cloud_model )  THEN
    10171023!
    10181024!--                            Formula does not work if ql(k+ki) /= 0.0
     
    10671073                                          * heatflux_output_conversion(nzb)
    10681074                      ENDIF
    1069                       IF ( cloud_physics )  THEN
     1075                      IF ( bulk_cloud_model )  THEN
    10701076!
    10711077!--                      Formula does not work if ql(nzb) /= 0.0
     
    11181124                                          * heatflux_output_conversion(nzb)
    11191125                      ENDIF
    1120                       IF ( cloud_physics )  THEN
     1126                      IF ( bulk_cloud_model )  THEN
    11211127!
    11221128!--                      Formula does not work if ql(nzb) /= 0.0
     
    12931299                                           * heatflux_output_conversion(nzt)
    12941300                   ENDIF
    1295                    IF ( cloud_physics )  THEN
     1301                   IF ( bulk_cloud_model )  THEN
    12961302!
    12971303!--                   Formula does not work if ql(nzb) /= 0.0
     
    13471353!--             content, rain drop concentration and rain water content
    13481354                IF ( humidity )  THEN
    1349                    IF ( cloud_physics .OR. cloud_droplets )  THEN
     1355                   IF ( bulk_cloud_model .OR. cloud_droplets )  THEN
    13501356                      pts = 0.5_wp * ( vpt(k,j,i)   - hom(k,1,44,sr) +         &
    13511357                                    vpt(k+1,j,i) - hom(k+1,1,44,sr) )
Note: See TracChangeset for help on using the changeset viewer.