Ignore:
Timestamp:
Jul 12, 2016 4:34:24 PM (5 years ago)
Author:
suehring
Message:

Separate balance equations for humidity and passive_scalar

File:
1 edited

Legend:

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

    r1943 r1960  
    1919! Current revisions:
    2020! ------------------
    21 !
     21! Separate humidity and passive scalar
    2222!
    2323! Former revisions:
     
    228228       USE arrays_3d,                                                          &
    229229           ONLY:  diss_l_e, diss_l_nr, diss_l_pt, diss_l_q, diss_l_qr,         &
    230                   diss_l_sa, diss_l_u, diss_l_v, diss_l_w,  flux_l_e,          &
    231                   flux_l_nr, flux_l_pt, flux_l_q, flux_l_qr, flux_l_sa,        &
    232                   flux_l_u, flux_l_v, flux_l_w, diss_s_e, diss_s_nr, diss_s_pt,&
    233                   diss_s_q, diss_s_qr, diss_s_sa, diss_s_u, diss_s_v, diss_s_w,&
    234                   flux_s_e, flux_s_nr, flux_s_pt, flux_s_q, flux_s_qr,         &
    235                   flux_s_sa, flux_s_u, flux_s_v, flux_s_w
     230                  diss_l_s, diss_l_sa, diss_l_u, diss_l_v, diss_l_w,  flux_l_e,&
     231                  flux_l_nr, flux_l_pt, flux_l_q, flux_l_qr, flux_l_s,         &
     232                  flux_l_sa, flux_l_u, flux_l_v, flux_l_w, diss_s_e, diss_s_nr,&
     233                  diss_s_pt, diss_s_q, diss_s_qr, diss_s_s, diss_s_sa,         &
     234                  diss_s_u, diss_s_v, diss_s_w, flux_s_e, flux_s_nr, flux_s_pt,&
     235                  flux_s_q, flux_s_qr, flux_s_s, flux_s_sa, flux_s_u, flux_s_v,&
     236                  flux_s_w
    236237
    237238       USE constants,                                                          &
     
    254255           ONLY:  sums_us2_ws_l, sums_vs2_ws_l, sums_ws2_ws_l, sums_wsnrs_ws_l,&
    255256                  sums_wspts_ws_l, sums_wsqrs_ws_l, sums_wsqs_ws_l,            &
    256                   sums_wssas_ws_l,  sums_wsus_ws_l, sums_wsvs_ws_l 
     257                  sums_wsss_ws_l, sums_wssas_ws_l,  sums_wsss_ws_l,               &
     258                  sums_wsus_ws_l, sums_wsvs_ws_l 
    257259
    258260!
     
    287289          sums_wspts_ws_l = 0.0_wp
    288290
    289           IF ( humidity  .OR.  passive_scalar )  THEN
     291          IF ( humidity  )  THEN
    290292             ALLOCATE( sums_wsqs_ws_l(nzb:nzt+1,0:threads_per_task-1) )
    291293             sums_wsqs_ws_l = 0.0_wp
     294          ENDIF
     295         
     296          IF ( passive_scalar )  THEN
     297             ALLOCATE( sums_wsss_ws_l(nzb:nzt+1,0:threads_per_task-1) )
     298             sums_wsss_ws_l = 0.0_wp
    292299          ENDIF
    293300
     
    341348                       diss_l_e(nzb+1:nzt,nys:nyn,0:threads_per_task-1) )
    342349
    343              IF ( humidity  .OR.  passive_scalar )  THEN
     350             IF ( humidity )  THEN
    344351                ALLOCATE( flux_s_q(nzb+1:nzt,0:threads_per_task-1),            &
    345352                          diss_s_q(nzb+1:nzt,0:threads_per_task-1) )
     
    347354                          diss_l_q(nzb+1:nzt,nys:nyn,0:threads_per_task-1) )
    348355             ENDIF
     356             
     357             IF ( passive_scalar )  THEN
     358                ALLOCATE( flux_s_s(nzb+1:nzt,0:threads_per_task-1),            &
     359                          diss_s_s(nzb+1:nzt,0:threads_per_task-1) )
     360                ALLOCATE( flux_l_s(nzb+1:nzt,nys:nyn,0:threads_per_task-1),    &
     361                          diss_l_s(nzb+1:nzt,nys:nyn,0:threads_per_task-1) )
     362             ENDIF             
    349363
    350364             IF ( cloud_physics  .AND.  microphysics_seifert )  THEN
     
    837851           ONLY:  sums_us2_ws_l, sums_vs2_ws_l, sums_ws2_ws_l, sums_wsnrs_ws_l,&
    838852                  sums_wspts_ws_l, sums_wsqrs_ws_l, sums_wsqs_ws_l,            &
    839                   sums_wssas_ws_l,  sums_wsus_ws_l, sums_wsvs_ws_l 
     853                  sums_wsss_ws_l, sums_wssas_ws_l,  sums_wsus_ws_l,            &
     854                  sums_wsvs_ws_l 
    840855
    841856       IMPLICIT NONE
     
    854869       IF ( ws_scheme_sca )  THEN
    855870          sums_wspts_ws_l = 0.0_wp
    856           IF ( humidity  .OR.  passive_scalar )  sums_wsqs_ws_l = 0.0_wp
     871          IF ( humidity       )  sums_wsqs_ws_l = 0.0_wp
     872          IF ( passive_scalar )  sums_wsss_ws_l = 0.0_wp
    857873          IF ( cloud_physics  .AND.  microphysics_seifert )  THEN
    858874             sums_wsqrs_ws_l = 0.0_wp
     
    898914       USE statistics,                                                         &
    899915           ONLY:  sums_wsnrs_ws_l, sums_wspts_ws_l, sums_wsqrs_ws_l,           &
    900                   sums_wsqs_ws_l, sums_wssas_ws_l, weight_substep
     916                  sums_wsqs_ws_l, sums_wssas_ws_l, sums_wsss_ws_l,             &
     917                  weight_substep
    901918
    902919       IMPLICIT NONE
     
    16651682                               * weight_substep(intermediate_timestep_count)
    16661683             ENDDO
     1684             
     1685          CASE ( 's' )
     1686         
     1687             DO  k = nzb, nzt
     1688                sums_wsss_ws_l(k,tn)  = sums_wsss_ws_l(k,tn) +                &
     1689                                      ( flux_t(k) + diss_t(k) )               &
     1690                               * weight_substep(intermediate_timestep_count)
     1691             ENDDO
    16671692
    16681693         END SELECT
     
    31203145       USE statistics,                                                        &
    31213146           ONLY:  sums_wspts_ws_l, sums_wsqs_ws_l, sums_wssas_ws_l,           &
    3122                   sums_wsqrs_ws_l, sums_wsnrs_ws_l, weight_substep
     3147                  sums_wsqrs_ws_l, sums_wsnrs_ws_l, sums_wsss_ws_l,           &
     3148                  weight_substep
    31233149
    31243150       IMPLICIT NONE
     
    38663892                        *   weight_substep(intermediate_timestep_count)
    38673893                    ENDDO
     3894                 CASE ( 's' )
     3895                    DO  k = nzb, nzt
     3896                       sums_wsss_ws_l(k,tn) = sums_wsss_ws_l(k,tn)          &
     3897                        + ( flux_t(k) + diss_t(k) )                           &
     3898                        *   weight_substep(intermediate_timestep_count)
     3899                    ENDDO   
     3900                                   
    38683901
    38693902              END SELECT
Note: See TracChangeset for help on using the changeset viewer.