Changeset 210 for palm/trunk/SOURCE/init_dvrp.f90
- Timestamp:
- Nov 6, 2008 8:54:02 AM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/init_dvrp.f90
r206 r210 4 4 ! Actual revisions: 5 5 ! ----------------- 6 ! 6 ! DVRP arguments changed to single precision, mode pathlines added 7 7 ! TEST: print* statements 8 8 ! ToDo: checking of mode_dvrp for legal values is not correct … … 50 50 USE control_parameters 51 51 52 !53 !-- New coupling54 USE coupling55 56 52 IMPLICIT NONE 57 53 … … 61 57 INTEGER :: i, j, k, l, m, pn, tv, vn 62 58 LOGICAL :: allocated 63 REAL :: center(3), distance 64 65 REAL, DIMENSION(:,:,:), ALLOCATABLE :: local_pf 59 REAL(4) :: center(3), distance, tmp_b, tmp_g, tmp_r, tmp_t, tmp_th, & 60 tmp_thr, tmp_x1, tmp_x2, tmp_y1, tmp_y2, tmp_z1, tmp_z2, & 61 tmp_1, tmp_2, tmp_3, tmp_4, tmp_5, tmp_6, tmp_7 62 63 REAL(4), DIMENSION(:,:,:), ALLOCATABLE :: local_pf 66 64 67 65 TYPE(CSTRING), SAVE :: dvrp_directory_c, dvrp_file_c, & … … 130 128 IF ( mode_dvrp(m)(1:10) /= 'isosurface' .AND. & 131 129 mode_dvrp(m)(1:6) /= 'slicer' .AND. & 132 mode_dvrp(m)(1:9) /= 'particles' ) THEN 130 mode_dvrp(m)(1:9) /= 'particles' .AND. & 131 mode_dvrp(m)(1:9) /= 'pathlines' ) THEN 133 132 134 133 IF ( myid == 0 ) THEN … … 200 199 ! 201 200 !-- Define bounding box material and create a bounding box 202 CALL DVRP_MATERIAL_RGB( m-1, 1, 0.5, 0.5, 0.5, 0.0 ) 203 CALL DVRP_BOUNDINGBOX( m-1, 1, 0.01, 0.0, 0.0, 0.0, & 204 (nx+1) * dx * superelevation_x, & 205 (ny+1) * dy * superelevation_y, & 206 zu(nz_do3d) * superelevation ) 201 tmp_r = 0.5; tmp_g = 0.5; tmp_b = 0.5; tmp_t = 0.0 202 CALL DVRP_MATERIAL_RGB( m-1, 1, tmp_r, tmp_g, tmp_b, tmp_t ) 203 204 tmp_1 = 0.01; tmp_2 = 0.0; tmp_3 = 0.0; tmp_4 = 0.0 205 tmp_5 = (nx+1) * dx * superelevation_x 206 tmp_6 = (ny+1) * dy * superelevation_y 207 tmp_7 = zu(nz_do3d) * superelevation 208 CALL DVRP_BOUNDINGBOX( m-1, 1, tmp_1, tmp_2, tmp_3, tmp_4, tmp_5, & 209 tmp_6, tmp_7 ) 207 210 208 211 CALL DVRP_VISUALIZE( m-1, 0, 0 ) … … 272 275 ! 273 276 !-- Define the grid used by dvrp 277 CALL DVRP_NO_GLOBAL_GRID( m-1, 1 ) 274 278 CALL DVRP_GRID( m-1, nx_dvrp, ny_dvrp, nz_dvrp, xcoor_dvrp, & 275 279 ycoor_dvrp, zcoor_dvrp ) 276 CALL DVRP_MATERIAL_RGB( m-1, 1, 0.8, 0.7, 0.6, 0.0 ) 280 281 tmp_r = 0.8; tmp_g = 0.7; tmp_b = 0.6; tmp_t = 0.0 282 CALL DVRP_MATERIAL_RGB( m-1, 1, tmp_r, tmp_g, tmp_b, tmp_t ) 277 283 WRITE ( 9, * ) '*** #4' 278 284 CALL local_flush( 9 ) … … 295 301 WRITE ( 9, * ) '*** #4.2' 296 302 CALL local_flush( 9 ) 297 CALL DVRP_THRESHOLD( m-1, 1.0 ) 303 tmp_th = 1.0 304 CALL DVRP_THRESHOLD( m-1, tmp_th ) 298 305 WRITE ( 9, * ) '*** #4.3' 299 306 CALL local_flush( 9 ) … … 366 373 ! 367 374 !-- Define the grid used by dvrp 375 CALL DVRP_NO_GLOBAL_GRID( m-1, 1 ) 368 376 CALL DVRP_GRID( m-1, nx_dvrp, ny_dvrp, nz_dvrp, xcoor_dvrp, & 369 377 ycoor_dvrp, zcoor_dvrp ) 370 CALL DVRP_MATERIAL_RGB( m-1, 1, 0.0, 0.6, 0.0, 0.0 ) 378 379 tmp_r = 0.0; tmp_g = 0.6; tmp_b = 0.0; tmp_t = 0.0 380 CALL DVRP_MATERIAL_RGB( m-1, 1, tmp_r, tmp_g, tmp_b, tmp_t ) 371 381 WRITE ( 9, * ) '*** #7' 372 382 CALL local_flush( 9 ) … … 380 390 CALL DVRP_DATA( m-1, local_pf, 1, nx_dvrp, ny_dvrp, nz_dvrp, & 381 391 cyclic_dvrp, cyclic_dvrp, cyclic_dvrp ) 382 CALL DVRP_THRESHOLD( m-1, 1.0 ) 392 tmp_th = 1.0 393 CALL DVRP_THRESHOLD( m-1, tmp_th ) 383 394 CALL DVRP_VISUALIZE( m-1, 1, 0 ) 384 395 … … 429 440 WRITE ( 9, * ) '*** #9' 430 441 CALL local_flush( 9 ) 442 tmp_thr = threshold(tv) 431 443 CALL DVRP_STEERING_INIT( m-1, name_c, steering_dvrp(pn)%min, & 432 steering_dvrp(pn)%max, t hreshold(tv))444 steering_dvrp(pn)%max, tmp_thr ) 433 445 WRITE ( 9, * ) '*** #10' 434 446 CALL local_flush( 9 ) … … 541 553 CALL local_flush( 9 ) 542 554 555 IF ( mode_dvrp(m) /= 'pathlines' ) THEN 556 CALL DVRP_NO_GLOBAL_GRID( m-1, 1 ) 557 ENDIF 543 558 CALL DVRP_GRID( m-1, nx_dvrp, ny_dvrp, nz_dvrp, xcoor_dvrp, ycoor_dvrp, & 544 559 zcoor_dvrp ) 560 561 IF ( mode_dvrp(m) == 'pathlines' ) THEN 562 563 tmp_x1 = 0.0; tmp_y1 = 0.0; tmp_z1 = 0.0 564 tmp_x2 = 1.0; tmp_y2 = 1.0; tmp_z2 = 0.3 565 CALL DVRP_CUBIC_SEEDING( m-1, tmp_x1, tmp_y1, tmp_z1, tmp_x2, tmp_y2,& 566 tmp_z2, pathlines_linecount, 2, 0 ) 567 ! 568 !-- Set wavecount and wavetime 569 CALL DVRP_PATHLINES_BEHAVIOUR_WAVE( m-1, pathlines_wavecount, & 570 pathlines_wavetime, & 571 pathlines_fadeintime, & 572 pathlines_fadeouttime ) 573 ! 574 !-- Set pathline length 575 CALL DVRP_PATHLINES_SETMAXHISTORY( m-1, pathlines_maxhistory ) 576 CALL DVRP_PATHLINES_SETFADING( m-1, 1, 0.0 ) 577 578 CALL DVRP_INIT_PATHLINES( m-1, 0 ) 579 580 ENDIF 581 545 582 WRITE ( 9, * ) '*** #14' 546 583 CALL local_flush( 9 ) … … 566 603 #if defined( __dvrp_graphics ) 567 604 605 USE control_parameters 568 606 USE dvrp_variables 569 607 USE pegrid … … 602 640 IF ( chr == 'true' ) THEN 603 641 use_seperate_pe_for_dvrp_output = .TRUE. 604 WRITE ( 9, * ) '*** myid=', myid, ' vor DVRP_SPLIT'605 CALL local_flush( 9 )606 607 ! 608 !-- Adjustment for new MPI-1 coupling. This might be unnecessary.642 WRITE ( 9, * ) '*** myid=', myid, ' vor DVRP_SPLIT' 643 CALL local_flush( 9 ) 644 645 ! 646 !-- Adjustment for new MPI-1 coupling. This might be unnecessary. 609 647 #if defined( __mpi2 ) 610 648 CALL DVRP_SPLIT( MPI_COMM_WORLD, comm_palm ) 611 649 #else 612 IF ( coupling_mode /= 'uncoupled' ) THEN 613 CALL DVRP_SPLIT( comm_inter, comm_palm ) 614 ELSE 615 CALL DVRP_SPLIT( MPI_COMM_WORLD, comm_palm ) 616 ENDIF 650 IF ( coupling_mode /= 'uncoupled' ) THEN 651 IF ( myid == 0 ) THEN 652 PRINT*, '+++ init_dvrp: split of communicator not realized with', & 653 ' MPI1 coupling atmosphere-ocean' 654 ENDIF 655 CALL local_stop 656 ! CALL DVRP_SPLIT( comm_inter, comm_palm ) 657 ELSE 658 CALL DVRP_SPLIT( MPI_COMM_WORLD, comm_palm ) 659 ENDIF 617 660 #endif 618 661 619 WRITE ( 9, * ) '*** myid=', myid, ' nach DVRP_SPLIT'620 CALL local_flush( 9 )662 WRITE ( 9, * ) '*** myid=', myid, ' nach DVRP_SPLIT' 663 CALL local_flush( 9 ) 621 664 CALL MPI_COMM_SIZE( comm_palm, numprocs, ierr ) 622 665 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.