Changeset 2021 for palm/trunk
- Timestamp:
- Oct 7, 2016 2:08:57 PM (8 years ago)
- Location:
- palm/trunk/SOURCE
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/init_grid.f90
r2001 r2021 20 20 ! Current revisions: 21 21 ! ----------------- 22 ! 22 ! Bugfix: setting Neumann boundary conditions for topography required for 23 ! topography flags in multigrid_noopt solver 23 24 ! 24 25 ! Former revisions: … … 211 212 io_blocks, io_group, inflow_l, inflow_n, inflow_r, inflow_s, & 212 213 masking_method, maximum_grid_level, message_string, & 213 momentum_advec, nest_domain, ocean, outflow_l, outflow_n, & 214 momentum_advec, nest_domain, nest_bound_l, nest_bound_n, & 215 nest_bound_r, nest_bound_s, ocean, outflow_l, outflow_n, & 214 216 outflow_r, outflow_s, psolver, scalar_advec, topography, & 215 217 topography_grid_convention, use_surface_fluxes, use_top_fluxes, & 216 wall_adjustment_factor 217 218 wall_adjustment_factor 219 218 220 USE grid_variables, & 219 221 ONLY: ddx, ddx2, ddx2_mg, ddy, ddy2, ddy2_mg, dx, dx2, dy, dy2, fwxm, & … … 1343 1345 !-- Set non-cyclic boundary conditions on respective multigrid level 1344 1346 IF ( .NOT. bc_ns_cyc ) THEN 1345 IF ( nys == 0) THEN1347 IF ( inflow_s .OR. outflow_s .OR. nest_bound_s ) THEN 1346 1348 nzb_tmp(-2,:) = nzb_tmp(0,:) 1347 1349 nzb_tmp(-1,:) = nzb_tmp(0,:) 1348 1350 ENDIF 1349 IF ( nyn == ny) THEN1350 nzb_tmp(ny +2,:) = nzb_tmp(ny,:)1351 nzb_tmp(ny +1,:) = nzb_tmp(ny,:)1351 IF ( inflow_n .OR. outflow_n .OR. nest_bound_n ) THEN 1352 nzb_tmp(nyn_l+2,:) = nzb_tmp(nyn_l,:) 1353 nzb_tmp(nyn_l+1,:) = nzb_tmp(nyn_l,:) 1352 1354 ENDIF 1353 1355 ENDIF 1354 1356 IF ( .NOT. bc_lr_cyc ) THEN 1355 IF ( nxl == 0) THEN1357 IF ( inflow_l .OR. outflow_l .OR. nest_bound_l ) THEN 1356 1358 nzb_tmp(:,-2) = nzb_tmp(:,0) 1357 1359 nzb_tmp(:,-1) = nzb_tmp(:,0) 1358 1360 ENDIF 1359 IF ( nxr == nx) THEN1360 nzb_tmp(:,nx +1) = nzb_tmp(:,nx)1361 nzb_tmp(:,nx +2) = nzb_tmp(:,nx)1361 IF ( inflow_r .OR. outflow_r .OR. nest_bound_r ) THEN 1362 nzb_tmp(:,nxr_l+1) = nzb_tmp(:,nxr_l) 1363 nzb_tmp(:,nxr_l+2) = nzb_tmp(:,nxr_l) 1362 1364 ENDIF 1363 1365 ENDIF … … 1420 1422 ! 1421 1423 !-- Allocate flags needed for masking walls. Even though these flags are only 1422 !-- required in the ws-scheme, the arrays need to be allocated as they are1424 !-- required in the ws-scheme, the arrays need to be allocated here as they are 1423 1425 !-- used in OpenACC directives. 1424 1426 ALLOCATE( wall_flags_0(nzb:nzt+1,nysg:nyng,nxlg:nxrg), & … … 1427 1429 wall_flags_00 = 0 1428 1430 ! 1429 !-- Init flags for ws-scheme to degrade order near walls 1431 !-- Init flags for ws-scheme to degrade order of the numerics near walls, i.e. 1432 !-- to decrease the numerical stencil appropriately. 1430 1433 IF ( momentum_advec == 'ws-scheme' .OR. scalar_advec == 'ws-scheme' .OR.& 1431 1434 scalar_advec == 'ws-scheme-mono' ) THEN -
palm/trunk/SOURCE/poismg_mod.f90
r2001 r2021 20 20 ! Current revisions: 21 21 ! ----------------- 22 ! 22 ! Bugfix: restore nest_bound_(l/r/s/n) in case of mg_switch_to_pe0 23 23 ! 24 24 ! Former revisions: … … 1607 1607 1608 1608 ! 1609 !-- For non-cyclic lateral boundary conditions , restore the1610 !-- in-/outflow conditions1609 !-- For non-cyclic lateral boundary conditions and in case of nesting, 1610 !-- restore the in-/outflow conditions. 1611 1611 inflow_l = .FALSE.; inflow_r = .FALSE. 1612 1612 inflow_n = .FALSE.; inflow_s = .FALSE. 1613 1613 outflow_l = .FALSE.; outflow_r = .FALSE. 1614 1614 outflow_n = .FALSE.; outflow_s = .FALSE. 1615 ! 1616 !-- In case of nesting, restore lateral boundary conditions 1617 IF ( nest_domain ) THEN 1618 nest_bound_l = .FALSE. 1619 nest_bound_r = .FALSE. 1620 nest_bound_s = .FALSE. 1621 nest_bound_n = .FALSE. 1622 ENDIF 1615 1623 1616 1624 IF ( pleft == MPI_PROC_NULL ) THEN -
palm/trunk/SOURCE/poismg_noopt.f90
r2001 r2021 20 20 ! Current revisions: 21 21 ! ----------------- 22 ! 22 ! Bugfix: restore nest_bound_(l/r/s/n) in case of mg_switch_to_pe0 23 23 ! 24 24 ! Former revisions: … … 1561 1561 1562 1562 ! 1563 !-- For non-cyclic lateral boundary conditions , restore the1564 !-- in-/outflow conditions1563 !-- For non-cyclic lateral boundary conditions and in case of nesting, 1564 !-- restore the in-/outflow conditions. 1565 1565 inflow_l = .FALSE.; inflow_r = .FALSE. 1566 1566 inflow_n = .FALSE.; inflow_s = .FALSE. 1567 1567 outflow_l = .FALSE.; outflow_r = .FALSE. 1568 1568 outflow_n = .FALSE.; outflow_s = .FALSE. 1569 ! 1570 !-- In case of nesting, restore lateral boundary conditions 1571 IF ( nest_domain ) THEN 1572 nest_bound_l = .FALSE. 1573 nest_bound_r = .FALSE. 1574 nest_bound_s = .FALSE. 1575 nest_bound_n = .FALSE. 1576 ENDIF 1569 1577 1570 1578 IF ( pleft == MPI_PROC_NULL ) THEN
Note: See TracChangeset
for help on using the changeset viewer.