Changeset 4009 for palm/trunk/SOURCE


Ignore:
Timestamp:
May 31, 2019 9:14:42 AM (2 years ago)
Author:
raasch
Message:

bugfix for r3998, allocation of 3d temporary arrays of various dimensions revised

File:
1 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SOURCE/read_restart_data_mod.f90

    r3998 r4009  
    2525! -----------------
    2626! $Id$
     27! bugfix for r3998, allocation of 3d temporary arrays of various dimensions revised
     28!
     29! 3998 2019-05-23 13:38:11Z suehring
    2730! Formatting adjustment
    2831!
     
    11021105    REAL(wp), DIMENSION(:,:),   ALLOCATABLE   ::  tmp_2d         !< temporary array for storing 2D data
    11031106    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
    11181109
    11191110!
     
    11591150!
    11601151!--                   Array bound exceeded
    1161                       message_string = 'data from subdomain of previous' //    &
     1152                      message_string = 'data from subdomain of previous' //                        &
    11621153                                       ' 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 )
    11651155                   ENDIF
    11661156
     
    11741164!
    11751165!--                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 )
    11841170
    11851171                ENDIF
     
    12021188    myid_char_save = myid_char
    12031189
    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)
    12091194       CALL message( 'rrd_local', 'PA0285', 0, 0, 0, 6, 0 )
    12101195    ENDIF
     
    12341219       binary_version_local = '4.7'
    12351220       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 ), '"'
    12401225          CALL message( 'rrd_local', 'PA0286', 1, 2, 0, 6, 0 )
    12411226       ENDIF
     
    12441229!--    Read number of processors, processor-id, and array ranges.
    12451230!--    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                     nys_on_file, nyn_on_file, nzb_on_file, nzt_on_file
     1231       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
    12481233
    12491234       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'
    12551240          CALL message( 'rrd_local', 'PA0287', 2, 2, -1, 6, 1 )
    12561241       ENDIF
    12571242
    12581243       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'
    12641249          CALL message( 'rrd_local', 'PA0288', 2, 2, -1, 6, 1 )
    12651250
     
    12671252
    12681253       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'
    12741259          CALL message( 'rrd_local', 'PA0289', 2, 2, -1, 6, 1 )
    12751260       ENDIF
    12761261
    12771262       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'
    12831268          CALL message( 'rrd_local', 'PA0290', 2, 2, -1, 6, 1 )
    12841269       ENDIF
    12851270
    12861271       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,                               &
    12901275                                     '&nzb         = ', nzb
    12911276          CALL message( 'rrd_local', 'PA0291', 1, 2, 0, 6, 0 ) 
     
    12931278
    12941279       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,                               &
    12981283                                     '&nzt         = ', nzt
    12991284          CALL message( 'rrd_local', 'PA0292', 1, 2, 0, 6, 0 ) 
     
    13021287!
    13031288!--    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) )
    13101292
    13111293!
     
    13501332                   ENDIF
    13511333                   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) =                               &
    13531335                      tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    13541336
    13551337                CASE ( 'e' )
    13561338                   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) =                                  &
    13581340                      tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    13591341
    13601342                CASE ( 'e_av' )
    13611343                   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,                                  &
    13631345                                     nxl-nbgp:nxr+nbgp) )   
    13641346                   ENDIF
    13651347                   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
    13711352                   IF ( k == 1 )  READ ( 13 )  iran, iran_part
    13721353
    13731354                CASE ( 'kh' )
    13741355                   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) =                                 &
    13761357                      tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    13771358
     
    13811362                   ENDIF
    13821363                   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) =                              &
    13841365                      tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    13851366
    13861367                CASE ( 'km' )
    13871368                   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) =                                 &
    13891370                      tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    13901371
     
    13941375                   ENDIF
    13951376                   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) =                              &
    13971378                      tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    13981379
     
    14021383                   ENDIF
    14031384                   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) =                             &
    14051386                      tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    14061387
     
    14101391                   ENDIF
    14111392                   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) =                               &
    14131394                      tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    14141395
    14151396                CASE ( 'p' )
    14161397                   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) =                                  &
    14181399                      tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    14191400
     
    14231404                   ENDIF
    14241405                   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) =                               &
    14261407                      tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    14271408
     
    14311412                   ENDIF
    14321413                   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) =                              &
    14341415                      tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    14351416
     
    14391420                   ENDIF
    14401421                   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) =                              &
    14421423                      tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    14431424
    14441425                CASE ( 'pt' )
    14451426                   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) =                                 &
    14471428                      tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    14481429
     
    14521433                   ENDIF
    14531434                   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) =                              &
    14551436                      tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    14561437
     
    14601441                   ENDIF
    14611442                   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)  =                            &
    14631444                      tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    14641445
    14651446                CASE ( 'q' )
    14661447                   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) =                                  &
    14681449                      tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    14691450
     
    14731454                   ENDIF
    14741455                   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) =                               &
    14761457                      tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    14771458
    14781459                CASE ( 'ql' )
    14791460                   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) =                                 &
    14811462                      tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    14821463
     
    14861467                   ENDIF
    14871468                   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) =                              &
    14891470                      tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    14901471
     
    14941475                   ENDIF
    14951476                   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) =                            &
    14971478                      tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    14981479
     
    15021483                   ENDIF
    15031484                   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) =                            &
    15051486                      tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    15061487
     
    15101491                   ENDIF
    15111492                   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) =                           &
    15131494                      tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    15141495
     
    15181499                   ENDIF 
    15191500                   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)  =                             &
    15211502                      tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    15221503
     
    15261507                   ENDIF
    15271508                   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) =                              &
    15291510                      tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    15301511
     
    15341515                   ENDIF
    15351516                   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) =                               &
    15371518                      tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    15381519
     
    15421523
    15431524                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) )
    15481527                   IF ( .NOT. ALLOCATED( id_random_array ) )  THEN
    15491528                      ALLOCATE( id_random_array(nys:nyn,nxl:nxr) )
     
    15541533                   IF ( k == 1 )  READ ( 13 )  tmp_2d_id_random
    15551534                   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)
    15601537                   DEALLOCATE( tmp_2d_id_random, tmp_2d_seq_random )
    15611538
    15621539                CASE ( 's' )
    15631540                   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) =                                  &
    15651542                      tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    15661543
     
    15701547                   ENDIF
    15711548                   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) =                               &
    15731550                      tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    15741551
     
    15781555                   ENDIF
    15791556                   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)  =                              &
    15811558                      tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    15821559                   
     
    15861563                   ENDIF 
    15871564                   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)  =                             &
    15891566                      tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    15901567
     
    15931570                      ALLOCATE( ti_av(nzb:nzt+1,nys:nyn,nxl:nxr) )
    15941571                   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)
    15981578
    15991579                CASE ( 'ts_av' )
     
    16021582                   ENDIF
    16031583                   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)  =                               &
    16051585                        tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    16061586
     
    16101590                   ENDIF
    16111591                   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) =                             &
    16131593                      tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    16141594
    16151595                CASE ( 'u' )
    16161596                   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) =                                  &
    16181598                      tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    16191599
     
    16231603                   ENDIF
    16241604                   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) =                               &
    16261606                      tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    16271607
    16281608                CASE ( 'u_m_l' )
    16291609                   IF ( k == 1 )  THEN
    1630                       ALLOCATE( tmp_3dwul(nzb:nzt+1,                           &
    1631                                 nys_on_file-nbgp:nyn_on_file+nbgp,1:2) )
    1632                       READ ( 13 )  tmp_3dwul
     1610                      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
    16331613                   ENDIF
    16341614                   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,:)
    16371616                   ENDIF
    16381617
    16391618                CASE ( 'u_m_n' )
    16401619                   IF ( k == 1 )  THEN
    1641                       ALLOCATE( tmp_3dwun(nzb:nzt+1,ny-1:ny,                   &
    1642                                           nxl_on_file-nbgp:nxr_on_file+nbgp) )
    1643                       READ ( 13 )  tmp_3dwun
     1620                      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
    16441623                   ENDIF
    16451624                   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)
    16481626                   ENDIF
    16491627
    16501628                CASE ( 'u_m_r' )
    16511629                   IF ( k == 1 )  THEN
    1652                       ALLOCATE( tmp_3dwur(nzb:nzt+1,                           &
    1653                                 nys_on_file-nbgp:nyn_on_file+nbgp,nx-1:nx) )
    1654                       READ ( 13 )  tmp_3dwur
     1630                      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
    16551633                   ENDIF
    16561634                   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,:)
    16591636                   ENDIF
    16601637
    16611638                CASE ( 'u_m_s' )
    16621639                   IF ( k == 1 )  THEN
    1663                       ALLOCATE( tmp_3dwus(nzb:nzt+1,0:1,                       &
    1664                                           nxl_on_file-nbgp:nxr_on_file+nbgp) )
    1665                       READ ( 13 )  tmp_3dwus
     1640                      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
    16661643                   ENDIF
    16671644                   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)
    16701646                   ENDIF
    16711647
     
    16751651                   ENDIF
    16761652                   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)  =                               &
    16781654                      tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    16791655
    16801656                CASE ( 'v' )
    16811657                   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) =                                  &
    16831659                      tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    16841660
     
    16881664                   ENDIF
    16891665                   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) =                               &
    16911667                      tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    16921668
    16931669                CASE ( 'v_m_l' )
    16941670                   IF ( k == 1 )  THEN
    1695                       ALLOCATE( tmp_3dwvl(nzb:nzt+1,                           &
    1696                                 nys_on_file-nbgp:nyn_on_file+nbgp,0:1) )
    1697                       READ ( 13 )  tmp_3dwvl
     1671                      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
    16981674                   ENDIF
    16991675                   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,:)
    17021677                   ENDIF
    17031678
    17041679                CASE ( 'v_m_n' )
    17051680                   IF ( k == 1 )  THEN
    1706                       ALLOCATE( tmp_3dwvn(nzb:nzt+1,ny-1:ny,                   &
    1707                                           nxl_on_file-nbgp:nxr_on_file+nbgp) )
    1708                       READ ( 13 )  tmp_3dwvn
     1681                      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
    17091684                   ENDIF
    17101685                   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)
    17131687                   ENDIF
    17141688
    17151689                CASE ( 'v_m_r' )
    17161690                   IF ( k == 1 )  THEN
    1717                       ALLOCATE( tmp_3dwvr(nzb:nzt+1,                           &
    1718                                 nys_on_file-nbgp:nyn_on_file+nbgp,nx-1:nx) )
    1719                       READ ( 13 )  tmp_3dwvr
     1691                      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
    17201694                   ENDIF
    17211695                   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,:)
    17241697                   ENDIF
    17251698
    17261699                CASE ( 'v_m_s' )
    17271700                   IF ( k == 1 )  THEN
    1728                       ALLOCATE( tmp_3dwvs(nzb:nzt+1,1:2,                       &
    1729                                           nxl_on_file-nbgp:nxr_on_file+nbgp) )
    1730                       READ ( 13 )  tmp_3dwvs
     1701                      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
    17311704                   ENDIF
    17321705                   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)
    17351707                   ENDIF
    17361708
    17371709                CASE ( 'vpt' )
    17381710                   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) =                                &
    17401712                      tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    17411713
     
    17451717                   ENDIF
    17461718                   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) =                             &
    17481720                      tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    17491721
    17501722                CASE ( 'w' )
    17511723                   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) =                                  &
    17531725                      tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    17541726
     
    17581730                   ENDIF
    17591731                   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) =                               &
    17611733                      tmp_3d(:,nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    17621734
    17631735                CASE ( 'w_m_l' )
    17641736                   IF ( k == 1 )  THEN
    1765                       ALLOCATE( tmp_3dwwl(nzb:nzt+1,&
    1766                                 nys_on_file-nbgp:nyn_on_file+nbgp,0:1) )
    1767                       READ ( 13 )  tmp_3dwwl
     1737                      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
    17681740                   ENDIF
    17691741                   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,:)
    17721743                   ENDIF
    17731744
    17741745                CASE ( 'w_m_n' )
    17751746                   IF ( k == 1 )  THEN
    1776                       ALLOCATE( tmp_3dwwn(nzb:nzt+1,ny-1:ny, &
    1777                                           nxl_on_file-nbgp:nxr_on_file+nbgp) )
    1778                       READ ( 13 )  tmp_3dwwn
     1747                      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
    17791750                   ENDIF
    17801751                   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)
    17831753                   ENDIF
    17841754
    17851755                CASE ( 'w_m_r' )
    17861756                   IF ( k == 1 )  THEN
    1787                       ALLOCATE( tmp_3dwwr(nzb:nzt+1,&
    1788                                 nys_on_file-nbgp:nyn_on_file+nbgp,nx-1:nx) )
    1789                       READ ( 13 )  tmp_3dwwr
     1757                      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
    17901760                   ENDIF
    17911761                   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,:)
    17941763                   ENDIF
    17951764
    17961765                CASE ( 'w_m_s' )
    17971766                   IF ( k == 1 )  THEN
    1798                       ALLOCATE( tmp_3dwws(nzb:nzt+1,0:1, &
    1799                                           nxl_on_file-nbgp:nxr_on_file+nbgp) )
    1800                       READ ( 13 )  tmp_3dwws
     1767                      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
    18011770                   ENDIF
    18021771                   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)
    18051773                   ENDIF
    18061774
     
    18101778                   ENDIF
    18111779                   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)  =                               &
    18131781                      tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    18141782
     
    18181786                   ENDIF
    18191787                   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)  =                              &
    18211789                       tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    18221790
     
    18261794                   ENDIF
    18271795                   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)  =                              &
    18291797                       tmp_2d(nysf-nbgp:nynf+nbgp,nxlf-nbgp:nxrf+nbgp)
    18301798
     
    18331801!
    18341802!--                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 )
    18411806!
    18421807!--                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 )
    18501813
    18511814
    18521815                   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 ',                      &
    18561819                                                'from prior run on PE ', myid
    18571820                      CALL message( 'rrd_local', 'PA0302', 1, 2, 0, 6, 0 )
     
    18641827
    18651828!
    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 )
    18791831
    18801832!
     
    18921844
    18931845    ENDDO  ! loop over restart files
    1894 
    18951846
    18961847!
Note: See TracChangeset for help on using the changeset viewer.