Changeset 1353 for palm/trunk/SOURCE/init_masks.f90
- Timestamp:
- Apr 8, 2014 3:21:23 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/init_masks.f90
r1325 r1353 20 20 ! Current revisions: 21 21 ! ----------------- 22 ! REAL constants provided with KIND-attribute 22 23 ! 23 24 ! Former revisions: … … 150 151 mask (mid,3,:) = mask_z(mid,:) 151 152 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 ) THEN154 mask_loop(mid,1,1:2) = -1.0 155 mask_loop(mid,1,3) = 0.0153 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 156 157 ELSE 157 158 mask_loop(mid,1,:) = mask_x_loop(mid,:) 158 159 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 ) THEN161 mask_loop(mid,2,1:2) = -1.0 162 mask_loop(mid,2,3) = 0.0160 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 163 164 ELSE 164 165 mask_loop(mid,2,:) = mask_y_loop(mid,:) 165 166 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 ) THEN168 mask_loop(mid,3,1:2) = -1.0 169 mask_loop(mid,3,3) = 0.0167 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 170 171 ELSE 171 172 mask_loop(mid,3,:) = mask_z_loop(mid,:) … … 521 522 REAL(wp) :: tmp2 !: 522 523 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 526 530 ! 527 531 !-- 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 ) 529 533 count = count + 1 530 534 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 ) 532 536 ELSEIF ( dim == 3 ) THEN 533 537 ind_array = & … … 561 565 !-- use predefined mask_loop_* array, or use the default (all grid points 562 566 !-- along this direction) 563 IF ( mask_loop(mid,dim,1) < 0.0 ) THEN567 IF ( mask_loop(mid,dim,1) < 0.0_wp ) THEN 564 568 tmp1 = mask_loop(mid,dim,1) 565 569 mask_loop(mid,dim,1) = zw(nzb) ! lowest level (default) 566 570 ENDIF 567 571 IF ( dim == 1 .OR. dim == 2 ) THEN 568 IF ( mask_loop(mid,dim,2) < 0.0 ) THEN572 IF ( mask_loop(mid,dim,2) < 0.0_wp ) THEN 569 573 tmp2 = mask_loop(mid,dim,2) 570 574 mask_loop(mid,dim,2) = nxyz*dxyz / mask_scale(dim) ! (default) … … 581 585 ENDIF 582 586 loop_begin = NINT( mask_loop(mid,dim,1) * mask_scale(dim) & 583 * ddxyz - 0.5 )587 * ddxyz - 0.5_wp ) 584 588 loop_end = NINT( mask_loop(mid,dim,2) * mask_scale(dim) & 585 * ddxyz - 0.5 )589 * ddxyz - 0.5_wp ) 586 590 loop_stride = NINT( mask_loop(mid,dim,3) * mask_scale(dim) & 587 591 * ddxyz ) 588 592 ELSEIF ( dim == 3 ) THEN 589 IF ( mask_loop(mid,dim,2) < 0.0 ) THEN593 IF ( mask_loop(mid,dim,2) < 0.0_wp ) THEN 590 594 tmp2 = mask_loop(mid,dim,2) 591 595 mask_loop(mid,dim,2) = zu(nz) / mask_scale(dim) ! (default) … … 627 631 ! 628 632 !-- If necessary, reset mask_loop(mid,dim,1) and mask_loop(mid,dim,2). 629 IF ( tmp1 < 0.0 ) mask_loop(mid,dim,1) = tmp1630 IF ( tmp2 < 0.0 ) mask_loop(mid,dim,2) = tmp2633 IF ( tmp1 < 0.0_wp ) mask_loop(mid,dim,1) = tmp1 634 IF ( tmp2 < 0.0_wp ) mask_loop(mid,dim,2) = tmp2 631 635 ! 632 636 !-- The default stride +/-1 (every grid point) applies if
Note: See TracChangeset
for help on using the changeset viewer.