Changeset 4560


Ignore:
Timestamp:
Jun 11, 2020 12:19:47 PM (4 years ago)
Author:
suehring
Message:

Bugfix in calculation of vertical momentum and scalar fluxes

File:
1 edited

Legend:

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

    r4535 r4560  
    2525! -----------------
    2626! $Id$
     27! - Bugfix in calculation of vertical momentum and scalar fluxes
     28! - remove averaged output variables from PUBLIC list
     29!
     30! 4535 2020-05-15 12:07:23Z raasch
    2731! bugfix for restart data format query
    2832!
     
    208212           initialized_diagnostic_output_quantities,                           &
    209213           prepared_diagnostic_output_quantities,                              &
    210            timestep_number_at_prev_calc,                                       &
    211            pt_2m_av,                                                           &
    212            ti_av,                                                              &
    213            u_center_av,                                                        &
    214            uu_av,                                                              &
    215            uv_10m_av,                                                          &
    216            v_center_av,                                                        &
    217            vv_av,                                                              &
    218            wdir_av,                                                            &
    219            wspeed_av,                                                          &
    220            ww_av
     214           timestep_number_at_prev_calc
    221215!
    222216!-- Public routines
     
    765759       CASE ( 'ti', 'ti_xy', 'ti_xz', 'ti_yz',                                 &
    766760              'wspeed', 'wspeed_xy', 'wspeed_xz', 'wspeed_yz',                 &
    767               'wdir', 'wdir_xy', 'wdir_xz', 'wdir_yz',                         &
     761              'wdir', 'wdir_xy', 'wdir_xz', 'wdir_yz' )
     762
     763          grid_x = 'x'
     764          grid_y = 'y'
     765          grid_z = 'zu'
     766!
     767!--    s grid surface variables
     768       CASE ( 'theta_2m*_xy', 'wspeed_10m*' )
     769
     770          grid_x = 'x'
     771          grid_y = 'y'
     772          grid_z = 'zu'
     773!
     774!--    u grid
     775       CASE ( 'uu', 'uu_xy', 'uu_xz', 'uu_yz' )
     776
     777          grid_x = 'xu'
     778          grid_y = 'y'
     779          grid_z = 'zu'
     780!
     781!--    v grid
     782       CASE ( 'vv', 'vv_xy', 'vv_xz', 'vv_yz'  )
     783
     784          grid_x = 'x'
     785          grid_y = 'yv'
     786          grid_z = 'zu'
     787!
     788!--    w grid
     789       CASE ( 'ww', 'ww_xy', 'ww_xz', 'ww_yz',                                 &
    768790              'wu', 'wu_xy', 'wu_xz', 'wu_yz',                                 &
    769791              'wv', 'wv_xy', 'wv_xz', 'wv_yz',                                 &
    770792              'wtheta', 'wtheta_xy', 'wtheta_xz', 'wtheta_yz',                 &
    771               'wq', 'wq_xy', 'wq_xz', 'wq_yz')
    772 
    773           grid_x = 'x'
    774           grid_y = 'y'
    775           grid_z = 'zu'
    776 !
    777 !--    s grid surface variables
    778        CASE ( 'theta_2m*_xy', 'wspeed_10m*' )
    779 
    780           grid_x = 'x'
    781           grid_y = 'y'
    782           grid_z = 'zu'
    783 !
    784 !--    u grid
    785        CASE ( 'uu', 'uu_xy', 'uu_xz', 'uu_yz' )
    786 
    787           grid_x = 'xu'
    788           grid_y = 'y'
    789           grid_z = 'zu'
    790 !
    791 !--    v grid
    792        CASE ( 'vv', 'vv_xy', 'vv_xz', 'vv_yz'  )
    793 
    794           grid_x = 'x'
    795           grid_y = 'yv'
    796           grid_z = 'zu'
    797 !
    798 !--    w grid
    799        CASE ( 'ww', 'ww_xy', 'ww_xz', 'ww_yz'  )
     793              'wq', 'wq_xy', 'wq_xz', 'wq_yz'  )
    800794
    801795          grid_x = 'x'
     
    16451639                DO  j = nys, nyn
    16461640                   DO  k = nzb+1, nzt-1
    1647                       wu(k,j,i) = w(k,j,i) * u(k,j,i)                          &
     1641                      wu(k,j,i) = w(k,j,i)                                     &
     1642                       * 0.25_wp * ( u(k,j,i)   + u(k,j,i+1)                   &
     1643                                   + u(k+1,j,i) + u(k+1,j,i+1) )               &
    16481644                       * MERGE( 1.0_wp, 0.0_wp,                                &
    16491645                                BTEST( wall_flags_total_0(k,j,i), 0) )
     
    16571653                DO  j = nys, nyn
    16581654                   DO  k = nzb+1, nzt-1
    1659                       wv(k,j,i) = w(k,j,i) * v(k,j,i)                          &
     1655                      wv(k,j,i) = w(k,j,i)                                     &
     1656                       * 0.25_wp * ( v(k,j,i)   + v(k,j+1,i)                   &
     1657                                   + v(k+1,j,i) + v(k+1,j+1,i) )               &
    16601658                       * MERGE( 1.0_wp, 0.0_wp,                                &
    16611659                                BTEST( wall_flags_total_0(k,j,i), 0) )
     
    16691667                DO  j = nys, nyn
    16701668                   DO  k = nzb+1, nzt-1
    1671                       wtheta(k,j,i) = w(k,j,i) * pt(k,j,i)                     &
     1669                      wtheta(k,j,i) = w(k,j,i)                                 &
     1670                       *  0.5_wp  * ( pt(k,j,i) + pt(k+1,j,i) )                &
    16721671                       * MERGE( 1.0_wp, 0.0_wp,                                &
    1673                                 BTEST( wall_flags_total_0(k,j,i), 0) )
     1672                                BTEST( wall_flags_total_0(k,j,i), 3) )
    16741673                   ENDDO
    16751674                ENDDO
     
    16811680                DO  j = nys, nyn
    16821681                   DO  k = nzb+1, nzt-1
    1683                       wq(k,j,i) = w(k,j,i) * q(k,j,i)                          &
     1682                      wq(k,j,i) = w(k,j,i) * 0.5_wp * ( q(k,j,i) + q(k+1,j,i) )&
    16841683                       * MERGE( 1.0_wp, 0.0_wp,                                &
    1685                                 BTEST( wall_flags_total_0(k,j,i), 0) )
     1684                                BTEST( wall_flags_total_0(k,j,i), 3) )
    16861685                   ENDDO
    16871686                ENDDO
Note: See TracChangeset for help on using the changeset viewer.