Changeset 709 for palm/trunk/SOURCE/init_grid.f90
- Timestamp:
- Mar 30, 2011 9:31:40 AM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/init_grid.f90
r708 r709 4 4 ! Current revisions: 5 5 ! ----------------- 6 ! 6 ! formatting adjustments 7 7 ! 8 8 ! Former revisions: … … 89 89 90 90 ! 91 ! Computation of the array bounds.91 !-- Calculation of horizontal array bounds including ghost layers 92 92 nxlg = nxl - nbgp 93 93 nxrg = nxr + nbgp 94 94 nysg = nys - nbgp 95 95 nyng = nyn + nbgp 96 96 97 ! 97 98 !-- Allocate grid arrays … … 196 197 197 198 ! 198 !-- In case of FFT method or SOR swap inverse grid lenght ddzu to ddzu_fft and199 !-- modify the lowest entry. This is necessary for atmosphere runs, because200 !-- zu(0) and so ddzu(1) changed. Accompanied with this modified arrays201 !-- pressure solver uses wrong values and this causes kinks in the profiles202 !-- of turbulent quantities.203 IF ( psolver /= 'multigrid' ) THEN199 !-- The FFT- SOR-pressure solvers assume grid spacings of a staggered grid 200 !-- everywhere. For the actual grid, the grid spacing at the lowest level 201 !-- is only dz/2, but should be dz. Therefore, an additional array 202 !-- containing with appropriate grid information is created for these 203 !-- solvers. 204 IF ( psolver /= 'multigrid' ) THEN 204 205 ALLOCATE( ddzu_pres(1:nzt+1) ) 205 206 ddzu_pres = ddzu 206 IF( .NOT. ocean ) ddzu_pres(1) = ddzu_pres(2)207 IF( .NOT. ocean ) ddzu_pres(1) = ddzu_pres(2) ! change for lowest level 207 208 ENDIF 208 209 … … 221 222 dzu_mg(:,maximum_grid_level) = dzu 222 223 ! 223 !-- To ensure a equally spaced grid. For ocean runs this is not necessary, 224 !-- Next line to ensure an equally spaced grid. For ocean runs this is not 225 !-- necessary, 224 226 !-- because zu(0) does not changed so far. Also this would cause errors 225 227 !-- if a vertical stretching for ocean runs is used. 226 228 IF ( .NOT. ocean ) dzu_mg(1,maximum_grid_level) = dzu(2) 229 227 230 dzw_mg(:,maximum_grid_level) = dzw 228 231 nzt_l = nzt … … 1132 1135 1133 1136 ! 1134 !-- Need to set lateral boundary conditions for l_wall 1135 1137 !-- Set lateral boundary conditions for l_wall 1136 1138 CALL exchange_horiz( l_wall, nbgp ) 1137 1139
Note: See TracChangeset
for help on using the changeset viewer.