Ignore:
Timestamp:
Apr 8, 2014 3:21:23 PM (7 years ago)
Author:
heinze
Message:

REAL constants provided with KIND-attribute

File:
1 edited

Legend:

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

    r1325 r1353  
    2020! Current revisions:
    2121! -----------------
     22! REAL constants provided with KIND-attribute
    2223!
    2324! Former revisions:
     
    150151       mask      (mid,3,:) = mask_z(mid,:)
    151152       
    152        IF ( mask_x_loop(mid,1) == -1.0  .AND.  mask_x_loop(mid,2) == -1.0  &
    153             .AND.  mask_x_loop(mid,3) == -1.0 )  THEN
    154           mask_loop(mid,1,1:2) = -1.0
    155           mask_loop(mid,1,3) = 0.0
     153       IF ( mask_x_loop(mid,1) == -1.0_wp  .AND.  mask_x_loop(mid,2) == -1.0_wp&
     154            .AND.  mask_x_loop(mid,3) == -1.0_wp )  THEN
     155          mask_loop(mid,1,1:2) = -1.0_wp
     156          mask_loop(mid,1,3)   =  0.0_wp
    156157       ELSE
    157158          mask_loop(mid,1,:) = mask_x_loop(mid,:)
    158159       ENDIF
    159        IF ( mask_y_loop(mid,1) == -1.0  .AND.  mask_y_loop(mid,2) == -1.0  &
    160             .AND.  mask_y_loop(mid,3) == -1.0 )  THEN
    161           mask_loop(mid,2,1:2) = -1.0
    162           mask_loop(mid,2,3) = 0.0
     160       IF ( mask_y_loop(mid,1) == -1.0_wp  .AND.  mask_y_loop(mid,2) == -1.0_wp&
     161            .AND.  mask_y_loop(mid,3) == -1.0_wp )  THEN
     162          mask_loop(mid,2,1:2) = -1.0_wp
     163          mask_loop(mid,2,3)   =  0.0_wp
    163164       ELSE
    164165          mask_loop(mid,2,:) = mask_y_loop(mid,:)
    165166       ENDIF
    166        IF ( mask_z_loop(mid,1) == -1.0  .AND.  mask_z_loop(mid,2) == -1.0  &
    167             .AND.  mask_z_loop(mid,3) == -1.0 )  THEN
    168           mask_loop(mid,3,1:2) = -1.0
    169           mask_loop(mid,3,3) = 0.0
     167       IF ( mask_z_loop(mid,1) == -1.0_wp  .AND.  mask_z_loop(mid,2) == -1.0_wp&
     168            .AND.  mask_z_loop(mid,3) == -1.0_wp )  THEN
     169          mask_loop(mid,3,1:2) = -1.0_wp
     170          mask_loop(mid,3,3)   =  0.0_wp
    170171       ELSE
    171172          mask_loop(mid,3,:) = mask_z_loop(mid,:)
     
    521522       REAL(wp)      ::  tmp2  !:
    522523
    523        count = 0;  count_l = 0;  ddxyz = 1.0 / dxyz;  tmp1 = 0.0;  tmp2 = 0.0
    524 
    525        IF ( mask(mid,dim,1) >= 0.0 )  THEN
     524       count = 0;  count_l = 0 
     525       ddxyz = 1.0_wp / dxyz 
     526       tmp1  = 0.0_wp
     527       tmp2  = 0.0_wp
     528
     529       IF ( mask(mid,dim,1) >= 0.0_wp )  THEN
    526530!
    527531!--       use predefined mask_* array
    528           DO  WHILE ( mask(mid,dim,count+1) >= 0.0 )
     532          DO  WHILE ( mask(mid,dim,count+1) >= 0.0_wp )
    529533             count = count + 1
    530534             IF ( dim == 1 .OR. dim == 2 )  THEN
    531                 m = NINT( mask(mid,dim,count) * mask_scale(dim) * ddxyz - 0.5 )
     535                m = NINT( mask(mid,dim,count) * mask_scale(dim) * ddxyz - 0.5_wp )
    532536             ELSEIF ( dim == 3 )  THEN
    533537                ind_array =  &
     
    561565!--       use predefined mask_loop_* array, or use the default (all grid points
    562566!--       along this direction)
    563           IF ( mask_loop(mid,dim,1) < 0.0 )  THEN
     567          IF ( mask_loop(mid,dim,1) < 0.0_wp )  THEN
    564568             tmp1 = mask_loop(mid,dim,1)
    565569             mask_loop(mid,dim,1) = zw(nzb)  !   lowest level  (default)
    566570          ENDIF
    567571          IF ( dim == 1 .OR. dim == 2 )  THEN
    568              IF ( mask_loop(mid,dim,2) < 0.0 )  THEN
     572             IF ( mask_loop(mid,dim,2) < 0.0_wp )  THEN
    569573                tmp2 = mask_loop(mid,dim,2)
    570574                mask_loop(mid,dim,2) = nxyz*dxyz / mask_scale(dim)   ! (default)
     
    581585             ENDIF
    582586             loop_begin  = NINT( mask_loop(mid,dim,1) * mask_scale(dim) &
    583                   * ddxyz - 0.5 )
     587                  * ddxyz - 0.5_wp )
    584588             loop_end    = NINT( mask_loop(mid,dim,2) * mask_scale(dim) &
    585                   * ddxyz - 0.5 )
     589                  * ddxyz - 0.5_wp )
    586590             loop_stride = NINT( mask_loop(mid,dim,3) * mask_scale(dim) &
    587591                  * ddxyz )
    588592          ELSEIF ( dim == 3 )  THEN
    589              IF ( mask_loop(mid,dim,2) < 0.0 )  THEN
     593             IF ( mask_loop(mid,dim,2) < 0.0_wp )  THEN
    590594                tmp2 = mask_loop(mid,dim,2)
    591595                mask_loop(mid,dim,2) = zu(nz) / mask_scale(dim)   ! (default)
     
    627631!
    628632!--       If necessary, reset mask_loop(mid,dim,1) and mask_loop(mid,dim,2).
    629           IF ( tmp1 < 0.0 )  mask_loop(mid,dim,1) = tmp1
    630           IF ( tmp2 < 0.0 )  mask_loop(mid,dim,2) = tmp2
     633          IF ( tmp1 < 0.0_wp )  mask_loop(mid,dim,1) = tmp1
     634          IF ( tmp2 < 0.0_wp )  mask_loop(mid,dim,2) = tmp2
    631635!
    632636!--       The default stride +/-1 (every grid point) applies if
Note: See TracChangeset for help on using the changeset viewer.