Changeset 2021 for palm/trunk/SOURCE/init_grid.f90
 Timestamp:
 Oct 7, 2016 2:08:57 PM (8 years ago)
 File:

 1 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 noncyclic 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 wsscheme, the arrays need to be allocated as they are1424 ! required in the wsscheme, 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 wsscheme to degrade order near walls 1431 ! Init flags for wsscheme to degrade order of the numerics near walls, i.e. 1432 ! to decrease the numerical stencil appropriately. 1430 1433 IF ( momentum_advec == 'wsscheme' .OR. scalar_advec == 'wsscheme' .OR.& 1431 1434 scalar_advec == 'wsschememono' ) THEN
Note: See TracChangeset
for help on using the changeset viewer.