Ignore:
Timestamp:
Mar 21, 2009 8:14:44 AM (13 years ago)
Author:
raasch
Message:

new dvrp features added

File:
1 edited

Legend:

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

    r262 r264  
    3232! Current revisions:
    3333! -----------------
    34 ! Clipping of dvr-output implemented,
     34! Clipping of dvr-output implemented, using a default colourtable for
     35! particles,
    3536! output of messages replaced by message handling routine.
    3637! TEST: different colours for isosurfaces
     
    168169!--       number of particles and tails to be plotted; otherwise, all
    169170!--       particles/tails are plotted. dvrp_mask is used to mark the partikles.
    170 !          IF ( .NOT. use_particle_tails )  THEN
    171              ALLOCATE( dvrp_mask(number_of_particles) )
    172 !          ELSE
    173 !             ALLOCATE( dvrp_mask(number_of_tails*maximum_number_of_tailpoints) )
    174 !          ENDIF
    175           dvrp_mask = .TRUE.
     171          ALLOCATE( dvrp_mask(number_of_particles) )
     172
    176173          IF ( dvrp_total_overlap )  THEN
    177              dvrp_nop = number_of_particles
    178              dvrp_not = number_of_tails
     174             dvrp_mask = .TRUE.
     175             dvrp_nop  = number_of_particles
     176             dvrp_not  = number_of_tails
    179177          ELSE
    180              dvrp_nop = 0
    181              dvrp_not = 0
     178             dvrp_mask = .FALSE.
     179             dvrp_nop  = 0
     180             dvrp_not  = 0
    182181             IF ( dvrp_overlap )  THEN
    183182                IF ( .NOT. use_particle_tails )  THEN
     
    188187                           jp >= nys_dvrp  .AND.  jp <= nyn_dvrp )  THEN
    189188                         dvrp_nop = dvrp_nop + 1
    190                       ELSE
    191                          dvrp_mask(n) = .FALSE.
     189                         dvrp_mask(n) = .TRUE.
    192190                      ENDIF
    193191                   ENDDO
     
    202200                              jp >= nys_dvrp  .AND.  jp <= nyn_dvrp )  THEN
    203201                            dvrp_not = dvrp_not + 1
    204                          ELSE
    205                             dvrp_mask(n) = .FALSE.
     202                            dvrp_mask(n) = .TRUE.
    206203                         ENDIF
    207204                      ENDIF
     
    243240             i = 0
    244241             k = 0
     242
    245243             DO  n = 1, number_of_particles
    246244                nn = particles(n)%tail_id
     
    275273             CALL user_dvrp_coltab( 'particles', 'none' )
    276274
    277              CALL DVRP_COLORTABLE_HLS( m-1, 0, interval_values_dvrp,     &
    278                                        interval_h_dvrp, interval_l_dvrp, &
    279                                        interval_s_dvrp, interval_a_dvrp )
     275             CALL DVRP_COLORTABLE_HLS( m-1, 0, interval_values_dvrp_prt, &
     276                                       interval_h_dvrp_prt,              &
     277                                       interval_l_dvrp_prt,              &
     278                                       interval_s_dvrp_prt,              &
     279                                       interval_a_dvrp_prt )
    280280
    281281             IF ( .NOT. use_particle_tails )  THEN
     
    452452             END SELECT
    453453
     454          ELSE
     455!
     456!--          No overlap of clipping domain with the current subdomain
     457             DO  i = nxl_dvrp, nxr_dvrp+1
     458                DO  j = nys_dvrp, nyn_dvrp+1
     459                   DO  k = nzb, nz_do3d
     460                      local_pf(i,j,k) = 0.0
     461                   ENDDO
     462                ENDDO
     463             ENDDO
     464
    454465          ENDIF
    455466
    456467          IF ( mode_dvrp(m)(1:10) == 'isosurface' )  THEN
     468             WRITE(9,*) '#8'
     469             CALL local_flush( 9 )
    457470!
    458471!--          DVRP-Calls for plotting isosurfaces:
     
    477490                CALL DVRP_MATERIAL_RGB( m-1, 1, tmp_r, tmp_g, tmp_b, tmp_t )
    478491             ENDIF
     492             WRITE(9,*) '#8.1'
     493             CALL local_flush( 9 )
    479494
    480495!
     
    482497             CALL DVRP_DATA( m-1, local_pf, 1, nx_dvrp, ny_dvrp, nz_dvrp, &
    483498                             cyclic_dvrp, cyclic_dvrp, cyclic_dvrp )
     499             WRITE(9,*) '#8.2'
     500             CALL local_flush( 9 )
    484501
    485502             c_size_x = vc_size_x;  c_size_y = vc_size_y;  c_size_z = vc_size_z
    486503             CALL DVRP_CLUSTER_SIZE( m-1, c_size_x, c_size_y, c_size_z )
     504             WRITE(9,*) '#8.3'
     505             CALL local_flush( 9 )
    487506
    488507             c_mode   = vc_mode
    489508             CALL DVRP_CLUSTERING_MODE( m-1, c_mode )
     509             WRITE(9,*) '#8.4'
     510             CALL local_flush( 9 )
    490511
    491512             gradient_normals = vc_gradient_normals
    492513             CALL DVRP_GRADIENTNORMALS( m-1, gradient_normals )
     514             WRITE(9,*) '#8.5'
     515             CALL local_flush( 9 )
    493516!
    494517!--          A seperate procedure for setting vc_alpha will be in the next
     
    496519             tmp_c_alpha = vc_alpha
    497520             CALL DVRP_THRESHOLD( -(m-1)-1, tmp_c_alpha )
     521             WRITE(9,*) '#8.6'
     522             CALL local_flush( 9 )
    498523
    499524             IF ( dvrp_overlap )  THEN
     
    502527                tmp_th = 1.0   ! nothing is plotted because array values are 0
    503528             ENDIF
     529             WRITE(9,*) '#8.7'
     530             CALL local_flush( 9 )
    504531
    505532             CALL DVRP_THRESHOLD( m-1, tmp_th )
     533             WRITE(9,*) '#8.8'
     534             WRITE(9,*) 'nxl_dvrp=',nxl_dvrp, ' nxl=',nxl
     535             WRITE(9,*) 'nxr_dvrp=',nxr_dvrp, ' nxr=',nxr
     536             WRITE(9,*) 'nys_dvrp=',nys_dvrp, ' nys=',nys
     537             WRITE(9,*) 'nyn_dvrp=',nyn_dvrp, ' nyn=',nyn
     538             CALL local_flush( 9 )
    506539             CALL DVRP_VISUALIZE( m-1, 21, dvrp_filecount )
     540             WRITE(9,*) '#8.9'
     541             CALL local_flush( 9 )
    507542
    508543             CALL cpu_log( log_point_s(26), 'dvrp_isosurface', 'stop' )
     544                      WRITE(9,*) '#9'
     545                      CALL local_flush( 9 )
    509546
    510547          ELSEIF ( mode_dvrp(m)(1:6) == 'slicer' )  THEN
     548                      WRITE(9,*) '#10'
     549                      CALL local_flush( 9 )
    511550!
    512551!--          DVRP-Calls for plotting slicers:
     
    547586
    548587             CALL cpu_log( log_point_s(27), 'dvrp_slicer', 'stop' )
     588                      WRITE(9,*) '#11'
     589                      CALL local_flush( 9 )
    549590
    550591          ENDIF
     
    552593          DEALLOCATE( local_pf )
    553594
     595                      WRITE(9,*) '#12'
     596                      CALL local_flush( 9 )
    554597       ELSEIF ( mode_dvrp(m)(1:9) == 'pathlines' ) THEN
    555598
     
    588631
    589632    ENDDO
     633                      WRITE(9,*) '#13'
     634                      CALL local_flush( 9 )
    590635
    591636    dvrp_filecount = dvrp_filecount + 1
Note: See TracChangeset for help on using the changeset viewer.