Changeset 564 for palm/trunk/SOURCE/init_masks.f90
- Timestamp:
- Sep 30, 2010 1:18:59 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/init_masks.f90
r558 r564 4 4 ! Current revisions: 5 5 ! ----------------- 6 ! 6 ! assignment of mask_xyz_loop added, palm message identifiers of masked output 7 ! changed 7 8 ! 8 9 ! Former revisions: … … 64 65 '3 (NetCDF 4) and 4 (NetCDF 4 Classic model)'// & 65 66 '&are currently not supported (not yet tested).' 66 CALL message( 'init_masks', 'PA 9998', 1, 2, 0, 6, 0 )67 CALL message( 'init_masks', 'PA0328', 1, 2, 0, 6, 0 ) 67 68 ENDIF 68 69 … … 70 71 !-- Store data output parameters for masked data output in few shared arrays 71 72 DO mid = 1, masks 73 72 74 do_mask (mid,:) = data_output_masks(mid,:) 73 75 do_mask_user(mid,:) = data_output_masks_user(mid,:) … … 75 77 mask (mid,2,:) = mask_y(mid,:) 76 78 mask (mid,3,:) = mask_z(mid,:) 77 mask_loop (mid,1,:) = mask_x_loop(mid,:) 78 mask_loop (mid,2,:) = mask_y_loop(mid,:) 79 mask_loop (mid,3,:) = mask_z_loop(mid,:) 79 80 IF ( mask_x_loop(mid,1) == -1.0 .AND. mask_x_loop(mid,2) == -1.0 & 81 .AND. mask_x_loop(mid,3) == -1.0 ) THEN 82 mask_loop(mid,1,1:2) = -1.0 83 mask_loop(mid,1,3) = 0.0 84 ELSE 85 mask_loop(mid,1,:) = mask_x_loop(mid,:) 86 ENDIF 87 IF ( mask_y_loop(mid,1) == -1.0 .AND. mask_y_loop(mid,2) == -1.0 & 88 .AND. mask_y_loop(mid,3) == -1.0 ) THEN 89 mask_loop(mid,2,1:2) = -1.0 90 mask_loop(mid,2,3) = 0.0 91 ELSE 92 mask_loop(mid,2,:) = mask_y_loop(mid,:) 93 ENDIF 94 IF ( mask_z_loop(mid,1) == -1.0 .AND. mask_z_loop(mid,2) == -1.0 & 95 .AND. mask_z_loop(mid,3) == -1.0 ) THEN 96 mask_loop(mid,3,1:2) = -1.0 97 mask_loop(mid,3,3) = 0.0 98 ELSE 99 mask_loop(mid,3,:) = mask_z_loop(mid,:) 100 ENDIF 101 80 102 ENDDO 81 103 … … 107 129 'given by data_output_mask and data_output_mask_user ', & 108 130 'exceeds the limit of 100' 109 CALL message( 'init_masks', 'PA 9998', 1, 2, 0, 6, 0 )131 CALL message( 'init_masks', 'PA0329', 1, 2, 0, 6, 0 ) 110 132 ENDIF 111 133 do_mask(mid,i) = do_mask_user(mid,j) … … 138 160 WRITE ( message_string, * ) 'output of "', TRIM( var ), & 139 161 '" requires constant_diffusion = .FALSE.' 140 CALL message( 'init_masks', 'PA 9998', 1, 2, 0, 6, 0 )162 CALL message( 'init_masks', 'PA0103', 1, 2, 0, 6, 0 ) 141 163 ENDIF 142 164 unit = 'm2/s2' … … 147 169 '" requires a "particles_par"-NAMELIST in the ', & 148 170 'parameter file (PARIN)' 149 CALL message( 'init_masks', 'PA 9998', 1, 2, 0, 6, 0 )171 CALL message( 'init_masks', 'PA0104', 1, 2, 0, 6, 0 ) 150 172 ENDIF 151 173 IF ( TRIM( var ) == 'pc' ) unit = 'number' … … 156 178 WRITE ( message_string, * ) 'output of "', TRIM( var ), & 157 179 '" requires humidity = .TRUE.' 158 CALL message( 'init_masks', 'PA 9998', 1, 2, 0, 6, 0 )180 CALL message( 'init_masks', 'PA0105', 1, 2, 0, 6, 0 ) 159 181 ENDIF 160 182 IF ( TRIM( var ) == 'q' ) unit = 'kg/kg' … … 166 188 '" requires cloud_physics = .TRUE. or cloud_droplets', & 167 189 ' = .TRUE.' 168 CALL message( 'init_masks', 'PA 9998', 1, 2, 0, 6, 0 )190 CALL message( 'init_masks', 'PA0108', 1, 2, 0, 6, 0 ) 169 191 ENDIF 170 192 unit = 'kg/kg' … … 174 196 WRITE ( message_string, * ) 'output of "', TRIM( var ), & 175 197 '" requires cloud_droplets = .TRUE.' 176 CALL message( 'init_masks', 'PA 9998', 1, 2, 0, 6, 0 )198 CALL message( 'init_masks', 'PA0107', 1, 2, 0, 6, 0 ) 177 199 ENDIF 178 200 IF ( TRIM( var ) == 'ql_c' ) unit = 'kg/kg' … … 184 206 WRITE ( message_string, * ) 'output of "', TRIM( var ), & 185 207 '" requires cloud_physics = .TRUE.' 186 CALL message( 'init_masks', 'PA 9998', 1, 2, 0, 6, 0 )208 CALL message( 'init_masks', 'PA0108', 1, 2, 0, 6, 0 ) 187 209 ENDIF 188 210 unit = 'kg/kg' … … 192 214 WRITE ( message_string, * ) 'output of "', TRIM( var ), & 193 215 '" requires ocean = .TRUE.' 194 CALL message( 'init_masks', 'PA 9998', 1, 2, 0, 6, 0 )216 CALL message( 'init_masks', 'PA0109', 1, 2, 0, 6, 0 ) 195 217 ENDIF 196 218 unit = 'kg/m3' … … 200 222 WRITE ( message_string, * ) 'output of "', TRIM( var ), & 201 223 '" requires passive_scalar = .TRUE.' 202 CALL message( 'init_masks', 'PA 9998', 1, 2, 0, 6, 0 )224 CALL message( 'init_masks', 'PA0110', 1, 2, 0, 6, 0 ) 203 225 ENDIF 204 226 unit = 'conc' … … 208 230 WRITE ( message_string, * ) 'output of "', TRIM( var ), & 209 231 '" requires ocean = .TRUE.' 210 CALL message( 'init_masks', 'PA 9998', 1, 2, 0, 6, 0 )232 CALL message( 'init_masks', 'PA0109', 1, 2, 0, 6, 0 ) 211 233 ENDIF 212 234 unit = 'psu' … … 216 238 'output: "', TRIM( var ), '" is only allowed', & 217 239 'for horizontal cross section' 218 CALL message( 'init_masks', 'PA 9998', 1, 2, 0, 6, 0 )240 CALL message( 'init_masks', 'PA0111', 1, 2, 0, 6, 0 ) 219 241 ! IF ( TRIM( var ) == 'lwp*' .AND. .NOT. cloud_physics ) THEN 220 242 ! WRITE ( message_string, * ) 'output of "', TRIM( var ), & 221 243 ! '" requires cloud_physics = .TRUE.' 222 ! CALL message( 'init_masks', 'PA 9998', 1, 2, 0, 6, 0 )244 ! CALL message( 'init_masks', 'PA0108', 1, 2, 0, 6, 0 ) 223 245 ! ENDIF 224 246 ! IF ( TRIM( var ) == 'pra*' .AND. .NOT. precipitation ) THEN 225 247 ! WRITE ( message_string, * ) 'output of "', TRIM( var ), & 226 248 ! '" requires precipitation = .TRUE.' 227 ! CALL message( 'init_masks', 'PA 9998', 1, 2, 0, 6, 0 )249 ! CALL message( 'init_masks', 'PA0112', 1, 2, 0, 6, 0 ) 228 250 ! ENDIF 229 251 ! IF ( TRIM( var ) == 'pra*' .AND. j == 1 ) THEN … … 231 253 ! ' precipitation amount "', TRIM( var ), & 232 254 ! '" not possible' 233 ! CALL message( 'init_masks', 'PA 9998', 1, 2, 0, 6, 0 )255 ! CALL message( 'init_masks', 'PA0113', 1, 2, 0, 6, 0 ) 234 256 ! ENDIF 235 257 ! IF ( TRIM( var ) == 'prr*' .AND. .NOT. precipitation ) THEN 236 258 ! WRITE ( message_string, * ) 'output of "', TRIM( var ), & 237 259 ! '" requires precipitation = .TRUE.' 238 ! CALL message( 'init_masks', 'PA 9998', 1, 2, 0, 6, 0 )260 ! CALL message( 'init_masks', 'PA0112', 1, 2, 0, 6, 0 ) 239 261 ! ENDIF 240 262 ! … … 262 284 'output or data_output_user: "', & 263 285 TRIM( do_mask(mid,i) ), '"' 264 CALL message( 'init_masks', 'PA 9998', 1, 2, 0, 6, 0 )286 CALL message( 'init_masks', 'PA0114', 1, 2, 0, 6, 0 ) 265 287 ELSE 266 288 WRITE ( message_string, * ) 'illegal value for data_',& 267 289 'output: "', TRIM( do_mask(mid,i) ), '"' 268 CALL message( 'init_masks', 'PA 9998', 1, 2, 0, 6, 0 )290 CALL message( 'init_masks', 'PA0330', 1, 2, 0, 6, 0 ) 269 291 ENDIF 270 292 ENDIF … … 451 473 m,' in mask ',mid,' along dimension ',dim, & 452 474 ' exceeds ',nxyz_string,' = ',nxyz 453 CALL message( 'init_masks', 'PA 9998', 1, 2, 0, 6, 0 )475 CALL message( 'init_masks', 'PA0331', 1, 2, 0, 6, 0 ) 454 476 ENDIF 455 477 IF ( m >= lb .AND. m <= ub ) THEN … … 490 512 nxyz_string,'*',dxyz_string,'/mask_scale(',dim,')=', & 491 513 nxyz*dxyz/mask_scale(dim) 492 CALL message( 'init_masks', 'PA 9998', 1, 2, 0, 6, 0 )514 CALL message( 'init_masks', 'PA0332', 1, 2, 0, 6, 0 ) 493 515 ENDIF 494 516 loop_begin = NINT( mask_loop(mid,dim,1) * mask_scale(dim) * ddxyz ) … … 507 529 mask_loop(mid,dim,2),'&exceed zw(nz)/mask_scale(',dim, & 508 530 ')=',zw(nz)/mask_scale(dim) 509 CALL message( 'init_masks', 'PA 9998', 1, 2, 0, 6, 0 )531 CALL message( 'init_masks', 'PA0333', 1, 2, 0, 6, 0 ) 510 532 ENDIF 511 533 ind_array = & … … 530 552 'match the desired heights&within the stretching ', & 531 553 'region. Recommendation: use mask instead of mask_loop.' 532 CALL message( 'init_masks', 'PA 9998', 0, 1, 0, 6, 0 )554 CALL message( 'init_masks', 'PA0334', 0, 1, 0, 6, 0 ) 533 555 ENDIF 534 556
Note: See TracChangeset
for help on using the changeset viewer.