Changeset 210


Ignore:
Timestamp:
Nov 6, 2008 8:54:02 AM (16 years ago)
Author:
raasch
Message:

updates in dvr routines for new dvr version

Location:
palm/trunk
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/DOC/app/chapter_3.9.html

    r206 r210  
    3838carried out in order to create a (quasi-) stationary state. Since the
    3939horizontal average from this precursor run is used as the mean inflow
    40 profile for the main run, the wall-normal velocity component must point
     40profile for the main run, <span style="font-weight: bold;">the
     41wall-normal velocity component must point
    4142into the domain at every grid point and its magnitude should be large
    4243enough in order to guarantee an inflow even if a turbulence signal is
    43 added.<br></li><li>The
     44added</span>.<br></li><li>The
    4445main run requires&nbsp;from the precursor run&nbsp;the mean profiles to
    4546be used at the inflow. For this, the horizontally and temporally
  • palm/trunk/SCRIPTS/mbuild

    r206 r210  
    728728        (lcmuk)          remote_addres=130.75.105.2;;
    729729        (lcsgib)         remote_addres=130.73.232.102;;
    730         (lcsgih)         remote_addres=130.75.4.102;;
     730        (lcsgih)         remote_addres=130.75.4.103;;
    731731        (lctit)          remote_addres=172.17.75.161;;
    732732        (lcxt4)          remote_addres=129.177.20.113;;
     
    13091309             then
    13101310
    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_protokoll
     1311                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
    13121312#                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
    13131313#                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  
    154154     # 08/08/08 - Marcus - typo removed in lcxt4 branch
    155155     # 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
    157159 
    158160    # VARIABLENVEREINBARUNGEN + DEFAULTWERTE
     
    396398       (C)   restart_run=true; mc="$mc -C";;
    397399       (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'";;
    399401       (F)   job_on_file="-D"; mc="$mc -F";;
    400402       (g)   group_number=$OPTARG; mc="$mc -g$OPTARG";;
     
    405407       (I)   ignore_archive_error=true; mc="$mc -I";;
    406408       (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'";;
    408410       (m)   memory=$OPTARG; mc="$mc -m$OPTARG";;
    409411       (M)   makefile=$OPTARG; mc="$mc -M$OPTARG";;
     
    23202322       then
    23212323          printf "      compiler is called via ssh on \"hicegate\" \n"
    2322           ssh  130.75.4.102  -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 "
    23232325#          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 "
    23242326#          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
     
    29192921#                   export MV2_CPU_MAPPING=0:1:2:3
    29202922#                   mpiexec    ./a.out  $ROPTS
     2923#                   export MPI_LAUNCH_TIMEOUT=360
    29212924                   mpiexec_mpt -np $ii   ./a.out  $ROPTS
    29222925                elif [[ $host = lcxt4 ]]
  • palm/trunk/SCRIPTS/subjob

    r206 r210  
    161161     (autan)                 local_addres=130.75.105.57;  local_host=lcmuk;;
    162162     (bora)                  local_addres=130.75.105.103; local_host=lcmuk;;
     163     (bicegate1)             local_addres=130.73.232.102; local_host=lcsgib;;
    163164     (breg*-en0|berni*-en0)  local_addres=130.73.230.10;  local_host=ibmb;;
    164165     (breva)                 local_addres=130.75.105.98;  local_host=lcmuk;;
     
    175176     (hababai)               local_addres=130.75.105.108; local_host=lcmuk;;
    176177     (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;;
    177180     (hreg*-en0|hanni*-en0)  local_addres=130.75.4.10;    local_host=ibmh;;
    178181     (h01*)                  local_addres=130.75.4.102;   local_host=lcsgih;;
     
    187190     (quanero)               local_addres=130.75.105.107; local_host=lcmuk;;
    188191     (scirocco)              local_addres=172.20.25.41;   local_host=lcmuk;;
    189      (service100)            local_addres=130.75.4.102;   local_host=lcsgih;;
    190192     (sun1|sun2)             local_addres=130.75.6.1;     local_host=unics;;
    191193     (r1*)                   local_addres=130.75.4.102;   local_host=lcsgih;;
     
    317319        (lcfimm) remote_addres=172.20.4.2; submcom=/opt/torque/bin/qsub;;
    318320        (lcsgib) queue=smallq; remote_addres=130.73.232.102; submcom=/opt/moab/bin/msub;;
    319         (lcsgih) queue=smallq; remote_addres=130.75.4.102; submcom=/opt/moab/bin/msub;;
     321        (lcsgih) queue=smallq; remote_addres=130.75.4.103; submcom=/opt/moab/bin/msub;;
    320322        (lctit)  queue=lctit; remote_addres=172.17.75.161; submcom=/n1ge/TITECH_GRID/tools/bin/n1ge;;
    321323        (lcxt4)  remote_addres=129.177.20.113; submcom=/opt/torque/2.3.0/bin/qsub;;
     
    701703
    702704. /usr/share/modules/init/bash
    703 module load mpt
     705module load mpt/1.21
    704706# module load mvapich2/1.2rc1-intel
    705707# module load mvapich2
     
    11451147    else
    11461148       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 ]]
    11481150       then
    11491151          eval  $submcom  $job_on_remhost
  • palm/trunk/SOURCE/CURRENT_MODIFICATIONS

    r209 r210  
    77(-Y option). Adjustments in mrun, mbuild, and subjob for lcxt4.
    88
     9DVRP arguments changed to single precision, mode pathlines added
    910
    10 check_for_restart, check_parameters, init_dvrp, init_pegrid, local_stop, modules, palm, surface_coupler, timestep
     11
     12check_for_restart, check_parameters, data_output_dvrp, init_dvrp, init_pegrid, local_stop, modules, package_parin, palm, surface_coupler, timestep
    1113Makefile, mrun, mbuild, subjob
    1214
     
    2123------
    2224
     25Size of pf3d adjusted to the required output size (1 gridpoint less, along
     26all three dimensions), because output of a subset of the data
     27(pf3d(nxa:nxe...) in the NF90_PUT_VAR statement caused segmentation fault
     28with the INTEL compiler. (combine_plot_fields)
     29
    2330Bugfix: error in zu index in case of section_xy = -1 (header)
    2431
     
    2734dwdy, dvdx and dwdx. (production_e)
    2835
    29 header, production_e
     36combine_plot_fields, header, production_e
  • palm/trunk/SOURCE/data_output_dvrp.f90

    r139 r210  
    3232! Actual revisions:
    3333! -----------------
    34 !
     34! DVRP arguments changed to single precision, mode pathlines added
    3535! TEST: different colours for isosurfaces
    3636! TEST: write statements
     
    7272    USE arrays_3d
    7373    USE cloud_parameters
     74    USE constants
    7475    USE cpulog
    7576    USE DVRP
     
    8788    CHARACTER (LEN=2) ::  section_chr
    8889    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
    9092    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
    9499
    95100
     
    112117!   WRITE ( 9, * ) '*** myid=', myid, ' data_output_dvrp: vor steering_update'
    113118!   CALL local_flush( 9 )
    114           CALL DVRP_STEERING_UPDATE( m-1, data_output_dvrp )
     119!          CALL DVRP_STEERING_UPDATE( m-1, data_output_dvrp )
    115120!   WRITE ( 9, * ) '*** myid=', myid, ' data_output_dvrp: nach steering_update'
    116121!   CALL local_flush( 9 )
     
    157162!
    158163!--       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 )
    161167
    162168!
     
    437443!
    438444!--          Definition of characteristics of isosurface material
    439 !--          Preliminary settings for w!
     445!--          Preliminary settings for w and pt!
    440446             IF ( output_variable == 'w' )  THEN
    441447                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 )
    443450                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 )
    445453                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 )
    446457             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 )
    448460             ENDIF
    449461
     
    452464             CALL DVRP_DATA( m-1, local_pf, 1, nx_dvrp, ny_dvrp, nz_dvrp, &
    453465                             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
    456485!   WRITE ( 9, * ) '*** myid=', myid, ' data_output_dvrp: ende isosurface'
    457486!   CALL local_flush( 9 )
     
    469498!
    470499!--          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 )
    472502
    473503             islice_dvrp = islice_dvrp + 1
     
    487517                             cyclic_dvrp, cyclic_dvrp, cyclic_dvrp )
    488518!             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 )
    490521             WRITE (9,*) 'nx_dvrp=', nx_dvrp
    491522             WRITE (9,*) 'ny_dvrp=', ny_dvrp
     
    505536          DEALLOCATE( local_pf )
    506537
     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
    507569       ENDIF
    508570
  • palm/trunk/SOURCE/init_dvrp.f90

    r206 r210  
    44! Actual revisions:
    55! -----------------
    6 !
     6! DVRP arguments changed to single precision, mode pathlines added
    77! TEST: print* statements
    88! ToDo: checking of mode_dvrp for legal values is not correct
     
    5050    USE control_parameters
    5151
    52 !
    53 !-- New coupling
    54     USE coupling
    55 
    5652    IMPLICIT NONE
    5753
     
    6157    INTEGER ::  i, j, k, l, m, pn, tv, vn
    6258    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
    6664
    6765    TYPE(CSTRING), SAVE ::  dvrp_directory_c, dvrp_file_c, &
     
    130128       IF ( mode_dvrp(m)(1:10) /= 'isosurface'  .AND. &
    131129            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
    133132
    134133          IF ( myid == 0 )  THEN
     
    200199!
    201200!--       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 )
    207210
    208211          CALL DVRP_VISUALIZE( m-1, 0, 0 )
     
    272275!
    273276!--       Define the grid used by dvrp
     277          CALL DVRP_NO_GLOBAL_GRID( m-1, 1 )
    274278          CALL DVRP_GRID( m-1, nx_dvrp, ny_dvrp, nz_dvrp, xcoor_dvrp, &
    275279                          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 )
    277283    WRITE ( 9, * ) '***  #4'
    278284    CALL local_flush( 9 )
     
    295301    WRITE ( 9, * ) '***  #4.2'
    296302    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 )
    298305    WRITE ( 9, * ) '***  #4.3'
    299306    CALL local_flush( 9 )
     
    366373!
    367374!--       Define the grid used by dvrp
     375          CALL DVRP_NO_GLOBAL_GRID( m-1, 1 )
    368376          CALL DVRP_GRID( m-1, nx_dvrp, ny_dvrp, nz_dvrp, xcoor_dvrp, &
    369377                          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 )
    371381    WRITE ( 9, * ) '***  #7'
    372382    CALL local_flush( 9 )
     
    380390          CALL DVRP_DATA( m-1, local_pf, 1, nx_dvrp, ny_dvrp, nz_dvrp, &
    381391                          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 )
    383394          CALL DVRP_VISUALIZE( m-1, 1, 0 )
    384395
     
    429440    WRITE ( 9, * ) '***  #9'
    430441    CALL local_flush( 9 )
     442                tmp_thr = threshold(tv)
    431443                CALL DVRP_STEERING_INIT( m-1, name_c, steering_dvrp(pn)%min, &
    432                                          steering_dvrp(pn)%max, threshold(tv) )
     444                                         steering_dvrp(pn)%max, tmp_thr )
    433445    WRITE ( 9, * ) '***  #10'
    434446    CALL local_flush( 9 )
     
    541553    CALL local_flush( 9 )
    542554
     555       IF ( mode_dvrp(m) /= 'pathlines' )  THEN
     556          CALL DVRP_NO_GLOBAL_GRID( m-1, 1 )
     557       ENDIF
    543558       CALL DVRP_GRID( m-1, nx_dvrp, ny_dvrp, nz_dvrp, xcoor_dvrp, ycoor_dvrp, &
    544559                       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
    545582    WRITE ( 9, * ) '***  #14'
    546583    CALL local_flush( 9 )
     
    566603#if defined( __dvrp_graphics )
    567604
     605    USE control_parameters
    568606    USE dvrp_variables
    569607    USE pegrid
     
    602640    IF ( chr == 'true' )  THEN
    603641       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.
    609647#if defined( __mpi2 )
    610648       CALL DVRP_SPLIT( MPI_COMM_WORLD, comm_palm )
    611649#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
    617660#endif
    618661
    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 )
    621664       CALL MPI_COMM_SIZE( comm_palm, numprocs, ierr )
    622665    ENDIF
  • palm/trunk/SOURCE/modules.f90

    r206 r210  
    55! Actual revisions:
    66! -----------------
    7 ! +target_id
     7! some dvrp-variables changed to single precision, variables for dvrp-mode
     8! pathlines added, +target_id
    89!
    910! Former revisions:
     
    521522                           dvrp_username  = ' '
    522523
    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
    525530
    526531    INTEGER, DIMENSION(10) ::  slicer_position_dvrp
     
    530535
    531536    REAL    ::  superelevation = 1.0, superelevation_x = 1.0, &
    532                 superelevation_y = 1.0
     537                superelevation_y = 1.0, vc_alpha = 38.0
    533538
    534539#if defined( __decalpha )
     
    538543                                -1.0, 1.0, -1.0, 1.0 /)
    539544
    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.0
     545    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
    545550#else
    546551    REAL, DIMENSION(2,10)  ::  slicer_range_limits_dvrp
    547552
    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.0
     553    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
    551556
    552557    DATA  slicer_range_limits_dvrp / -1.0, 1.0, -1.0, 1.0, -1.0, 1.0, &
     
    559564#endif
    560565
    561     REAL, DIMENSION(:), ALLOCATABLE ::  xcoor_dvrp, ycoor_dvrp, zcoor_dvrp
     566    REAL(4), DIMENSION(:), ALLOCATABLE ::  xcoor_dvrp, ycoor_dvrp, zcoor_dvrp
    562567
    563568    TYPE steering
    564569       CHARACTER (LEN=20) ::  name
    565        REAL               ::  min, max
     570       REAL(4)            ::  min, max
    566571       INTEGER            ::  imin, imax
    567572    END TYPE steering
  • palm/trunk/SOURCE/package_parin.f90

    r139 r210  
    44! Actual revisions:
    55! -----------------
    6 !
     6! Variables for dvrp-mode pathlines added
    77!
    88! Former revisions:
     
    1414!
    1515! 60 2007-03-11 11:50:04Z raasch
    16 ! Particles-paclage is now part of the default code
     16! Particles-package is now part of the default code
    1717!
    1818! RCS Log replace by Id keyword, revision history cleaned up
     
    4444                                  dvrp_host, dvrp_output, dvrp_password,       &
    4545                                  dvrp_username, mode_dvrp,                    &
     46                                  pathlines_fadeintime, pathlines_fadeouttime, &
     47                                  pathlines_linecount, pathlines_maxhistory,   &
     48                                  pathlines_wavecount, pathlines_wavetime,     &
    4649                                  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
    4853    NAMELIST /particles_par/      bc_par_b, bc_par_lr, bc_par_ns, bc_par_t,    &
    4954                                  density_ratio, radius, dt_dopts,             &
  • palm/trunk/UTIL/combine_plot_fields.f90

    r191 r210  
    44! Actual revisions:
    55! -----------------
     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.
    610! Subdomain data are read into temporary arrays pf_tmp/pf3d_tmp in order to
    711! avoid INTEL compiler warnings about (automatic) creation of temporary arrays
     
    9397
    9498    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,   &
    96100                nyag, nye, nyeg, nza, nzag, nze, nzeg, pos, time_step, xa, xe, &
    97                 ya, ye, za, ze
     101                xxa, xxe, ya, ye, yya, yye, za, ze, zza, zze
    98102
    99103    INTEGER, DIMENSION(0:1) ::  current_level, current_var, fanz, id_set, &
     
    603607!
    604608!--             Get variable ID from name
    605 !                print*, '*** find id for "',TRIM( var_name ),'" begin'
    606609                nc_stat = NF90_INQ_VARID( id_set(av), TRIM( var_name ), &
    607610                     id_var(av,i) )
    608611                IF ( nc_stat /= NF90_NOERR )  CALL handle_netcdf_error( 16 )
    609 !                print*, '*** find id for "',TRIM( var_name ),'" end'
    610612
    611613             ENDDO
     
    636638                READ ( id+110 )  nxag, nxeg, nyag, nyeg, nzag, nzeg
    637639                READ ( id+110 )  nxa, nxe, nya, nye, nza, nze
    638                 ALLOCATE ( pf3d(nxag:nxeg,nyag:nyeg,nzag:nzeg) )
     640                ALLOCATE ( pf3d(nxa:nxe,nya:nye,nza:nze) )
    639641                IF ( avs_output )  THEN
    640642                   OPEN ( 2, FILE='PLOT3D_DATA'//TRIM( model_string ), &
     
    661663             ALLOCATE( pf3d_tmp(xa:xe,ya:ye,za:ze) )
    662664             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
    664680             DEALLOCATE( pf3d_tmp )
    665681             IF ( id == 0 )  fanz(av) = fanz(av) + 1
     
    688704!--          Now write the data
    689705             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 /), &
    692707                              count = (/ nxe-nxa+1, nye-nya+1, nze-nza+1, 1 /) )
    693708             IF ( nc_stat /= NF90_NOERR )  CALL handle_netcdf_error( 18 )
Note: See TracChangeset for help on using the changeset viewer.