Changeset 996 for palm/trunk/SOURCE/init_masks.f90
- Timestamp:
- Sep 7, 2012 10:41:47 AM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/init_masks.f90
r979 r996 4 4 ! Current revisions: 5 5 ! ----------------- 6 ! 6 ! little reformatting 7 7 ! 8 8 ! Former revisions: … … 80 80 !-- Parallel mask output not yet tested 81 81 IF ( netcdf_data_format > 2 ) THEN 82 message_string = ' NetCDF file formats '// &83 '3 ( NetCDF 4) and 4 (NetCDF 4 Classic model)'// &82 message_string = 'netCDF file formats '// & 83 '3 (netCDF 4) and 4 (netCDF 4 Classic model)'// & 84 84 '&are currently not supported (not yet tested).' 85 85 CALL message( 'init_masks', 'PA0328', 1, 2, 0, 6, 0 ) … … 88 88 ! 89 89 !-- Store data output parameters for masked data output in few shared arrays 90 DO mid = 1, masks90 DO mid = 1, masks 91 91 92 92 do_mask (mid,:) = data_output_masks(mid,:) … … 96 96 mask (mid,3,:) = mask_z(mid,:) 97 97 98 IF ( mask_x_loop(mid,1) == -1.0 .AND.mask_x_loop(mid,2) == -1.0 &99 .AND. mask_x_loop(mid,3) == -1.0 )THEN100 98 IF ( mask_x_loop(mid,1) == -1.0 .AND. mask_x_loop(mid,2) == -1.0 & 99 .AND. mask_x_loop(mid,3) == -1.0 ) THEN 100 mask_loop(mid,1,1:2) = -1.0 101 101 mask_loop(mid,1,3) = 0.0 102 102 ELSE 103 103 mask_loop(mid,1,:) = mask_x_loop(mid,:) 104 104 ENDIF 105 IF ( mask_y_loop(mid,1) == -1.0 .AND.mask_y_loop(mid,2) == -1.0 &106 .AND. mask_y_loop(mid,3) == -1.0 )THEN107 105 IF ( mask_y_loop(mid,1) == -1.0 .AND. mask_y_loop(mid,2) == -1.0 & 106 .AND. mask_y_loop(mid,3) == -1.0 ) THEN 107 mask_loop(mid,2,1:2) = -1.0 108 108 mask_loop(mid,2,3) = 0.0 109 109 ELSE 110 110 mask_loop(mid,2,:) = mask_y_loop(mid,:) 111 111 ENDIF 112 IF ( mask_z_loop(mid,1) == -1.0 .AND.mask_z_loop(mid,2) == -1.0 &113 .AND. mask_z_loop(mid,3) == -1.0 )THEN114 112 IF ( mask_z_loop(mid,1) == -1.0 .AND. mask_z_loop(mid,2) == -1.0 & 113 .AND. mask_z_loop(mid,3) == -1.0 ) THEN 114 mask_loop(mid,3,1:2) = -1.0 115 115 mask_loop(mid,3,3) = 0.0 116 116 ELSE … … 158 158 !-- Check and set steering parameters for mask data output and averaging 159 159 i = 1 160 DO 160 DO WHILE ( do_mask(mid,i) /= ' ' .AND. i <= 100 ) 161 161 ! 162 162 !-- Check for data averaging … … 265 265 'for horizontal cross section' 266 266 CALL message( 'init_masks', 'PA0111', 1, 2, 0, 6, 0 ) 267 ! IF ( TRIM( var ) == 'lwp*' .AND. .NOT. cloud_physics ) THEN268 ! WRITE ( message_string, * ) 'output of "', TRIM( var ), &269 ! '" requires cloud_physics = .TRUE.'270 ! CALL message( 'init_masks', 'PA0108', 1, 2, 0, 6, 0 )271 ! ENDIF272 ! IF ( TRIM( var ) == 'pra*' .AND. .NOT. precipitation ) THEN273 ! WRITE ( message_string, * ) 'output of "', TRIM( var ), &274 ! '" requires precipitation = .TRUE.'275 ! CALL message( 'init_masks', 'PA0112', 1, 2, 0, 6, 0 )276 ! ENDIF277 ! IF ( TRIM( var ) == 'pra*' .AND. j == 1 ) THEN278 ! WRITE ( message_string, * ) 'temporal averaging of ', &279 ! ' precipitation amount "', TRIM( var ), &280 ! '" not possible'281 ! CALL message( 'init_masks', 'PA0113', 1, 2, 0, 6, 0 )282 ! ENDIF283 ! IF ( TRIM( var ) == 'prr*' .AND. .NOT. precipitation ) THEN284 ! WRITE ( message_string, * ) 'output of "', TRIM( var ), &285 ! '" requires precipitation = .TRUE.'286 ! CALL message( 'init_masks', 'PA0112', 1, 2, 0, 6, 0 )287 ! ENDIF288 !289 ! IF ( TRIM( var ) == 'u*' ) unit = 'm/s'290 ! IF ( TRIM( var ) == 't*' ) unit = 'K'291 ! IF ( TRIM( var ) == 'lwp*' ) unit = 'kg/kg*m'292 ! IF ( TRIM( var ) == 'pra*' ) unit = 'mm'293 ! IF ( TRIM( var ) == 'prr*' ) unit = 'mm/s'294 ! IF ( TRIM( var ) == 'z0*' ) unit = 'm'295 267 296 268 CASE ( 'p', 'pt', 'u', 'v', 'w' ) … … 404 376 !-- If at least part of the mask resides on the PE, send the index limits 405 377 !-- for the target array, otherwise send -9999 to PE0. 406 IF ( mask_size_l(mid,1) > 0 .AND. mask_size_l(mid,2) > 0 .AND. & 407 mask_size_l(mid,3) > 0 ) & 408 THEN 378 IF ( mask_size_l(mid,1) > 0 .AND. mask_size_l(mid,2) > 0 .AND. & 379 mask_size_l(mid,3) > 0 ) THEN 409 380 ind(1) = mask_start_l(mid,1) 410 381 ind(2) = mask_start_l(mid,1) + mask_size_l(mid,1) - 1 … … 599 570 DO m = loop_begin, loop_end, loop_stride 600 571 count = count + 1 601 IF ( m >= lb .AND.m <= ub ) THEN572 IF ( m >= lb .AND. m <= ub ) THEN 602 573 IF ( count_l == 0 ) mask_start_l(mid,dim) = count 603 574 count_l = count_l + 1
Note: See TracChangeset
for help on using the changeset viewer.