Changeset 242 for palm/trunk


Ignore:
Timestamp:
Feb 23, 2009 1:03:18 PM (15 years ago)
Author:
raasch
Message:

further additions for clipping - still incomplete

Location:
palm/trunk/SOURCE
Files:
4 edited

Legend:

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

    r226 r242  
    3333! -----------------
    3434! TEST: different colours for isosurfaces
    35 ! TEST: write statements
    3635!
    3736! Former revisions:
     
    9089    CHARACTER (LEN=2) ::  section_chr
    9190    CHARACTER (LEN=6) ::  output_variable
    92     INTEGER ::  c_mode, c_size_x, c_size_y, c_size_z, gradient_normals, i, j, &
    93                 k, l, m, n, nn, section_mode, tv, vn
     91    INTEGER ::  c_mode, c_size_x, c_size_y, c_size_z, dvrp_nop, dvrp_not,     &
     92                gradient_normals, i, ip, j, jp, k, l, m, n, nn, section_mode, &
     93                tv, vn
    9494    INTEGER, DIMENSION(:), ALLOCATABLE ::  p_c, p_t
     95
     96    LOGICAL, DIMENSION(:), ALLOCATABLE ::  dvrp_mask
     97
    9598    REAL(4) ::  center(3), distance, slicer_position, surface_value,         &
    9699                tmp_alpha, tmp_alpha_w, tmp_b, tmp_c_alpha, tmp_g, tmp_norm, &
     
    101104
    102105
    103     WRITE ( 9, * ) '*** myid=', myid, ' Anfang data_output_dvrp'
    104     CALL local_flush( 9 )
    105106    CALL cpu_log( log_point(27), 'data_output_dvrp', 'start' )
    106107
     
    117118!--       Set lock to avoid recursive calls of DVRP_STEERING_UPDATE
    118119          lock_steering_update = .TRUE.
    119 !   WRITE ( 9, * ) '*** myid=', myid, ' data_output_dvrp: vor steering_update'
    120 !   CALL local_flush( 9 )
    121120!          CALL DVRP_STEERING_UPDATE( m-1, data_output_dvrp )
    122 !   WRITE ( 9, * ) '*** myid=', myid, ' data_output_dvrp: nach steering_update'
    123 !   CALL local_flush( 9 )
    124121          lock_steering_update = .FALSE.
    125122       ENDIF
     
    155152       IF ( mode_dvrp(m)(1:9) == 'particles'  .AND.  particle_advection  .AND. &
    156153            simulated_time >= particle_advection_start )  THEN
    157 
    158 !   WRITE ( 9, * ) '*** myid=', myid, ' data_output_dvrp: anfang particles'
    159 !   CALL local_flush( 9 )
    160154!
    161155!--       DVRP-Calls for plotting particles:
     
    169163
    170164!
     165!--       If clipping is active and if this subdomain is clipped, find out the
     166!--       number of particles and tails to be plotted; otherwise, all
     167!--       particles/tails are plotted
     168          IF ( .NOT. use_particle_tails )  THEN
     169             ALLOCATE( dvrp_mask(number_of_particles) )
     170          ELSE
     171             ALLOCATE( dvrp_mask(number_of_tails*maximum_number_of_tailpoints) )
     172          ENDIF
     173          dvrp_mask = .TRUE.
     174          IF ( dvrp_total_overlap )  THEN
     175             dvrp_nop = number_of_particles
     176             dvrp_not = number_of_tails
     177          ELSE
     178             dvrp_nop = 0
     179             dvrp_not = 0
     180             IF ( dvrp_overlap )  THEN
     181                IF ( .NOT. use_particle_tails )  THEN
     182                   DO  n = 1, number_of_particles
     183                      ip = particles(n)%x / dx
     184                      jp = particles(n)%y / dy
     185                      IF ( ip >= nxl_dvrp  .AND.  ip <= nxr_dvrp  .AND.  &
     186                           jp >= nys_dvrp  .AND.  jp <= nyn_dvrp )  THEN
     187                         dvrp_nop = dvrp_nop + 1
     188                      ELSE
     189                         dvrp_mask(n) = .FALSE.
     190                      ENDIF
     191                   ENDDO
     192                ELSE
     193                   k = 0
     194                   DO  n = 1, number_of_particles
     195                      IF ( particles(n)%tail_id /= 0 )  THEN
     196                         k = k + 1
     197                         ip = particles(n)%x / dx
     198                         jp = particles(n)%y / dy
     199                         IF ( ip >= nxl_dvrp  .AND.  ip <= nxr_dvrp  .AND.  &
     200                              jp >= nys_dvrp  .AND.  jp <= nyn_dvrp )  THEN
     201                            dvrp_not = dvrp_not + 1
     202                         ELSE
     203                            dvrp_mask(k) = .FALSE.
     204                         ENDIF
     205                      ENDIF
     206                   ENDDO
     207                ENDIF
     208             ENDIF
     209          ENDIF
     210
     211!
    171212!--       Move particle coordinates to one-dimensional arrays
    172213          IF ( .NOT. use_particle_tails )  THEN
    173214!
    174215!--          All particles are output
    175              ALLOCATE( psize(number_of_particles), p_t(number_of_particles), &
    176                        p_c(number_of_particles), p_x(number_of_particles),   &
    177                        p_y(number_of_particles), p_z(number_of_particles) )
     216             ALLOCATE( psize(dvrp_nop), p_t(dvrp_nop), p_c(dvrp_nop), &
     217                       p_x(dvrp_nop), p_y(dvrp_nop), p_z(dvrp_nop) )
    178218             psize = 0.0;  p_t = 0;  p_c = 0.0;  p_x = 0.0;  p_y = 0.0
    179              p_z   = 0.0;
    180              psize = particles(1:number_of_particles)%dvrp_psize
    181              p_x   = particles(1:number_of_particles)%x * superelevation_x
    182              p_y   = particles(1:number_of_particles)%y * superelevation_y
    183              p_z   = particles(1:number_of_particles)%z * superelevation
    184              p_c   = particles(1:number_of_particles)%color
     219             p_z   = 0.0
     220             k = 0
     221             DO  n = 1, number_of_particles
     222                IF ( dvrp_mask(n) )  THEN
     223                   k = k + 1
     224                   psize(k) = particles(n)%dvrp_psize
     225                   p_x(k)   = particles(n)%x * superelevation_x
     226                   p_y(k)   = particles(n)%y * superelevation_y
     227                   p_z(k)   = particles(n)%z * superelevation
     228                   p_c(k)   = particles(n)%color
     229                ENDIF
     230             ENDDO
    185231          ELSE
    186232!
    187233!--          Particles have a tail
    188 !            WRITE (9,*) '--- before ALLOCATE  simtime=',simulated_time,' #of_tails=', number_of_tails, &
    189 !                          ' max#of_tp=', maximum_number_of_tailpoints
    190 !   CALL local_flush( 9 )
    191              ALLOCATE( psize(number_of_tails), p_t(number_of_tails),      &
    192                        p_c(number_of_tails*maximum_number_of_tailpoints), &
    193                        p_x(number_of_tails*maximum_number_of_tailpoints), &
    194                        p_y(number_of_tails*maximum_number_of_tailpoints), &
    195                        p_z(number_of_tails*maximum_number_of_tailpoints) )
    196 !            WRITE (9,*) '--- after ALLOCATE'
    197 !   CALL local_flush( 9 )
     234             ALLOCATE( psize(dvrp_not), p_t(dvrp_not),             &
     235                       p_c(dvrp_not*maximum_number_of_tailpoints), &
     236                       p_x(dvrp_not*maximum_number_of_tailpoints), &
     237                       p_y(dvrp_not*maximum_number_of_tailpoints), &
     238                       p_z(dvrp_not*maximum_number_of_tailpoints) )
    198239             psize = 0.0;  p_t = 0;  p_c = 0.0;  p_x = 0.0;  p_y = 0.0
    199240             p_z   = 0.0;
     
    202243             DO  n = 1, number_of_particles
    203244                nn = particles(n)%tail_id
    204                 IF ( nn /= 0 )  THEN
     245                IF ( nn /= 0  .AND.  dvrp_mask(n) )  THEN
    205246                   k = k + 1
    206 !                  IF ( simulated_time > 1338.0 )  THEN
    207 !                     WRITE (9,*) '--- particle ',n,' tail_id=',nn,' #of_tp=',particles(n)%tailpoints
    208 !   CALL local_flush( 9 )
    209 !                  ENDIF
    210247                   DO  j = 1, particles(n)%tailpoints
    211248                      i = i + 1
     
    217254                                                                superelevation
    218255                      p_c(i) = particle_tail_coordinates(j,4,nn)
    219 !                     IF ( simulated_time > 1338.0 )  THEN
    220 !                        WRITE (9,*) '--- tp= ',i,' x=',p_x(i),' y=',p_y(i), &
    221 !                                                ' z=',p_z(i),' c=',p_c(i)
    222 !   CALL local_flush( 9 )
    223 !                     ENDIF
    224256                   ENDDO
    225257                   psize(k) = particles(n)%dvrp_psize
    226258                   p_t(k)   = particles(n)%tailpoints - 1
    227 !                  IF ( simulated_time > 1338.0 )  THEN
    228 !                     WRITE (9,*) '--- t= ',k,' psize=',psize(k),' p_t=',p_t(k)
    229 !   CALL local_flush( 9 )
    230 !                  ENDIF
    231259                ENDIF               
    232260             ENDDO
    233 !            WRITE (9,*) '--- after locally storing the particle attributes'
    234 !   CALL local_flush( 9 )
    235261          ENDIF
    236262
     
    252278
    253279             IF ( .NOT. use_particle_tails )  THEN
    254                 CALL DVRP_PARTICLES( m-1, number_of_particles, p_x, p_y, p_z, &
    255                                      3, psize, p_c, p_t )
     280                CALL DVRP_PARTICLES( m-1, dvrp_nop, p_x, p_y, p_z, 3, psize, &
     281                                     p_c, p_t )
    256282             ELSE
    257 !               WRITE (9,*) '--- before DVRP_PARTICLES'
    258 !   CALL local_flush( 9 )
    259                 CALL DVRP_PARTICLES( m-1, number_of_tails, p_x, p_y, p_z, 15, &
    260                                      psize, p_c, p_t )
    261 !               WRITE (9,*) '--- after DVRP_PARTICLES'
    262 !               WRITE (9,*) 'm-1 = ',m-1
    263 !               WRITE (9,*) 'number_of_tails=', number_of_tails
    264 !               WRITE (9,*) 'p_x =', p_x
    265 !               WRITE (9,*) 'p_y =', p_y
    266 !               WRITE (9,*) 'p_z =', p_z
    267 !               WRITE (9,*) 'psize =', psize
    268 !               WRITE (9,*) 'p_c =', p_c
    269 !               WRITE (9,*) 'p_t =', p_t
    270 
    271 !   CALL local_flush( 9 )
     283                CALL DVRP_PARTICLES( m-1, dvrp_not, p_x, p_y, p_z, 15, psize, &
     284                                     p_c, p_t )
    272285             ENDIF
    273286          ENDIF
    274287
    275288          CALL DVRP_VISUALIZE( m-1, 3, dvrp_filecount )
    276 !   WRITE ( 9, * ) '*** myid=', myid, ' data_output_dvrp: ende particles'
    277 !   CALL local_flush( 9 )
    278 
    279           DEALLOCATE( psize, p_c, p_t, p_x, p_y, p_z )
     289
     290          DEALLOCATE( dvrp_mask, psize, p_c, p_t, p_x, p_y, p_z )
    280291
    281292          CALL cpu_log( log_point_s(28), 'dvrp_particles', 'stop' )
     
    436447
    437448          IF ( mode_dvrp(m)(1:10) == 'isosurface' )  THEN
    438 
    439 !   WRITE ( 9, * ) '*** myid=', myid, ' data_output_dvrp: anfang isosurface'
    440 !   CALL local_flush( 9 )
    441449!
    442450!--          DVRP-Calls for plotting isosurfaces:
     
    485493             CALL DVRP_VISUALIZE( m-1, 21, dvrp_filecount )
    486494
    487 !   WRITE ( 9, * ) '*** myid=', myid, ' data_output_dvrp: ende isosurface'
    488 !   CALL local_flush( 9 )
    489 
    490495             CALL cpu_log( log_point_s(26), 'dvrp_isosurface', 'stop' )
    491496
    492497          ELSEIF ( mode_dvrp(m)(1:6) == 'slicer' )  THEN
    493 
    494 !   WRITE ( 9, * ) '*** myid=', myid, ' data_output_dvrp: anfang slicer'
    495 !   CALL local_flush( 9 )
    496498!
    497499!--          DVRP-Calls for plotting slicers:
     
    532534             CALL cpu_log( log_point_s(27), 'dvrp_slicer', 'stop' )
    533535
    534 !   WRITE ( 9, * ) '*** myid=', myid, ' data_output_dvrp: ende slicer'
    535 !   CALL local_flush( 9 )
    536536          ENDIF
    537537
     
    578578
    579579    CALL cpu_log( log_point(27), 'data_output_dvrp', 'stop' )
    580 !   WRITE ( 9, * ) '*** myid=', myid, ' Ende data_output_dvrp'
    581 !   CALL local_flush( 9 )
    582580
    583581#endif
  • palm/trunk/SOURCE/init_dvrp.f90

    r237 r242  
    44! Actual revisions:
    55! -----------------
     6! Clipping implemented.
    67! Polygon reduction for building and ground plate isosurface. Reduction level
    78! for buildings can be chosen with parameter cluster_size.
     
    6061    CHARACTER (LEN=80) ::  dvrp_file_local
    6162    INTEGER ::  cluster_mode, cluster_size_x, cluster_size_y, cluster_size_z, &
    62                 gradient_normals, i, j, k, l, m, pn, tv, vn
     63                gradient_normals, i, j, k, l, m, nx_dvrp_l, nx_dvrp_r,        &
     64                ny_dvrp_n, ny_dvrp_s, pn, tv, vn
    6365    LOGICAL ::  allocated
    6466    REAL(4) ::  center(3), cluster_alpha, distance, tmp_b, tmp_g, tmp_r, &
     
    7173                            dvrp_file_local_c,dvrp_host_c, &
    7274                            dvrp_password_c, dvrp_username_c, name_c
     75
     76!
     77!-- Set clipping to default (total domain), if not set by user
     78    IF ( clip_dvrp_l == 9999999.9 )  clip_dvrp_l = 0.0
     79    IF ( clip_dvrp_r == 9999999.9 )  clip_dvrp_r = ( nx + 1 ) * dx
     80    IF ( clip_dvrp_s == 9999999.9 )  clip_dvrp_s = 0.0
     81    IF ( clip_dvrp_n == 9999999.9 )  clip_dvrp_n = ( ny + 1 ) * dy
     82
     83!
     84!-- Calculate the clipping index limits
     85    nx_dvrp_l = clip_dvrp_l / dx
     86    nx_dvrp_r = clip_dvrp_r / dx
     87    ny_dvrp_s = clip_dvrp_s / dy
     88    ny_dvrp_n = clip_dvrp_n / dy
     89
     90    IF ( nx_dvrp_l < nxr  .AND.  nx_dvrp_r > nxl  .AND. &
     91         ny_dvrp_s < nyn  .AND.  ny_dvrp_n > nys )  THEN
     92
     93       dvrp_overlap = .TRUE.
     94       nxl_dvrp = MAX( nxl, nx_dvrp_l )
     95       nxr_dvrp = MIN( nxr, nx_dvrp_r )
     96       nys_dvrp = MAX( nys, ny_dvrp_s )
     97       nyn_dvrp = MIN( nyn, ny_dvrp_n )
     98
     99       IF ( nxl_dvrp == nxl  .AND.  nxr_dvrp == nxr  .AND.  &
     100            nys_dvrp == nys  .AND.  nyn_dvrp == nyn )  THEN
     101          dvrp_total_overlap = .TRUE.
     102       ELSE
     103          dvrp_total_overlap = .FALSE.
     104       ENDIF
     105
     106    ELSE
     107!
     108!--    This subdomain does not overlap with the clipping area. Define an
     109!--    arbitrary (small) domain within in the clipping area.
     110       dvrp_overlap       = .FALSE.
     111       dvrp_total_overlap = .FALSE.
     112       nxl_dvrp = nx_dvrp_l
     113       nxr_dvrp = nxl_dvrp + 4
     114       nys_dvrp = ny_dvrp_s
     115       nyn_dvrp = nys_dvrp + 4
     116
     117    ENDIF
    73118
    74119!
     
    151196!
    152197!--       Compute center of domain and distance of camera from center
    153           center(1) = ( nx + 1.0 ) * dx * 0.5 * superelevation_x
    154           center(2) = ( ny + 1.0 ) * dy * 0.5 * superelevation_y
     198          center(1) = ( clip_dvrp_l + clip_dvrp_r ) * 0.5 * superelevation_x
     199          center(2) = ( clip_dvrp_s + clip_dvrp_n ) * 0.5 * superelevation_y
    155200          center(3) = ( zu(nz_do3d) - zu(nzb) ) * 0.5 * superelevation
    156           distance  = 1.5 * MAX( ( nx + 1.0 ) * dx * superelevation_x, &
    157                                  ( ny + 1.0 ) * dy * superelevation_y, &
     201          distance  = 1.5 * MAX( (clip_dvrp_r-clip_dvrp_l) * superelevation_x, &
     202                                 (clip_dvrp_n-clip_dvrp_s) * superelevation_y, &
    158203                                 ( zu(nz_do3d) - zu(nzb) ) * superelevation )
    159204
     
    200245          CALL DVRP_MATERIAL_RGB( m-1, 1, tmp_r, tmp_g, tmp_b, tmp_t )
    201246
    202           tmp_1 = 0.01;  tmp_2 = 0.0;  tmp_3 = 0.0;  tmp_4 = 0.0
    203           tmp_5 = (nx+1) * dx * superelevation_x
    204           tmp_6 = (ny+1) * dy * superelevation_y
     247          tmp_1 = 0.01;
     248          tmp_2 = clip_dvrp_l * superelevation_x
     249          tmp_3 = clip_dvrp_s * superelevation_y
     250          tmp_4 = 0.0
     251          tmp_5 = clip_dvrp_r * superelevation_x
     252          tmp_6 = clip_dvrp_n * superelevation_y
    205253          tmp_7 = zu(nz_do3d) * superelevation
    206254          CALL DVRP_BOUNDINGBOX( m-1, 1, tmp_1, tmp_2, tmp_3, tmp_4, tmp_5, &
     
    252300!--          Determine local gridpoint coordinates
    253301             IF ( .NOT. allocated )  THEN
    254                 ALLOCATE( xcoor_dvrp(nxl:nxr+1), ycoor_dvrp(nys:nyn+1), &
     302                ALLOCATE( xcoor_dvrp(nxl_dvrp:nxr_dvrp+1), &
     303                          ycoor_dvrp(nys_dvrp:nyn_dvrp+1), &
    255304                          zcoor_dvrp(nzb:nz_do3d) )
    256305                allocated = .TRUE.
    257306
    258                 DO  i = nxl, nxr+1
     307                DO  i = nxl_dvrp, nxr_dvrp+1
    259308                   xcoor_dvrp(i) = i * dx * superelevation_x
    260309                ENDDO
    261                 DO  j = nys, nyn+1
     310                DO  j = nys_dvrp, nyn_dvrp+1
    262311                   ycoor_dvrp(j) = j * dy * superelevation_y
    263312                ENDDO
    264313                zcoor_dvrp = zu(nzb:nz_do3d) * superelevation
    265                 nx_dvrp    = nxr+1 - nxl + 1
    266                 ny_dvrp    = nyn+1 - nys + 1
     314                nx_dvrp    = nxr_dvrp+1 - nxl_dvrp + 1
     315                ny_dvrp    = nyn_dvrp+1 - nys_dvrp + 1
    267316                nz_dvrp    = nz_do3d - nzb + 1
    268317             ENDIF
     
    279328!
    280329!--          Compute and plot isosurface in dvr-format
    281              ALLOCATE( local_pf(nxl:nxr+1,nys:nyn+1,nzb:nz_do3d) )
     330             ALLOCATE( local_pf(nxl_dvrp:nxr_dvrp+1,nys_dvrp:nyn_dvrp+1, &
     331                                nzb:nz_do3d) )
    282332             local_pf = 0.0
    283              DO  i = nxl, nxr+1
    284                 DO  j = nys, nyn+1
    285                    IF ( nzb_s_inner(j,i) > 0 )  THEN
     333             IF ( dvrp_overlap )  THEN
     334                DO  i = nxl_dvrp, nxr_dvrp+1
     335                   DO  j = nys_dvrp, nyn_dvrp+1
     336                      IF ( nzb_s_inner(j,i) > 0 )  THEN
    286337                         local_pf(i,j,nzb:nzb_s_inner(j,i)) = 1.0
    287338                      ENDIF
     339                   ENDDO
    288340                ENDDO
    289              ENDDO
     341             ENDIF
    290342
    291343             CALL DVRP_DATA( m-1, local_pf, 1, nx_dvrp, ny_dvrp, nz_dvrp, &
     
    369421!--       Determine local gridpoint coordinates
    370422          IF ( .NOT. allocated )  THEN
    371              ALLOCATE( xcoor_dvrp(nxl:nxr+1), ycoor_dvrp(nys:nyn+1), &
     423             ALLOCATE( xcoor_dvrp(nxl_dvrp:nxr_dvrp+1), &
     424                       ycoor_dvrp(nys_dvrp:nyn_dvrp+1), &
    372425                       zcoor_dvrp(nzb:nz_do3d) )
    373426             allocated = .TRUE.
    374427
    375              DO  i = nxl, nxr+1
     428             DO  i = nxl_dvrp, nxr_dvrp+1
    376429                xcoor_dvrp(i) = i * dx * superelevation_x
    377430             ENDDO
    378              DO  j = nys, nyn+1
     431             DO  j = nys_dvrp, nyn_dvrp+1
    379432                ycoor_dvrp(j) = j * dy * superelevation_y
    380433             ENDDO
    381434             zcoor_dvrp = zu(nzb:nz_do3d) * superelevation
    382              nx_dvrp    = nxr+1 - nxl + 1
    383              ny_dvrp    = nyn+1 - nys + 1
     435             nx_dvrp    = nxr_dvrp+1 - nxl_dvrp + 1
     436             ny_dvrp    = nyn_dvrp+1 - nys_dvrp + 1
    384437             nz_dvrp    = nz_do3d - nzb + 1
    385438          ENDIF
     
    396449!
    397450!--       Compute and plot isosurface in dvr-format
    398           ALLOCATE( local_pf(nxl:nxr+1,nys:nyn+1,nzb:nz_do3d) )
     451          ALLOCATE( local_pf(nxl_dvrp:nxr_dvrp+1,nys_dvrp:nyn_dvrp+1, &
     452                             nzb:nz_do3d) )
    399453          local_pf = 0.0
    400           local_pf(:,:,0) = 1.0
     454          IF (dvrp_overlap )  local_pf(:,:,0) = 1.0
    401455
    402456          CALL DVRP_DATA( m-1, local_pf, 1, nx_dvrp, ny_dvrp, nz_dvrp, &
     
    406460
    407461!
    408 !--       Always reduce the number of polygones
     462!--       Always reduce the number of polygones as much as possible
    409463          cluster_size_x = 5
    410464          cluster_size_y = 5
     
    541595!--    Determine local gridpoint coordinates
    542596       IF ( .NOT. allocated )  THEN
    543           ALLOCATE( xcoor_dvrp(nxl:nxr+1), ycoor_dvrp(nys:nyn+1), &
     597          ALLOCATE( xcoor_dvrp(nxl_dvrp:nxr_dvrp+1), &
     598                    ycoor_dvrp(nys_dvrp:nyn_dvrp+1), &
    544599                    zcoor_dvrp(nzb:nz_do3d) )
    545600          allocated = .TRUE.
    546601
    547           DO  i = nxl, nxr+1
     602          DO  i = nxl_dvrp, nxr_dvrp+1
    548603             xcoor_dvrp(i) = i * dx * superelevation_x
    549604          ENDDO
    550           DO  j = nys, nyn+1
     605          DO  j = nys_dvrp, nyn_dvrp+1
    551606             ycoor_dvrp(j) = j * dy * superelevation_y
    552607          ENDDO
    553608          zcoor_dvrp = zu(nzb:nz_do3d) * superelevation
    554           nx_dvrp    = nxr+1 - nxl + 1
    555           ny_dvrp    = nyn+1 - nys + 1
     609          nx_dvrp    = nxr_dvrp+1 - nxl_dvrp + 1
     610          ny_dvrp    = nyn_dvrp+1 - nys_dvrp + 1
    556611          nz_dvrp    = nz_do3d - nzb + 1
    557612       ENDIF
  • palm/trunk/SOURCE/modules.f90

    r241 r242  
    55! Actual revisions:
    66! -----------------
    7 ! +cluster_size in dvrp_variables
     7! +clip_dvrp_*, cluster_size, dvrp_overlap, dvrp_total_overlap,
     8! n*_dvrp in dvrp_variables
    89! +canyon_height, canyon_width_x, canyon_width_y, canyon_wall_left,
    910! canyon_wall_south, conserve_volume_flow_mode, dp_external, dp_level_b,
     
    538539
    539540    INTEGER ::  cluster_size = 1, dvrp_colourtable_entries = 4, islice_dvrp,   &
    540                 nx_dvrp, ny_dvrp, nz_dvrp, pathlines_fadeintime = 5,           &
    541                 pathlines_fadeouttime = 5, pathlines_linecount = 1000,         &
    542                 pathlines_maxhistory = 40, pathlines_wavecount = 10,           &
    543                 pathlines_wavetime = 50, vc_gradient_normals = 0, vc_mode = 0, &
    544                 vc_size_x = 2, vc_size_y = 2, vc_size_z = 2
     541                nx_dvrp, nxl_dvrp, nxr_dvrp, ny_dvrp, nyn_dvrp, nys_dvrp,      &
     542                nz_dvrp, pathlines_fadeintime = 5, pathlines_fadeouttime = 5,  &
     543                pathlines_linecount = 1000, pathlines_maxhistory = 40,         &
     544                pathlines_wavecount = 10, pathlines_wavetime = 50,             &
     545                vc_gradient_normals = 0, vc_mode = 0, vc_size_x = 2,           &
     546                vc_size_y = 2, vc_size_z = 2
    545547
    546548    INTEGER, DIMENSION(10) ::  slicer_position_dvrp
    547549
    548     LOGICAL ::  cyclic_dvrp = .FALSE., lock_steering_update = .FALSE., &
     550    LOGICAL ::  cyclic_dvrp = .FALSE., dvrp_overlap, dvrp_total_overlap, &
     551                lock_steering_update = .FALSE.,                          &
    549552                use_seperate_pe_for_dvrp_output = .FALSE.
    550553
    551     REAL    ::  superelevation = 1.0, superelevation_x = 1.0, &
     554    REAL    ::  clip_dvrp_l = 9999999.9, clip_dvrp_n = 9999999.9, &
     555                clip_dvrp_r = 9999999.9, clip_dvrp_s = 9999999.9, &
     556                superelevation = 1.0, superelevation_x = 1.0,     &
    552557                superelevation_y = 1.0, vc_alpha = 38.0
    553558
  • palm/trunk/SOURCE/package_parin.f90

    r237 r242  
    44! Actual revisions:
    55! -----------------
    6 ! +cluster_size in dvrp_graphics_par
     6! +clip_dvrp_*, cluster_size in dvrp_graphics_par
    77! Variables for dvrp-mode pathlines added
    88!
     
    4545    CHARACTER (LEN=80) ::  zeile
    4646
    47     NAMELIST /dvrp_graphics_par/  cluster_size, dt_dvrp, dvrp_directory,       &
    48                                   dvrp_file, dvrp_host, dvrp_output,           &
    49                                   dvrp_password, dvrp_username, mode_dvrp,     &
    50                                   pathlines_fadeintime, pathlines_fadeouttime, &
    51                                   pathlines_linecount, pathlines_maxhistory,   &
    52                                   pathlines_wavecount, pathlines_wavetime,     &
    53                                   slicer_range_limits_dvrp, superelevation,    &
    54                                   superelevation_x, superelevation_y,          &
    55                                   threshold, vc_alpha, vc_gradient_normals,    &
    56                                   vc_mode, vc_size_x, vc_size_y, vc_size_z
     47    NAMELIST /dvrp_graphics_par/  clip_dvrp_l, clip_dvrp_n, clip_dvrp_r,       &
     48                                  clip_dvrp_s, cluster_size, dt_dvrp,          &
     49                                  dvrp_directory, dvrp_file, dvrp_host,        &
     50                                  dvrp_output, dvrp_password, dvrp_username,   &
     51                                  mode_dvrp, pathlines_fadeintime,             &
     52                                  pathlines_fadeouttime, pathlines_linecount,  &
     53                                  pathlines_maxhistory, pathlines_wavecount,   &
     54                                  pathlines_wavetime, slicer_range_limits_dvrp,&
     55                                  superelevation, superelevation_x,            &
     56                                  superelevation_y, threshold, vc_alpha,       &
     57                                  vc_gradient_normals, vc_mode, vc_size_x,     &
     58                                  vc_size_y, vc_size_z
    5759    NAMELIST /particles_par/      bc_par_b, bc_par_lr, bc_par_ns, bc_par_t,    &
    5860                                  density_ratio, radius, dt_dopts,             &
Note: See TracChangeset for help on using the changeset viewer.