Ignore:
Timestamp:
Mar 26, 2014 5:04:47 PM (7 years ago)
Author:
kanani
Message:

REAL constants defined as wp-kind

File:
1 edited

Legend:

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

    r1323 r1342  
    2020! Current revisions:
    2121! ------------------
    22 !
     22! REAL constants defined as wp-kind
    2323!
    2424! Former revisions:
     
    110110          ddzuw(k,1) = ddzu_pres(k+1) * ddzw(k+1)
    111111          ddzuw(k,2) = ddzu_pres(k+2) * ddzw(k+1)
    112           ddzuw(k,3) = -1.0 * &
     112          ddzuw(k,3) = -1.0_wp * &
    113113                       ( ddzu_pres(k+2) * ddzw(k+1) + ddzu_pres(k+1) * ddzw(k+1) )
    114114       ENDDO
     
    172172                IF ( j >= 0  .AND.  j <= nnyh )  THEN
    173173                   IF ( i >= 0  .AND.  i <= nnxh )  THEN
    174                       ll(i,j) = 2.0 * ( 1.0 - COS( ( 2.0 * pi * i ) / &
    175                                                   REAL( nx+1, KIND=wp ) ) ) / ( dx * dx ) + &
    176                                 2.0 * ( 1.0 - COS( ( 2.0 * pi * j ) / &
    177                                                   REAL( ny+1, KIND=wp ) ) ) / ( dy * dy )
     174                      ll(i,j) = 2.0_wp * ( 1.0_wp - COS( ( 2.0_wp * pi * i ) / &
     175                                            REAL( nx+1, KIND=wp ) ) ) / ( dx * dx ) + &
     176                                2.0_wp * ( 1.0_wp - COS( ( 2.0_wp * pi * j ) / &
     177                                            REAL( ny+1, KIND=wp ) ) ) / ( dy * dy )
    178178                   ELSE
    179                       ll(i,j) = 2.0 * ( 1.0 - COS( ( 2.0 * pi * ( nx+1-i ) ) / &
    180                                                   REAL( nx+1, KIND=wp ) ) ) / ( dx * dx ) + &
    181                                 2.0 * ( 1.0 - COS( ( 2.0 * pi * j ) / &
    182                                                   REAL( ny+1, KIND=wp ) ) ) / ( dy * dy )
     179                      ll(i,j) = 2.0_wp * ( 1.0_wp - COS( ( 2.0_wp * pi * ( nx+1-i ) ) / &
     180                                            REAL( nx+1, KIND=wp ) ) ) / ( dx * dx ) + &
     181                                2.0_wp * ( 1.0_wp - COS( ( 2.0_wp * pi * j ) / &
     182                                            REAL( ny+1, KIND=wp ) ) ) / ( dy * dy )
    183183                   ENDIF
    184184                ELSE
    185185                   IF ( i >= 0  .AND.  i <= nnxh )  THEN
    186                       ll(i,j) = 2.0 * ( 1.0 - COS( ( 2.0 * pi * i ) / &
    187                                                   REAL( nx+1, KIND=wp ) ) ) / ( dx * dx ) + &
    188                                 2.0 * ( 1.0 - COS( ( 2.0 * pi * ( ny+1-j ) ) / &
    189                                                   REAL( ny+1, KIND=wp ) ) ) / ( dy * dy )
     186                      ll(i,j) = 2.0_wp * ( 1.0_wp - COS( ( 2.0_wp * pi * i ) / &
     187                                            REAL( nx+1, KIND=wp ) ) ) / ( dx * dx ) + &
     188                                2.0_wp * ( 1.0_wp - COS( ( 2.0_wp * pi * ( ny+1-j ) ) / &
     189                                            REAL( ny+1, KIND=wp ) ) ) / ( dy * dy )
    190190                   ELSE
    191                       ll(i,j) = 2.0 * ( 1.0 - COS( ( 2.0 * pi * ( nx+1-i ) ) / &
    192                                                   REAL( nx+1, KIND=wp ) ) ) / ( dx * dx ) + &
    193                                 2.0 * ( 1.0 - COS( ( 2.0 * pi * ( ny+1-j ) ) / &
    194                                                   REAL( ny+1, KIND=wp ) ) ) / ( dy * dy )
     191                      ll(i,j) = 2.0_wp * ( 1.0_wp - COS( ( 2.0_wp * pi * ( nx+1-i ) ) / &
     192                                            REAL( nx+1, KIND=wp ) ) ) / ( dx * dx ) + &
     193                                2.0_wp * ( 1.0_wp - COS( ( 2.0_wp * pi * ( ny+1-j ) ) / &
     194                                            REAL( ny+1, KIND=wp ) ) ) / ( dy * dy )
    195195                   ENDIF
    196196                ENDIF
     
    283283
    284284                   IF ( k == nz-1 )  THEN
    285                       ar(i,j,k+1) = ar1(i,j,k) / ( tri(i,j,k,1) + 1.0E-20 )
     285                      ar(i,j,k+1) = ar1(i,j,k) / ( tri(i,j,k,1) + 1.0E-20_wp )
    286286                   ELSE
    287287                      ar(i,j,k+1) = ( ar1(i,j,k) - ddzuw(k,2) * ar(i,j,k+2) ) &
     
    301301                !$acc kernels loop present( ar )
    302302                DO  k = 1, nz
    303                    ar(nxl_z,nys_z,k) = 0.0
     303                   ar(nxl_z,nys_z,k) = 0.0_wp
    304304                ENDDO
    305305                !$acc end kernels loop
     
    367367
    368368                   IF ( k == nz-1 )  THEN
    369                       ar(i,j,k+1) = ar1(i,j,k) / ( tri(i,jj,k,1) + 1.0E-20 )
     369                      ar(i,j,k+1) = ar1(i,j,k) / ( tri(i,jj,k,1) + 1.0E-20_wp )
    370370                   ELSE
    371371                      ar(i,j,k+1) = ( ar1(i,j,k) - ddzuw(k,2) * ar(i,j,k+2) ) &
     
    385385                !$acc kernels loop present( ar )
    386386                DO  k = 1, nz
    387                    ar(nxl_z,nys_z,k) = 0.0
     387                   ar(nxl_z,nys_z,k) = 0.0_wp
    388388                ENDDO
    389389             ENDIF
     
    560560          DO  i = 0, nx
    561561             IF ( i >= 0 .AND. i <= nnxh ) THEN
    562                 l(i) = 2.0 * ( 1.0 - COS( ( 2.0 * pi * i ) / &
    563                                          REAL( nx+1, KIND=wp ) ) ) * ddx2 + &
    564                        2.0 * ( 1.0 - COS( ( 2.0 * pi * j ) / &
    565                                          REAL( ny+1, KIND=wp ) ) ) * ddy2
     562                l(i) = 2.0_wp * ( 1.0_wp - COS( ( 2.0_wp * pi * i ) / &
     563                                   REAL( nx+1, KIND=wp ) ) ) * ddx2 + &
     564                       2.0_wp * ( 1.0_wp - COS( ( 2.0_wp * pi * j ) / &
     565                                   REAL( ny+1, KIND=wp ) ) ) * ddy2
    566566             ELSE
    567                 l(i) = 2.0 * ( 1.0 - COS( ( 2.0 * pi * ( nx+1-i ) ) / &
    568                                          REAL( nx+1, KIND=wp ) ) ) * ddx2 + &
    569                        2.0 * ( 1.0 - COS( ( 2.0 * pi * j ) / &
    570                                          REAL( ny+1, KIND=wp ) ) ) * ddy2
     567                l(i) = 2.0_wp * ( 1.0_wp - COS( ( 2.0_wp * pi * ( nx+1-i ) ) / &
     568                                   REAL( nx+1, KIND=wp ) ) ) * ddx2 + &
     569                       2.0_wp * ( 1.0_wp - COS( ( 2.0_wp * pi * j ) / &
     570                                   REAL( ny+1, KIND=wp ) ) ) * ddy2
    571571             ENDIF
    572572          ENDDO
     
    574574          DO  k = 0, nz-1
    575575             DO  i = 0, nx
    576                 a = -1.0 * ddzu_pres(k+2) * ddzw(k+1)
    577                 c = -1.0 * ddzu_pres(k+1) * ddzw(k+1)
     576                a = -1.0_wp * ddzu_pres(k+2) * ddzw(k+1)
     577                c = -1.0_wp * ddzu_pres(k+1) * ddzw(k+1)
    578578                tri_for_1d(1,i,k) = a + c - l(i)
    579579             ENDDO
     
    660660!--       the model domain.
    661661          DO  i = 0, nx
    662              ar(i,nz) = ar1(i,nz-1) / ( tri_for_1d(4,i,nz-1) + 1.0E-20 )
     662             ar(i,nz) = ar1(i,nz-1) / ( tri_for_1d(4,i,nz-1) + 1.0E-20_wp )
    663663          ENDDO
    664664          DO  k = nz-2, 0, -1
     
    676676             IF ( j == 0 )  THEN
    677677                DO  k = 1, nz
    678                    ar(0,k) = 0.0
     678                   ar(0,k) = 0.0_wp
    679679                ENDDO
    680680             ENDIF
Note: See TracChangeset for help on using the changeset viewer.