Ignore:
Timestamp:
Mar 18, 2011 7:03:49 AM (10 years ago)
Author:
raasch
Message:

adjustments for openmp usage on ibmkisti (mrun, subjob); OpenMP-bugfixes: work_fftx removed from PRIVATE clauses in fftx_tr_xy and tr_yx_fftx (poisfft); Bugfix: Summation of Wicker-Skamarock scheme fluxes and variances for all threads (flow_statistics)

File:
1 edited

Legend:

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

    r679 r696  
    44! Current revisions:
    55! -----------------
    6 !
     6! Bugfix: Summation of Wicker-Skamarock scheme fluxes and variances for all
     7! threads
    78!
    89! Former revisions:
     
    155156!--    the local array sums_l() for further computations
    156157       IF ( ws_scheme_mom )  THEN
     158
    157159!       
    158160!--       According to the Neumann bc for the horizontal velocity components,
     
    162164             sums_vs2_ws_l(nzt+1,sr) = sums_vs2_ws_l(nzt,sr)   
    163165          ENDIF
     166
     167          DO  i = 0, threads_per_task-1
    164168!         
    165 !--       Swap the turbulent quantities evaluated in advec_ws.
    166           sums_l(:,13,0) = sums_wsus_ws_l(:,sr)       ! w*u*
    167           sums_l(:,15,0) = sums_wsvs_ws_l(:,sr)       ! w*v*
    168           sums_l(:,30,0) = sums_us2_ws_l(:,sr)        ! u*2
    169           sums_l(:,31,0) = sums_vs2_ws_l(:,sr)        ! v*2
    170           sums_l(:,32,0) = sums_ws2_ws_l(:,sr)        ! w*2
    171           sums_l(:,34,0) = sums_l(:,34,0) + 0.5 *                             &
    172                 (sums_us2_ws_l(:,sr) + sums_vs2_ws_l(:,sr)                    &
    173                 + sums_ws2_ws_l(:,sr))                      ! e*
    174           DO  k = nzb, nzt
    175              sums_l(nzb+5,pr_palm,0) = sums_l(nzb+5,pr_palm,0) + 0.5 * (      &
    176                 sums_us2_ws_l(k,sr) + sums_vs2_ws_l(k,sr) +                   &
    177                 sums_ws2_ws_l(k,sr))
    178           ENDDO
    179        ENDIF
     169!--          Swap the turbulent quantities evaluated in advec_ws.
     170             sums_l(:,13,i) = sums_wsus_ws_l(:,sr)       ! w*u*
     171             sums_l(:,15,i) = sums_wsvs_ws_l(:,sr)       ! w*v*
     172             sums_l(:,30,i) = sums_us2_ws_l(:,sr)        ! u*2
     173             sums_l(:,31,i) = sums_vs2_ws_l(:,sr)        ! v*2
     174             sums_l(:,32,i) = sums_ws2_ws_l(:,sr)        ! w*2
     175             sums_l(:,34,i) = sums_l(:,34,i) + 0.5 *                        &
     176                              ( sums_us2_ws_l(:,sr) + sums_vs2_ws_l(:,sr) + &
     177                                sums_ws2_ws_l(:,sr) )    ! e*
     178             DO  k = nzb, nzt
     179                sums_l(nzb+5,pr_palm,i) = sums_l(nzb+5,pr_palm,i) + 0.5 * (  &
     180                                                      sums_us2_ws_l(k,sr) +  &
     181                                                      sums_vs2_ws_l(k,sr) +  &
     182                                                      sums_ws2_ws_l(k,sr) )
     183             ENDDO
     184          ENDDO
     185
     186       ENDIF
     187
    180188       IF ( ws_scheme_sca )  THEN
    181           sums_l(:,17,0) = sums_wspts_ws_l(:,sr)      ! w*pt* from advec_s_ws
    182           IF ( ocean ) sums_l(:,66,0) = sums_wssas_ws_l(:,sr) ! w*sa*
    183           IF ( humidity  .OR.  passive_scalar ) sums_l(:,49,0) =              &
    184                                                    sums_wsqs_ws_l(:,sr) !w*q*
     189
     190          DO  i = 0, threads_per_task-1
     191             sums_l(:,17,i) = sums_wspts_ws_l(:,sr)      ! w*pt* from advec_s_ws
     192             IF ( ocean ) sums_l(:,66,i) = sums_wssas_ws_l(:,sr) ! w*sa*
     193             IF ( humidity .OR. passive_scalar ) sums_l(:,49,i) =              &
     194                                                   sums_wsqs_ws_l(:,sr) !w*q*
     195          ENDDO
     196
    185197       ENDIF
    186198!
Note: See TracChangeset for help on using the changeset viewer.