Ignore:
Timestamp:
Jan 17, 2017 4:38:49 PM (7 years ago)
Author:
raasch
Message:

all OpenACC directives and related parts removed from the code

File:
1 edited

Legend:

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

    r2101 r2118  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! OpenACC version of subroutine removed
    2323!
    2424! Former revisions:
     
    3535! 1850 2016-04-08 13:29:27Z maronga
    3636! Module renamed
    37 !
    3837!
    3938! 1682 2015-10-07 23:56:08Z knoop
     
    7675
    7776    PRIVATE
    78     PUBLIC coriolis, coriolis_acc
     77    PUBLIC coriolis
    7978
    8079    INTERFACE coriolis
     
    8281       MODULE PROCEDURE coriolis_ij
    8382    END INTERFACE coriolis
    84 
    85     INTERFACE coriolis_acc
    86        MODULE PROCEDURE coriolis_acc
    87     END INTERFACE coriolis_acc
    8883
    8984 CONTAINS
     
    177172! Description:
    178173! ------------
    179 !> Call for all grid points - accelerator version
    180 !------------------------------------------------------------------------------!
    181     SUBROUTINE coriolis_acc( component )
    182 
    183        USE arrays_3d,                                                          &
    184            ONLY:  tend, u, ug, v, vg, w
    185            
    186        USE control_parameters,                                                 &
    187            ONLY:  f, fs, message_string
    188            
    189        USE indices,                                                            &
    190            ONLY:  i_left, i_right, j_north, j_south, nzb_u_inner,              &
    191                   nzb_v_inner, nzb_w_inner, nzt
    192                    
    193        USE kinds
    194 
    195        IMPLICIT NONE
    196 
    197        INTEGER(iwp) ::  component  !<
    198        INTEGER(iwp) ::  i          !<
    199        INTEGER(iwp) ::  j          !<
    200        INTEGER(iwp) ::  k          !<
    201 
    202 
    203 !
    204 !--    Compute Coriolis terms for the three velocity components
    205        SELECT CASE ( component )
    206 
    207 !
    208 !--       u-component
    209           CASE ( 1 )
    210              !$acc  kernels present( nzb_u_inner, tend, v, vg, w )
    211              DO  i = i_left, i_right
    212                 DO  j = j_south, j_north
    213                    DO  k = 1, nzt
    214                       IF  ( k > nzb_u_inner(j,i) )  THEN
    215                          tend(k,j,i) = tend(k,j,i) + f  *    ( 0.25_wp *       &
    216                                       ( v(k,j,i-1) + v(k,j,i) + v(k,j+1,i-1) + &
    217                                         v(k,j+1,i) ) - vg(k) )                 &
    218                                                    - fs *    ( 0.25_wp *       &
    219                                       ( w(k-1,j,i-1) + w(k-1,j,i) + w(k,j,i-1) &
    220                                         + w(k,j,i)   )                         &
    221                                                              )
    222                       ENDIF
    223                    ENDDO
    224                 ENDDO
    225              ENDDO
    226              !$acc end kernels
    227 
    228 !
    229 !--       v-component
    230           CASE ( 2 )
    231              !$acc  kernels present( nzb_v_inner, tend, u, ug )
    232              DO  i = i_left, i_right
    233                 DO  j = j_south, j_north
    234                    DO  k = 1, nzt
    235                       IF  ( k > nzb_v_inner(j,i) )  THEN
    236                          tend(k,j,i) = tend(k,j,i) - f *     ( 0.25_wp *       &
    237                                       ( u(k,j-1,i) + u(k,j,i) + u(k,j-1,i+1) + &
    238                                         u(k,j,i+1) ) - ug(k) )
    239                       ENDIF
    240                    ENDDO
    241                 ENDDO
    242              ENDDO
    243              !$acc end kernels
    244 
    245 !
    246 !--       w-component
    247           CASE ( 3 )
    248              !$acc  kernels present( nzb_w_inner, tend, u )
    249              DO  i = i_left, i_right
    250                 DO  j = j_south, j_north
    251                    DO  k = 1, nzt
    252                       IF  ( k > nzb_w_inner(j,i) )  THEN
    253                          tend(k,j,i) = tend(k,j,i) + fs * 0.25_wp *            &
    254                                       ( u(k,j,i) + u(k+1,j,i) + u(k,j,i+1) +   &
    255                                         u(k+1,j,i+1) )
    256                       ENDIF
    257                    ENDDO
    258                 ENDDO
    259              ENDDO
    260              !$acc end kernels
    261 
    262           CASE DEFAULT
    263 
    264              WRITE( message_string, * ) ' wrong component: ', component
    265              CALL message( 'coriolis', 'PA0173', 1, 2, 0, 6, 0 )
    266 
    267        END SELECT
    268 
    269     END SUBROUTINE coriolis_acc
    270 
    271 
    272 !------------------------------------------------------------------------------!
    273 ! Description:
    274 ! ------------
    275174!> Call for grid point i,j
    276175!------------------------------------------------------------------------------!
Note: See TracChangeset for help on using the changeset viewer.