Changeset 132 for palm/trunk/SOURCE
- Timestamp:
- Nov 20, 2007 9:46:11 AM (17 years ago)
- Location:
- palm/trunk/SOURCE
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/CURRENT_MODIFICATIONS
r130 r132 1 1 New: 2 2 --- 3 4 Allow new case bc_uv_t = 'dirichlet_0' for channel flow. 3 5 4 6 For unknown variables (CASE DEFAULT) call new subroutine user_data_output_dvrp … … 13 15 advec_particles after the end of this loop. 14 16 15 advec_particles, check_parameters, data_output_dvrp, header, init_ grid, init_particles, init_pegrid, modules, package_parin, read_var_list, user_interface, write_var_list17 advec_particles, check_parameters, data_output_dvrp, header, init_3d_model, init_grid, init_particles, init_pegrid, modules, package_parin, read_var_list, user_interface, write_var_list 16 18 17 19 18 20 Changed: 19 21 ------- 22 23 Vertical profiles now based on nzb_s_inner; they are divided by 24 ngp_2dh_s_inner (scalars, procucts of scalars and velocity components) and 25 ngp_2dh (staggered velocity components and their products), respectively. 20 26 21 27 Allow two instead of one digit to specify isosurface and slicer variables. … … 33 39 humidity/scalar/salinity in a future release. 34 40 35 check_open, data_output_dvrp, diffusion_s, header, init_dvrp, modules, prognostic_equations41 buoyancy, check_open, data_output_dvrp, diffusion_s, diffusivities, flow_statistics, header, init_3d_model, init_dvrp, modules, prognostic_equations 36 42 37 43 -
palm/trunk/SOURCE/buoyancy.f90
r110 r132 4 4 ! Actual revisions: 5 5 ! ----------------- 6 ! 6 ! Vertical scalar profiles now based on nzb_s_inner and ngp_2dh_s_inner. 7 7 ! 8 8 ! Former revisions: … … 258 258 DO i = nxl, nxr 259 259 DO j = nys, nyn 260 DO k = nzb_s_ outer(j,i), nzt+1260 DO k = nzb_s_inner(j,i), nzt+1 261 261 sums_l(k,pr,tn) = sums_l(k,pr,tn) + var(k,j,i) 262 262 ENDDO … … 280 280 #endif 281 281 282 hom(:,1,pr,0) = sums(:,pr) / ngp_2dh_ outer(:,0)282 hom(:,1,pr,0) = sums(:,pr) / ngp_2dh_s_inner(:,0) 283 283 284 284 ENDIF -
palm/trunk/SOURCE/check_parameters.f90
r121 r132 4 4 ! Actual revisions: 5 5 ! ----------------- 6 ! Allow new case bc_uv_t = 'dirichlet_0' for channel flow. 6 7 ! Multigrid solver allows topography, checking of dt_sort_particles 7 8 ! Bugfix: initializing u_init and v_init in case of ocean runs … … 1397 1398 ibc_uv_t = 1 1398 1399 ELSE 1399 IF ( bc_uv_t == 'dirichlet' ) THEN1400 IF ( bc_uv_t == 'dirichlet' .OR. bc_uv_t == 'dirichlet_0' ) THEN 1400 1401 ibc_uv_t = 0 1401 1402 ELSEIF ( bc_uv_t == 'neumann' ) THEN -
palm/trunk/SOURCE/diffusivities.f90
r98 r132 4 4 ! Actual revisions: 5 5 ! ----------------- 6 ! Vertical scalar profiles now based on nzb_s_inner and ngp_2dh_s_inner. 6 7 ! 7 8 ! … … 141 142 DO sr = 0, statistic_regions 142 143 IF ( rmask(j,i,sr) /= 0.0 ) THEN 143 DO k = nzb_s_ outer(j,i)+1, nzt144 DO k = nzb_s_inner(j,i)+1, nzt 144 145 sums_l_l(k,sr,tn) = sums_l_l(k,sr,tn) + l(k) 145 146 ENDDO -
palm/trunk/SOURCE/flow_statistics.f90
r110 r132 4 4 ! Actual revisions: 5 5 ! ----------------- 6 ! Vertical profiles now based on nzb_s_inner; they are divided by 7 ! ngp_2dh_s_inner (scalars, procucts of scalars and velocity components) and 8 ! ngp_2dh (staggered velocity components and their products), respectively. 6 9 ! 7 10 ! … … 49 52 ! user-defined (sub-)regions. The region indexed 0 is the total model domain. 50 53 ! 51 ! NOTE: For simplicity, nzb_s_outer and nzb_diff_s_outer are being used as a 52 ! ---- lower vertical index for k-loops for all variables so that regardless 53 ! of the variable and its respective staggered grid always the same number of 54 ! grid points is used for 2D averages. The disadvantage: depending on the 55 ! variable, up to one grid layer adjacent to the (vertical walls of the) 56 ! topography is missed out by this simplification. 54 ! NOTE: For simplicity, nzb_s_inner and nzb_diff_s_inner are being used as a 55 ! ---- lower vertical index for k-loops for all variables, although strictly 56 ! speaking the k-loops would have to be split up according to the staggered 57 ! grid. However, this implies no error since staggered velocity components are 58 ! zero at the walls and inside buildings. 57 59 !------------------------------------------------------------------------------! 58 60 … … 124 126 DO i = nxl, nxr 125 127 DO j = nys, nyn 126 DO k = nzb_s_ outer(j,i), nzt+1128 DO k = nzb_s_inner(j,i), nzt+1 127 129 sums_l(k,1,tn) = sums_l(k,1,tn) + u(k,j,i) * rmask(j,i,sr) 128 130 sums_l(k,2,tn) = sums_l(k,2,tn) + v(k,j,i) * rmask(j,i,sr) … … 138 140 DO i = nxl, nxr 139 141 DO j = nys, nyn 140 DO k = nzb_s_ outer(j,i), nzt+1142 DO k = nzb_s_inner(j,i), nzt+1 141 143 sums_l(k,23,tn) = sums_l(k,23,tn) + & 142 144 sa(k,j,i) * rmask(j,i,sr) … … 154 156 DO i = nxl, nxr 155 157 DO j = nys, nyn 156 DO k = nzb_s_ outer(j,i), nzt+1158 DO k = nzb_s_inner(j,i), nzt+1 157 159 sums_l(k,44,tn) = sums_l(k,44,tn) + & 158 160 vpt(k,j,i) * rmask(j,i,sr) … … 166 168 DO i = nxl, nxr 167 169 DO j = nys, nyn 168 DO k = nzb_s_ outer(j,i), nzt+1170 DO k = nzb_s_inner(j,i), nzt+1 169 171 sums_l(k,42,tn) = sums_l(k,42,tn) + & 170 172 ( q(k,j,i) - ql(k,j,i) ) * rmask(j,i,sr) … … 184 186 DO i = nxl, nxr 185 187 DO j = nys, nyn 186 DO k = nzb_s_ outer(j,i), nzt+1188 DO k = nzb_s_inner(j,i), nzt+1 187 189 sums_l(k,41,tn) = sums_l(k,41,tn) + q(k,j,i) * rmask(j,i,sr) 188 190 ENDDO … … 265 267 !-- Final values are obtained by division by the total number of grid points 266 268 !-- used for summation. After that store profiles. 267 sums(:,1) = sums(:,1) / ngp_2dh _outer(:,sr)268 sums(:,2) = sums(:,2) / ngp_2dh _outer(:,sr)269 sums(:,4) = sums(:,4) / ngp_2dh_ outer(:,sr)269 sums(:,1) = sums(:,1) / ngp_2dh(sr) 270 sums(:,2) = sums(:,2) / ngp_2dh(sr) 271 sums(:,4) = sums(:,4) / ngp_2dh_s_inner(:,sr) 270 272 hom(:,1,1,sr) = sums(:,1) ! u 271 273 hom(:,1,2,sr) = sums(:,2) ! v … … 275 277 !-- Salinity 276 278 IF ( ocean ) THEN 277 sums(:,23) = sums(:,23) / ngp_2dh_ outer(:,sr)279 sums(:,23) = sums(:,23) / ngp_2dh_s_inner(:,sr) 278 280 hom(:,1,23,sr) = sums(:,23) ! sa 279 281 ENDIF … … 282 284 !-- Humidity and cloud parameters 283 285 IF ( humidity ) THEN 284 sums(:,44) = sums(:,44) / ngp_2dh_ outer(:,sr)285 sums(:,41) = sums(:,41) / ngp_2dh_ outer(:,sr)286 sums(:,44) = sums(:,44) / ngp_2dh_s_inner(:,sr) 287 sums(:,41) = sums(:,41) / ngp_2dh_s_inner(:,sr) 286 288 hom(:,1,44,sr) = sums(:,44) ! vpt 287 289 hom(:,1,41,sr) = sums(:,41) ! qv (q) 288 290 IF ( cloud_physics ) THEN 289 sums(:,42) = sums(:,42) / ngp_2dh_ outer(:,sr)290 sums(:,43) = sums(:,43) / ngp_2dh_ outer(:,sr)291 sums(:,42) = sums(:,42) / ngp_2dh_s_inner(:,sr) 292 sums(:,43) = sums(:,43) / ngp_2dh_s_inner(:,sr) 291 293 hom(:,1,42,sr) = sums(:,42) ! qv 292 294 hom(:,1,43,sr) = sums(:,43) ! pt … … 296 298 ! 297 299 !-- Passive scalar 298 IF ( passive_scalar ) hom(:,1,41,sr) = sums(:,41) / ngp_2dh_outer(:,sr) 300 IF ( passive_scalar ) hom(:,1,41,sr) = sums(:,41) / & 301 ngp_2dh_s_inner(:,sr) ! s (q) 299 302 300 303 ! … … 302 305 !-- variances, the total and the perturbation energy (single values in last 303 306 !-- column of sums_l) and some diagnostic quantities. 304 !-- NOTE: for simplicity, nzb_s_ outer is used below, although strictly307 !-- NOTE: for simplicity, nzb_s_inner is used below, although strictly 305 308 !-- ---- speaking the following k-loop would have to be split up and 306 309 !-- rearranged according to the staggered grid. 310 !-- However, this implies no error since staggered velocity components 311 !-- are zero at the walls and inside buildings. 307 312 tn = 0 308 313 #if defined( __intel_openmp_bug ) … … 319 324 sums_l_etot = 0.0 320 325 sums_l_eper = 0.0 321 DO k = nzb_s_ outer(j,i), nzt+1326 DO k = nzb_s_inner(j,i), nzt+1 322 327 u2 = u(k,j,i)**2 323 328 v2 = v(k,j,i)**2 … … 382 387 !-- Subgridscale fluxes (without Prandtl layer from k=nzb, 383 388 !-- oterwise from k=nzb+1) 384 !-- NOTE: for simplicity, nzb_diff_s_ outer is used below, although389 !-- NOTE: for simplicity, nzb_diff_s_inner is used below, although 385 390 !-- ---- strictly speaking the following k-loop would have to be 386 391 !-- split up according to the staggered grid. 387 DO k = nzb_diff_s_outer(j,i)-1, nzt_diff 392 !-- However, this implies no error since staggered velocity 393 !-- components are zero at the walls and inside buildings. 394 395 DO k = nzb_diff_s_inner(j,i)-1, nzt_diff 388 396 ! 389 397 !-- Momentum flux w"u" … … 528 536 ! 529 537 !-- Resolved fluxes (can be computed for all horizontal points) 530 !-- NOTE: for simplicity, nzb_s_ outer is used below, although strictly538 !-- NOTE: for simplicity, nzb_s_inner is used below, although strictly 531 539 !-- ---- speaking the following k-loop would have to be split up and 532 540 !-- rearranged according to the staggered grid. 533 DO k = nzb_s_ outer(j,i), nzt541 DO k = nzb_s_inner(j,i), nzt 534 542 ust = 0.5 * ( u(k,j,i) - hom(k,1,1,sr) + & 535 543 u(k+1,j,i) - hom(k+1,1,1,sr) ) … … 634 642 DO i = nxl, nxr 635 643 DO j = nys, nyn 636 DO k = nzb_s_ outer(j,i)+1, nzt644 DO k = nzb_s_inner(j,i)+1, nzt 637 645 638 646 sums_ll(k,1) = sums_ll(k,1) + 0.5 * w(k,j,i) * ( & … … 656 664 sums_ll(nzt+1,2) = 0.0 657 665 658 DO k = nzb_s_ outer(j,i)+1, nzt666 DO k = nzb_s_inner(j,i)+1, nzt 659 667 sums_l(k,55,tn) = ( sums_ll(k,1) - sums_ll(k-1,1) ) * ddzw(k) 660 668 sums_l(k,56,tn) = ( sums_ll(k,2) - sums_ll(k-1,2) ) * ddzw(k) … … 674 682 DO i = nxl, nxr 675 683 DO j = nys, nyn 676 DO k = nzb_s_ outer(j,i)+1, nzt684 DO k = nzb_s_inner(j,i)+1, nzt 677 685 678 686 sums_l(k,57,tn) = sums_l(k,57,tn) - 0.5 * ( & … … 701 709 DO i = nxl, nxr 702 710 DO j = nys, nyn 703 DO k = nzb_s_ outer(j,i)+1, nzt711 DO k = nzb_s_inner(j,i)+1, nzt 704 712 ! 705 713 !-- Subgrid horizontal heat fluxes u"pt", v"pt" … … 773 781 !-- Profiles: 774 782 DO k = nzb, nzt+1 775 sums(k,:pr_palm-2) = sums(k,:pr_palm-2) / ngp_2dh_outer(k,sr) 783 sums(k,3) = sums(k,3) / ngp_2dh(sr) 784 sums(k,9:11) = sums(k,9:11) / ngp_2dh_s_inner(k,sr) 785 sums(k,12:22) = sums(k,12:22) / ngp_2dh(sr) 786 sums(k,23:29) = sums(k,23:29) / ngp_2dh_s_inner(k,sr) 787 sums(k,30:32) = sums(k,30:32) / ngp_2dh(sr) 788 sums(k,33) = sums(k,33) / ngp_2dh_s_inner(k,sr) 789 sums(k,34:39) = sums(k,34:39) / ngp_2dh(sr) 790 sums(k,40) = sums(k,40) / ngp_2dh_s_inner(k,sr) 791 sums(k,45:53) = sums(k,45:53) / ngp_2dh(sr) 792 sums(k,54) = sums(k,54) / ngp_2dh_s_inner(k,sr) 793 sums(k,55:63) = sums(k,55:63) / ngp_2dh(sr) 794 sums(k,64) = sums(k,64) / ngp_2dh_s_inner(k,sr) 795 sums(k,65:69) = sums(k,65:69) / ngp_2dh(sr) 796 sums(k,70:pr_palm-2) = sums(k,70:pr_palm-2)/ ngp_2dh_s_inner(k,sr) 776 797 ENDDO 777 798 !-- Upstream-parts … … 785 806 !-- eges, e* 786 807 sums(nzb+4:nzb+5,pr_palm) = sums(nzb+4:nzb+5,pr_palm) / & 787 ngp_3d _inner(sr)808 ngp_3d(sr) 788 809 !-- Old and new divergence 789 810 sums(nzb+9:nzb+10,pr_palm) = sums(nzb+9:nzb+10,pr_palm) / & … … 795 816 sums(k,pr_palm+1:pr_palm+max_pr_user) = & 796 817 sums(k,pr_palm+1:pr_palm+max_pr_user) / & 797 ngp_2dh_ outer(k,sr)818 ngp_2dh_s_inner(k,sr) 798 819 ENDDO 799 820 ENDIF -
palm/trunk/SOURCE/header.f90
r130 r132 4 4 ! Actual revisions: 5 5 ! ----------------- 6 ! allow two instead of one digit to specify isosurface and slicer variables 6 ! Allow new case bc_uv_t = 'dirichlet_0' for channel flow. 7 ! Allow two instead of one digit to specify isosurface and slicer variables. 7 8 ! Output of sorting frequency of particles 8 9 ! … … 384 385 runten = TRIM( runten ) // ' uv(0) = uv(1) |' 385 386 ENDIF 386 IF ( ibc_uv_t == 0 ) THEN 387 IF ( TRIM( bc_uv_t ) == 'dirichlet_0' ) THEN 388 roben = TRIM( roben ) // ' uv(nzt+1) = 0 |' 389 ELSEIF ( ibc_uv_t == 0 ) THEN 387 390 roben = TRIM( roben ) // ' uv(nzt+1) = ug(nzt+1), vg(nzt+1) |' 388 391 ELSE -
palm/trunk/SOURCE/init_3d_model.f90
r110 r132 7 7 ! Actual revisions: 8 8 ! ----------------- 9 ! 9 ! New counter ngp_2dh_s_inner. 10 ! Allow new case bc_uv_t = 'dirichlet_0' for channel flow. 11 ! Corrected calculation of initial volume flow for 'set_1d-model_profiles' and 12 ! 'set_constant_profiles' in case of buildings in the reference cross-sections. 10 13 ! 11 14 ! Former revisions: … … 80 83 INTEGER, DIMENSION(:), ALLOCATABLE :: ngp_2dh_l, ngp_3d_inner_l 81 84 82 INTEGER, DIMENSION(:,:), ALLOCATABLE :: ngp_2dh_outer_l 85 INTEGER, DIMENSION(:,:), ALLOCATABLE :: ngp_2dh_outer_l, & 86 ngp_2dh_s_inner_l 83 87 84 88 REAL, DIMENSION(1:2) :: volume_flow_area_l, volume_flow_initial_l … … 97 101 ngp_2dh_outer(nzb:nzt+1,0:statistic_regions), & 98 102 ngp_2dh_outer_l(nzb:nzt+1,0:statistic_regions), & 103 ngp_2dh_s_inner(nzb:nzt+1,0:statistic_regions), & 104 ngp_2dh_s_inner_l(nzb:nzt+1,0:statistic_regions), & 99 105 rmask(nys-1:nyn+1,nxl-1:nxr+1,0:statistic_regions), & 100 106 sums(nzb:nzt+1,pr_palm+max_pr_user), & … … 426 432 ENDDO 427 433 ENDDO 434 IF ( conserve_volume_flow ) THEN 435 IF ( nxr == nx ) THEN 436 DO j = nys, nyn 437 DO k = nzb + 1, nzb_u_inner(j,nx) 438 u_nzb_p1_for_vfc(j) = u1d(k) * dzu(k) 439 ENDDO 440 ENDDO 441 ENDIF 442 IF ( nyn == ny ) THEN 443 DO i = nxl, nxr 444 DO k = nzb + 1, nzb_v_inner(ny,i) 445 v_nzb_p1_for_vfc(i) = v1d(k) * dzu(k) 446 ENDDO 447 ENDDO 448 ENDIF 449 ENDIF 428 450 ! 429 451 !-- WARNING: The extra boundary conditions set after running the … … 486 508 IF ( nxr == nx ) THEN 487 509 DO j = nys, nyn 488 k = nzb_u_inner(j,nx) + 1 489 u_nzb_p1_for_vfc(j) = u_init(k) * dzu(k) 510 DO k = nzb + 1, nzb_u_inner(j,nx) + 1 511 u_nzb_p1_for_vfc(j) = u_init(k) * dzu(k) 512 ENDDO 490 513 ENDDO 491 514 ENDIF 492 515 IF ( nyn == ny ) THEN 493 516 DO i = nxl, nxr 494 k = nzb_v_inner(ny,i) + 1 495 v_nzb_p1_for_vfc(i) = v_init(k) * dzu(k) 517 DO k = nzb + 1, nzb_v_inner(ny,i) + 1 518 v_nzb_p1_for_vfc(i) = v_init(k) * dzu(k) 519 ENDDO 496 520 ENDDO 497 521 ENDIF … … 561 585 562 586 ! 587 !-- apply channel flow boundary condition 588 IF ( TRIM( bc_uv_t ) == 'dirichlet_0' ) THEN 589 590 u(nzt+1,:,:) = 0.0 591 v(nzt+1,:,:) = 0.0 592 593 !-- for the Dirichlet condition to be correctly applied at the top, set 594 !-- ug and vg to zero there 595 ug(nzt+1) = 0.0 596 vg(nzt+1) = 0.0 597 598 ENDIF 599 600 ! 563 601 !-- Calculate virtual potential temperature 564 602 IF ( humidity ) vpt = pt * ( 1.0 + 0.61 * q ) … … 1036 1074 !-- total domain 1037 1075 !-- ngp_3d: number of grid points of the total domain 1038 !-- Note: The lower vertical index nzb_s_outer imposes a small error on the 2D 1039 !-- ---- averages of staggered variables such as u and v due to the topography 1040 !-- arrangement on the staggered grid. Maybe revise later. 1041 ngp_2dh_outer_l = 0 1042 ngp_2dh_outer = 0 1043 ngp_2dh_l = 0 1044 ngp_2dh = 0 1045 ngp_3d_inner_l = 0 1046 ngp_3d_inner = 0 1047 ngp_3d = 0 1048 ngp_sums = ( nz + 2 ) * ( pr_palm + max_pr_user ) 1076 ngp_2dh_outer_l = 0 1077 ngp_2dh_outer = 0 1078 ngp_2dh_s_inner_l = 0 1079 ngp_2dh_s_inner = 0 1080 ngp_2dh_l = 0 1081 ngp_2dh = 0 1082 ngp_3d_inner_l = 0 1083 ngp_3d_inner = 0 1084 ngp_3d = 0 1085 ngp_sums = ( nz + 2 ) * ( pr_palm + max_pr_user ) 1049 1086 1050 1087 DO sr = 0, statistic_regions … … 1059 1096 DO k = nzb_s_outer(j,i), nz + 1 1060 1097 ngp_2dh_outer_l(k,sr) = ngp_2dh_outer_l(k,sr) + 1 1098 ENDDO 1099 DO k = nzb_s_inner(j,i), nz + 1 1100 ngp_2dh_s_inner_l(k,sr) = ngp_2dh_s_inner_l(k,sr) + 1 1061 1101 ENDDO 1062 1102 ! … … 1075 1115 CALL MPI_ALLREDUCE( ngp_2dh_outer_l(0,0), ngp_2dh_outer(0,0), (nz+2)*sr, & 1076 1116 MPI_INTEGER, MPI_SUM, comm2d, ierr ) 1117 CALL MPI_ALLREDUCE( ngp_2dh_s_inner_l(0,0), ngp_2dh_s_inner(0,0), & 1118 (nz+2)*sr, MPI_INTEGER, MPI_SUM, comm2d, ierr ) 1077 1119 CALL MPI_ALLREDUCE( ngp_3d_inner_l(0), ngp_3d_inner(0), sr, MPI_INTEGER, & 1078 1120 MPI_SUM, comm2d, ierr ) 1079 1121 #else 1080 ngp_2dh = ngp_2dh_l 1081 ngp_2dh_outer = ngp_2dh_outer_l 1082 ngp_3d_inner = ngp_3d_inner_l 1122 ngp_2dh = ngp_2dh_l 1123 ngp_2dh_outer = ngp_2dh_outer_l 1124 ngp_2dh_s_inner = ngp_2dh_s_inner_l 1125 ngp_3d_inner = ngp_3d_inner_l 1083 1126 #endif 1084 1127 -
palm/trunk/SOURCE/modules.f90
r129 r132 5 5 ! Actual revisions: 6 6 ! ----------------- 7 ! +dt_sort_particles, time_sort_particles, flags, wall_flags_1..108 ! wall_ humidityflux(0:4), wall_qflux(0:4), wall_salinityflux(0:4),9 ! wall_s calarflux(0:4)7 ! +dt_sort_particles, ngp_2dh_s_inner, time_sort_particles, flags, 8 ! wall_flags_1..10, wall_humidityflux(0:4), wall_qflux(0:4), 9 ! wall_salinityflux(0:4), wall_scalarflux(0:4) 10 10 ! 11 11 ! Former revisions: … … 588 588 589 589 INTEGER, DIMENSION(:,:), ALLOCATABLE :: & 590 ngp_2dh_outer, mg_loc_ind, nzb_diff_s_inner, nzb_diff_s_outer,&591 nzb_diff_ u, nzb_diff_v, nzb_inner, nzb_outer, nzb_s_inner,&592 nzb_s_ outer, nzb_u_inner, nzb_u_outer, nzb_v_inner, &593 nzb_v_ outer, nzb_w_inner, nzb_w_outer, nzb_2d590 ngp_2dh_outer, ngp_2dh_s_inner, mg_loc_ind, nzb_diff_s_inner, & 591 nzb_diff_s_outer, nzb_diff_u, nzb_diff_v, nzb_inner, nzb_outer,& 592 nzb_s_inner, nzb_s_outer, nzb_u_inner, nzb_u_outer, & 593 nzb_v_inner, nzb_v_outer, nzb_w_inner, nzb_w_outer, nzb_2d 594 594 595 595 INTEGER, DIMENSION(:,:,:), POINTER :: flags
Note: See TracChangeset
for help on using the changeset viewer.