Changeset 4464


Ignore:
Timestamp:
Mar 17, 2020 11:08:46 AM (5 years ago)
Author:
Giersch
Message:

Reset last change (r4463)

File:
1 edited

Legend:

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

    r4463 r4464  
    2525! -----------------
    2626! $Id$
    27 ! Calculate horizontally averaged profiles of all velocity components at the
     27! Reset last change (r4463)
     28!
     29! 4463 2020-03-17 09:27:36Z Giersch
     30! Calculate horizontally averaged profiles of all velocity components at the
    2831! same place
    29 ! 
     32!
    3033! 4444 2020-03-05 15:59:50Z raasch
    3134! bugfix: cpp-directives for serial mode added
     
    268271       ENDIF
    269272!
    270 !--    Horizontally averaged profiles of all velocities and temperature.
     273!--    Horizontally averaged profiles of horizontal velocities and temperature.
    271274!--    They must have been computed before, because they are already required
    272275!--    for other horizontal averages.
     
    288291                                                              * flag
    289292                !$ACC ATOMIC
    290                 sums_l(k,3,tn)  = sums_l(k,3,tn)  + w(k,j,i)  * rmask(j,i,sr)  &
    291                                                               * flag
    292                 !$ACC ATOMIC
    293293                sums_l(k,4,tn)  = sums_l(k,4,tn)  + pt(k,j,i) * rmask(j,i,sr)  &
    294294                                                              * flag
     
    296296          ENDDO
    297297       ENDDO
    298        !$ACC UPDATE HOST(sums_l(:,1,tn), sums_l(:,2,tn), sums_l(:,3,tn), sums_l(:,4,tn))
     298       !$ACC UPDATE HOST(sums_l(:,1,tn), sums_l(:,2,tn), sums_l(:,4,tn))
    299299
    300300!
     
    372372             sums_l(:,1,0) = sums_l(:,1,0) + sums_l(:,1,i)
    373373             sums_l(:,2,0) = sums_l(:,2,0) + sums_l(:,2,i)
    374              sums_l(:,3,0) = sums_l(:,3,0) + sums_l(:,3,i)
    375374             sums_l(:,4,0) = sums_l(:,4,0) + sums_l(:,4,i)
    376375             IF ( ocean_mode )  THEN
     
    399398       IF ( collective_wait )  CALL MPI_BARRIER( comm2d, ierr )
    400399       CALL MPI_ALLREDUCE( sums_l(nzb,2,0), sums(nzb,2), nzt+2-nzb, MPI_REAL,  &
    401                            MPI_SUM, comm2d, ierr )
    402        IF ( collective_wait )  CALL MPI_BARRIER( comm2d, ierr )
    403        CALL MPI_ALLREDUCE( sums_l(nzb,3,0), sums(nzb,3), nzt+2-nzb, MPI_REAL,  &
    404400                           MPI_SUM, comm2d, ierr )
    405401       IF ( collective_wait )  CALL MPI_BARRIER( comm2d, ierr )
     
    436432       sums(:,1) = sums_l(:,1,0)
    437433       sums(:,2) = sums_l(:,2,0)
    438        sums(:,3) = sums_l(:,3,0)
    439434       sums(:,4) = sums_l(:,4,0)
    440435       IF ( ocean_mode )  sums(:,23) = sums_l(:,23,0)
     
    455450       sums(:,1) = sums(:,1) / ngp_2dh(sr)
    456451       sums(:,2) = sums(:,2) / ngp_2dh(sr)
    457        sums(:,3) = sums(:,3) / ngp_2dh(sr)
    458452       sums(:,4) = sums(:,4) / ngp_2dh_s_inner(:,sr)
    459453       hom(:,1,1,sr) = sums(:,1)             ! u
    460454       hom(:,1,2,sr) = sums(:,2)             ! v
    461        hom(:,1,3,sr) = sums(:,3)             ! w
    462455       hom(:,1,4,sr) = sums(:,4)             ! pt
    463        !$ACC UPDATE DEVICE(hom(:,1,1,sr), hom(:,1,2,sr), hom(:,1,3,sr), hom(:,1,4,sr))
    464        
     456       !$ACC UPDATE DEVICE(hom(:,1,1,sr), hom(:,1,2,sr), hom(:,1,4,sr))
     457
     458
    465459!
    466460!--    Salinity
     
    519513!
    520514!--             Prognostic and diagnostic variables
     515                !$ACC ATOMIC
     516                sums_l(k,3,tn)  = sums_l(k,3,tn)  + w(k,j,i)  * rmask(j,i,sr)  &
     517                                                              * flag
    521518                !$ACC ATOMIC
    522519                sums_l(k,8,tn)  = sums_l(k,8,tn)  + e(k,j,i)  * rmask(j,i,sr)  &
     
    17101707       IF ( threads_per_task > 1 )  THEN
    17111708          DO  i = 1, threads_per_task-1
     1709             sums_l(:,3,0)          = sums_l(:,3,0) + sums_l(:,3,i)
    17121710             sums_l(:,4:40,0)       = sums_l(:,4:40,0) + sums_l(:,4:40,i)
    17131711             sums_l(:,45:pr_palm,0) = sums_l(:,45:pr_palm,0) + &
     
    17831781!--    Profiles:
    17841782       DO  k = nzb, nzt+1
     1783          sums(k,3)             = sums(k,3)             / ngp_2dh(sr)
    17851784          sums(k,12:22)         = sums(k,12:22)         / ngp_2dh(sr)
    17861785          sums(k,30:32)         = sums(k,30:32)         / ngp_2dh(sr)
     
    18571856!--    Collect horizontal average in hom.
    18581857!--    Compute deduced averages (e.g. total heat flux)
     1858       hom(:,1,3,sr)  = sums(:,3)      ! w
    18591859       hom(:,1,8,sr)  = sums(:,8)      ! e     profiles 5-7 are initial profiles
    18601860       hom(:,1,9,sr)  = sums(:,9)      ! km
Note: See TracChangeset for help on using the changeset viewer.