Changeset 3182 for palm/trunk/SOURCE/init_pegrid.f90
- Timestamp:
- Jul 27, 2018 1:36:03 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/init_pegrid.f90
r3058 r3182 20 20 ! Current revisions: 21 21 ! ------------------ 22 ! 22 ! Rename variables and boundary conditions in mesoscale-offline nesting mode 23 23 ! 24 24 ! Former revisions: … … 239 239 240 240 USE control_parameters, & 241 ONLY: bc_lr, bc_ns, coupling_mode, coupling_mode_remote, & 242 coupling_topology, force_bound_l, force_bound_n, force_bound_r, & 243 force_bound_s, gathered_size, grid_level, & 244 grid_level_count, inflow_l, inflow_n, inflow_r, inflow_s, & 245 maximum_grid_level, message_string, & 246 mg_switch_to_pe0_level, momentum_advec, nest_bound_l, & 247 nest_bound_n, nest_bound_r, nest_bound_s, nest_domain, neutral, & 248 psolver, outflow_l, outflow_n, outflow_r, outflow_s, & 249 outflow_source_plane, recycling_width, scalar_advec, & 241 ONLY: bc_dirichlet_l, bc_dirichlet_n, bc_dirichlet_r, bc_dirichlet_s, & 242 bc_lr, bc_ns, bc_radiation_l, bc_radiation_n, bc_radiation_r, & 243 bc_radiation_s, coupling_mode, coupling_mode_remote, & 244 coupling_topology, gathered_size, grid_level, & 245 grid_level_count, maximum_grid_level, message_string, & 246 mg_switch_to_pe0_level, momentum_advec, neutral, & 247 psolver, outflow_source_plane, recycling_width, scalar_advec, & 250 248 subdomain_size, turbulent_outflow, y_shift 251 249 … … 1232 1230 !-- Setting of flags for inflow/outflow/nesting conditions. 1233 1231 IF ( pleft == MPI_PROC_NULL ) THEN 1234 IF ( bc_lr == 'dirichlet/radiation' ) THEN 1235 inflow_l = .TRUE. 1232 IF ( bc_lr == 'dirichlet/radiation' .OR. bc_lr == 'nested' .OR. & 1233 bc_lr == 'nesting_offline' ) THEN 1234 bc_dirichlet_l = .TRUE. 1236 1235 ELSEIF ( bc_lr == 'radiation/dirichlet' ) THEN 1237 outflow_l = .TRUE. 1238 ELSEIF ( bc_lr == 'nested' ) THEN 1239 nest_bound_l = .TRUE. 1240 ELSEIF ( bc_lr == 'forcing' ) THEN 1241 force_bound_l = .TRUE. 1236 bc_radiation_l = .TRUE. 1242 1237 ENDIF 1243 1238 ENDIF … … 1245 1240 IF ( pright == MPI_PROC_NULL ) THEN 1246 1241 IF ( bc_lr == 'dirichlet/radiation' ) THEN 1247 outflow_r = .TRUE. 1248 ELSEIF ( bc_lr == 'radiation/dirichlet' ) THEN 1249 inflow_r = .TRUE. 1250 ELSEIF ( bc_lr == 'nested' ) THEN 1251 nest_bound_r = .TRUE. 1252 ELSEIF ( bc_lr == 'forcing' ) THEN 1253 force_bound_r = .TRUE. 1242 bc_radiation_r = .TRUE. 1243 ELSEIF ( bc_lr == 'radiation/dirichlet' .OR. bc_lr == 'nested' .OR. & 1244 bc_lr == 'nesting_offline' ) THEN 1245 bc_dirichlet_r = .TRUE. 1254 1246 ENDIF 1255 1247 ENDIF … … 1257 1249 IF ( psouth == MPI_PROC_NULL ) THEN 1258 1250 IF ( bc_ns == 'dirichlet/radiation' ) THEN 1259 outflow_s = .TRUE. 1251 bc_radiation_s = .TRUE. 1252 ELSEIF ( bc_ns == 'radiation/dirichlet' .OR. bc_ns == 'nested' .OR. & 1253 bc_ns == 'nesting_offline' ) THEN 1254 bc_dirichlet_s = .TRUE. 1255 ENDIF 1256 ENDIF 1257 1258 IF ( pnorth == MPI_PROC_NULL ) THEN 1259 IF ( bc_ns == 'dirichlet/radiation' .OR. bc_ns == 'nested' .OR. & 1260 bc_ns == 'nesting_offline' ) THEN 1261 bc_dirichlet_n = .TRUE. 1260 1262 ELSEIF ( bc_ns == 'radiation/dirichlet' ) THEN 1261 inflow_s = .TRUE. 1262 ELSEIF ( bc_ns == 'nested' ) THEN 1263 nest_bound_s = .TRUE. 1264 ELSEIF ( bc_ns == 'forcing' ) THEN 1265 force_bound_s = .TRUE. 1266 ENDIF 1267 ENDIF 1268 1269 IF ( pnorth == MPI_PROC_NULL ) THEN 1270 IF ( bc_ns == 'dirichlet/radiation' ) THEN 1271 inflow_n = .TRUE. 1272 ELSEIF ( bc_ns == 'radiation/dirichlet' ) THEN 1273 outflow_n = .TRUE. 1274 ELSEIF ( bc_ns == 'nested' ) THEN 1275 nest_bound_n = .TRUE. 1276 ELSEIF ( bc_ns == 'forcing' ) THEN 1277 force_bound_n = .TRUE. 1263 bc_radiation_n = .TRUE. 1278 1264 ENDIF 1279 1265 ENDIF … … 1283 1269 !-- only at the left lateral boundary. 1284 1270 IF ( use_syn_turb_gen ) THEN 1285 IF ( force_bound_l .OR. nest_bound_l .OR. inflow_l ) THEN1271 IF ( bc_dirichlet_l ) THEN 1286 1272 id_stg_left_l = myidx 1287 1273 ELSE 1288 1274 id_stg_left_l = 0 1289 1275 ENDIF 1290 IF ( force_bound_r .OR. nest_bound_r ) THEN1276 IF ( bc_dirichlet_r ) THEN 1291 1277 id_stg_right_l = myidx 1292 1278 ELSE 1293 1279 id_stg_right_l = 0 1294 1280 ENDIF 1295 IF ( force_bound_s .OR. nest_bound_s ) THEN1281 IF ( bc_dirichlet_s ) THEN 1296 1282 id_stg_south_l = myidy 1297 1283 ELSE 1298 1284 id_stg_south_l = 0 1299 1285 ENDIF 1300 IF ( force_bound_n .OR. nest_bound_n ) THEN1286 IF ( bc_dirichlet_n ) THEN 1301 1287 id_stg_north_l = myidy 1302 1288 ELSE … … 1324 1310 ! 1325 1311 !-- Broadcast the id of the inflow PE 1326 IF ( inflow_l ) THEN1312 IF ( bc_dirichlet_l ) THEN 1327 1313 id_inflow_l = myidx 1328 1314 ELSE … … 1350 1336 IF ( turbulent_outflow ) THEN 1351 1337 1352 IF ( outflow_r ) THEN1338 IF ( bc_radiation_r ) THEN 1353 1339 id_outflow_l = myidx 1354 1340 ELSE … … 1375 1361 #else 1376 1362 IF ( bc_lr == 'dirichlet/radiation' ) THEN 1377 inflow_l= .TRUE.1378 outflow_r = .TRUE.1363 bc_dirichlet_l = .TRUE. 1364 bc_radiation_r = .TRUE. 1379 1365 ELSEIF ( bc_lr == 'radiation/dirichlet' ) THEN 1380 outflow_l = .TRUE.1381 inflow_r= .TRUE.1366 bc_radiation_l = .TRUE. 1367 bc_dirichlet_r = .TRUE. 1382 1368 ENDIF 1383 1369 1384 1370 IF ( bc_ns == 'dirichlet/radiation' ) THEN 1385 inflow_n= .TRUE.1386 outflow_s = .TRUE.1371 bc_dirichlet_n = .TRUE. 1372 bc_radiation_s = .TRUE. 1387 1373 ELSEIF ( bc_ns == 'radiation/dirichlet' ) THEN 1388 outflow_n = .TRUE.1389 inflow_s= .TRUE.1374 bc_radiation_n = .TRUE. 1375 bc_dirichlet_s = .TRUE. 1390 1376 ENDIF 1391 1377 #endif … … 1394 1380 !-- At the inflow or outflow, u or v, respectively, have to be calculated for 1395 1381 !-- one more grid point. 1396 IF ( inflow_l .OR. outflow_l .OR. nest_bound_l .OR. force_bound_l ) THEN1382 IF ( bc_dirichlet_l .OR. bc_radiation_l ) THEN 1397 1383 nxlu = nxl + 1 1398 1384 ELSE 1399 1385 nxlu = nxl 1400 1386 ENDIF 1401 IF ( inflow_s .OR. outflow_s .OR. nest_bound_s .OR. force_bound_s ) THEN1387 IF ( bc_dirichlet_s .OR. bc_radiation_s ) THEN 1402 1388 nysv = nys + 1 1403 1389 ELSE
Note: See TracChangeset
for help on using the changeset viewer.