Ignore:
Timestamp:
Mar 20, 2014 8:40:49 AM (10 years ago)
Author:
raasch
Message:

ONLY-attribute added to USE-statements,
kind-parameters added to all INTEGER and REAL declaration statements,
kinds are defined in new module kinds,
old module precision_kind is removed,
revision history before 2012 removed,
comment fields (!:) to be used for variable explanations added to all variable declaration statements

File:
1 edited

Legend:

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

    r1319 r1320  
    2323! Current revisions:
    2424! -----------------
    25 !
     25! ONLY-attribute added to USE-statements,
     26! kind-parameters added to all INTEGER and REAL declaration statements,
     27! kinds are defined in new module kinds,
     28! old module precision_kind is removed,
     29! revision history before 2012 removed,
     30! comment fields (!:) to be used for variable explanations added to
     31! all variable declaration statements
    2632!
    2733! Former revisions:
     
    108114!------------------------------------------------------------------------------!
    109115
    110     USE arrays_3d
    111     USE control_parameters
    112     USE cpulog   
    113     USE grid_variables
    114     USE indices
     116    USE arrays_3d,                                                             &
     117        ONLY:  d, p_loc
     118
     119    USE control_parameters,                                                    &
     120        ONLY:  gathered_size, grid_level, grid_level_count,                    &
     121               maximum_grid_level, message_string, mgcycles, mg_cycles,        &
     122               mg_switch_to_pe0_level, residual_limit, subdomain_size
     123
     124    USE cpulog,                                                                &
     125        ONLY:  cpu_log, log_point_s
     126
     127    USE indices,                                                               &
     128        ONLY:  nxl, nxlg, nxl_mg, nxr, nxrg, nxr_mg, nys, nysg, nys_mg, nyn,   &
     129               nyng, nyn_mg, nzb, nzt, nzt_mg
     130
     131    USE kinds
     132
    115133    USE pegrid
    116134
    117135    IMPLICIT NONE
    118136
    119     REAL    ::  maxerror, maximum_mgcycles, residual_norm
    120 
    121     REAL, DIMENSION(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) ::  r
    122 
    123     REAL, DIMENSION(:,:,:), ALLOCATABLE ::  p3
     137    REAL(wp) ::  maxerror          !:
     138    REAL(wp) ::  maximum_mgcycles  !:
     139    REAL(wp) ::  residual_norm     !:
     140
     141    REAL(wp), DIMENSION(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) ::  r  !:
     142
     143    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE ::  p3  !:
    124144
    125145
     
    220240!------------------------------------------------------------------------------!
    221241
    222     USE arrays_3d
    223     USE control_parameters
    224     USE grid_variables
    225     USE indices
    226     USE pegrid
     242    USE arrays_3d,                                                             &
     243        ONLY:  f1_mg, f2_mg, f3_mg
     244
     245    USE control_parameters,                                                    &
     246        ONLY:  bc_lr_cyc, bc_ns_cyc, grid_level, ibc_p_b, ibc_p_t, inflow_l,   &
     247               inflow_n, inflow_r, inflow_s, outflow_l, outflow_n, outflow_r,  &
     248               outflow_s
     249
     250    USE grid_variables,                                                        &
     251        ONLY:  ddx2_mg, ddy2_mg
     252
     253    USE indices,                                                               &
     254        ONLY:  flags, wall_flags_1, wall_flags_2, wall_flags_3, wall_flags_4,  &
     255               wall_flags_5, wall_flags_6, wall_flags_7, wall_flags_8,         &
     256               wall_flags_9, wall_flags_10, nxl_mg, nxr_mg, nys_mg, nyn_mg,    &
     257               nzb, nzt_mg
     258
     259    USE kinds
    227260
    228261    IMPLICIT NONE
    229262
    230     INTEGER ::  i, j, k, l
    231 
    232     REAL, DIMENSION(nzb:nzt_mg(grid_level)+1,                                  &
     263    INTEGER(iwp) ::  i
     264    INTEGER(iwp) ::  j
     265    INTEGER(iwp) ::  k
     266    INTEGER(iwp) ::  l
     267
     268    REAL(wp), DIMENSION(nzb:nzt_mg(grid_level)+1,                              &
    233269                    nys_mg(grid_level)-1:nyn_mg(grid_level)+1,                 &
    234                     nxl_mg(grid_level)-1:nxr_mg(grid_level)+1) ::  f_mg, p_mg, r
     270                    nxl_mg(grid_level)-1:nxr_mg(grid_level)+1) ::  f_mg  !:
     271    REAL(wp), DIMENSION(nzb:nzt_mg(grid_level)+1,                              &
     272                    nys_mg(grid_level)-1:nyn_mg(grid_level)+1,                 &
     273                    nxl_mg(grid_level)-1:nxr_mg(grid_level)+1) ::  p_mg  !:
     274    REAL(wp), DIMENSION(nzb:nzt_mg(grid_level)+1,                              &
     275                    nys_mg(grid_level)-1:nyn_mg(grid_level)+1,                 &
     276                    nxl_mg(grid_level)-1:nxr_mg(grid_level)+1) ::  r     !:
    235277
    236278!
     
    336378!------------------------------------------------------------------------------!
    337379
    338     USE control_parameters
    339     USE grid_variables
    340     USE indices
    341     USE pegrid
     380    USE control_parameters,                                                    &
     381        ONLY:  bc_lr_cyc, bc_ns_cyc, grid_level, ibc_p_b, ibc_p_t, inflow_l,   &
     382               inflow_n, inflow_r, inflow_s, outflow_l, outflow_n, outflow_r,  &
     383               outflow_s
     384
     385    USE indices,                                                               &
     386        ONLY:  flags, wall_flags_1, wall_flags_2, wall_flags_3, wall_flags_4,  &
     387               wall_flags_5, wall_flags_6, wall_flags_7, wall_flags_8,         &
     388               wall_flags_9, wall_flags_10, nxl_mg, nxr_mg, nys_mg, nyn_mg,    &
     389               nzb, nzt_mg
     390
     391    USE kinds
    342392
    343393    IMPLICIT NONE
    344394
    345     INTEGER ::  i, ic, j, jc, k, kc, l
    346 
    347     REAL ::  rkjim, rkjip, rkjmi, rkjmim, rkjmip, rkjpi, rkjpim, rkjpip,       &
    348              rkmji, rkmjim, rkmjip, rkmjmi, rkmjmim, rkmjmip, rkmjpi, rkmjpim, &
    349              rkmjpip
    350 
    351     REAL, DIMENSION(nzb:nzt_mg(grid_level)+1,                            &
    352                     nys_mg(grid_level)-1:nyn_mg(grid_level)+1,           &
    353                     nxl_mg(grid_level)-1:nxr_mg(grid_level)+1) ::  f_mg
    354 
    355     REAL, DIMENSION(nzb:nzt_mg(grid_level+1)+1,                          &
    356                     nys_mg(grid_level+1)-1:nyn_mg(grid_level+1)+1,       &
    357                     nxl_mg(grid_level+1)-1:nxr_mg(grid_level+1)+1) ::  r
     395    INTEGER(iwp) ::  i    !:
     396    INTEGER(iwp) ::  ic   !:
     397    INTEGER(iwp) ::  j    !:
     398    INTEGER(iwp) ::  jc   !:
     399    INTEGER(iwp) ::  k    !:
     400    INTEGER(iwp) ::  kc   !:
     401    INTEGER(iwp) ::  l    !:
     402
     403    REAL(wp) ::  rkjim    !:
     404    REAL(wp) ::  rkjip    !:
     405    REAL(wp) ::  rkjmi    !:
     406    REAL(wp) ::  rkjmim   !:
     407    REAL(wp) ::  rkjmip   !:
     408    REAL(wp) ::  rkjpi    !:
     409    REAL(wp) ::  rkjpim   !:
     410    REAL(wp) ::  rkjpip   !:
     411    REAL(wp) ::  rkmji    !:
     412    REAL(wp) ::  rkmjim   !:
     413    REAL(wp) ::  rkmjip   !:
     414    REAL(wp) ::  rkmjmi   !:
     415    REAL(wp) ::  rkmjmim  !:
     416    REAL(wp) ::  rkmjmip  !:
     417    REAL(wp) ::  rkmjpi   !:
     418    REAL(wp) ::  rkmjpim  !:
     419    REAL(wp) ::  rkmjpip  !:
     420
     421    REAL(wp), DIMENSION(nzb:nzt_mg(grid_level)+1,                            &
     422                        nys_mg(grid_level)-1:nyn_mg(grid_level)+1,           &
     423                        nxl_mg(grid_level)-1:nxr_mg(grid_level)+1) ::  f_mg  !:
     424
     425    REAL(wp), DIMENSION(nzb:nzt_mg(grid_level+1)+1,                          &
     426                        nys_mg(grid_level+1)-1:nyn_mg(grid_level+1)+1,       &
     427                        nxl_mg(grid_level+1)-1:nxr_mg(grid_level+1)+1) ::  r !:
    358428
    359429!
     
    516586!------------------------------------------------------------------------------!
    517587
    518     USE control_parameters
    519     USE pegrid
    520     USE indices
     588    USE control_parameters,                                                    &
     589        ONLY:  bc_lr_cyc, bc_ns_cyc, grid_level, ibc_p_b, ibc_p_t, inflow_l,   &
     590               inflow_n, inflow_r, inflow_s, outflow_l, outflow_n, outflow_r,  &
     591               outflow_s
     592
     593    USE indices,                                                               &
     594        ONLY:  nxl_mg, nxr_mg, nys_mg, nyn_mg, nzb, nzt_mg
     595
     596    USE kinds
    521597
    522598    IMPLICIT NONE
    523599
    524     INTEGER ::  i, j, k, l
    525 
    526     REAL, DIMENSION(nzb:nzt_mg(grid_level-1)+1,                           &
    527                     nys_mg(grid_level-1)-1:nyn_mg(grid_level-1)+1,        &
    528                     nxl_mg(grid_level-1)-1:nxr_mg(grid_level-1)+1 ) ::  p
    529 
    530     REAL, DIMENSION(nzb:nzt_mg(grid_level)+1,                           &
    531                     nys_mg(grid_level)-1:nyn_mg(grid_level)+1,          &
    532                     nxl_mg(grid_level)-1:nxr_mg(grid_level)+1) ::  temp
     600    INTEGER(iwp) ::  i  !:
     601    INTEGER(iwp) ::  j  !:
     602    INTEGER(iwp) ::  k  !:
     603    INTEGER(iwp) ::  l  !:
     604
     605    REAL(wp), DIMENSION(nzb:nzt_mg(grid_level-1)+1,                           &
     606                        nys_mg(grid_level-1)-1:nyn_mg(grid_level-1)+1,        &
     607                        nxl_mg(grid_level-1)-1:nxr_mg(grid_level-1)+1 ) ::  p  !:
     608
     609    REAL(wp), DIMENSION(nzb:nzt_mg(grid_level)+1,                           &
     610                        nys_mg(grid_level)-1:nyn_mg(grid_level)+1,          &
     611                        nxl_mg(grid_level)-1:nxr_mg(grid_level)+1) ::  temp  !:
    533612
    534613
     
    613692!------------------------------------------------------------------------------!
    614693
    615     USE arrays_3d
    616     USE control_parameters
    617     USE cpulog
    618     USE grid_variables
    619     USE indices
    620     USE pegrid
     694    USE arrays_3d,                                                             &
     695        ONLY:  f1_mg, f2_mg, f3_mg
     696
     697    USE control_parameters,                                                    &
     698        ONLY:  bc_lr_cyc, bc_ns_cyc, grid_level, ibc_p_b, ibc_p_t, inflow_l,   &
     699               inflow_n, inflow_r, inflow_s, ngsrb, outflow_l, outflow_n,      &
     700               outflow_r, outflow_s
     701
     702    USE cpulog,                                                                &
     703        ONLY:  cpu_log, log_point_s
     704
     705    USE grid_variables,                                                        &
     706        ONLY:  ddx2_mg, ddy2_mg
     707
     708    USE indices,                                                               &
     709        ONLY:  flags, wall_flags_1, wall_flags_2, wall_flags_3, wall_flags_4,  &
     710               wall_flags_5, wall_flags_6, wall_flags_7, wall_flags_8,         &
     711               wall_flags_9, wall_flags_10, nxl_mg, nxr_mg, nys_mg, nyn_mg,    &
     712               nzb, nzt_mg
     713
     714    USE kinds
    621715
    622716    IMPLICIT NONE
    623717
    624     INTEGER :: colour, i, ic, j, jc, jj, k, l, n
    625 
    626     LOGICAL :: unroll
    627 
    628     REAL ::  wall_left, wall_north, wall_right, wall_south, wall_total, wall_top
    629 
    630     REAL, DIMENSION(nzb:nzt_mg(grid_level)+1,                                 &
    631                     nys_mg(grid_level)-1:nyn_mg(grid_level)+1,                &
    632                     nxl_mg(grid_level)-1:nxr_mg(grid_level)+1) ::  f_mg, p_mg
     718    INTEGER(iwp) :: color    !:
     719    INTEGER(iwp) :: i        !:
     720    INTEGER(iwp) :: ic       !:
     721    INTEGER(iwp) :: j        !:
     722    INTEGER(iwp) :: jc       !:
     723    INTEGER(iwp) :: jj       !:
     724    INTEGER(iwp) :: k        !:
     725    INTEGER(iwp) :: l        !:
     726    INTEGER(iwp) :: n        !:
     727
     728    LOGICAL :: unroll        !:
     729
     730    REAL(wp) ::  wall_left   !:
     731    REAL(wp) ::  wall_north  !:
     732    REAL(wp) ::  wall_right  !:
     733    REAL(wp) ::  wall_south  !:
     734    REAL(wp) ::  wall_total  !:
     735    REAL(wp) ::  wall_top    !:
     736
     737    REAL(wp), DIMENSION(nzb:nzt_mg(grid_level)+1,                              &
     738                        nys_mg(grid_level)-1:nyn_mg(grid_level)+1,             &
     739                        nxl_mg(grid_level)-1:nxr_mg(grid_level)+1) ::  f_mg  !:
     740    REAL(wp), DIMENSION(nzb:nzt_mg(grid_level)+1,                              &
     741                        nys_mg(grid_level)-1:nyn_mg(grid_level)+1,             &
     742                        nxl_mg(grid_level)-1:nxr_mg(grid_level)+1) ::  p_mg  !:
    633743
    634744    l = grid_level
     
    664774    DO  n = 1, ngsrb
    665775       
    666        DO  colour = 1, 2
     776       DO  color = 1, 2
    667777
    668778          IF ( .NOT. unroll )  THEN
     
    673783!--          Without unrolling of loops, no cache optimization
    674784             DO  i = nxl_mg(l), nxr_mg(l), 2
    675                 DO  j = nys_mg(l) + 2 - colour, nyn_mg(l), 2
     785                DO  j = nys_mg(l) + 2 - color, nyn_mg(l), 2
    676786                   DO  k = nzb+1, nzt_mg(l), 2
    677787!                      p_mg(k,j,i) = 1.0 / f1_mg(k,l) * (                       &
     
    703813   
    704814             DO  i = nxl_mg(l)+1, nxr_mg(l), 2
    705                 DO  j = nys_mg(l) + (colour-1), nyn_mg(l), 2
     815                DO  j = nys_mg(l) + (color-1), nyn_mg(l), 2
    706816                   DO  k = nzb+1, nzt_mg(l), 2
    707817                      p_mg(k,j,i) = 1.0 / f1_mg(k,l) * (                       &
     
    726836 
    727837             DO  i = nxl_mg(l), nxr_mg(l), 2
    728                 DO  j = nys_mg(l) + (colour-1), nyn_mg(l), 2
     838                DO  j = nys_mg(l) + (color-1), nyn_mg(l), 2
    729839                   DO  k = nzb+2, nzt_mg(l), 2
    730840                      p_mg(k,j,i) = 1.0 / f1_mg(k,l) * (                       &
     
    749859
    750860             DO  i = nxl_mg(l)+1, nxr_mg(l), 2
    751                 DO  j = nys_mg(l) + 2 - colour, nyn_mg(l), 2
     861                DO  j = nys_mg(l) + 2 - color, nyn_mg(l), 2
    752862                   DO  k = nzb+2, nzt_mg(l), 2
    753863                      p_mg(k,j,i) = 1.0 / f1_mg(k,l) * (                       &
     
    780890                DO  jc = nys_mg(l), nyn_mg(l), 4
    781891                   i  = ic
    782                    jj = jc+2-colour
     892                   jj = jc+2-color
    783893                   DO  k = nzb+1, nzt_mg(l), 2
    784894                      j = jj
     
    819929   
    820930                   i  = ic+1
    821                    jj = jc+colour-1
     931                   jj = jc+color-1
    822932                   DO  k = nzb+1, nzt_mg(l), 2
    823933                      j =jj
     
    858968
    859969                   i  = ic
    860                    jj = jc+colour-1
     970                   jj = jc+color-1
    861971                   DO  k = nzb+2, nzt_mg(l), 2
    862972                      j =jj
     
    8971007
    8981008                   i  = ic+1
    899                    jj = jc+2-colour
     1009                   jj = jc+2-color
    9001010                   DO  k = nzb+2, nzt_mg(l), 2
    9011011                      j =jj
     
    10271137 SUBROUTINE mg_gather( f2, f2_sub )
    10281138
    1029     USE control_parameters
    1030     USE cpulog
    1031     USE indices
     1139    USE control_parameters,                                                    &
     1140        ONLY:  grid_level
     1141
     1142    USE cpulog,                                                                &
     1143        ONLY:  cpu_log, log_point_s
     1144
     1145    USE indices,                                                               &
     1146        ONLY:  mg_loc_ind, nxl_mg, nxr_mg, nys_mg, nyn_mg, nzb, nzt_mg
     1147
     1148    USE kinds
     1149
    10321150    USE pegrid
    10331151
    10341152    IMPLICIT NONE
    10351153
    1036     INTEGER ::  i, il, ir, j, jn, js, k, nwords
    1037 
    1038     REAL, DIMENSION(nzb:nzt_mg(grid_level)+1,                            &
    1039                     nys_mg(grid_level)-1:nyn_mg(grid_level)+1,           &
    1040                     nxl_mg(grid_level)-1:nxr_mg(grid_level)+1) ::  f2, f2_l
    1041 
    1042     REAL, DIMENSION(nzb:mg_loc_ind(5,myid)+1,                            &
    1043                     mg_loc_ind(3,myid)-1:mg_loc_ind(4,myid)+1,           &
    1044                     mg_loc_ind(1,myid)-1:mg_loc_ind(2,myid)+1) ::  f2_sub
     1154    INTEGER(iwp) ::  i       !:
     1155    INTEGER(iwp) ::  il      !:
     1156    INTEGER(iwp) ::  ir      !:
     1157    INTEGER(iwp) ::  j       !:
     1158    INTEGER(iwp) ::  jn      !:
     1159    INTEGER(iwp) ::  js      !:
     1160    INTEGER(iwp) ::  k       !:
     1161    INTEGER(iwp) ::  nwords  !:
     1162
     1163    REAL(wp), DIMENSION(nzb:nzt_mg(grid_level)+1,                              &
     1164                    nys_mg(grid_level)-1:nyn_mg(grid_level)+1,                 &
     1165                    nxl_mg(grid_level)-1:nxr_mg(grid_level)+1) ::  f2    !:
     1166    REAL(wp), DIMENSION(nzb:nzt_mg(grid_level)+1,                              &
     1167                    nys_mg(grid_level)-1:nyn_mg(grid_level)+1,                 &
     1168                    nxl_mg(grid_level)-1:nxr_mg(grid_level)+1) ::  f2_l  !:
     1169
     1170    REAL(wp), DIMENSION(nzb:mg_loc_ind(5,myid)+1,                              &
     1171                        mg_loc_ind(3,myid)-1:mg_loc_ind(4,myid)+1,             &
     1172                        mg_loc_ind(1,myid)-1:mg_loc_ind(2,myid)+1) ::  f2_sub  !:
    10451173
    10461174
     
    10911219!-- non-blocking communication
    10921220
    1093     USE control_parameters
    1094     USE cpulog
    1095     USE indices
     1221    USE control_parameters,                                                    &
     1222        ONLY:  grid_level
     1223
     1224    USE cpulog,                                                                &
     1225        ONLY:  cpu_log, log_point_s
     1226
     1227    USE indices,                                                               &
     1228        ONLY:  mg_loc_ind, nxl_mg, nxr_mg, nys_mg, nyn_mg, nzb, nzt_mg
     1229
     1230    USE kinds
     1231
    10961232    USE pegrid
    10971233
    10981234    IMPLICIT NONE
    10991235
    1100     INTEGER ::  nwords
    1101 
    1102     REAL, DIMENSION(nzb:nzt_mg(grid_level-1)+1,                            &
    1103                     nys_mg(grid_level-1)-1:nyn_mg(grid_level-1)+1,         &
    1104                     nxl_mg(grid_level-1)-1:nxr_mg(grid_level-1)+1) ::  p2
    1105 
    1106     REAL, DIMENSION(nzb:mg_loc_ind(5,myid)+1,                              &
    1107                     mg_loc_ind(3,myid)-1:mg_loc_ind(4,myid)+1,             &
    1108                     mg_loc_ind(1,myid)-1:mg_loc_ind(2,myid)+1) ::  p2_sub
     1236    INTEGER(iwp) ::  nwords  !:
     1237
     1238    REAL(wp), DIMENSION(nzb:nzt_mg(grid_level-1)+1,                            &
     1239                        nys_mg(grid_level-1)-1:nyn_mg(grid_level-1)+1,         &
     1240                        nxl_mg(grid_level-1)-1:nxr_mg(grid_level-1)+1) ::  p2  !:
     1241
     1242    REAL(wp), DIMENSION(nzb:mg_loc_ind(5,myid)+1,                              &
     1243                        mg_loc_ind(3,myid)-1:mg_loc_ind(4,myid)+1,             &
     1244                        mg_loc_ind(1,myid)-1:mg_loc_ind(2,myid)+1) ::  p2_sub  !:
    11091245
    11101246!
     
    11381274!------------------------------------------------------------------------------!
    11391275
    1140     USE arrays_3d
    1141     USE control_parameters
    1142     USE grid_variables
    1143     USE indices
     1276    USE control_parameters,                                                    &
     1277        ONLY:  bc_lr_dirrad, bc_lr_raddir, bc_ns_dirrad, bc_ns_raddir,         &
     1278               gamma_mg, grid_level, grid_level_count, ibc_p_b, ibc_p_t,       &
     1279               inflow_l, inflow_n, inflow_r, inflow_s, maximum_grid_level,     &
     1280               mg_switch_to_pe0_level, mg_switch_to_pe0, ngsrb, outflow_l,     &
     1281               outflow_n, outflow_r, outflow_s
     1282
     1283
     1284    USE indices,                                                               &
     1285        ONLY:  mg_loc_ind, nxl, nxl_mg, nxr, nxr_mg, nys, nys_mg, nyn,         &
     1286               nyn_mg, nzb, nzt, nzt_mg
     1287
     1288    USE kinds
     1289
    11441290    USE pegrid
    11451291
    11461292    IMPLICIT NONE
    11471293
    1148     INTEGER ::  i, j, k, nxl_mg_save, nxr_mg_save, nyn_mg_save, nys_mg_save, &
    1149                 nzt_mg_save
    1150 
    1151     REAL, DIMENSION(nzb:nzt_mg(grid_level)+1,                                  &
    1152                  nys_mg(grid_level)-1:nyn_mg(grid_level)+1,                    &
    1153                  nxl_mg(grid_level)-1:nxr_mg(grid_level)+1) :: f_mg, p_mg, p3, r
    1154 
    1155     REAL, DIMENSION(nzb:nzt_mg(grid_level-1)+1,                                &
    1156                     nys_mg(grid_level-1)-1:nyn_mg(grid_level-1)+1,             &
    1157                     nxl_mg(grid_level-1)-1:nxr_mg(grid_level-1)+1) ::  f2, p2
    1158 
    1159     REAL, DIMENSION(:,:,:), ALLOCATABLE ::  f2_sub, p2_sub
     1294    INTEGER(iwp) ::  i            !:
     1295    INTEGER(iwp) ::  j            !:
     1296    INTEGER(iwp) ::  k            !:
     1297    INTEGER(iwp) ::  nxl_mg_save  !:
     1298    INTEGER(iwp) ::  nxr_mg_save  !:
     1299    INTEGER(iwp) ::  nyn_mg_save  !:
     1300    INTEGER(iwp) ::  nys_mg_save  !:
     1301    INTEGER(iwp) ::  nzt_mg_save  !:
     1302
     1303    REAL(wp), DIMENSION(nzb:nzt_mg(grid_level)+1,                              &
     1304                        nys_mg(grid_level)-1:nyn_mg(grid_level)+1,             &
     1305                        nxl_mg(grid_level)-1:nxr_mg(grid_level)+1) :: f_mg  !:
     1306    REAL(wp), DIMENSION(nzb:nzt_mg(grid_level)+1,                              &
     1307                        nys_mg(grid_level)-1:nyn_mg(grid_level)+1,             &
     1308                        nxl_mg(grid_level)-1:nxr_mg(grid_level)+1) :: p_mg  !:
     1309    REAL(wp), DIMENSION(nzb:nzt_mg(grid_level)+1,                              &
     1310                        nys_mg(grid_level)-1:nyn_mg(grid_level)+1,             &
     1311                        nxl_mg(grid_level)-1:nxr_mg(grid_level)+1) :: p3    !:
     1312    REAL(wp), DIMENSION(nzb:nzt_mg(grid_level)+1,                              &
     1313                        nys_mg(grid_level)-1:nyn_mg(grid_level)+1,             &
     1314                        nxl_mg(grid_level)-1:nxr_mg(grid_level)+1) :: r     !:
     1315
     1316    REAL(wp), DIMENSION(nzb:nzt_mg(grid_level-1)+1,                            &
     1317                        nys_mg(grid_level-1)-1:nyn_mg(grid_level-1)+1,         &
     1318                        nxl_mg(grid_level-1)-1:nxr_mg(grid_level-1)+1) ::  f2  !:
     1319    REAL(wp), DIMENSION(nzb:nzt_mg(grid_level-1)+1,                            &
     1320                        nys_mg(grid_level-1)-1:nyn_mg(grid_level-1)+1,         &
     1321                        nxl_mg(grid_level-1)-1:nxr_mg(grid_level-1)+1) ::  p2  !:
     1322
     1323    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE ::  f2_sub  !:
     1324    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE ::  p2_sub  !:
    11601325
    11611326!
Note: See TracChangeset for help on using the changeset viewer.