Changeset 4009 for palm/trunk
- Timestamp:
- May 31, 2019 9:14:42 AM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/read_restart_data_mod.f90
r3998 r4009 25 25 ! ----------------- 26 26 ! $Id$ 27 ! bugfix for r3998, allocation of 3d temporary arrays of various dimensions revised 28 ! 29 ! 3998 2019-05-23 13:38:11Z suehring 27 30 ! Formatting adjustment 28 31 ! … … 1102 1105 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: tmp_2d !< temporary array for storing 2D data 1103 1106 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: tmp_3d !< temporary array for storing 3D data 1104 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: tmp_3d_noghost !< temporary array for storing 3D data without ghost points 1105 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: tmp_3dwul !< 1106 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: tmp_3dwun !< 1107 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: tmp_3dwur !< 1108 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: tmp_3dwus !< 1109 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: tmp_3dwvl !< 1110 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: tmp_3dwvn !< 1111 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: tmp_3dwvr !< 1112 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: tmp_3dwvs !< 1113 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: tmp_3dwwl !< 1114 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: tmp_3dwwn !< 1115 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: tmp_3dwwr !< 1116 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: tmp_3dwws !< 1117 1107 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: tmp_3d_non_standard !< temporary array for storing 3D data 1108 !< with non standard dimensions 1118 1109 1119 1110 ! … … 1159 1150 ! 1160 1151 !-- Array bound exceeded 1161 message_string = 'data from subdomain of previous' // &1152 message_string = 'data from subdomain of previous' // & 1162 1153 ' run mapped more than 1000 times' 1163 CALL message( 'rrd_local', 'PA0284', 2, 2, -1, & 1164 6, 1 ) 1154 CALL message( 'rrd_local', 'PA0284', 2, 2, -1, 6, 1 ) 1165 1155 ENDIF 1166 1156 … … 1174 1164 ! 1175 1165 !-- Index bounds of overlapping data 1176 nxlfa(files_to_be_opened,j) = MAX( nxl-offset_x-shift_x, & 1177 nxlpr ) 1178 nxrfa(files_to_be_opened,j) = MIN( nxr-offset_x-shift_x, & 1179 nxrpr ) 1180 nysfa(files_to_be_opened,j) = MAX( nys-offset_y-shift_y, & 1181 nyspr ) 1182 nynfa(files_to_be_opened,j) = MIN( nyn-offset_y-shift_y, & 1183 nynpr ) 1166 nxlfa(files_to_be_opened,j) = MAX( nxl-offset_x-shift_x, nxlpr ) 1167 nxrfa(files_to_be_opened,j) = MIN( nxr-offset_x-shift_x, nxrpr ) 1168 nysfa(files_to_be_opened,j) = MAX( nys-offset_y-shift_y, nyspr ) 1169 nynfa(files_to_be_opened,j) = MIN( nyn-offset_y-shift_y, nynpr ) 1184 1170 1185 1171 ENDIF … … 1202 1188 myid_char_save = myid_char 1203 1189 1204 IF ( files_to_be_opened /= 1 .OR. numprocs /= numprocs_previous_run ) & 1205 THEN 1206 WRITE( message_string, * ) 'number of PEs or virtual PE-grid changed ', & 1207 'in restart run & PE', myid, ' will read from files ', & 1208 file_list(1:files_to_be_opened) 1190 IF ( files_to_be_opened /= 1 .OR. numprocs /= numprocs_previous_run ) THEN 1191 WRITE( message_string, * ) 'number of PEs or virtual PE-grid changed ', & 1192 'in restart run & PE', myid, ' will read from files ', & 1193 file_list(1:files_to_be_opened) 1209 1194 CALL message( 'rrd_local', 'PA0285', 0, 0, 0, 6, 0 ) 1210 1195 ENDIF … … 1234 1219 binary_version_local = '4.7' 1235 1220 IF ( TRIM( version_on_file ) /= TRIM( binary_version_local ) ) THEN 1236 WRITE( message_string, * ) 'version mismatch concerning ', &1237 'binary_version_local:',&1238 '&version on file = "', TRIM( version_on_file ), '"',&1239 '&version in program = "', TRIM( binary_version_local ), '"'1221 WRITE( message_string, * ) 'version mismatch concerning ', & 1222 'binary_version_local:', & 1223 '&version on file = "', TRIM( version_on_file ), '"', & 1224 '&version in program = "', TRIM( binary_version_local ), '"' 1240 1225 CALL message( 'rrd_local', 'PA0286', 1, 2, 0, 6, 0 ) 1241 1226 ENDIF … … 1244 1229 !-- Read number of processors, processor-id, and array ranges. 1245 1230 !-- Compare the array ranges with those stored in the index bound array. 1246 READ ( 13 ) numprocs_on_file, myid_on_file, nxl_on_file, nxr_on_file, &1247 ny s_on_file, nyn_on_file, nzb_on_file, nzt_on_file1231 READ ( 13 ) numprocs_on_file, myid_on_file, nxl_on_file, nxr_on_file, nys_on_file, & 1232 nyn_on_file, nzb_on_file, nzt_on_file 1248 1233 1249 1234 IF ( nxl_on_file /= hor_index_bounds_previous_run(1,j) ) THEN 1250 WRITE( message_string, * ) 'problem with index bound nxl on ', &1251 'restart file "', myid_char, '"',&1252 '&nxl = ', nxl_on_file, ' but it should be',&1253 '&= ', hor_index_bounds_previous_run(1,j),&1254 '&from the index bound information array'1235 WRITE( message_string, * ) 'problem with index bound nxl on ', & 1236 'restart file "', myid_char, '"', & 1237 '&nxl = ', nxl_on_file, ' but it should be', & 1238 '&= ', hor_index_bounds_previous_run(1,j), & 1239 '&from the index bound information array' 1255 1240 CALL message( 'rrd_local', 'PA0287', 2, 2, -1, 6, 1 ) 1256 1241 ENDIF 1257 1242 1258 1243 IF ( nxr_on_file /= hor_index_bounds_previous_run(2,j) ) THEN 1259 WRITE( message_string, * ) 'problem with index bound nxr on ', &1260 'restart file "', myid_char, '"' ,&1261 ' nxr = ', nxr_on_file, ' but it should be',&1262 ' = ', hor_index_bounds_previous_run(2,j),&1263 ' from the index bound information array'1244 WRITE( message_string, * ) 'problem with index bound nxr on ', & 1245 'restart file "', myid_char, '"' , & 1246 ' nxr = ', nxr_on_file, ' but it should be', & 1247 ' = ', hor_index_bounds_previous_run(2,j), & 1248 ' from the index bound information array' 1264 1249 CALL message( 'rrd_local', 'PA0288', 2, 2, -1, 6, 1 ) 1265 1250 … … 1267 1252 1268 1253 IF ( nys_on_file /= hor_index_bounds_previous_run(3,j) ) THEN 1269 WRITE( message_string, * ) 'problem with index bound nys on ', &1270 'restart file "', myid_char, '"',&1271 '&nys = ', nys_on_file, ' but it should be',&1272 '&= ', hor_index_bounds_previous_run(3,j),&1273 '&from the index bound information array'1254 WRITE( message_string, * ) 'problem with index bound nys on ', & 1255 'restart file "', myid_char, '"', & 1256 '&nys = ', nys_on_file, ' but it should be', & 1257 '&= ', hor_index_bounds_previous_run(3,j), & 1258 '&from the index bound information array' 1274 1259 CALL message( 'rrd_local', 'PA0289', 2, 2, -1, 6, 1 ) 1275 1260 ENDIF 1276 1261 1277 1262 IF ( nyn_on_file /= hor_index_bounds_previous_run(4,j) ) THEN 1278 WRITE( message_string, * ) 'problem with index bound nyn on ', &1279 'restart file "', myid_char, '"',&1280 '&nyn = ', nyn_on_file, ' but it should be',&1281 '&= ', hor_index_bounds_previous_run(4,j),&1282 '&from the index bound information array'1263 WRITE( message_string, * ) 'problem with index bound nyn on ', & 1264 'restart file "', myid_char, '"', & 1265 '&nyn = ', nyn_on_file, ' but it should be', & 1266 '&= ', hor_index_bounds_previous_run(4,j), & 1267 '&from the index bound information array' 1283 1268 CALL message( 'rrd_local', 'PA0290', 2, 2, -1, 6, 1 ) 1284 1269 ENDIF 1285 1270 1286 1271 IF ( nzb_on_file /= nzb ) THEN 1287 WRITE( message_string, * ) 'mismatch between actual data and data ', &1288 'from prior run on PE ', myid, &1289 '&nzb on file = ', nzb_on_file, &1272 WRITE( message_string, * ) 'mismatch between actual data and data ', & 1273 'from prior run on PE ', myid, & 1274 '&nzb on file = ', nzb_on_file, & 1290 1275 '&nzb = ', nzb 1291 1276 CALL message( 'rrd_local', 'PA0291', 1, 2, 0, 6, 0 ) … … 1293 1278 1294 1279 IF ( nzt_on_file /= nzt ) THEN 1295 WRITE( message_string, * ) 'mismatch between actual data and data ', &1296 'from prior run on PE ', myid, &1297 '&nzt on file = ', nzt_on_file, &1280 WRITE( message_string, * ) 'mismatch between actual data and data ', & 1281 'from prior run on PE ', myid, & 1282 '&nzt on file = ', nzt_on_file, & 1298 1283 '&nzt = ', nzt 1299 1284 CALL message( 'rrd_local', 'PA0292', 1, 2, 0, 6, 0 ) … … 1302 1287 ! 1303 1288 !-- Allocate temporary arrays sized as the arrays on the restart file 1304 ALLOCATE( tmp_2d(nys_on_file-nbgp:nyn_on_file+nbgp, & 1305 nxl_on_file-nbgp:nxr_on_file+nbgp), & 1306 tmp_3d(nzb:nzt+1,nys_on_file-nbgp:nyn_on_file+nbgp, & 1307 nxl_on_file-nbgp:nxr_on_file+nbgp), & 1308 tmp_3d_noghost(nzb:nzt+1,nys_on_file:nyn_on_file, & 1309 nxl_on_file:nxr_on_file) ) 1289 ALLOCATE( tmp_2d(nys_on_file-nbgp:nyn_on_file+nbgp,nxl_on_file-nbgp:nxr_on_file+nbgp), & 1290 tmp_3d(nzb:nzt+1,nys_on_file-nbgp:nyn_on_file+nbgp, & 1291 nxl_on_file-nbgp:nxr_on_file+nbgp) ) 1310 1292 1311 1293 ! … … 1350 1332 ENDIF 1351 1333 IF ( k == 1 ) READ ( 13 ) tmp_2d 1352 ghf_av(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &1334 ghf_av(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1353 1335 tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1354 1336 1355 1337 CASE ( 'e' ) 1356 1338 IF ( k == 1 ) READ ( 13 ) tmp_3d 1357 e(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &1339 e(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1358 1340 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1359 1341 1360 1342 CASE ( 'e_av' ) 1361 1343 IF ( .NOT. ALLOCATED( e_av ) ) THEN 1362 ALLOCATE( e_av(nzb:nzt+1,nys-nbgp:nyn+nbgp, &1344 ALLOCATE( e_av(nzb:nzt+1,nys-nbgp:nyn+nbgp, & 1363 1345 nxl-nbgp:nxr+nbgp) ) 1364 1346 ENDIF 1365 1347 IF ( k == 1 ) READ ( 13 ) tmp_3d 1366 e_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1367 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1368 1369 CASE ( 'iran' ) ! matching random numbers is still unresolved 1370 ! issue 1348 e_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1349 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1350 1351 CASE ( 'iran' ) ! matching random numbers is still unresolved issue 1371 1352 IF ( k == 1 ) READ ( 13 ) iran, iran_part 1372 1353 1373 1354 CASE ( 'kh' ) 1374 1355 IF ( k == 1 ) READ ( 13 ) tmp_3d 1375 kh(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &1356 kh(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1376 1357 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1377 1358 … … 1381 1362 ENDIF 1382 1363 IF ( k == 1 ) READ ( 13 ) tmp_3d 1383 kh_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &1364 kh_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1384 1365 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1385 1366 1386 1367 CASE ( 'km' ) 1387 1368 IF ( k == 1 ) READ ( 13 ) tmp_3d 1388 km(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &1369 km(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1389 1370 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1390 1371 … … 1394 1375 ENDIF 1395 1376 IF ( k == 1 ) READ ( 13 ) tmp_3d 1396 km_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &1377 km_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1397 1378 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1398 1379 … … 1402 1383 ENDIF 1403 1384 IF ( k == 1 ) READ ( 13 ) tmp_3d 1404 lpt_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &1385 lpt_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1405 1386 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1406 1387 … … 1410 1391 ENDIF 1411 1392 IF ( k == 1 ) READ ( 13 ) tmp_2d 1412 lwp_av(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &1393 lwp_av(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1413 1394 tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1414 1395 1415 1396 CASE ( 'p' ) 1416 1397 IF ( k == 1 ) READ ( 13 ) tmp_3d 1417 p(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &1398 p(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1418 1399 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1419 1400 … … 1423 1404 ENDIF 1424 1405 IF ( k == 1 ) READ ( 13 ) tmp_3d 1425 p_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &1406 p_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1426 1407 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1427 1408 … … 1431 1412 ENDIF 1432 1413 IF ( k == 1 ) READ ( 13 ) tmp_3d 1433 pc_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &1414 pc_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1434 1415 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1435 1416 … … 1439 1420 ENDIF 1440 1421 IF ( k == 1 ) READ ( 13 ) tmp_3d 1441 pr_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &1422 pr_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1442 1423 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1443 1424 1444 1425 CASE ( 'pt' ) 1445 1426 IF ( k == 1 ) READ ( 13 ) tmp_3d 1446 pt(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &1427 pt(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1447 1428 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1448 1429 … … 1452 1433 ENDIF 1453 1434 IF ( k == 1 ) READ ( 13 ) tmp_3d 1454 pt_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &1435 pt_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1455 1436 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1456 1437 … … 1460 1441 ENDIF 1461 1442 IF ( k == 1 ) READ ( 13 ) tmp_2d 1462 pt_2m_av(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &1443 pt_2m_av(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1463 1444 tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1464 1445 1465 1446 CASE ( 'q' ) 1466 1447 IF ( k == 1 ) READ ( 13 ) tmp_3d 1467 q(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &1448 q(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1468 1449 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1469 1450 … … 1473 1454 ENDIF 1474 1455 IF ( k == 1 ) READ ( 13 ) tmp_3d 1475 q_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &1456 q_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1476 1457 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1477 1458 1478 1459 CASE ( 'ql' ) 1479 1460 IF ( k == 1 ) READ ( 13 ) tmp_3d 1480 ql(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &1461 ql(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1481 1462 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1482 1463 … … 1486 1467 ENDIF 1487 1468 IF ( k == 1 ) READ ( 13 ) tmp_3d 1488 ql_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &1469 ql_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1489 1470 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1490 1471 … … 1494 1475 ENDIF 1495 1476 IF ( k == 1 ) READ ( 13 ) tmp_3d 1496 ql_c_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &1477 ql_c_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1497 1478 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1498 1479 … … 1502 1483 ENDIF 1503 1484 IF ( k == 1 ) READ ( 13 ) tmp_3d 1504 ql_v_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &1485 ql_v_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1505 1486 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1506 1487 … … 1510 1491 ENDIF 1511 1492 IF ( k == 1 ) READ ( 13 ) tmp_3d 1512 ql_vp_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &1493 ql_vp_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1513 1494 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1514 1495 … … 1518 1499 ENDIF 1519 1500 IF ( k == 1 ) READ ( 13 ) tmp_2d 1520 qsws_av(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &1501 qsws_av(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1521 1502 tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1522 1503 … … 1526 1507 ENDIF 1527 1508 IF ( k == 1 ) READ ( 13 ) tmp_3d 1528 qv_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &1509 qv_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1529 1510 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1530 1511 … … 1534 1515 ENDIF 1535 1516 IF ( k == 1 ) READ ( 13 ) tmp_2d 1536 r_a_av(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &1517 r_a_av(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1537 1518 tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1538 1519 … … 1542 1523 1543 1524 CASE ( 'seq_random_array' ) 1544 ALLOCATE( tmp_2d_id_random(nys_on_file:nyn_on_file, & 1545 nxl_on_file:nxr_on_file) ) 1546 ALLOCATE( tmp_2d_seq_random(5,nys_on_file:nyn_on_file, & 1547 nxl_on_file:nxr_on_file) ) 1525 ALLOCATE( tmp_2d_id_random(nys_on_file:nyn_on_file,nxl_on_file:nxr_on_file) ) 1526 ALLOCATE( tmp_2d_seq_random(5,nys_on_file:nyn_on_file,nxl_on_file:nxr_on_file) ) 1548 1527 IF ( .NOT. ALLOCATED( id_random_array ) ) THEN 1549 1528 ALLOCATE( id_random_array(nys:nyn,nxl:nxr) ) … … 1554 1533 IF ( k == 1 ) READ ( 13 ) tmp_2d_id_random 1555 1534 IF ( k == 1 ) READ ( 13 ) tmp_2d_seq_random 1556 id_random_array(nysc:nync,nxlc:nxrc) = & 1557 tmp_2d_id_random(nysf:nynf,nxlf:nxrf) 1558 seq_random_array(:,nysc:nync,nxlc:nxrc) = & 1559 tmp_2d_seq_random(:,nysf:nynf,nxlf:nxrf) 1535 id_random_array(nysc:nync,nxlc:nxrc) = tmp_2d_id_random(nysf:nynf,nxlf:nxrf) 1536 seq_random_array(:,nysc:nync,nxlc:nxrc) = tmp_2d_seq_random(:,nysf:nynf,nxlf:nxrf) 1560 1537 DEALLOCATE( tmp_2d_id_random, tmp_2d_seq_random ) 1561 1538 1562 1539 CASE ( 's' ) 1563 1540 IF ( k == 1 ) READ ( 13 ) tmp_3d 1564 s(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &1541 s(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1565 1542 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1566 1543 … … 1570 1547 ENDIF 1571 1548 IF ( k == 1 ) READ ( 13 ) tmp_3d 1572 s_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &1549 s_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1573 1550 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1574 1551 … … 1578 1555 ENDIF 1579 1556 IF ( k == 1 ) READ ( 13 ) tmp_2d 1580 shf_av(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &1557 shf_av(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1581 1558 tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1582 1559 … … 1586 1563 ENDIF 1587 1564 IF ( k == 1 ) READ ( 13 ) tmp_2d 1588 ssws_av(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &1565 ssws_av(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1589 1566 tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1590 1567 … … 1593 1570 ALLOCATE( ti_av(nzb:nzt+1,nys:nyn,nxl:nxr) ) 1594 1571 ENDIF 1595 IF ( k == 1 ) READ ( 13 ) tmp_3d_noghost 1596 ti_av(:,nysc:nync,nxlc:nxrc) = & 1597 tmp_3d_noghost(:,nysf:nynf,nxlf:nxrf) 1572 IF ( k == 1 ) THEN 1573 ALLOCATE( tmp_3d_non_standard(nzb:nzt+1,nys_on_file:nyn_on_file, & 1574 nxl_on_file:nxr_on_file) ) 1575 READ ( 13 ) tmp_3d_non_standard 1576 ENDIF 1577 ti_av(:,nysc:nync,nxlc:nxrc) = tmp_3d_non_standard(:,nysf:nynf,nxlf:nxrf) 1598 1578 1599 1579 CASE ( 'ts_av' ) … … 1602 1582 ENDIF 1603 1583 IF ( k == 1 ) READ ( 13 ) tmp_2d 1604 ts_av(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &1584 ts_av(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1605 1585 tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1606 1586 … … 1610 1590 ENDIF 1611 1591 IF ( k == 1 ) READ ( 13 ) tmp_2d 1612 tsurf_av(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &1592 tsurf_av(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1613 1593 tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1614 1594 1615 1595 CASE ( 'u' ) 1616 1596 IF ( k == 1 ) READ ( 13 ) tmp_3d 1617 u(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &1597 u(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1618 1598 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1619 1599 … … 1623 1603 ENDIF 1624 1604 IF ( k == 1 ) READ ( 13 ) tmp_3d 1625 u_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &1605 u_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1626 1606 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1627 1607 1628 1608 CASE ( 'u_m_l' ) 1629 1609 IF ( k == 1 ) THEN 1630 ALLOCATE( tmp_3d wul(nzb:nzt+1,&1631 nys_on_file-nbgp:nyn_on_file+nbgp,1:2) )1632 READ ( 13 ) tmp_3d wul1610 ALLOCATE( tmp_3d_non_standard(nzb:nzt+1,nys_on_file-nbgp:nyn_on_file+nbgp, & 1611 1:2) ) 1612 READ ( 13 ) tmp_3d_non_standard 1633 1613 ENDIF 1634 1614 IF ( bc_radiation_l ) THEN 1635 u_m_l(:,nysc-nbgp:nync+nbgp,:) = & 1636 tmp_3dwul(:,nysf-nbgp:nynf+nbgp,:) 1615 u_m_l(:,nysc-nbgp:nync+nbgp,:) = tmp_3d_non_standard(:,nysf-nbgp:nynf+nbgp,:) 1637 1616 ENDIF 1638 1617 1639 1618 CASE ( 'u_m_n' ) 1640 1619 IF ( k == 1 ) THEN 1641 ALLOCATE( tmp_3d wun(nzb:nzt+1,ny-1:ny,&1642 nxl_on_file-nbgp:nxr_on_file+nbgp) )1643 READ ( 13 ) tmp_3d wun1620 ALLOCATE( tmp_3d_non_standard(nzb:nzt+1,ny-1:ny, & 1621 nxl_on_file-nbgp:nxr_on_file+nbgp) ) 1622 READ ( 13 ) tmp_3d_non_standard 1644 1623 ENDIF 1645 1624 IF ( bc_radiation_n ) THEN 1646 u_m_n(:,:,nxlc-nbgp:nxrc+nbgp) = & 1647 tmp_3dwun(:,:,nxlf-nbgp:nxrf+nbgp) 1625 u_m_n(:,:,nxlc-nbgp:nxrc+nbgp) = tmp_3d_non_standard(:,:,nxlf-nbgp:nxrf+nbgp) 1648 1626 ENDIF 1649 1627 1650 1628 CASE ( 'u_m_r' ) 1651 1629 IF ( k == 1 ) THEN 1652 ALLOCATE( tmp_3d wur(nzb:nzt+1,&1653 nys_on_file-nbgp:nyn_on_file+nbgp,nx-1:nx) )1654 READ ( 13 ) tmp_3d wur1630 ALLOCATE( tmp_3d_non_standard(nzb:nzt+1,nys_on_file-nbgp:nyn_on_file+nbgp, & 1631 nx-1:nx) ) 1632 READ ( 13 ) tmp_3d_non_standard 1655 1633 ENDIF 1656 1634 IF ( bc_radiation_r ) THEN 1657 u_m_r(:,nysc-nbgp:nync+nbgp,:) = & 1658 tmp_3dwur(:,nysf-nbgp:nynf+nbgp,:) 1635 u_m_r(:,nysc-nbgp:nync+nbgp,:) = tmp_3d_non_standard(:,nysf-nbgp:nynf+nbgp,:) 1659 1636 ENDIF 1660 1637 1661 1638 CASE ( 'u_m_s' ) 1662 1639 IF ( k == 1 ) THEN 1663 ALLOCATE( tmp_3d wus(nzb:nzt+1,0:1,&1664 nxl_on_file-nbgp:nxr_on_file+nbgp) )1665 READ ( 13 ) tmp_3d wus1640 ALLOCATE( tmp_3d_non_standard(nzb:nzt+1,0:1, & 1641 nxl_on_file-nbgp:nxr_on_file+nbgp) ) 1642 READ ( 13 ) tmp_3d_non_standard 1666 1643 ENDIF 1667 1644 IF ( bc_radiation_s ) THEN 1668 u_m_s(:,:,nxlc-nbgp:nxrc+nbgp) = & 1669 tmp_3dwus(:,:,nxlf-nbgp:nxrf+nbgp) 1645 u_m_s(:,:,nxlc-nbgp:nxrc+nbgp) = tmp_3d_non_standard(:,:,nxlf-nbgp:nxrf+nbgp) 1670 1646 ENDIF 1671 1647 … … 1675 1651 ENDIF 1676 1652 IF ( k == 1 ) READ ( 13 ) tmp_2d 1677 us_av(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &1653 us_av(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1678 1654 tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1679 1655 1680 1656 CASE ( 'v' ) 1681 1657 IF ( k == 1 ) READ ( 13 ) tmp_3d 1682 v(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &1658 v(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1683 1659 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1684 1660 … … 1688 1664 ENDIF 1689 1665 IF ( k == 1 ) READ ( 13 ) tmp_3d 1690 v_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &1666 v_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1691 1667 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1692 1668 1693 1669 CASE ( 'v_m_l' ) 1694 1670 IF ( k == 1 ) THEN 1695 ALLOCATE( tmp_3d wvl(nzb:nzt+1,&1696 nys_on_file-nbgp:nyn_on_file+nbgp,0:1) )1697 READ ( 13 ) tmp_3d wvl1671 ALLOCATE( tmp_3d_non_standard(nzb:nzt+1,nys_on_file-nbgp:nyn_on_file+nbgp, & 1672 0:1) ) 1673 READ ( 13 ) tmp_3d_non_standard 1698 1674 ENDIF 1699 1675 IF ( bc_radiation_l ) THEN 1700 v_m_l(:,nysc-nbgp:nync+nbgp,:) = & 1701 tmp_3dwvl(:,nysf-nbgp:nynf+nbgp,:) 1676 v_m_l(:,nysc-nbgp:nync+nbgp,:) = tmp_3d_non_standard(:,nysf-nbgp:nynf+nbgp,:) 1702 1677 ENDIF 1703 1678 1704 1679 CASE ( 'v_m_n' ) 1705 1680 IF ( k == 1 ) THEN 1706 ALLOCATE( tmp_3d wvn(nzb:nzt+1,ny-1:ny,&1707 nxl_on_file-nbgp:nxr_on_file+nbgp) )1708 READ ( 13 ) tmp_3d wvn1681 ALLOCATE( tmp_3d_non_standard(nzb:nzt+1,ny-1:ny, & 1682 nxl_on_file-nbgp:nxr_on_file+nbgp) ) 1683 READ ( 13 ) tmp_3d_non_standard 1709 1684 ENDIF 1710 1685 IF ( bc_radiation_n ) THEN 1711 v_m_n(:,:,nxlc-nbgp:nxrc+nbgp) = & 1712 tmp_3dwvn(:,:,nxlf-nbgp:nxrf+nbgp) 1686 v_m_n(:,:,nxlc-nbgp:nxrc+nbgp) = tmp_3d_non_standard(:,:,nxlf-nbgp:nxrf+nbgp) 1713 1687 ENDIF 1714 1688 1715 1689 CASE ( 'v_m_r' ) 1716 1690 IF ( k == 1 ) THEN 1717 ALLOCATE( tmp_3d wvr(nzb:nzt+1,&1718 nys_on_file-nbgp:nyn_on_file+nbgp,nx-1:nx) )1719 READ ( 13 ) tmp_3d wvr1691 ALLOCATE( tmp_3d_non_standard(nzb:nzt+1,nys_on_file-nbgp:nyn_on_file+nbgp, & 1692 nx-1:nx) ) 1693 READ ( 13 ) tmp_3d_non_standard 1720 1694 ENDIF 1721 1695 IF ( bc_radiation_r ) THEN 1722 v_m_r(:,nysc-nbgp:nync+nbgp,:) = & 1723 tmp_3dwvr(:,nysf-nbgp:nynf+nbgp,:) 1696 v_m_r(:,nysc-nbgp:nync+nbgp,:) = tmp_3d_non_standard(:,nysf-nbgp:nynf+nbgp,:) 1724 1697 ENDIF 1725 1698 1726 1699 CASE ( 'v_m_s' ) 1727 1700 IF ( k == 1 ) THEN 1728 ALLOCATE( tmp_3d wvs(nzb:nzt+1,1:2,&1729 nxl_on_file-nbgp:nxr_on_file+nbgp) )1730 READ ( 13 ) tmp_3d wvs1701 ALLOCATE( tmp_3d_non_standard(nzb:nzt+1,1:2, & 1702 nxl_on_file-nbgp:nxr_on_file+nbgp) ) 1703 READ ( 13 ) tmp_3d_non_standard 1731 1704 ENDIF 1732 1705 IF ( bc_radiation_s ) THEN 1733 v_m_s(:,:,nxlc-nbgp:nxrc+nbgp) = & 1734 tmp_3dwvs(:,:,nxlf-nbgp:nxrf+nbgp) 1706 v_m_s(:,:,nxlc-nbgp:nxrc+nbgp) = tmp_3d_non_standard(:,:,nxlf-nbgp:nxrf+nbgp) 1735 1707 ENDIF 1736 1708 1737 1709 CASE ( 'vpt' ) 1738 1710 IF ( k == 1 ) READ ( 13 ) tmp_3d 1739 vpt(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &1711 vpt(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1740 1712 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1741 1713 … … 1745 1717 ENDIF 1746 1718 IF ( k == 1 ) READ ( 13 ) tmp_3d 1747 vpt_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &1719 vpt_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1748 1720 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1749 1721 1750 1722 CASE ( 'w' ) 1751 1723 IF ( k == 1 ) READ ( 13 ) tmp_3d 1752 w(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &1724 w(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1753 1725 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1754 1726 … … 1758 1730 ENDIF 1759 1731 IF ( k == 1 ) READ ( 13 ) tmp_3d 1760 w_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &1732 w_av(:,nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1761 1733 tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1762 1734 1763 1735 CASE ( 'w_m_l' ) 1764 1736 IF ( k == 1 ) THEN 1765 ALLOCATE( tmp_3d wwl(nzb:nzt+1,&1766 nys_on_file-nbgp:nyn_on_file+nbgp,0:1) )1767 READ ( 13 ) tmp_3d wwl1737 ALLOCATE( tmp_3d_non_standard(nzb:nzt+1,nys_on_file-nbgp:nyn_on_file+nbgp, & 1738 0:1) ) 1739 READ ( 13 ) tmp_3d_non_standard 1768 1740 ENDIF 1769 1741 IF ( bc_radiation_l ) THEN 1770 w_m_l(:,nysc-nbgp:nync+nbgp,:) = & 1771 tmp_3dwwl(:,nysf-nbgp:nynf+nbgp,:) 1742 w_m_l(:,nysc-nbgp:nync+nbgp,:) = tmp_3d_non_standard(:,nysf-nbgp:nynf+nbgp,:) 1772 1743 ENDIF 1773 1744 1774 1745 CASE ( 'w_m_n' ) 1775 1746 IF ( k == 1 ) THEN 1776 ALLOCATE( tmp_3d wwn(nzb:nzt+1,ny-1:ny,&1777 nxl_on_file-nbgp:nxr_on_file+nbgp) )1778 READ ( 13 ) tmp_3d wwn1747 ALLOCATE( tmp_3d_non_standard(nzb:nzt+1,ny-1:ny, & 1748 nxl_on_file-nbgp:nxr_on_file+nbgp) ) 1749 READ ( 13 ) tmp_3d_non_standard 1779 1750 ENDIF 1780 1751 IF ( bc_radiation_n ) THEN 1781 w_m_n(:,:,nxlc-nbgp:nxrc+nbgp) = & 1782 tmp_3dwwn(:,:,nxlf-nbgp:nxrf+nbgp) 1752 w_m_n(:,:,nxlc-nbgp:nxrc+nbgp) = tmp_3d_non_standard(:,:,nxlf-nbgp:nxrf+nbgp) 1783 1753 ENDIF 1784 1754 1785 1755 CASE ( 'w_m_r' ) 1786 1756 IF ( k == 1 ) THEN 1787 ALLOCATE( tmp_3d wwr(nzb:nzt+1,&1788 nys_on_file-nbgp:nyn_on_file+nbgp,nx-1:nx) )1789 READ ( 13 ) tmp_3d wwr1757 ALLOCATE( tmp_3d_non_standard(nzb:nzt+1,nys_on_file-nbgp:nyn_on_file+nbgp, & 1758 nx-1:nx) ) 1759 READ ( 13 ) tmp_3d_non_standard 1790 1760 ENDIF 1791 1761 IF ( bc_radiation_r ) THEN 1792 w_m_r(:,nysc-nbgp:nync+nbgp,:) = & 1793 tmp_3dwwr(:,nysf-nbgp:nynf+nbgp,:) 1762 w_m_r(:,nysc-nbgp:nync+nbgp,:) = tmp_3d_non_standard(:,nysf-nbgp:nynf+nbgp,:) 1794 1763 ENDIF 1795 1764 1796 1765 CASE ( 'w_m_s' ) 1797 1766 IF ( k == 1 ) THEN 1798 ALLOCATE( tmp_3d wws(nzb:nzt+1,0:1,&1799 nxl_on_file-nbgp:nxr_on_file+nbgp) )1800 READ ( 13 ) tmp_3d wws1767 ALLOCATE( tmp_3d_non_standard(nzb:nzt+1,0:1, & 1768 nxl_on_file-nbgp:nxr_on_file+nbgp) ) 1769 READ ( 13 ) tmp_3d_non_standard 1801 1770 ENDIF 1802 1771 IF ( bc_radiation_s ) THEN 1803 w_m_s(:,:,nxlc-nbgp:nxrc+nbgp) = & 1804 tmp_3dwws(:,:,nxlf-nbgp:nxrf+nbgp) 1772 w_m_s(:,:,nxlc-nbgp:nxrc+nbgp) = tmp_3d_non_standard(:,:,nxlf-nbgp:nxrf+nbgp) 1805 1773 ENDIF 1806 1774 … … 1810 1778 ENDIF 1811 1779 IF ( k == 1 ) READ ( 13 ) tmp_2d 1812 z0_av(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &1780 z0_av(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1813 1781 tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1814 1782 … … 1818 1786 ENDIF 1819 1787 IF ( k == 1 ) READ ( 13 ) tmp_2d 1820 z0h_av(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &1788 z0h_av(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1821 1789 tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1822 1790 … … 1826 1794 ENDIF 1827 1795 IF ( k == 1 ) READ ( 13 ) tmp_2d 1828 z0q_av(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = &1796 z0q_av(nysc-nbgp:nync+nbgp,nxlc-nbgp:nxrc+nbgp) = & 1829 1797 tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp) 1830 1798 … … 1833 1801 ! 1834 1802 !-- Read restart data of surfaces 1835 IF ( .NOT. found ) CALL surface_rrd_local( k, nxlf, & 1836 nxlc, nxl_on_file, nxrf, & 1837 nxr_on_file, nynf, & 1838 nyn_on_file, nysf, nysc, & 1839 nys_on_file, found ) 1840 1803 IF ( .NOT. found ) CALL surface_rrd_local( k, nxlf, nxlc, nxl_on_file, nxrf, & 1804 nxr_on_file, nynf, nyn_on_file, & 1805 nysf, nysc, nys_on_file, found ) 1841 1806 ! 1842 1807 !-- Read restart data of other modules 1843 IF ( .NOT. found ) CALL module_interface_rrd_local( & 1844 k, & 1845 nxlf, nxlc, nxl_on_file, & 1846 nxrf, nxrc, nxr_on_file, & 1847 nynf, nync, nyn_on_file, & 1848 nysf, nysc, nys_on_file, & 1849 tmp_2d, tmp_3d, found ) 1808 IF ( .NOT. found ) CALL module_interface_rrd_local( & 1809 k, nxlf, nxlc, nxl_on_file, nxrf, & 1810 nxrc, nxr_on_file, nynf, nync, & 1811 nyn_on_file, nysf, nysc, & 1812 nys_on_file, tmp_2d, tmp_3d, found ) 1850 1813 1851 1814 1852 1815 IF ( .NOT. found ) THEN 1853 WRITE( message_string, * ) 'unknown variable named "', &1854 restart_string(1:length), &1855 '" found in subdomain data ', &1816 WRITE( message_string, * ) 'unknown variable named "', & 1817 restart_string(1:length), & 1818 '" found in subdomain data ', & 1856 1819 'from prior run on PE ', myid 1857 1820 CALL message( 'rrd_local', 'PA0302', 1, 2, 0, 6, 0 ) … … 1864 1827 1865 1828 ! 1866 !-- Deallocate arrays needed for specific variables only 1867 IF ( ALLOCATED( tmp_3dwul ) ) DEALLOCATE( tmp_3dwul ) 1868 IF ( ALLOCATED( tmp_3dwun ) ) DEALLOCATE( tmp_3dwun ) 1869 IF ( ALLOCATED( tmp_3dwur ) ) DEALLOCATE( tmp_3dwur ) 1870 IF ( ALLOCATED( tmp_3dwus ) ) DEALLOCATE( tmp_3dwus ) 1871 IF ( ALLOCATED( tmp_3dwvl ) ) DEALLOCATE( tmp_3dwvl ) 1872 IF ( ALLOCATED( tmp_3dwvn ) ) DEALLOCATE( tmp_3dwvn ) 1873 IF ( ALLOCATED( tmp_3dwvr ) ) DEALLOCATE( tmp_3dwvr ) 1874 IF ( ALLOCATED( tmp_3dwvs ) ) DEALLOCATE( tmp_3dwvs ) 1875 IF ( ALLOCATED( tmp_3dwwl ) ) DEALLOCATE( tmp_3dwwl ) 1876 IF ( ALLOCATED( tmp_3dwwn ) ) DEALLOCATE( tmp_3dwwn ) 1877 IF ( ALLOCATED( tmp_3dwwr ) ) DEALLOCATE( tmp_3dwwr ) 1878 IF ( ALLOCATED( tmp_3dwws ) ) DEALLOCATE( tmp_3dwws ) 1829 !-- Deallocate non standard array needed for specific variables only 1830 IF ( ALLOCATED( tmp_3d_non_standard ) ) DEALLOCATE( tmp_3d_non_standard ) 1879 1831 1880 1832 ! … … 1892 1844 1893 1845 ENDDO ! loop over restart files 1894 1895 1846 1896 1847 !
Note: See TracChangeset
for help on using the changeset viewer.