Changeset 2232 for palm/trunk/SOURCE/buoyancy.f90
- Timestamp:
- May 30, 2017 5:47:52 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/buoyancy.f90
r2119 r2232 20 20 ! Current revisions: 21 21 ! ------------------ 22 ! 22 ! Adjustments to new topography concept 23 23 ! 24 24 ! Former revisions: … … 131 131 USE indices, & 132 132 ONLY: nxl, nxlg, nxlu, nxr, nxrg, nyn, nyng, nys, nysg, nzb, & 133 nz b_s_inner, nzt133 nzt, wall_flags_0 134 134 135 135 USE kinds … … 157 157 DO i = nxl, nxr 158 158 DO j = nys, nyn 159 DO k = nzb _s_inner(j,i)+1, nzt-1160 tend(k,j,i) = tend(k,j,i) + atmos_ocean_sign * g * 0.5_wp * &161 ( &159 DO k = nzb+1, nzt-1 160 tend(k,j,i) = tend(k,j,i) + atmos_ocean_sign * g * 0.5_wp * & 161 ( & 162 162 ( var(k,j,i) - ref_state(k) ) / ref_state(k) + & 163 163 ( var(k+1,j,i) - ref_state(k+1) ) / ref_state(k+1) & 164 ) 164 ) * MERGE( 1.0_wp, 0.0_wp, & 165 BTEST( wall_flags_0(k,j,i), 0 ) ) 165 166 ENDDO 166 167 ENDDO … … 178 179 DO i = nxlu, nxr 179 180 DO j = nys, nyn 180 DO k = nzb _s_inner(j,i)+1, nzt-1181 tend(k,j,i) = tend(k,j,i) + g * sin_alpha_surface * &181 DO k = nzb+1, nzt-1 182 tend(k,j,i) = tend(k,j,i) + g * sin_alpha_surface * & 182 183 0.5_wp * ( ( pt(k,j,i-1) + pt(k,j,i) ) & 183 184 - ( pt_slope_ref(k,i-1) + pt_slope_ref(k,i) ) & 184 ) / pt_surface 185 ) / pt_surface & 186 * MERGE( 1.0_wp, 0.0_wp, & 187 BTEST( wall_flags_0(k,j,i), 0 ) ) 185 188 ENDDO 186 189 ENDDO … … 191 194 DO i = nxl, nxr 192 195 DO j = nys, nyn 193 DO k = nzb _s_inner(j,i)+1, nzt-1194 tend(k,j,i) = tend(k,j,i) + g * cos_alpha_surface * &196 DO k = nzb+1, nzt-1 197 tend(k,j,i) = tend(k,j,i) + g * cos_alpha_surface * & 195 198 0.5_wp * ( ( pt(k,j,i) + pt(k+1,j,i) ) & 196 199 - ( pt_slope_ref(k,i) + pt_slope_ref(k+1,i) ) & 197 ) / pt_surface 200 ) / pt_surface & 201 * MERGE( 1.0_wp, 0.0_wp, & 202 BTEST( wall_flags_0(k,j,i), 0 ) ) 198 203 ENDDO 199 204 ENDDO … … 231 236 232 237 USE indices, & 233 ONLY: nxlg, nxrg, nyng, nysg, nzb, nz b_s_inner, nzt238 ONLY: nxlg, nxrg, nyng, nysg, nzb, nzt, wall_flags_0 234 239 235 240 USE kinds … … 256 261 ! 257 262 !-- Normal case: horizontal surface 258 DO k = nzb _s_inner(j,i)+1, nzt-1263 DO k = nzb+1, nzt-1 259 264 tend(k,j,i) = tend(k,j,i) + atmos_ocean_sign * g * 0.5_wp * ( & 260 265 ( var(k,j,i) - ref_state(k) ) / ref_state(k) + & 261 266 ( var(k+1,j,i) - ref_state(k+1) ) / ref_state(k+1) & 262 ) 267 ) & 268 * MERGE( 1.0_wp, 0.0_wp, & 269 BTEST( wall_flags_0(k,j,i), 0 ) ) 263 270 ENDDO 264 271 … … 272 279 IF ( wind_component == 1 ) THEN 273 280 274 DO k = nzb _s_inner(j,i)+1, nzt-1275 tend(k,j,i) = tend(k,j,i) + g * sin_alpha_surface * &281 DO k = nzb+1, nzt-1 282 tend(k,j,i) = tend(k,j,i) + g * sin_alpha_surface * & 276 283 0.5_wp * ( ( pt(k,j,i-1) + pt(k,j,i) ) & 277 284 - ( pt_slope_ref(k,i-1) + pt_slope_ref(k,i) ) & 278 ) / pt_surface 285 ) / pt_surface & 286 * MERGE( 1.0_wp, 0.0_wp, & 287 BTEST( wall_flags_0(k,j,i), 0 ) ) 279 288 ENDDO 280 289 281 290 ELSEIF ( wind_component == 3 ) THEN 282 291 283 DO k = nzb _s_inner(j,i)+1, nzt-1284 tend(k,j,i) = tend(k,j,i) + g * cos_alpha_surface * &292 DO k = nzb+1, nzt-1 293 tend(k,j,i) = tend(k,j,i) + g * cos_alpha_surface * & 285 294 0.5_wp * ( ( pt(k,j,i) + pt(k+1,j,i) ) & 286 295 - ( pt_slope_ref(k,i) + pt_slope_ref(k+1,i) ) & 287 ) / pt_surface 296 ) / pt_surface & 297 * MERGE( 1.0_wp, 0.0_wp, & 298 BTEST( wall_flags_0(k,j,i), 0 ) ) 288 299 ENDDO 289 300
Note: See TracChangeset
for help on using the changeset viewer.