Ignore:
Timestamp:
May 30, 2017 5:47:52 PM (4 years ago)
Author:
suehring
Message:

Adjustments according new topography and surface-modelling concept implemented

File:
1 edited

Legend:

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

    r2101 r2232  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! Adjustments to new topography concept
    2323!
    2424! Former revisions:
     
    106106           
    107107       USE indices,                                                            &
    108            ONLY:  nxl, nxr, nyn, nys, nzb_s_inner, nzt
     108           ONLY:  nxl, nxr, nyn, nys, nzb, nzt, wall_flags_0
    109109           
    110110       USE kinds
     
    114114       IMPLICIT NONE
    115115
    116        INTEGER(iwp) ::  i !<
    117        INTEGER(iwp) ::  j !<
    118        INTEGER(iwp) ::  k !<
     116       INTEGER(iwp) ::  i    !< running index x direction
     117       INTEGER(iwp) ::  j    !< running index y direction
     118       INTEGER(iwp) ::  k    !< running index z direction
    119119
     120       REAL(wp) ::  flag     !< flag to mask topography grid points
    120121 
    121122       DO  i = nxl, nxr
    122123          DO  j = nys, nyn
    123              DO  k = nzb_s_inner(j,i)+1, nzt
    124                 q_p(k,j,i)  = q_p(k,j,i)  - ql_c(k,j,i)
    125                 pt_p(k,j,i) = pt_p(k,j,i) + l_d_cp * ql_c(k,j,i) * pt_d_t(k)
     124             DO  k = nzb+1, nzt
     125!
     126!--             Predetermine flag to mask topography
     127                flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_0(k,j,i), 0 ) )
     128
     129                q_p(k,j,i)  = q_p(k,j,i)  - ql_c(k,j,i) * flag
     130                pt_p(k,j,i) = pt_p(k,j,i) + l_d_cp * ql_c(k,j,i) * pt_d_t(k)   &
     131                                                        * flag
    126132             ENDDO
    127133          ENDDO
     
    145151
    146152       USE indices,                                                            &
    147            ONLY:  nzb_s_inner, nzt
     153           ONLY:  nzb, nzt, wall_flags_0
    148154
    149155       USE kinds,                                                              &
     
    154160       IMPLICIT NONE
    155161
    156        INTEGER(iwp) ::  i !<
    157        INTEGER(iwp) ::  j !<
    158        INTEGER(iwp) ::  k !<
     162       INTEGER(iwp) ::  i    !< running index x direction
     163       INTEGER(iwp) ::  j    !< running index y direction
     164       INTEGER(iwp) ::  k    !< running index z direction
     165
     166       REAL(wp) ::  flag     !< flag to mask topography grid points
    159167
    160168
    161        DO  k = nzb_s_inner(j,i)+1, nzt
    162           q_p(k,j,i)  = q_p(k,j,i)  - ql_c(k,j,i)
    163           pt_p(k,j,i) = pt_p(k,j,i) + l_d_cp * ql_c(k,j,i) * pt_d_t(k)
     169       DO  k = nzb+1, nzt
     170!
     171!--       Predetermine flag to mask topography
     172          flag = MERGE( 1.0_wp, 0.0_wp, BTEST( wall_flags_0(k,j,i), 0 ) )
     173
     174          q_p(k,j,i)  = q_p(k,j,i)  - ql_c(k,j,i) * flag
     175          pt_p(k,j,i) = pt_p(k,j,i) + l_d_cp * ql_c(k,j,i) * pt_d_t(k) * flag
    164176       ENDDO
    165177
Note: See TracChangeset for help on using the changeset viewer.