Changeset 3004 for palm/trunk/SOURCE/average_3d_data.f90
- Timestamp:
- Apr 27, 2018 12:33:25 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/average_3d_data.f90
r2817 r3004 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Further allocation checks implemented, case z0q* added 28 ! 29 ! 2885 2018-03-14 11:02:46Z Giersch 27 30 ! Preliminary gust module interface implemented 28 31 ! … … 201 204 202 205 CASE ( 'e' ) 203 DO i = nxlg, nxrg 204 DO j = nysg, nyng 205 DO k = nzb, nzt+1 206 e_av(k,j,i) = e_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 207 ENDDO 208 ENDDO 209 ENDDO 206 IF ( ALLOCATED( e_av ) ) THEN 207 DO i = nxlg, nxrg 208 DO j = nysg, nyng 209 DO k = nzb, nzt+1 210 e_av(k,j,i) = e_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 211 ENDDO 212 ENDDO 213 ENDDO 214 ENDIF 210 215 211 216 CASE ( 'ghf*' ) 212 DO i = nxl, nxr 213 DO j = nys, nyn 214 ghf_av(j,i) = ghf_av(j,i) & 215 / REAL( average_count_3d, KIND=wp ) 216 ENDDO 217 ENDDO 218 CALL exchange_horiz_2d( ghf_av, nbgp ) 217 IF ( ALLOCATED( ghf_av ) ) THEN 218 DO i = nxl, nxr 219 DO j = nys, nyn 220 ghf_av(j,i) = ghf_av(j,i) & 221 / REAL( average_count_3d, KIND=wp ) 222 ENDDO 223 ENDDO 224 CALL exchange_horiz_2d( ghf_av, nbgp ) 225 ENDIF 219 226 220 227 CASE ( 'qsws*' ) 221 DO i = nxlg, nxrg 222 DO j = nysg, nyng 223 qsws_av(j,i) = qsws_av(j,i) / REAL( average_count_3d, KIND=wp ) 224 ENDDO 225 ENDDO 226 CALL exchange_horiz_2d( qsws_av, nbgp ) 228 IF ( ALLOCATED( qsws_av ) ) THEN 229 DO i = nxlg, nxrg 230 DO j = nysg, nyng 231 qsws_av(j,i) = qsws_av(j,i) / REAL( average_count_3d, KIND=wp ) 232 ENDDO 233 ENDDO 234 CALL exchange_horiz_2d( qsws_av, nbgp ) 235 ENDIF 227 236 228 237 CASE ( 'lpt' ) 229 DO i = nxlg, nxrg 230 DO j = nysg, nyng 231 DO k = nzb, nzt+1 232 lpt_av(k,j,i) = lpt_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 233 ENDDO 234 ENDDO 235 ENDDO 238 IF ( ALLOCATED( lpt_av ) ) THEN 239 DO i = nxlg, nxrg 240 DO j = nysg, nyng 241 DO k = nzb, nzt+1 242 lpt_av(k,j,i) = lpt_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 243 ENDDO 244 ENDDO 245 ENDDO 246 ENDIF 236 247 237 248 CASE ( 'lwp*' ) 238 DO i = nxlg, nxrg 239 DO j = nysg, nyng 240 lwp_av(j,i) = lwp_av(j,i) / REAL( average_count_3d, KIND=wp ) 241 ENDDO 242 ENDDO 249 IF ( ALLOCATED( lwp_av ) ) THEN 250 DO i = nxlg, nxrg 251 DO j = nysg, nyng 252 lwp_av(j,i) = lwp_av(j,i) / REAL( average_count_3d, KIND=wp ) 253 ENDDO 254 ENDDO 255 ENDIF 243 256 244 257 CASE ( 'nc' ) 245 DO i = nxlg, nxrg 246 DO j = nysg, nyng 247 DO k = nzb, nzt+1 248 nc_av(k,j,i) = nc_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 249 ENDDO 250 ENDDO 251 ENDDO 258 IF ( ALLOCATED( nc_av ) ) THEN 259 DO i = nxlg, nxrg 260 DO j = nysg, nyng 261 DO k = nzb, nzt+1 262 nc_av(k,j,i) = nc_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 263 ENDDO 264 ENDDO 265 ENDDO 266 ENDIF 252 267 253 268 CASE ( 'nr' ) 254 DO i = nxlg, nxrg 255 DO j = nysg, nyng 256 DO k = nzb, nzt+1 257 nr_av(k,j,i) = nr_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 258 ENDDO 259 ENDDO 260 ENDDO 269 IF ( ALLOCATED( nr_av ) ) THEN 270 DO i = nxlg, nxrg 271 DO j = nysg, nyng 272 DO k = nzb, nzt+1 273 nr_av(k,j,i) = nr_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 274 ENDDO 275 ENDDO 276 ENDDO 277 ENDIF 261 278 262 279 CASE ( 'ol*' ) 263 DO i = nxlg, nxrg 264 DO j = nysg, nyng 265 ol_av(j,i) = ol_av(j,i) / REAL( average_count_3d, KIND=wp ) 266 ENDDO 267 ENDDO 268 CALL exchange_horiz_2d( ol_av, nbgp ) 280 IF ( ALLOCATED( ol_av ) ) THEN 281 DO i = nxlg, nxrg 282 DO j = nysg, nyng 283 ol_av(j,i) = ol_av(j,i) / REAL( average_count_3d, KIND=wp ) 284 ENDDO 285 ENDDO 286 CALL exchange_horiz_2d( ol_av, nbgp ) 287 ENDIF 269 288 270 289 CASE ( 'p' ) 271 DO i = nxlg, nxrg 272 DO j = nysg, nyng 273 DO k = nzb, nzt+1 274 p_av(k,j,i) = p_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 275 ENDDO 276 ENDDO 277 ENDDO 290 IF ( ALLOCATED( p_av ) ) THEN 291 DO i = nxlg, nxrg 292 DO j = nysg, nyng 293 DO k = nzb, nzt+1 294 p_av(k,j,i) = p_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 295 ENDDO 296 ENDDO 297 ENDDO 298 ENDIF 278 299 279 300 CASE ( 'pc' ) 280 DO i = nxl, nxr 281 DO j = nys, nyn 282 DO k = nzb, nzt+1 283 pc_av(k,j,i) = pc_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 284 ENDDO 285 ENDDO 286 ENDDO 301 IF ( ALLOCATED( pc_av ) ) THEN 302 DO i = nxl, nxr 303 DO j = nys, nyn 304 DO k = nzb, nzt+1 305 pc_av(k,j,i) = pc_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 306 ENDDO 307 ENDDO 308 ENDDO 309 ENDIF 287 310 288 311 CASE ( 'pr' ) 289 DO i = nxl, nxr 290 DO j = nys, nyn 291 DO k = nzb, nzt+1 292 pr_av(k,j,i) = pr_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 293 ENDDO 294 ENDDO 295 ENDDO 296 297 CASE ( 'prr*' ) 298 DO i = nxlg, nxrg 299 DO j = nysg, nyng 300 precipitation_rate_av(j,i) = precipitation_rate_av(j,i) / & 301 REAL( average_count_3d, KIND=wp ) 302 ENDDO 303 ENDDO 312 IF ( ALLOCATED( pr_av ) ) THEN 313 DO i = nxl, nxr 314 DO j = nys, nyn 315 DO k = nzb, nzt+1 316 pr_av(k,j,i) = pr_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 317 ENDDO 318 ENDDO 319 ENDDO 320 ENDIF 321 322 CASE ( 'prr' ) 323 IF ( ALLOCATED( prr_av ) ) THEN 324 DO i = nxlg, nxrg 325 DO j = nysg, nyng 326 DO k = nzb, nzt+1 327 prr_av(k,j,i) = prr_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 328 ENDDO 329 ENDDO 330 ENDDO 331 ENDIF 304 332 305 333 CASE ( 'pt' ) 306 DO i = nxlg, nxrg 307 DO j = nysg, nyng 308 DO k = nzb, nzt+1 309 pt_av(k,j,i) = pt_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 310 ENDDO 311 ENDDO 312 ENDDO 334 IF ( ALLOCATED( pt_av ) ) THEN 335 DO i = nxlg, nxrg 336 DO j = nysg, nyng 337 DO k = nzb, nzt+1 338 pt_av(k,j,i) = pt_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 339 ENDDO 340 ENDDO 341 ENDDO 342 ENDIF 313 343 314 344 CASE ( 'q' ) 315 DO i = nxlg, nxrg 316 DO j = nysg, nyng 317 DO k = nzb, nzt+1 318 q_av(k,j,i) = q_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 319 ENDDO 320 ENDDO 321 ENDDO 345 IF ( ALLOCATED( q_av ) ) THEN 346 DO i = nxlg, nxrg 347 DO j = nysg, nyng 348 DO k = nzb, nzt+1 349 q_av(k,j,i) = q_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 350 ENDDO 351 ENDDO 352 ENDDO 353 ENDIF 322 354 323 355 CASE ( 'qc' ) 324 DO i = nxlg, nxrg 325 DO j = nysg, nyng 326 DO k = nzb, nzt+1 327 qc_av(k,j,i) = qc_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 328 ENDDO 329 ENDDO 330 ENDDO 356 IF ( ALLOCATED( qc_av ) ) THEN 357 DO i = nxlg, nxrg 358 DO j = nysg, nyng 359 DO k = nzb, nzt+1 360 qc_av(k,j,i) = qc_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 361 ENDDO 362 ENDDO 363 ENDDO 364 ENDIF 331 365 332 366 CASE ( 'ql' ) 333 DO i = nxlg, nxrg 334 DO j = nysg, nyng 335 DO k = nzb, nzt+1 336 ql_av(k,j,i) = ql_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 337 ENDDO 338 ENDDO 339 ENDDO 367 IF ( ALLOCATED( ql_av ) ) THEN 368 DO i = nxlg, nxrg 369 DO j = nysg, nyng 370 DO k = nzb, nzt+1 371 ql_av(k,j,i) = ql_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 372 ENDDO 373 ENDDO 374 ENDDO 375 ENDIF 340 376 341 377 CASE ( 'ql_c' ) 342 DO i = nxlg, nxrg 343 DO j = nysg, nyng 344 DO k = nzb, nzt+1 345 ql_c_av(k,j,i) = ql_c_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 346 ENDDO 347 ENDDO 348 ENDDO 378 IF ( ALLOCATED( ql_c_av ) ) THEN 379 DO i = nxlg, nxrg 380 DO j = nysg, nyng 381 DO k = nzb, nzt+1 382 ql_c_av(k,j,i) = ql_c_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 383 ENDDO 384 ENDDO 385 ENDDO 386 ENDIF 349 387 350 388 CASE ( 'ql_v' ) 351 DO i = nxlg, nxrg 352 DO j = nysg, nyng 353 DO k = nzb, nzt+1 354 ql_v_av(k,j,i) = ql_v_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 355 ENDDO 356 ENDDO 357 ENDDO 389 IF ( ALLOCATED( ql_v_av ) ) THEN 390 DO i = nxlg, nxrg 391 DO j = nysg, nyng 392 DO k = nzb, nzt+1 393 ql_v_av(k,j,i) = ql_v_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 394 ENDDO 395 ENDDO 396 ENDDO 397 ENDIF 358 398 359 399 CASE ( 'ql_vp' ) 360 DO i = nxlg, nxrg 361 DO j = nysg, nyng 362 DO k = nzb, nzt+1 363 ql_vp_av(k,j,i) = ql_vp_av(k,j,i) / & 364 REAL( average_count_3d, KIND=wp ) 365 ENDDO 366 ENDDO 367 ENDDO 400 IF ( ALLOCATED( ql_vp_av ) ) THEN 401 DO i = nxlg, nxrg 402 DO j = nysg, nyng 403 DO k = nzb, nzt+1 404 ql_vp_av(k,j,i) = ql_vp_av(k,j,i) / & 405 REAL( average_count_3d, KIND=wp ) 406 ENDDO 407 ENDDO 408 ENDDO 409 ENDIF 368 410 369 411 CASE ( 'qr' ) 370 DO i = nxlg, nxrg 371 DO j = nysg, nyng 372 DO k = nzb, nzt+1 373 qr_av(k,j,i) = qr_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 374 ENDDO 375 ENDDO 376 ENDDO 412 IF ( ALLOCATED( qr_av ) ) THEN 413 DO i = nxlg, nxrg 414 DO j = nysg, nyng 415 DO k = nzb, nzt+1 416 qr_av(k,j,i) = qr_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 417 ENDDO 418 ENDDO 419 ENDDO 420 ENDIF 377 421 378 422 CASE ( 'qv' ) 379 DO i = nxlg, nxrg 380 DO j = nysg, nyng 381 DO k = nzb, nzt+1 382 qv_av(k,j,i) = qv_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 383 ENDDO 384 ENDDO 385 ENDDO 423 IF ( ALLOCATED( qv_av ) ) THEN 424 DO i = nxlg, nxrg 425 DO j = nysg, nyng 426 DO k = nzb, nzt+1 427 qv_av(k,j,i) = qv_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 428 ENDDO 429 ENDDO 430 ENDDO 431 ENDIF 386 432 387 433 CASE ( 'r_a*' ) 388 DO i = nxlg, nxrg 389 DO j = nysg, nyng 390 r_a_av(j,i) = r_a_av(j,i) / REAL( average_count_3d, KIND=wp ) 391 ENDDO 392 ENDDO 393 CALL exchange_horiz_2d( r_a_av, nbgp ) 434 IF ( ALLOCATED( r_a_av ) ) THEN 435 DO i = nxlg, nxrg 436 DO j = nysg, nyng 437 r_a_av(j,i) = r_a_av(j,i) / REAL( average_count_3d, KIND=wp ) 438 ENDDO 439 ENDDO 440 CALL exchange_horiz_2d( r_a_av, nbgp ) 441 ENDIF 394 442 395 443 CASE ( 'rho_ocean' ) 396 DO i = nxlg, nxrg 397 DO j = nysg, nyng 398 DO k = nzb, nzt+1 399 rho_ocean_av(k,j,i) = rho_ocean_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 400 ENDDO 401 ENDDO 402 ENDDO 444 IF ( ALLOCATED( rho_ocean_av ) ) THEN 445 DO i = nxlg, nxrg 446 DO j = nysg, nyng 447 DO k = nzb, nzt+1 448 rho_ocean_av(k,j,i) = rho_ocean_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 449 ENDDO 450 ENDDO 451 ENDDO 452 ENDIF 403 453 404 454 CASE ( 's' ) 405 DO i = nxlg, nxrg 406 DO j = nysg, nyng 407 DO k = nzb, nzt+1 408 s_av(k,j,i) = s_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 409 ENDDO 410 ENDDO 411 ENDDO 455 IF ( ALLOCATED( s_av ) ) THEN 456 DO i = nxlg, nxrg 457 DO j = nysg, nyng 458 DO k = nzb, nzt+1 459 s_av(k,j,i) = s_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 460 ENDDO 461 ENDDO 462 ENDDO 463 ENDIF 412 464 413 465 CASE ( 'sa' ) 414 DO i = nxlg, nxrg 415 DO j = nysg, nyng 416 DO k = nzb, nzt+1 417 sa_av(k,j,i) = sa_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 418 ENDDO 419 ENDDO 420 ENDDO 466 IF ( ALLOCATED( sa_av ) ) THEN 467 DO i = nxlg, nxrg 468 DO j = nysg, nyng 469 DO k = nzb, nzt+1 470 sa_av(k,j,i) = sa_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 471 ENDDO 472 ENDDO 473 ENDDO 474 ENDIF 421 475 422 476 CASE ( 'shf*' ) 423 DO i = nxlg, nxrg 424 DO j = nysg, nyng 425 shf_av(j,i) = shf_av(j,i) / REAL( average_count_3d, KIND=wp ) 426 ENDDO 427 ENDDO 428 CALL exchange_horiz_2d( shf_av, nbgp ) 477 IF ( ALLOCATED( shf_av ) ) THEN 478 DO i = nxlg, nxrg 479 DO j = nysg, nyng 480 shf_av(j,i) = shf_av(j,i) / REAL( average_count_3d, KIND=wp ) 481 ENDDO 482 ENDDO 483 CALL exchange_horiz_2d( shf_av, nbgp ) 484 ENDIF 429 485 430 486 CASE ( 'ssws*' ) 431 DO i = nxlg, nxrg 432 DO j = nysg, nyng 433 ssws_av(j,i) = ssws_av(j,i) / REAL( average_count_3d, KIND=wp ) 434 ENDDO 435 ENDDO 436 CALL exchange_horiz_2d( ssws_av, nbgp ) 487 IF ( ALLOCATED( ssws_av ) ) THEN 488 DO i = nxlg, nxrg 489 DO j = nysg, nyng 490 ssws_av(j,i) = ssws_av(j,i) / REAL( average_count_3d, KIND=wp ) 491 ENDDO 492 ENDDO 493 CALL exchange_horiz_2d( ssws_av, nbgp ) 494 ENDIF 437 495 438 496 CASE ( 't*' ) 439 DO i = nxlg, nxrg 440 DO j = nysg, nyng 441 ts_av(j,i) = ts_av(j,i) / REAL( average_count_3d, KIND=wp ) 442 ENDDO 443 ENDDO 444 CALL exchange_horiz_2d( ts_av, nbgp ) 497 IF ( ALLOCATED( ts_av ) ) THEN 498 DO i = nxlg, nxrg 499 DO j = nysg, nyng 500 ts_av(j,i) = ts_av(j,i) / REAL( average_count_3d, KIND=wp ) 501 ENDDO 502 ENDDO 503 CALL exchange_horiz_2d( ts_av, nbgp ) 504 ENDIF 445 505 446 506 CASE ( 'tsurf*' ) 447 DO i = nxlg, nxrg 448 DO j = nysg, nyng 449 tsurf_av(j,i) = tsurf_av(j,i) / REAL( average_count_3d, KIND=wp ) 450 ENDDO 451 ENDDO 452 CALL exchange_horiz_2d( tsurf_av, nbgp ) 507 IF ( ALLOCATED( tsurf_av ) ) THEN 508 DO i = nxlg, nxrg 509 DO j = nysg, nyng 510 tsurf_av(j,i) = tsurf_av(j,i) / REAL( average_count_3d, KIND=wp ) 511 ENDDO 512 ENDDO 513 CALL exchange_horiz_2d( tsurf_av, nbgp ) 514 ENDIF 453 515 454 516 CASE ( 'u' ) 455 DO i = nxlg, nxrg 456 DO j = nysg, nyng 457 DO k = nzb, nzt+1 458 u_av(k,j,i) = u_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 459 ENDDO 460 ENDDO 461 ENDDO 517 IF ( ALLOCATED( u_av ) ) THEN 518 DO i = nxlg, nxrg 519 DO j = nysg, nyng 520 DO k = nzb, nzt+1 521 u_av(k,j,i) = u_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 522 ENDDO 523 ENDDO 524 ENDDO 525 ENDIF 462 526 463 527 CASE ( 'u*' ) 464 DO i = nxlg, nxrg 465 DO j = nysg, nyng 466 us_av(j,i) = us_av(j,i) / REAL( average_count_3d, KIND=wp ) 467 ENDDO 468 ENDDO 469 CALL exchange_horiz_2d( us_av, nbgp ) 528 IF ( ALLOCATED( us_av ) ) THEN 529 DO i = nxlg, nxrg 530 DO j = nysg, nyng 531 us_av(j,i) = us_av(j,i) / REAL( average_count_3d, KIND=wp ) 532 ENDDO 533 ENDDO 534 CALL exchange_horiz_2d( us_av, nbgp ) 535 ENDIF 470 536 471 537 CASE ( 'v' ) 472 DO i = nxlg, nxrg 473 DO j = nysg, nyng 474 DO k = nzb, nzt+1 475 v_av(k,j,i) = v_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 476 ENDDO 477 ENDDO 478 ENDDO 538 IF ( ALLOCATED( v_av ) ) THEN 539 DO i = nxlg, nxrg 540 DO j = nysg, nyng 541 DO k = nzb, nzt+1 542 v_av(k,j,i) = v_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 543 ENDDO 544 ENDDO 545 ENDDO 546 ENDIF 479 547 480 548 CASE ( 'vpt' ) 481 DO i = nxlg, nxrg 482 DO j = nysg, nyng 483 DO k = nzb, nzt+1 484 vpt_av(k,j,i) = vpt_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 485 ENDDO 486 ENDDO 487 ENDDO 549 IF ( ALLOCATED( vpt_av ) ) THEN 550 DO i = nxlg, nxrg 551 DO j = nysg, nyng 552 DO k = nzb, nzt+1 553 vpt_av(k,j,i) = vpt_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 554 ENDDO 555 ENDDO 556 ENDDO 557 ENDIF 488 558 489 559 CASE ( 'w' ) 490 DO i = nxlg, nxrg 491 DO j = nysg, nyng 492 DO k = nzb, nzt+1 493 w_av(k,j,i) = w_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 494 ENDDO 495 ENDDO 496 ENDDO 560 IF ( ALLOCATED( w_av ) ) THEN 561 DO i = nxlg, nxrg 562 DO j = nysg, nyng 563 DO k = nzb, nzt+1 564 w_av(k,j,i) = w_av(k,j,i) / REAL( average_count_3d, KIND=wp ) 565 ENDDO 566 ENDDO 567 ENDDO 568 ENDIF 497 569 498 570 CASE ( 'z0*' ) 499 DO i = nxlg, nxrg 500 DO j = nysg, nyng 501 z0_av(j,i) = z0_av(j,i) / REAL( average_count_3d, KIND=wp ) 502 ENDDO 503 ENDDO 504 CALL exchange_horiz_2d( z0_av, nbgp ) 571 IF ( ALLOCATED( z0_av ) ) THEN 572 DO i = nxlg, nxrg 573 DO j = nysg, nyng 574 z0_av(j,i) = z0_av(j,i) / REAL( average_count_3d, KIND=wp ) 575 ENDDO 576 ENDDO 577 CALL exchange_horiz_2d( z0_av, nbgp ) 578 ENDIF 505 579 506 580 CASE ( 'z0h*' ) 507 DO i = nxlg, nxrg 508 DO j = nysg, nyng 509 z0h_av(j,i) = z0h_av(j,i) / REAL( average_count_3d, KIND=wp ) 510 ENDDO 511 ENDDO 512 CALL exchange_horiz_2d( z0h_av, nbgp ) 581 IF ( ALLOCATED( z0h_av ) ) THEN 582 DO i = nxlg, nxrg 583 DO j = nysg, nyng 584 z0h_av(j,i) = z0h_av(j,i) / REAL( average_count_3d, KIND=wp ) 585 ENDDO 586 ENDDO 587 CALL exchange_horiz_2d( z0h_av, nbgp ) 588 ENDIF 589 590 CASE ( 'z0q*' ) 591 IF ( ALLOCATED( z0q_av ) ) THEN 592 DO i = nxlg, nxrg 593 DO j = nysg, nyng 594 z0q_av(j,i) = z0q_av(j,i) / REAL( average_count_3d, KIND=wp ) 595 ENDDO 596 ENDDO 597 CALL exchange_horiz_2d( z0q_av, nbgp ) 598 ENDIF 599 513 600 ! 514 601 !-- Block of urban surface model outputs
Note: See TracChangeset
for help on using the changeset viewer.