Changeset 1942 for palm/trunk/SOURCE/advec_ws.f90
- Timestamp:
- Jun 14, 2016 12:18:18 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/advec_ws.f90
r1877 r1942 19 19 ! Current revisions: 20 20 ! ------------------ 21 ! 21 ! Initialization of flags for ws-scheme moved from init_grid. 22 22 ! 23 23 ! Former revisions: … … 167 167 PUBLIC advec_s_ws, advec_s_ws_acc, advec_u_ws, advec_u_ws_acc, & 168 168 advec_v_ws, advec_v_ws_acc, advec_w_ws, advec_w_ws_acc, & 169 ws_init, ws_ statistics169 ws_init, ws_init_flags, ws_statistics 170 170 171 171 INTERFACE ws_init 172 172 MODULE PROCEDURE ws_init 173 173 END INTERFACE ws_init 174 175 INTERFACE ws_init_flags 176 MODULE PROCEDURE ws_init_flags 177 END INTERFACE ws_init_flags 174 178 175 179 INTERFACE ws_statistics … … 364 368 365 369 END SUBROUTINE ws_init 370 371 !------------------------------------------------------------------------------! 372 ! Description: 373 ! ------------ 374 !> Initialization of flags for WS-scheme used to degrade the order of the scheme 375 !> near walls. 376 !------------------------------------------------------------------------------! 377 SUBROUTINE ws_init_flags 378 379 USE control_parameters, & 380 ONLY: inflow_l, inflow_n, inflow_r, inflow_s, momentum_advec, & 381 nest_bound_l, nest_bound_n, nest_bound_r, nest_bound_s, & 382 outflow_l, outflow_n, outflow_r, outflow_s, scalar_advec 383 384 USE indices, & 385 ONLY: nbgp, nxl, nxlu, nxr, nyn, nys, nysv, nzb, nzb_s_inner, & 386 nzb_u_inner, nzb_v_inner, nzb_w_inner, nzt, wall_flags_0, & 387 wall_flags_00 388 389 USE kinds 390 391 IMPLICIT NONE 392 393 INTEGER(iwp) :: i !< index variable along x 394 INTEGER(iwp) :: j !< index variable along y 395 INTEGER(iwp) :: k !< index variable along z 396 397 LOGICAL :: flag_set !< steering variable for advection flags 398 399 400 IF ( scalar_advec == 'ws-scheme' .OR. & 401 scalar_advec == 'ws-scheme-mono' ) THEN 402 ! 403 !-- Set flags to steer the degradation of the advection scheme in advec_ws 404 !-- near topography, inflow- and outflow boundaries as well as bottom and 405 !-- top of model domain. wall_flags_0 remains zero for all non-prognostic 406 !-- grid points. 407 DO i = nxl, nxr 408 DO j = nys, nyn 409 DO k = nzb_s_inner(j,i)+1, nzt 410 ! 411 !-- scalar - x-direction 412 !-- WS1 (0), WS3 (1), WS5 (2) 413 IF ( ( k <= nzb_s_inner(j,i+1) .OR. k <= nzb_s_inner(j,i+2) & 414 .OR. k <= nzb_s_inner(j,i-1) ) & 415 .OR. ( ( inflow_l .OR. outflow_l .OR. nest_bound_l ) & 416 .AND. i == nxl ) .OR. & 417 ( ( inflow_r .OR. outflow_r .OR. nest_bound_r ) & 418 .AND. i == nxr ) ) & 419 THEN 420 wall_flags_0(k,j,i) = IBSET( wall_flags_0(k,j,i), 0 ) 421 ELSEIF ( ( k <= nzb_s_inner(j,i+3) .AND. k > nzb_s_inner(j,i+1)& 422 .AND. k > nzb_s_inner(j,i+2)& 423 .AND. k > nzb_s_inner(j,i-1)& 424 ) .OR. & 425 ( k <= nzb_s_inner(j,i-2) .AND. k > nzb_s_inner(j,i+1)& 426 .AND. k > nzb_s_inner(j,i+2)& 427 .AND. k > nzb_s_inner(j,i-1)& 428 ) & 429 .OR. & 430 ( ( inflow_r .OR. outflow_r .OR. nest_bound_r ) & 431 .AND. i == nxr-1 ) .OR. & 432 ( ( inflow_l .OR. outflow_l .OR. nest_bound_l ) & 433 .AND. i == nxlu ) ) & 434 THEN 435 wall_flags_0(k,j,i) = IBSET( wall_flags_0(k,j,i), 1 ) 436 ELSEIF ( k > nzb_s_inner(j,i+1) .AND. k > nzb_s_inner(j,i+2)& 437 .AND. k > nzb_s_inner(j,i+3) .AND. k > nzb_s_inner(j,i-1)& 438 .AND. k > nzb_s_inner(j,i-2) ) & 439 THEN 440 wall_flags_0(k,j,i) = IBSET( wall_flags_0(k,j,i), 2 ) 441 ENDIF 442 ! 443 !-- scalar - y-direction 444 !-- WS1 (3), WS3 (4), WS5 (5) 445 IF ( ( k <= nzb_s_inner(j+1,i) .OR. k <= nzb_s_inner(j+2,i) & 446 .OR. k <= nzb_s_inner(j-1,i) ) & 447 .OR. & 448 ( ( inflow_s .OR. outflow_s .OR. nest_bound_s ) & 449 .AND. j == nys ) .OR. & 450 ( ( inflow_n .OR. outflow_n .OR. nest_bound_n ) & 451 .AND. j == nyn ) ) & 452 THEN 453 wall_flags_0(k,j,i) = IBSET( wall_flags_0(k,j,i), 3 ) 454 ! 455 !-- WS3 456 ELSEIF ( ( k <= nzb_s_inner(j+3,i) .AND. k > nzb_s_inner(j+1,i)& 457 .AND. k > nzb_s_inner(j+2,i)& 458 .AND. k > nzb_s_inner(j-1,i)& 459 ) .OR. & 460 ( k <= nzb_s_inner(j-2,i) .AND. k > nzb_s_inner(j+1,i)& 461 .AND. k > nzb_s_inner(j+2,i)& 462 .AND. k > nzb_s_inner(j-1,i)& 463 ) & 464 .OR. & 465 ( ( inflow_s .OR. outflow_s .OR. nest_bound_s ) & 466 .AND. j == nysv ) .OR. & 467 ( ( inflow_n .OR. outflow_n .OR. nest_bound_n ) & 468 .AND. j == nyn-1 ) ) & 469 THEN 470 wall_flags_0(k,j,i) = IBSET( wall_flags_0(k,j,i), 4 ) 471 ! 472 !-- WS5 473 ELSEIF ( k > nzb_s_inner(j+1,i) .AND. k > nzb_s_inner(j+2,i)& 474 .AND. k > nzb_s_inner(j+3,i) .AND. k > nzb_s_inner(j-1,i)& 475 .AND. k > nzb_s_inner(j-2,i) ) & 476 THEN 477 wall_flags_0(k,j,i) = IBSET( wall_flags_0(k,j,i), 5 ) 478 ENDIF 479 ! 480 !-- scalar - z-direction 481 !-- WS1 (6), WS3 (7), WS5 (8) 482 flag_set = .FALSE. 483 IF ( k == nzb_s_inner(j,i) + 1 .OR. k == nzt ) THEN 484 wall_flags_0(k,j,i) = IBSET( wall_flags_0(k,j,i), 6 ) 485 flag_set = .TRUE. 486 ELSEIF ( k == nzb_s_inner(j,i) + 2 .OR. k == nzt - 1 ) THEN 487 wall_flags_0(k,j,i) = IBSET( wall_flags_0(k,j,i), 7 ) 488 flag_set = .TRUE. 489 ELSEIF ( k > nzb_s_inner(j,i) .AND. .NOT. flag_set ) THEN 490 wall_flags_0(k,j,i) = IBSET( wall_flags_0(k,j,i), 8 ) 491 ENDIF 492 493 ENDDO 494 ENDDO 495 ENDDO 496 ENDIF 497 498 IF ( momentum_advec == 'ws-scheme' ) THEN 499 ! 500 !-- Set wall_flags_0 to steer the degradation of the advection scheme in advec_ws 501 !-- near topography, inflow- and outflow boundaries as well as bottom and 502 !-- top of model domain. wall_flags_0 remains zero for all non-prognostic 503 !-- grid points. 504 DO i = nxl, nxr 505 DO j = nys, nyn 506 DO k = nzb+1, nzt 507 ! 508 !-- At first, set flags to WS1. 509 !-- Since fluxes are swapped in advec_ws.f90, this is necessary to 510 !-- in order to handle the left/south flux. 511 !-- near vertical walls. 512 wall_flags_0(k,j,i) = IBSET( wall_flags_0(k,j,i), 9 ) 513 wall_flags_0(k,j,i) = IBSET( wall_flags_0(k,j,i), 12 ) 514 ! 515 !-- u component - x-direction 516 !-- WS1 (9), WS3 (10), WS5 (11) 517 IF ( k <= nzb_u_inner(j,i+1) .OR. & 518 ( ( inflow_l .OR. outflow_l .OR. nest_bound_l ) & 519 .AND. i <= nxlu ) .OR. & 520 ( ( inflow_r .OR. outflow_r .OR. nest_bound_r ) & 521 .AND. i == nxr ) ) & 522 THEN 523 wall_flags_0(k,j,i) = IBSET( wall_flags_0(k,j,i), 9 ) 524 ELSEIF ( ( k <= nzb_u_inner(j,i+2) .AND. & 525 k > nzb_u_inner(j,i+1) ) .OR. & 526 k <= nzb_u_inner(j,i-1) & 527 .OR. & 528 ( ( inflow_r .OR. outflow_r .OR. nest_bound_r ) & 529 .AND. i == nxr-1 ) .OR. & 530 ( ( inflow_l .OR. outflow_l .OR. nest_bound_l ) & 531 .AND. i == nxlu+1) ) & 532 THEN 533 wall_flags_0(k,j,i) = IBSET( wall_flags_0(k,j,i), 10 ) 534 ! 535 !-- Clear flag for WS1 536 wall_flags_0(k,j,i) = IBCLR( wall_flags_0(k,j,i), 9 ) 537 ELSEIF ( k > nzb_u_inner(j,i+1) .AND. k > nzb_u_inner(j,i+2) & 538 .AND. k > nzb_u_inner(j,i-1) ) & 539 THEN 540 wall_flags_0(k,j,i) = IBSET( wall_flags_0(k,j,i), 11 ) 541 ! 542 !-- Clear flag for WS1 543 wall_flags_0(k,j,i) = IBCLR( wall_flags_0(k,j,i), 9 ) 544 ENDIF 545 ! 546 !-- u component - y-direction 547 !-- WS1 (12), WS3 (13), WS5 (14) 548 IF ( k <= nzb_u_inner(j+1,i) .OR. & 549 ( ( inflow_s .OR. outflow_s .OR. nest_bound_s ) & 550 .AND. j == nys ) .OR. & 551 ( ( inflow_n .OR. outflow_n .OR. nest_bound_n ) & 552 .AND. j == nyn ) ) & 553 THEN 554 wall_flags_0(k,j,i) = IBSET( wall_flags_0(k,j,i), 12 ) 555 ELSEIF ( ( k <= nzb_u_inner(j+2,i) .AND. & 556 k > nzb_u_inner(j+1,i) ) .OR. & 557 k <= nzb_u_inner(j-1,i) & 558 .OR. & 559 ( ( inflow_s .OR. outflow_s .OR. nest_bound_s ) & 560 .AND. j == nysv ) .OR. & 561 ( ( inflow_n .OR. outflow_n .OR. nest_bound_n ) & 562 .AND. j == nyn-1 ) ) & 563 THEN 564 wall_flags_0(k,j,i) = IBSET( wall_flags_0(k,j,i), 13 ) 565 ! 566 !-- Clear flag for WS1 567 wall_flags_0(k,j,i) = IBCLR( wall_flags_0(k,j,i), 12 ) 568 ELSEIF ( k > nzb_u_inner(j+1,i) .AND. k > nzb_u_inner(j+2,i) & 569 .AND. k > nzb_u_inner(j-1,i) ) & 570 THEN 571 wall_flags_0(k,j,i) = IBSET( wall_flags_0(k,j,i), 14 ) 572 ! 573 !-- Clear flag for WS1 574 wall_flags_0(k,j,i) = IBCLR( wall_flags_0(k,j,i), 12 ) 575 ENDIF 576 ! 577 !-- u component - z-direction 578 !-- WS1 (15), WS3 (16), WS5 (17) 579 flag_set = .FALSE. 580 IF ( k == nzb_u_inner(j,i) + 1 .OR. k == nzt ) THEN 581 wall_flags_0(k,j,i) = IBSET( wall_flags_0(k,j,i), 15 ) 582 flag_set = .TRUE. 583 ELSEIF ( k == nzb_u_inner(j,i) + 2 .OR. k == nzt - 1 ) THEN 584 wall_flags_0(k,j,i) = IBSET( wall_flags_0(k,j,i), 16 ) 585 flag_set = .TRUE. 586 ELSEIF ( k > nzb_u_inner(j,i) .AND. .NOT. flag_set ) THEN 587 wall_flags_0(k,j,i) = IBSET( wall_flags_0(k,j,i), 17 ) 588 ENDIF 589 590 ENDDO 591 ENDDO 592 ENDDO 593 594 DO i = nxl, nxr 595 DO j = nys, nyn 596 DO k = nzb+1, nzt 597 ! 598 !-- At first, set flags to WS1. 599 !-- Since fluxes are swapped in advec_ws.f90, this is necessary to 600 !-- in order to handle the left/south flux. 601 wall_flags_0(k,j,i) = IBSET( wall_flags_0(k,j,i), 18 ) 602 wall_flags_0(k,j,i) = IBSET( wall_flags_0(k,j,i), 21 ) 603 ! 604 !-- v component - x-direction 605 !-- WS1 (18), WS3 (19), WS5 (20) 606 IF ( k <= nzb_v_inner(j,i+1) .OR. & 607 ( ( inflow_l .OR. outflow_l .OR. nest_bound_l ) & 608 .AND. i == nxl ) .OR. & 609 ( ( inflow_r .OR. outflow_r .OR. nest_bound_r ) & 610 .AND. i == nxr ) ) & 611 THEN 612 wall_flags_0(k,j,i) = IBSET( wall_flags_0(k,j,i), 18 ) 613 ! 614 !-- WS3 615 ELSEIF ( ( k <= nzb_v_inner(j,i+2) .AND. & 616 k > nzb_v_inner(j,i+1) ) .OR. & 617 k <= nzb_v_inner(j,i-1) & 618 .OR. & 619 ( ( inflow_r .OR. outflow_r .OR. nest_bound_r ) & 620 .AND. i == nxr-1 ) .OR. & 621 ( ( inflow_l .OR. outflow_l .OR. nest_bound_l ) & 622 .AND. i == nxlu ) ) & 623 THEN 624 wall_flags_0(k,j,i) = IBSET( wall_flags_0(k,j,i), 19 ) 625 ! 626 !-- Clear flag for WS1 627 wall_flags_0(k,j,i) = IBCLR( wall_flags_0(k,j,i), 18 ) 628 ELSEIF ( k > nzb_v_inner(j,i+1) .AND. k > nzb_v_inner(j,i+2) & 629 .AND. k > nzb_v_inner(j,i-1) ) & 630 THEN 631 wall_flags_0(k,j,i) = IBSET( wall_flags_0(k,j,i), 20 ) 632 ! 633 !-- Clear flag for WS1 634 wall_flags_0(k,j,i) = IBCLR( wall_flags_0(k,j,i), 18 ) 635 ENDIF 636 ! 637 !-- v component - y-direction 638 !-- WS1 (21), WS3 (22), WS5 (23) 639 IF ( k <= nzb_v_inner(j+1,i) .OR. & 640 ( ( inflow_s .OR. outflow_s .OR. nest_bound_s ) & 641 .AND. j <= nysv ) .OR. & 642 ( ( inflow_n .OR. outflow_n .OR. nest_bound_n ) & 643 .AND. j == nyn ) ) & 644 THEN 645 wall_flags_0(k,j,i) = IBSET( wall_flags_0(k,j,i), 21 ) 646 ELSEIF ( ( k <= nzb_v_inner(j+2,i) .AND. & 647 k > nzb_v_inner(j+1,i) ) .OR. & 648 k <= nzb_v_inner(j-1,i) & 649 .OR. & 650 ( ( inflow_s .OR. outflow_s .OR. nest_bound_s ) & 651 .AND. j == nysv+1) .OR. & 652 ( ( inflow_n .OR. outflow_n .OR. nest_bound_n ) & 653 .AND. j == nyn-1 ) ) & 654 THEN 655 wall_flags_0(k,j,i) = IBSET( wall_flags_0(k,j,i), 22 ) 656 ! 657 !-- Clear flag for WS1 658 wall_flags_0(k,j,i) = IBCLR( wall_flags_0(k,j,i), 21 ) 659 ELSEIF ( k > nzb_v_inner(j+1,i) .AND. k > nzb_v_inner(j+2,i) & 660 .AND. k > nzb_v_inner(j-1,i) ) & 661 THEN 662 wall_flags_0(k,j,i) = IBSET( wall_flags_0(k,j,i), 23 ) 663 ! 664 !-- Clear flag for WS1 665 wall_flags_0(k,j,i) = IBCLR( wall_flags_0(k,j,i), 21 ) 666 ENDIF 667 ! 668 !-- v component - z-direction 669 !-- WS1 (24), WS3 (25), WS5 (26) 670 flag_set = .FALSE. 671 IF ( k == nzb_v_inner(j,i) + 1 .OR. k == nzt ) THEN 672 wall_flags_0(k,j,i) = IBSET( wall_flags_0(k,j,i), 24 ) 673 flag_set = .TRUE. 674 ELSEIF ( k == nzb_v_inner(j,i) + 2 .OR. k == nzt - 1 ) THEN 675 wall_flags_0(k,j,i) = IBSET( wall_flags_0(k,j,i), 25 ) 676 flag_set = .TRUE. 677 ELSEIF ( k > nzb_v_inner(j,i) .AND. .NOT. flag_set ) THEN 678 wall_flags_0(k,j,i) = IBSET( wall_flags_0(k,j,i), 26 ) 679 ENDIF 680 681 ENDDO 682 ENDDO 683 ENDDO 684 DO i = nxl, nxr 685 DO j = nys, nyn 686 DO k = nzb+1, nzt 687 ! 688 !-- At first, set flags to WS1. 689 !-- Since fluxes are swapped in advec_ws.f90, this is necessary to 690 !-- in order to handle the left/south flux. 691 wall_flags_0(k,j,i) = IBSET( wall_flags_0(k,j,i), 27 ) 692 wall_flags_0(k,j,i) = IBSET( wall_flags_0(k,j,i), 30 ) 693 ! 694 !-- w component - x-direction 695 !-- WS1 (27), WS3 (28), WS5 (29) 696 IF ( k <= nzb_w_inner(j,i+1) .OR. & 697 ( ( inflow_l .OR. outflow_l .OR. nest_bound_l ) & 698 .AND. i == nxl ) .OR. & 699 ( ( inflow_r .OR. outflow_r .OR. nest_bound_r ) & 700 .AND. i == nxr ) ) & 701 THEN 702 wall_flags_0(k,j,i) = IBSET( wall_flags_0(k,j,i), 27 ) 703 ELSEIF ( ( k <= nzb_w_inner(j,i+2) .AND. & 704 k > nzb_w_inner(j,i+1) ) .OR. & 705 k <= nzb_w_inner(j,i-1) & 706 .OR. & 707 ( ( inflow_r .OR. outflow_r .OR. nest_bound_r ) & 708 .AND. i == nxr-1 ) .OR. & 709 ( ( inflow_l .OR. outflow_l .OR. nest_bound_l ) & 710 .AND. i == nxlu ) ) & 711 THEN 712 wall_flags_0(k,j,i) = IBSET( wall_flags_0(k,j,i), 28 ) 713 ! 714 !-- Clear flag for WS1 715 wall_flags_0(k,j,i) = IBCLR( wall_flags_0(k,j,i), 27 ) 716 ELSEIF ( k > nzb_w_inner(j,i+1) .AND. k > nzb_w_inner(j,i+2) & 717 .AND. k > nzb_w_inner(j,i-1) ) & 718 THEN 719 wall_flags_0(k,j,i) = IBSET( wall_flags_0(k,j,i),29 ) 720 ! 721 !-- Clear flag for WS1 722 wall_flags_0(k,j,i) = IBCLR( wall_flags_0(k,j,i), 27 ) 723 ENDIF 724 ! 725 !-- w component - y-direction 726 !-- WS1 (30), WS3 (31), WS5 (32) 727 IF ( k <= nzb_w_inner(j+1,i) .OR. & 728 ( ( inflow_s .OR. outflow_s .OR. nest_bound_s ) & 729 .AND. j == nys ) .OR. & 730 ( ( inflow_n .OR. outflow_n .OR. nest_bound_n ) & 731 .AND. j == nyn ) ) & 732 THEN 733 wall_flags_0(k,j,i) = IBSET( wall_flags_0(k,j,i), 30 ) 734 ELSEIF ( ( k <= nzb_w_inner(j+2,i) .AND. & 735 k > nzb_w_inner(j+1,i) ) .OR. & 736 k <= nzb_w_inner(j-1,i) & 737 .OR. & 738 ( ( inflow_s .OR. outflow_s .OR. nest_bound_s ) & 739 .AND. j == nysv ) .OR. & 740 ( ( inflow_n .OR. outflow_n .OR. nest_bound_n ) & 741 .AND. j == nyn-1 ) ) & 742 THEN 743 wall_flags_0(k,j,i) = IBSET( wall_flags_0(k,j,i), 31 ) 744 ! 745 !-- Clear flag for WS1 746 wall_flags_0(k,j,i) = IBCLR( wall_flags_0(k,j,i), 30 ) 747 ELSEIF ( k > nzb_w_inner(j+1,i) .AND. k > nzb_w_inner(j+2,i) & 748 .AND. k > nzb_w_inner(j-1,i) ) & 749 THEN 750 wall_flags_00(k,j,i) = IBSET( wall_flags_00(k,j,i), 0 ) 751 ! 752 !-- Clear flag for WS1 753 wall_flags_0(k,j,i) = IBCLR( wall_flags_0(k,j,i), 30 ) 754 ENDIF 755 ! 756 !-- w component - z-direction 757 !-- WS1 (33), WS3 (34), WS5 (35) 758 flag_set = .FALSE. 759 IF ( k == nzb_w_inner(j,i) .OR. k == nzb_w_inner(j,i) + 1 & 760 .OR. k == nzt ) THEN 761 ! 762 !-- Please note, at k == nzb_w_inner(j,i) a flag is explictely 763 !-- set, although this is not a prognostic level. However, 764 !-- contrary to the advection of u,v and s this is necessary 765 !-- because flux_t(nzb_w_inner(j,i)) is used for the tendency 766 !-- at k == nzb_w_inner(j,i)+1. 767 wall_flags_00(k,j,i) = IBSET( wall_flags_00(k,j,i), 1 ) 768 flag_set = .TRUE. 769 ELSEIF ( k == nzb_w_inner(j,i) + 2 .OR. k == nzt - 1 ) THEN 770 wall_flags_00(k,j,i) = IBSET( wall_flags_00(k,j,i), 2 ) 771 flag_set = .TRUE. 772 ELSEIF ( k > nzb_w_inner(j,i) .AND. .NOT. flag_set ) THEN 773 wall_flags_00(k,j,i) = IBSET( wall_flags_00(k,j,i), 3 ) 774 ENDIF 775 776 ENDDO 777 ENDDO 778 ENDDO 779 780 ENDIF 781 782 783 ! 784 !-- Exchange 3D integer wall_flags. 785 IF ( momentum_advec == 'ws-scheme' .OR. scalar_advec == 'ws-scheme' & 786 .OR. scalar_advec == 'ws-scheme-mono' ) THEN 787 ! 788 !-- Exchange ghost points for advection flags 789 CALL exchange_horiz_int( wall_flags_0, nbgp ) 790 CALL exchange_horiz_int( wall_flags_00, nbgp ) 791 ! 792 !-- Set boundary flags at inflow and outflow boundary in case of 793 !-- non-cyclic boundary conditions. 794 IF ( inflow_l .OR. outflow_l .OR. nest_bound_l ) THEN 795 wall_flags_0(:,:,nxl-1) = wall_flags_0(:,:,nxl) 796 wall_flags_00(:,:,nxl-1) = wall_flags_00(:,:,nxl) 797 ENDIF 798 799 IF ( inflow_r .OR. outflow_r .OR. nest_bound_r ) THEN 800 wall_flags_0(:,:,nxr+1) = wall_flags_0(:,:,nxr) 801 wall_flags_00(:,:,nxr+1) = wall_flags_00(:,:,nxr) 802 ENDIF 803 804 IF ( inflow_n .OR. outflow_n .OR. nest_bound_n ) THEN 805 wall_flags_0(:,nyn+1,:) = wall_flags_0(:,nyn,:) 806 wall_flags_00(:,nyn+1,:) = wall_flags_00(:,nyn,:) 807 ENDIF 808 809 IF ( inflow_s .OR. outflow_s .OR. nest_bound_s ) THEN 810 wall_flags_0(:,nys-1,:) = wall_flags_0(:,nys,:) 811 wall_flags_00(:,nys-1,:) = wall_flags_00(:,nys,:) 812 ENDIF 813 814 ENDIF 815 816 817 END SUBROUTINE ws_init_flags 366 818 367 819
Note: See TracChangeset
for help on using the changeset viewer.