Changeset 210
- Timestamp:
- Nov 6, 2008 8:54:02 AM (16 years ago)
- Location:
- palm/trunk
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/DOC/app/chapter_3.9.html
r206 r210 38 38 carried out in order to create a (quasi-) stationary state. Since the 39 39 horizontal average from this precursor run is used as the mean inflow 40 profile for the main run, the wall-normal velocity component must point 40 profile for the main run, <span style="font-weight: bold;">the 41 wall-normal velocity component must point 41 42 into the domain at every grid point and its magnitude should be large 42 43 enough in order to guarantee an inflow even if a turbulence signal is 43 added .<br></li><li>The44 added</span>.<br></li><li>The 44 45 main run requires from the precursor run the mean profiles to 45 46 be used at the inflow. For this, the horizontally and temporally -
palm/trunk/SCRIPTS/mbuild
r206 r210 728 728 (lcmuk) remote_addres=130.75.105.2;; 729 729 (lcsgib) remote_addres=130.73.232.102;; 730 (lcsgih) remote_addres=130.75.4.10 2;;730 (lcsgih) remote_addres=130.75.4.103;; 731 731 (lctit) remote_addres=172.17.75.161;; 732 732 (lcxt4) remote_addres=129.177.20.113;; … … 1309 1309 then 1310 1310 1311 print ". /usr/share/modules/init/bash; module load mpt ; cd ${remote_md}; echo $make_call_string > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll1311 print ". /usr/share/modules/init/bash; module load mpt/1.21; cd ${remote_md}; echo $make_call_string > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll 1312 1312 # print ". /usr/share/modules/init/bash; module load mvapich2/1.2rc1-intel; cd ${remote_md}; echo $make_call_string > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll 1313 1313 # print ". /usr/share/modules/init/bash; module load mvapich2; cd ${remote_md}; echo $make_call_string > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll -
palm/trunk/SCRIPTS/mrun
r206 r210 154 154 # 08/08/08 - Marcus - typo removed in lcxt4 branch 155 155 # 17/09/08 - Siggi - restart mechanism adjusted for lcsgi 156 # 02/10/09 - BjornM - argument "-Y" modified, adjustments for coupled runs 156 # 02/10/08 - BjornM - argument "-Y" modified, adjustments for coupled runs 157 # 21/10/08 - Siggi - bugfix for the case that -K has more than one 158 # argument 157 159 158 160 # VARIABLENVEREINBARUNGEN + DEFAULTWERTE … … 396 398 (C) restart_run=true; mc="$mc -C";; 397 399 (d) fname=$OPTARG; mc="$mc -d$OPTARG";; 398 (D) cpp_opts="$cpp_opts $OPTARG"; mc="$mc -D $OPTARG";;400 (D) cpp_opts="$cpp_opts $OPTARG"; mc="$mc -D'$OPTARG'";; 399 401 (F) job_on_file="-D"; mc="$mc -F";; 400 402 (g) group_number=$OPTARG; mc="$mc -g$OPTARG";; … … 405 407 (I) ignore_archive_error=true; mc="$mc -I";; 406 408 (k) keep_data_from_previous_run=true; mc="$mc -k";; 407 (K) additional_conditions="$OPTARG"; mc="$mc -K $OPTARG";;409 (K) additional_conditions="$OPTARG"; mc="$mc -K'$OPTARG'";; 408 410 (m) memory=$OPTARG; mc="$mc -m$OPTARG";; 409 411 (M) makefile=$OPTARG; mc="$mc -M$OPTARG";; … … 2320 2322 then 2321 2323 printf " compiler is called via ssh on \"hicegate\" \n" 2322 ssh 130.75.4.10 2-l $usern ". /usr/share/modules/init/bash; module load mpt; cd $TEMPDIR; make -f Makefile PROG=a.out F90=$compiler_name COPT=\"$cpp_options\" F90FLAGS=\"$fopts\" LDFLAGS=\"$lopts\" 2>&1 "2324 ssh 130.75.4.103 -l $usern ". /usr/share/modules/init/bash; module load mpt; cd $TEMPDIR; make -f Makefile PROG=a.out F90=$compiler_name COPT=\"$cpp_options\" F90FLAGS=\"$fopts\" LDFLAGS=\"$lopts\" 2>&1 " 2323 2325 # ssh 130.75.4.102 -l $usern ". /usr/share/modules/init/bash; module load mvapich2; cd $TEMPDIR; make -f Makefile PROG=a.out F90=$compiler_name COPT=\"$cpp_options\" F90FLAGS=\"$fopts\" LDFLAGS=\"$lopts\" 2>&1 " 2324 2326 # print ". /usr/share/modules/init/bash; module load mpt; cd $TEMPDIR; make -f Makefile PROG=a.out F90=$compiler_name COPT=\"$cpp_options\" F90FLAGS=\"$fopts\" LDFLAGS=\"$lopts\" " | ssh ${usern}@130.75.4.102 2>&1 … … 2919 2921 # export MV2_CPU_MAPPING=0:1:2:3 2920 2922 # mpiexec ./a.out $ROPTS 2923 # export MPI_LAUNCH_TIMEOUT=360 2921 2924 mpiexec_mpt -np $ii ./a.out $ROPTS 2922 2925 elif [[ $host = lcxt4 ]] -
palm/trunk/SCRIPTS/subjob
r206 r210 161 161 (autan) local_addres=130.75.105.57; local_host=lcmuk;; 162 162 (bora) local_addres=130.75.105.103; local_host=lcmuk;; 163 (bicegate1) local_addres=130.73.232.102; local_host=lcsgib;; 163 164 (breg*-en0|berni*-en0) local_addres=130.73.230.10; local_host=ibmb;; 164 165 (breva) local_addres=130.75.105.98; local_host=lcmuk;; … … 175 176 (hababai) local_addres=130.75.105.108; local_host=lcmuk;; 176 177 (hexagon.bccs.uib.no) local_addres=129.177.20.113; local_host=lcxt4;; 178 (hicegate1) local_addres=130.75.4.102; local_host=lcsgih;; 179 (hicegate2) local_addres=130.75.4.103; local_host=lcsgih;; 177 180 (hreg*-en0|hanni*-en0) local_addres=130.75.4.10; local_host=ibmh;; 178 181 (h01*) local_addres=130.75.4.102; local_host=lcsgih;; … … 187 190 (quanero) local_addres=130.75.105.107; local_host=lcmuk;; 188 191 (scirocco) local_addres=172.20.25.41; local_host=lcmuk;; 189 (service100) local_addres=130.75.4.102; local_host=lcsgih;;190 192 (sun1|sun2) local_addres=130.75.6.1; local_host=unics;; 191 193 (r1*) local_addres=130.75.4.102; local_host=lcsgih;; … … 317 319 (lcfimm) remote_addres=172.20.4.2; submcom=/opt/torque/bin/qsub;; 318 320 (lcsgib) queue=smallq; remote_addres=130.73.232.102; submcom=/opt/moab/bin/msub;; 319 (lcsgih) queue=smallq; remote_addres=130.75.4.10 2; submcom=/opt/moab/bin/msub;;321 (lcsgih) queue=smallq; remote_addres=130.75.4.103; submcom=/opt/moab/bin/msub;; 320 322 (lctit) queue=lctit; remote_addres=172.17.75.161; submcom=/n1ge/TITECH_GRID/tools/bin/n1ge;; 321 323 (lcxt4) remote_addres=129.177.20.113; submcom=/opt/torque/2.3.0/bin/qsub;; … … 701 703 702 704 . /usr/share/modules/init/bash 703 module load mpt 705 module load mpt/1.21 704 706 # module load mvapich2/1.2rc1-intel 705 707 # module load mvapich2 … … 1145 1147 else 1146 1148 cd $job_catalog 1147 if [[ $(echo $local_host | cut -c1- 3) = ibm ]]1149 if [[ $(echo $local_host | cut -c1-5) = lcsgi || $(echo $local_host | cut -c1-3) = ibm ]] 1148 1150 then 1149 1151 eval $submcom $job_on_remhost -
palm/trunk/SOURCE/CURRENT_MODIFICATIONS
r209 r210 7 7 (-Y option). Adjustments in mrun, mbuild, and subjob for lcxt4. 8 8 9 DVRP arguments changed to single precision, mode pathlines added 9 10 10 check_for_restart, check_parameters, init_dvrp, init_pegrid, local_stop, modules, palm, surface_coupler, timestep 11 12 check_for_restart, check_parameters, data_output_dvrp, init_dvrp, init_pegrid, local_stop, modules, package_parin, palm, surface_coupler, timestep 11 13 Makefile, mrun, mbuild, subjob 12 14 … … 21 23 ------ 22 24 25 Size of pf3d adjusted to the required output size (1 gridpoint less, along 26 all three dimensions), because output of a subset of the data 27 (pf3d(nxa:nxe...) in the NF90_PUT_VAR statement caused segmentation fault 28 with the INTEL compiler. (combine_plot_fields) 29 23 30 Bugfix: error in zu index in case of section_xy = -1 (header) 24 31 … … 27 34 dwdy, dvdx and dwdx. (production_e) 28 35 29 header, production_e 36 combine_plot_fields, header, production_e -
palm/trunk/SOURCE/data_output_dvrp.f90
r139 r210 32 32 ! Actual revisions: 33 33 ! ----------------- 34 ! 34 ! DVRP arguments changed to single precision, mode pathlines added 35 35 ! TEST: different colours for isosurfaces 36 36 ! TEST: write statements … … 72 72 USE arrays_3d 73 73 USE cloud_parameters 74 USE constants 74 75 USE cpulog 75 76 USE DVRP … … 87 88 CHARACTER (LEN=2) :: section_chr 88 89 CHARACTER (LEN=6) :: output_variable 89 INTEGER :: i, j, k, l, m, n, nn, section_mode, tv, vn 90 INTEGER :: c_mode, c_size_x, c_size_y, c_size_z, gradient_normals, i, j, & 91 k, l, m, n, nn, section_mode, tv, vn 90 92 INTEGER, DIMENSION(:), ALLOCATABLE :: p_c, p_t 91 REAL :: center(3), distance, slicer_position, surface_value 92 REAL, DIMENSION(:), ALLOCATABLE :: psize, p_x, p_y, p_z 93 REAL, DIMENSION(:,:,:), ALLOCATABLE :: local_pf 93 REAL(4) :: center(3), distance, slicer_position, surface_value, & 94 tmp_alpha, tmp_alpha_w, tmp_b, tmp_c_alpha, tmp_g, tmp_norm, & 95 tmp_pos, tmp_r, tmp_t, tmp_th 96 REAL(4), DIMENSION(:), ALLOCATABLE :: psize, p_x, p_y, p_z 97 REAL(4), DIMENSION(:,:,:), ALLOCATABLE :: local_pf 98 REAL(4), DIMENSION(:,:,:,:), ALLOCATABLE :: local_pfi 94 99 95 100 … … 112 117 ! WRITE ( 9, * ) '*** myid=', myid, ' data_output_dvrp: vor steering_update' 113 118 ! CALL local_flush( 9 ) 114 CALL DVRP_STEERING_UPDATE( m-1, data_output_dvrp )119 ! CALL DVRP_STEERING_UPDATE( m-1, data_output_dvrp ) 115 120 ! WRITE ( 9, * ) '*** myid=', myid, ' data_output_dvrp: nach steering_update' 116 121 ! CALL local_flush( 9 ) … … 157 162 ! 158 163 !-- Definition of characteristics of particle material 159 ! CALL DVRP_MATERIAL_RGB( m-1, 1, 0.1, 0.7, 0.1, 0.0 ) 160 CALL DVRP_MATERIAL_RGB( m-1, 1, 0.0, 0.0, 0.0, 0.0 ) 164 ! tmp_r = 0.1; tmp_g = 0.7; tmp_b = 0.1; tmp_t = 0.0 165 tmp_r = 0.0; tmp_g = 0.0; tmp_b = 0.0; tmp_t = 0.0 166 CALL DVRP_MATERIAL_RGB( m-1, 1, tmp_r, tmp_g, tmp_b, tmp_t ) 161 167 162 168 ! … … 437 443 ! 438 444 !-- Definition of characteristics of isosurface material 439 !-- Preliminary settings for w !445 !-- Preliminary settings for w and pt! 440 446 IF ( output_variable == 'w' ) THEN 441 447 IF ( tv == 1 ) THEN 442 CALL DVRP_MATERIAL_RGB( m-1, 1, 0.8, 0.1, 0.1, 0.0 ) 448 tmp_r = 0.8; tmp_g = 0.1; tmp_b = 0.1; tmp_t = 0.0 449 CALL DVRP_MATERIAL_RGB( m-1, 1, tmp_r, tmp_g, tmp_b, tmp_t ) 443 450 ELSE 444 CALL DVRP_MATERIAL_RGB( m-1, 1, 0.1, 0.1, 0.8, 0.0 ) 451 tmp_r = 0.1; tmp_g = 0.1; tmp_b = 0.8; tmp_t = 0.0 452 CALL DVRP_MATERIAL_RGB( m-1, 1, tmp_r, tmp_g, tmp_b, tmp_t ) 445 453 ENDIF 454 ELSEIF ( output_variable == 'pt' ) THEN 455 tmp_r = 0.8; tmp_g = 0.1; tmp_b = 0.1; tmp_t = 0.0 456 CALL DVRP_MATERIAL_RGB( m-1, 1, tmp_r, tmp_g, tmp_b, tmp_t ) 446 457 ELSE 447 CALL DVRP_MATERIAL_RGB( m-1, 1, 0.9, 0.9, 0.9, 0.0 ) 458 tmp_r = 0.9; tmp_g = 0.9; tmp_b = 0.9; tmp_t = 0.0 459 CALL DVRP_MATERIAL_RGB( m-1, 1, tmp_r, tmp_g, tmp_b, tmp_t ) 448 460 ENDIF 449 461 … … 452 464 CALL DVRP_DATA( m-1, local_pf, 1, nx_dvrp, ny_dvrp, nz_dvrp, & 453 465 cyclic_dvrp, cyclic_dvrp, cyclic_dvrp ) 454 CALL DVRP_THRESHOLD( m-1, threshold(tv) ) 455 CALL DVRP_VISUALIZE( m-1, 1, dvrp_filecount ) 466 467 c_size_x = vc_size_x; c_size_y = vc_size_y; c_size_z = vc_size_z 468 CALL DVRP_CLUSTER_SIZE( m-1, c_size_x, c_size_y, c_size_z ) 469 470 c_mode = vc_mode 471 CALL DVRP_CLUSTERING_MODE( m-1, c_mode ) 472 473 gradient_normals = vc_gradient_normals 474 CALL DVRP_GRADIENTNORMALS( m-1, gradient_normals ) 475 ! 476 !-- A seperate procedure for setting vc_alpha will be in the next 477 !-- version of libDVRP 478 tmp_c_alpha = vc_alpha 479 CALL DVRP_THRESHOLD( -(m-1)-1, tmp_c_alpha ) 480 481 tmp_th = threshold(tv) 482 CALL DVRP_THRESHOLD( m-1, tmp_th ) 483 CALL DVRP_VISUALIZE( m-1, 21, dvrp_filecount ) 484 456 485 ! WRITE ( 9, * ) '*** myid=', myid, ' data_output_dvrp: ende isosurface' 457 486 ! CALL local_flush( 9 ) … … 469 498 ! 470 499 !-- Material and color definitions 471 CALL DVRP_MATERIAL_RGB( m-1, 1, 0.0, 0.0, 0.0, 0.0 ) 500 tmp_r = 0.0; tmp_g = 0.0; tmp_b = 0.0; tmp_t = 0.0 501 CALL DVRP_MATERIAL_RGB( m-1, 1, tmp_r, tmp_g, tmp_b, tmp_t ) 472 502 473 503 islice_dvrp = islice_dvrp + 1 … … 487 517 cyclic_dvrp, cyclic_dvrp, cyclic_dvrp ) 488 518 ! CALL DVRP_SLICER( m-1, section_mode, slicer_position ) 489 CALL DVRP_SLICER( m-1, 2, 1.0 ) 519 tmp_pos = 1.0 520 CALL DVRP_SLICER( m-1, 2, tmp_pos ) 490 521 WRITE (9,*) 'nx_dvrp=', nx_dvrp 491 522 WRITE (9,*) 'ny_dvrp=', ny_dvrp … … 505 536 DEALLOCATE( local_pf ) 506 537 538 ELSEIF ( mode_dvrp(m)(1:9) == 'pathlines' ) THEN 539 540 ALLOCATE( local_pfi(4,nxl:nxr+1,nys:nyn+1,nzb:nz_do3d) ) 541 DO i = nxl, nxr+1 542 DO j = nys, nyn+1 543 DO k = nzb, nz_do3d 544 local_pfi(1,i,j,k) = u(k,j,i) 545 local_pfi(2,i,j,k) = v(k,j,i) 546 local_pfi(3,i,j,k) = w(k,j,i) 547 tmp_norm = SQRT( u(k,j,i) * u(k,j,i) + & 548 v(k,j,i) * v(k,j,i) + & 549 w(k,j,i) * w(k,j,i) ) 550 tmp_alpha = ACOS( 0.0 * u(k,j,i) / tmp_norm + & 551 0.0 * v(k,j,i) / tmp_norm - & 552 1.0 * w(k,j,i) / tmp_norm ) 553 tmp_alpha_w = tmp_alpha / pi * 180.0 554 local_pfi(4,i,j,k) = tmp_alpha_w 555 ENDDO 556 ENDDO 557 ENDDO 558 559 CALL cpu_log( log_point_s(31), 'dvrp_pathlines', 'start' ) 560 561 CALL DVRP_DATA( m-1, local_pfi, 4, nx_dvrp, ny_dvrp, nz_dvrp, & 562 cyclic_dvrp, cyclic_dvrp, cyclic_dvrp ) 563 CALL DVRP_VISUALIZE( m-1, 20, dvrp_filecount ) 564 565 CALL cpu_log( log_point_s(31), 'dvrp_pathlines', 'stop' ) 566 567 DEALLOCATE( local_pfi ) 568 507 569 ENDIF 508 570 -
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 -
palm/trunk/SOURCE/modules.f90
r206 r210 5 5 ! Actual revisions: 6 6 ! ----------------- 7 ! +target_id 7 ! some dvrp-variables changed to single precision, variables for dvrp-mode 8 ! pathlines added, +target_id 8 9 ! 9 10 ! Former revisions: … … 521 522 dvrp_username = ' ' 522 523 523 INTEGER :: dvrp_colourtable_entries = 4, islice_dvrp, nx_dvrp, ny_dvrp, & 524 nz_dvrp 524 INTEGER :: dvrp_colourtable_entries = 4, islice_dvrp, nx_dvrp, ny_dvrp, & 525 nz_dvrp, pathlines_fadeintime = 5, pathlines_fadeouttime = 5, & 526 pathlines_linecount = 1000, pathlines_maxhistory = 40, & 527 pathlines_wavecount = 10, pathlines_wavetime = 50, & 528 vc_gradient_normals = 0, vc_mode = 0, vc_size_x = 2, & 529 vc_size_y = 2, vc_size_z = 2 525 530 526 531 INTEGER, DIMENSION(10) :: slicer_position_dvrp … … 530 535 531 536 REAL :: superelevation = 1.0, superelevation_x = 1.0, & 532 superelevation_y = 1.0 537 superelevation_y = 1.0, vc_alpha = 38.0 533 538 534 539 #if defined( __decalpha ) … … 538 543 -1.0, 1.0, -1.0, 1.0 /) 539 544 540 REAL , DIMENSION(2,100) :: interval_values_dvrp, interval_h_dvrp =&541 (/ 270.0, 225.0, 225.0, 180.0, 70.0, 25.0,&542 25.0, -25.0, ( 0.0, i9 = 1, 192 ) /),&543 interval_l_dvrp = 0.5, interval_s_dvrp = 1.0,&544 interval_a_dvrp = 0.0545 REAL/4), DIMENSION(2,100) :: interval_values_dvrp, interval_h_dvrp = & 546 (/ 270.0, 225.0, 225.0, 180.0, 70.0, 25.0, & 547 25.0, -25.0, ( 0.0, i9 = 1, 192 ) /), & 548 interval_l_dvrp = 0.5, interval_s_dvrp = 1.0,& 549 interval_a_dvrp = 0.0 545 550 #else 546 551 REAL, DIMENSION(2,10) :: slicer_range_limits_dvrp 547 552 548 REAL , DIMENSION(2,100) :: interval_values_dvrp, interval_h_dvrp,&549 interval_l_dvrp = 0.5, interval_s_dvrp = 1.0,&550 interval_a_dvrp = 0.0553 REAL(4), DIMENSION(2,100) :: interval_values_dvrp, interval_h_dvrp, & 554 interval_l_dvrp = 0.5, interval_s_dvrp = 1.0,& 555 interval_a_dvrp = 0.0 551 556 552 557 DATA slicer_range_limits_dvrp / -1.0, 1.0, -1.0, 1.0, -1.0, 1.0, & … … 559 564 #endif 560 565 561 REAL , DIMENSION(:), ALLOCATABLE :: xcoor_dvrp, ycoor_dvrp, zcoor_dvrp566 REAL(4), DIMENSION(:), ALLOCATABLE :: xcoor_dvrp, ycoor_dvrp, zcoor_dvrp 562 567 563 568 TYPE steering 564 569 CHARACTER (LEN=20) :: name 565 REAL 570 REAL(4) :: min, max 566 571 INTEGER :: imin, imax 567 572 END TYPE steering -
palm/trunk/SOURCE/package_parin.f90
r139 r210 4 4 ! Actual revisions: 5 5 ! ----------------- 6 ! 6 ! Variables for dvrp-mode pathlines added 7 7 ! 8 8 ! Former revisions: … … 14 14 ! 15 15 ! 60 2007-03-11 11:50:04Z raasch 16 ! Particles-pac lage is now part of the default code16 ! Particles-package is now part of the default code 17 17 ! 18 18 ! RCS Log replace by Id keyword, revision history cleaned up … … 44 44 dvrp_host, dvrp_output, dvrp_password, & 45 45 dvrp_username, mode_dvrp, & 46 pathlines_fadeintime, pathlines_fadeouttime, & 47 pathlines_linecount, pathlines_maxhistory, & 48 pathlines_wavecount, pathlines_wavetime, & 46 49 slicer_range_limits_dvrp, superelevation, & 47 superelevation_x, superelevation_y, threshold 50 superelevation_x, superelevation_y, & 51 threshold, vc_alpha, vc_gradient_normals, & 52 vc_mode, vc_size_x, vc_size_y, vc_size_z 48 53 NAMELIST /particles_par/ bc_par_b, bc_par_lr, bc_par_ns, bc_par_t, & 49 54 density_ratio, radius, dt_dopts, & -
palm/trunk/UTIL/combine_plot_fields.f90
r191 r210 4 4 ! Actual revisions: 5 5 ! ----------------- 6 ! Size of pf3d adjusted to the required output size (1 gridpoint less, along 7 ! all three dimensions), because output of a subset of the data 8 ! (pf3d(nxa:nxe...) in the NF90_PUT_VAR statement caused segmentation fault 9 ! with the INTEL compiler. 6 10 ! Subdomain data are read into temporary arrays pf_tmp/pf3d_tmp in order to 7 11 ! avoid INTEL compiler warnings about (automatic) creation of temporary arrays … … 93 97 94 98 INTEGER :: av, danz, i, id, & 95 j, model, models, nc_stat, nxa, nxag, nxe, nxeg, nya, &99 j, k, model, models, nc_stat, nxa, nxag, nxe, nxeg, nya, & 96 100 nyag, nye, nyeg, nza, nzag, nze, nzeg, pos, time_step, xa, xe, & 97 ya, ye, za,ze101 xxa, xxe, ya, ye, yya, yye, za, ze, zza, zze 98 102 99 103 INTEGER, DIMENSION(0:1) :: current_level, current_var, fanz, id_set, & … … 603 607 ! 604 608 !-- Get variable ID from name 605 ! print*, '*** find id for "',TRIM( var_name ),'" begin'606 609 nc_stat = NF90_INQ_VARID( id_set(av), TRIM( var_name ), & 607 610 id_var(av,i) ) 608 611 IF ( nc_stat /= NF90_NOERR ) CALL handle_netcdf_error( 16 ) 609 ! print*, '*** find id for "',TRIM( var_name ),'" end'610 612 611 613 ENDDO … … 636 638 READ ( id+110 ) nxag, nxeg, nyag, nyeg, nzag, nzeg 637 639 READ ( id+110 ) nxa, nxe, nya, nye, nza, nze 638 ALLOCATE ( pf3d(nxa g:nxeg,nyag:nyeg,nzag:nzeg) )640 ALLOCATE ( pf3d(nxa:nxe,nya:nye,nza:nze) ) 639 641 IF ( avs_output ) THEN 640 642 OPEN ( 2, FILE='PLOT3D_DATA'//TRIM( model_string ), & … … 661 663 ALLOCATE( pf3d_tmp(xa:xe,ya:ye,za:ze) ) 662 664 READ ( id+110 ) pf3d_tmp 663 pf3d(xa:xe,ya:ye,za:ze) = pf3d_tmp 665 666 xxa = MAX( nxa, xa ) 667 xxe = MIN( nxe, xe ) 668 yya = MAX( nya, ya ) 669 yye = MIN( nye, ye ) 670 zza = MAX( nza, za ) 671 zze = MIN( nze, ze ) 672 DO k = zza, zze 673 DO j = yya, yye 674 DO i = xxa, xxe 675 pf3d(i,j,k) = pf3d_tmp(i,j,k) 676 ENDDO 677 ENDDO 678 ENDDO 679 664 680 DEALLOCATE( pf3d_tmp ) 665 681 IF ( id == 0 ) fanz(av) = fanz(av) + 1 … … 688 704 !-- Now write the data 689 705 nc_stat = NF90_PUT_VAR( id_set(av), id_var(av,current_var(av)), & 690 pf3d(nxa:nxe,nya:nye,nza:nze), & 691 start = (/ 1, 1, 1, time_step /), & 706 pf3d, start = (/ 1, 1, 1, time_step /), & 692 707 count = (/ nxe-nxa+1, nye-nya+1, nze-nza+1, 1 /) ) 693 708 IF ( nc_stat /= NF90_NOERR ) CALL handle_netcdf_error( 18 )
Note: See TracChangeset
for help on using the changeset viewer.