Changeset 1762 for palm/trunk/SOURCE/poismg.f90
- Timestamp:
- Feb 25, 2016 12:31:13 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/poismg.f90
r1683 r1762 19 19 ! Current revisions: 20 20 ! ----------------- 21 ! 21 ! Introduction of nested domain feature 22 22 ! 23 23 ! Former revisions: … … 259 259 USE control_parameters, & 260 260 ONLY: bc_lr_cyc, bc_ns_cyc, grid_level, ibc_p_b, ibc_p_t, inflow_l, & 261 inflow_n, inflow_r, inflow_s, outflow_l, outflow_n, outflow_r, & 261 inflow_n, inflow_r, inflow_s, nest_bound_l, nest_bound_n, & 262 nest_bound_r, nest_bound_s, outflow_l, outflow_n, outflow_r, & 262 263 outflow_s 263 264 … … 353 354 354 355 IF ( .NOT. bc_lr_cyc ) THEN 355 IF ( inflow_l .OR. outflow_l ) r(:,:,nxl_mg(l)-1) = r(:,:,nxl_mg(l)) 356 IF ( inflow_r .OR. outflow_r ) r(:,:,nxr_mg(l)+1) = r(:,:,nxr_mg(l)) 356 IF ( inflow_l .OR. outflow_l .OR. nest_bound_l ) THEN 357 r(:,:,nxl_mg(l)-1) = r(:,:,nxl_mg(l)) 358 ENDIF 359 IF ( inflow_r .OR. outflow_r .OR. nest_bound_r ) THEN 360 r(:,:,nxr_mg(l)+1) = r(:,:,nxr_mg(l)) 361 ENDIF 357 362 ENDIF 358 363 359 364 IF ( .NOT. bc_ns_cyc ) THEN 360 IF ( inflow_n .OR. outflow_n ) r(:,nyn_mg(l)+1,:) = r(:,nyn_mg(l),:) 361 IF ( inflow_s .OR. outflow_s ) r(:,nys_mg(l)-1,:) = r(:,nys_mg(l),:) 365 IF ( inflow_n .OR. outflow_n .OR. nest_bound_n ) THEN 366 r(:,nyn_mg(l)+1,:) = r(:,nyn_mg(l),:) 367 ENDIF 368 IF ( inflow_s .OR. outflow_s .OR. nest_bound_s ) THEN 369 r(:,nys_mg(l)-1,:) = r(:,nys_mg(l),:) 370 ENDIF 362 371 ENDIF 363 372 … … 393 402 USE control_parameters, & 394 403 ONLY: bc_lr_cyc, bc_ns_cyc, grid_level, ibc_p_b, ibc_p_t, inflow_l, & 395 inflow_n, inflow_r, inflow_s, outflow_l, outflow_n, outflow_r, & 404 inflow_n, inflow_r, inflow_s, nest_bound_l, nest_bound_n, & 405 nest_bound_r, nest_bound_s, outflow_l, outflow_n, outflow_r, & 396 406 outflow_s 397 407 … … 560 570 561 571 IF ( .NOT. bc_lr_cyc ) THEN 562 IF (inflow_l .OR. outflow_l) f_mg(:,:,nxl_mg(l)-1) = f_mg(:,:,nxl_mg(l)) 563 IF (inflow_r .OR. outflow_r) f_mg(:,:,nxr_mg(l)+1) = f_mg(:,:,nxr_mg(l)) 572 IF ( inflow_l .OR. outflow_l .OR. nest_bound_l ) THEN 573 f_mg(:,:,nxl_mg(l)-1) = f_mg(:,:,nxl_mg(l)) 574 ENDIF 575 IF ( inflow_r .OR. outflow_r .OR. nest_bound_r ) THEN 576 f_mg(:,:,nxr_mg(l)+1) = f_mg(:,:,nxr_mg(l)) 577 ENDIF 564 578 ENDIF 565 579 566 580 IF ( .NOT. bc_ns_cyc ) THEN 567 IF (inflow_n .OR. outflow_n) f_mg(:,nyn_mg(l)+1,:) = f_mg(:,nyn_mg(l),:) 568 IF (inflow_s .OR. outflow_s) f_mg(:,nys_mg(l)-1,:) = f_mg(:,nys_mg(l),:) 581 IF ( inflow_n .OR. outflow_n .OR. nest_bound_n ) THEN 582 f_mg(:,nyn_mg(l)+1,:) = f_mg(:,nyn_mg(l),:) 583 ENDIF 584 IF ( inflow_s .OR. outflow_s .OR. nest_bound_s ) THEN 585 f_mg(:,nys_mg(l)-1,:) = f_mg(:,nys_mg(l),:) 586 ENDIF 569 587 ENDIF 570 588 … … 600 618 USE control_parameters, & 601 619 ONLY: bc_lr_cyc, bc_ns_cyc, grid_level, ibc_p_b, ibc_p_t, inflow_l, & 602 inflow_n, inflow_r, inflow_s, outflow_l, outflow_n, outflow_r, & 620 inflow_n, inflow_r, inflow_s, nest_bound_l, nest_bound_n, & 621 nest_bound_r, nest_bound_s, outflow_l, outflow_n, outflow_r, & 603 622 outflow_s 604 623 … … 668 687 669 688 IF ( .NOT. bc_lr_cyc ) THEN 670 IF (inflow_l .OR. outflow_l) temp(:,:,nxl_mg(l)-1) = temp(:,:,nxl_mg(l)) 671 IF (inflow_r .OR. outflow_r) temp(:,:,nxr_mg(l)+1) = temp(:,:,nxr_mg(l)) 689 IF ( inflow_l .OR. outflow_l .OR. nest_bound_l ) THEN 690 temp(:,:,nxl_mg(l)-1) = temp(:,:,nxl_mg(l)) 691 ENDIF 692 IF ( inflow_r .OR. outflow_r .OR. nest_bound_r ) THEN 693 temp(:,:,nxr_mg(l)+1) = temp(:,:,nxr_mg(l)) 694 ENDIF 672 695 ENDIF 673 696 674 697 IF ( .NOT. bc_ns_cyc ) THEN 675 IF (inflow_n .OR. outflow_n) temp(:,nyn_mg(l)+1,:) = temp(:,nyn_mg(l),:) 676 IF (inflow_s .OR. outflow_s) temp(:,nys_mg(l)-1,:) = temp(:,nys_mg(l),:) 698 IF ( inflow_n .OR. outflow_n .OR. nest_bound_n ) THEN 699 temp(:,nyn_mg(l)+1,:) = temp(:,nyn_mg(l),:) 700 ENDIF 701 IF ( inflow_s .OR. outflow_s .OR. nest_bound_s ) THEN 702 temp(:,nys_mg(l)-1,:) = temp(:,nys_mg(l),:) 703 ENDIF 677 704 ENDIF 678 705 … … 709 736 USE control_parameters, & 710 737 ONLY: bc_lr_cyc, bc_ns_cyc, grid_level, ibc_p_b, ibc_p_t, inflow_l, & 711 inflow_n, inflow_r, inflow_s, ngsrb, outflow_l, outflow_n, & 738 inflow_n, inflow_r, inflow_s, ngsrb, nest_bound_l, & 739 nest_bound_n, nest_bound_r, nest_bound_s, outflow_l, outflow_n, & 712 740 outflow_r, outflow_s 713 741 … … 1068 1096 1069 1097 IF ( .NOT. bc_lr_cyc ) THEN 1070 IF ( inflow_l .OR. outflow_l ) THEN1098 IF ( inflow_l .OR. outflow_l .OR. nest_bound_l ) THEN 1071 1099 p_mg(:,:,nxl_mg(l)-1) = p_mg(:,:,nxl_mg(l)) 1072 1100 ENDIF 1073 IF ( inflow_r .OR. outflow_r ) THEN1101 IF ( inflow_r .OR. outflow_r .OR. nest_bound_r ) THEN 1074 1102 p_mg(:,:,nxr_mg(l)+1) = p_mg(:,:,nxr_mg(l)) 1075 1103 ENDIF … … 1077 1105 1078 1106 IF ( .NOT. bc_ns_cyc ) THEN 1079 IF ( inflow_n .OR. outflow_n ) THEN1107 IF ( inflow_n .OR. outflow_n .OR. nest_bound_n ) THEN 1080 1108 p_mg(:,nyn_mg(l)+1,:) = p_mg(:,nyn_mg(l),:) 1081 1109 ENDIF 1082 IF ( inflow_s .OR. outflow_s ) THEN1110 IF ( inflow_s .OR. outflow_s .OR. nest_bound_s ) THEN 1083 1111 p_mg(:,nys_mg(l)-1,:) = p_mg(:,nys_mg(l),:) 1084 1112 ENDIF … … 1296 1324 gamma_mg, grid_level, grid_level_count, ibc_p_b, ibc_p_t, & 1297 1325 inflow_l, inflow_n, inflow_r, inflow_s, maximum_grid_level, & 1298 mg_switch_to_pe0_level, mg_switch_to_pe0, ngsrb, outflow_l, & 1299 outflow_n, outflow_r, outflow_s 1326 mg_switch_to_pe0_level, mg_switch_to_pe0, nest_domain, & 1327 nest_bound_l, nest_bound_n, nest_bound_r, nest_bound_s, ngsrb, & 1328 outflow_l, outflow_n, outflow_r, outflow_s 1300 1329 1301 1330 … … 1446 1475 outflow_l = .TRUE. 1447 1476 outflow_r = .FALSE. 1477 ELSEIF ( nest_domain ) THEN 1478 nest_bound_l = .TRUE. 1479 nest_bound_r = .TRUE. 1448 1480 ENDIF 1449 1481 … … 1458 1490 outflow_n = .TRUE. 1459 1491 outflow_s = .FALSE. 1492 ELSEIF ( nest_domain ) THEN 1493 nest_bound_s = .TRUE. 1494 nest_bound_n = .TRUE. 1460 1495 ENDIF 1461 1496 … … 1528 1563 ELSEIF ( bc_lr_raddir ) THEN 1529 1564 outflow_l = .TRUE. 1565 ELSEIF ( nest_domain ) THEN 1566 nest_bound_l = .TRUE. 1530 1567 ENDIF 1531 1568 ENDIF … … 1536 1573 ELSEIF ( bc_lr_raddir ) THEN 1537 1574 inflow_r = .TRUE. 1575 ELSEIF ( nest_domain ) THEN 1576 nest_bound_r = .TRUE. 1538 1577 ENDIF 1539 1578 ENDIF … … 1544 1583 ELSEIF ( bc_ns_raddir ) THEN 1545 1584 inflow_s = .TRUE. 1585 ELSEIF ( nest_domain ) THEN 1586 nest_bound_s = .TRUE. 1546 1587 ENDIF 1547 1588 ENDIF … … 1552 1593 ELSEIF ( bc_ns_raddir ) THEN 1553 1594 outflow_n = .TRUE. 1595 ELSEIF ( nest_domain ) THEN 1596 nest_bound_n = .TRUE. 1554 1597 ENDIF 1555 1598 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.