Changeset 266
- Timestamp:
- Mar 25, 2009 7:43:59 AM (16 years ago)
- Location:
- palm/trunk
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/DOC/app/chapter_4.2.html
r262 r266 7976 7976 For visualization 7977 7977 purposes particles can be given a 7978 diameter by the parameter<a href="chapter_4.2.html#dvrp_psize">dvrp_psize</a>7979 (this diameter only affects the visualization). All particles have the7978 diameter using the parameters <a href="chapter_4.2.html#dvrp_psize">dvrp_psize</a> 7979 and <a href="#particle_dvrpsize">particle_dvrpsize</a> (this diameter only affects the visualization). All particles have the 7980 7980 same size. Alternatively, particles can be given an individual size and 7981 7981 a </span>color <span lang="en-GB">by modifying the … … 8799 8799 8800 8800 8801 <tr> 8802 8803 8804 <td style="vertical-align: top;"> 8805 8806 8807 <p><a name="dvrp_psize"></a><b>dvrp_psize</b></p> 8808 8809 8810 8811 </td> 8812 8813 8814 <td style="vertical-align: top;">R<br> 8815 8816 8817 </td> 8818 8819 8820 8821 <td style="vertical-align: top;">0.2 * dx<br> 8822 8823 8824 </td> 8825 8826 8827 8828 <td style="vertical-align: top;"> 8829 8830 8831 <p>Diameter that 8832 the particles is given in visualizations with 8833 the <span style="font-weight: bold;">dvrp</span> 8834 software (in 8835 m). </p> 8836 8837 8838 8839 8840 8841 <p>In case that particles are 8842 visualized with the <span style="font-weight: bold;">dvrp</span> 8843 software (see <a href="chapter_4.5.7.html">chapter 8844 4.5.7</a>), their size can be set by parameter <b>dvrp_psize</b>. 8845 All 8846 particles are displayed with this same size.<br> 8847 8848 8849 </p> 8850 8851 8852 8853 8854 8855 <p>Alternatively, 8856 the particle diameters can be set with the 8857 user-interface in routine <span style="font-family: monospace;">user_init_particles</span> 8858 (at the beginning of the simulation) and/or can be redefined after each 8859 timestep in routine <tt>user<font style="font-size: 11pt;" size="2">_particle_attributes</font></tt> 8860 (both routines can be found in file <tt><font style="font-size: 11pt;" size="2">user_interface.f90</font></tt><font style="font-size: 11pt;" size="2">)</font>. </p> 8861 8862 8863 8864 8865 8866 <p><b>Note:</b> This parameter determines exclusively 8867 the size 8868 under which particles appear in the <span style="font-weight: bold;">dvrp</span> 8869 visualization. The flow relevant particle radius is determined via the 8870 particle package parameter <a href="#radius">radius</a>!</p> 8871 8872 8873 8874 </td> 8875 8876 8877 </tr> 8801 8878 8802 8879 8803 … … 10236 10160 10237 10161 10238 <tr><td style="vertical-align: top;"><a name="cluster_size"></a><span style="font-weight: bold;">cluster_size</span></td><td style="vertical-align: top;">I</td><td style="vertical-align: top;"><span style="font-style: italic;">1</span></td><td>Vertex cluster size for polygon reduction of topography.<br><br>This 10162 <tr><td style="vertical-align: top;"><span style="font-weight: bold;"><a name="clip_dvrp_l"></a>clip_dvrp_l</span></td><td style="vertical-align: top;">R</td><td style="vertical-align: top;"><span style="font-style: italic;">0.0</span></td><td style="vertical-align: top;">Left boundary of the displayed domain (in m).<br><br>This 10163 parameter can be used to restrict the display of the total horizontal 10164 domain, e.g. to reduce the data size of the dvr-output in order to 10165 speed-up the animated sequence.</td></tr><tr><td style="vertical-align: top;"><span style="font-weight: bold;"><a name="clip_dvrp_n"></a>clip_dvrp_n</span></td><td style="vertical-align: top;">R</td><td style="vertical-align: top;"><span style="font-style: italic;">(<a href="chapter_4.1.html#ny">ny</a>+1)*<a href="chapter_4.1.html#dy">dy</a></span></td><td style="vertical-align: top;">North boundary of the displayed domain (in m).<br><br>This parameter can 10166 be used to restrict the display of the total horizontal domain, e.g. to 10167 reduce the data size of the dvr-output in order to speed-up the 10168 animated sequence.</td></tr><tr><td style="vertical-align: top;"><span style="font-weight: bold;"><a name="clip_dvrp_r"></a>clip_dvrp_r</span></td><td style="vertical-align: top;">R</td><td style="vertical-align: top;"><span style="font-style: italic;">(<a href="chapter_4.1.html#nx">nx</a>+1)*<a href="chapter_4.1.html#dx">dx</a></span></td><td style="vertical-align: top;">Right boundary of the displayed domain (in m).<br><br>This parameter can 10169 be used to restrict the display of the total horizontal domain, e.g. to 10170 reduce the data size of the dvr-output in order to speed-up the 10171 animated sequence.</td></tr><tr><td style="vertical-align: top;"><span style="font-weight: bold;"><a name="clip_dvrp_s"></a>clip_dvrp_s</span></td><td style="vertical-align: top;">R</td><td style="vertical-align: top;"><span style="font-style: italic;">0.0</span></td><td style="vertical-align: top;">South boundary of the displayed domain (in m).<br><br>This parameter can 10172 be used to restrict the display of the total horizontal domain, e.g. to 10173 reduce the data size of the dvr-output in order to speed-up the 10174 animated sequence.</td></tr><tr><td style="vertical-align: top;"><a name="cluster_size"></a><span style="font-weight: bold;">cluster_size</span></td><td style="vertical-align: top;">I</td><td style="vertical-align: top;"><span style="font-style: italic;">1</span></td><td>Vertex cluster size for polygon reduction of topography.<br><br>This 10239 10175 parameter can be used to reduce the number of polygones which form the 10240 10176 topography isosurface. In case of large numerical grids (large number 10241 10177 of gridpoints) and /or complex topography, cluster_size > 1 may 10242 10178 speed up the animation significantly. Disadvantage: buildings may loose 10243 their strict rectangular shape.<br><br>The allowed range of values is 1 <= <span style="font-weight: bold;">cluster_size</span> <= 5.<br><br> <span style="font-weight: bold;">Warning:</span> The allowed range of values is not checked. Wrong values may lead to unforseen effects or even aborts! </td></tr><tr> 10179 their strict rectangular shape.<br><br>The allowed range of values is 1 <= <span style="font-weight: bold;">cluster_size</span> <= 5.<br><br> <span style="font-weight: bold;">Warning:</span> The allowed range of values is not checked. Wrong values may lead to unforseen effects or even aborts! </td></tr><tr><td style="vertical-align: top;"><span style="font-weight: bold;"><a name="color_interval"></a>color_interval</span></td><td style="vertical-align: top;">R(2)</td><td style="vertical-align: top;"><span style="font-style: italic;">0.0, 1.0</span></td><td style="vertical-align: top;">Interval of values used for determining the particle color displayed in the animation.<br><br>See <a href="#particle_color">particle_color</a> for further explanation.</td></tr><tr> 10244 10180 10245 10181 … … 10307 10243 10308 10244 10309 <tr> 10245 <tr><td style="vertical-align: top;"><span style="font-weight: bold;"><a name="dvrpsize_interval"></a>dvrpsize_interval</span></td><td style="vertical-align: top;">R(2)</td><td style="vertical-align: top;"><span style="font-style: italic;">0.0, 1.0</span></td><td style="vertical-align: top;">Interval of values used for determining the particle size displayed in the animation.<br><br>See <a href="#particle_dvrpsize">particle_dvrpsize</a> for further explanation.</td></tr><tr> 10310 10246 10311 10247 … … 10639 10575 10640 10576 10641 <tr> 10577 <tr><td style="vertical-align: top;"><p><a name="dvrp_psize"></a><b>dvrp_psize</b></p></td><td style="vertical-align: top;">R</td><td style="vertical-align: top;"><span style="font-style: italic;">0.2 * <a href="chapter_4.1.html#dx">dx</a></span></td><td style="vertical-align: top;"><p>Diameter that particles are given in visualizations with 10578 the <span style="font-weight: bold;">dvrp</span> 10579 software (in 10580 m). </p> 10581 10582 10583 10584 10585 10586 <p>In case that particles are 10587 visualized with the <span style="font-weight: bold;">dvrp</span> 10588 software (see <a href="chapter_4.5.7.html">chapter 10589 4.5.7</a>), their size can be set by parameter <b>dvrp_psize</b>. 10590 All 10591 particles are displayed with this same size.<br> 10592 10593 10594 </p> 10595 10596 10597 10598 10599 10600 <p>Alternatively, the particle size can be controlled by certain flow parameters using parameter <a href="#particle_dvrpsize">particle_dvrpsize</a>.</p><p>Another way to control 10601 the particles diameter is to set it with the 10602 user-interface in routine <span style="font-family: monospace;">user_init_particles</span> 10603 (at the beginning of the simulation) and/or to redefine it after each 10604 timestep in routine <tt>user<font style="font-size: 11pt;" size="2">_particle_attributes</font></tt>. </p> 10605 10606 10607 10608 10609 10610 <p><b>Note:</b> This parameter determines exclusively 10611 the size 10612 under which particles appear in the <span style="font-weight: bold;">dvrp</span> 10613 visualization. The flow relevant particle radius is determined via the 10614 particle parameter <a href="chapter_4.2.html#radius">radius</a>!</p></td></tr><tr> 10642 10615 10643 10616 … … 10779 10752 10780 10753 10781 <p>The vertical extension of the displayed domain is10782 given by <a href="#nz_do3d">nz_do3d</a>.</p><p> If user-defined dvrp objects exist (see <a href="chapter_3.5.4.html">chapter 3.5.4</a>), then <span style="font-weight: bold;">mode_dvrp</span> may also refer to quantities selected with the parameter <a href="chapter_4.3.html#data_output_user">data_output_user</a> (internally PALM appends them to those selected with10754 <p>The particles color and size can be set using parameters <a href="#particle_color">particle_color</a> and <a href="#particle_dvrpsize">particle_dvrpsize</a>.</p><p>The vertical extension of the displayed domain is 10755 given by <a href="#nz_do3d">nz_do3d</a>.</p><p>The displayed horizontal domain can be restricted using parameters <a href="#clip_dvrp_l">clip_dvrp_l</a>, <a href="#clip_dvrp_r">clip_dvrp_r</a>, <a href="#clip_dvrp_n">clip_dvrp_n</a>, <a href="#clip_dvrp_s">clip_dvrp_s</a>.</p><p>If user-defined dvrp objects exist (see <a href="chapter_3.5.4.html">chapter 3.5.4</a>), then <span style="font-weight: bold;">mode_dvrp</span> may also refer to quantities selected with the parameter <a href="chapter_4.3.html#data_output_user">data_output_user</a> (internally PALM appends them to those selected with 10783 10756 the parameter <a href="chapter_4.2.html#data_output">data_output</a>). 10784 10757 … … 10827 10800 10828 10801 10829 <tr> 10802 <tr><td style="vertical-align: top;"><a style="font-weight: bold;" name="particle_color"></a><span style="font-weight: bold;">particle_color</span></td><td style="vertical-align: top;">C*10</td><td style="vertical-align: top;"><span style="font-style: italic;">'none'</span></td><td style="vertical-align: top;">Parameter, which allows to bind the displayed particle color to certain flow quantities.<br><br>By default, particles have a black color.<br><br>Allowed values for <span style="font-weight: bold;">particle_color</span> are:<br><br><table style="text-align: left; width: 100%;" border="0" cellpadding="2" cellspacing="2"><tbody><tr><td style="vertical-align: top;"><span style="font-style: italic;">'absuv'</span></td><td style="vertical-align: top;">Particle color depends on the absolute value of the resolved-scale horizontal velocity (SQRT(u<sup>2</sup>+v<sup>2</sup>) at the particle position.</td></tr><tr><td style="vertical-align: top;"><span style="font-style: italic;">'pt*'</span></td><td style="vertical-align: top;">Particle 10803 color depends on the deviation of the resolved-scale potential 10804 temperature at the particle position from the horizontally averaged 10805 potential temperature (total domain).</td></tr><tr><td style="vertical-align: top;"><span style="font-style: italic;">'z'</span></td><td style="vertical-align: top;">Particle color depends on the height of the particle with respect to the bottom boundary (z=0).</td></tr></tbody></table><br>The 10806 colortable used for particles ranges from deep blue to deep red with 10807 yellow in between. The interval of values from the above listed 10808 quantities to be mapped to these colors is defined by parameter <a href="#color_interval">color_interval</a>.<br><br><span style="font-weight: bold;">Example:<br></span>If <span style="font-weight: bold;">particle_color</span> = <span style="font-style: italic;">'pt*'</span> and <a href="#color_interval">color_interval</a> = <span style="font-style: italic;">-0.5</span>, <span style="font-style: italic;">+0.5</span>, then all particles at positions with <span style="font-style: italic;">pt* </span><=<span style="font-style: italic;"> -0.5 K</span> will have a deep blue color and those at positions with <span style="font-style: italic;">pt*</span> >= <span style="font-style: italic;">+0.5 K</span> will have a deep red color, while those with <span style="font-style: italic;">-0.5</span> < <span style="font-style: italic;">pt*</span> < <span style="font-style: italic;">+0.5</span> will vary in color from deep blue to deep red and transition from yellow to blue indicate <span style="font-style: italic;">pt*</span> ~ <span style="font-style: italic;">0.0</span>.</td></tr><tr><td style="vertical-align: top;"><span style="font-weight: bold;"><a name="particle_dvrpsize"></a>particle_dvrpsize</span></td><td style="vertical-align: top;">C*10</td><td style="vertical-align: top;"><span style="font-style: italic;">'none'</span></td><td style="vertical-align: top;">Parameter, which allows to bind the displayed particle size to certain flow quantities.<br><br>The default particle size (diameter) is determined with parameter <a href="#dvrp_psize">dvrp_psize</a>.<br><br>Allowed values for <span style="font-weight: bold;">particle_dvrpsize</span> are:<br><table style="text-align: left; width: 100%;" border="0" cellpadding="2" cellspacing="2"><tbody><tr><td style="vertical-align: top;"><span style="font-style: italic;">'absw'</span></td><td style="vertical-align: top;">The particle size depends on the absolute value of the resolved-scale vertical velocity w at the particle position.</td></tr></tbody></table><br>The particle sizes ranges from 0.25*<a href="chapter_4.1.html#dx">dx</a> m to 0.85*<a href="chapter_4.1.html#dx">dx</a> m. The interval of values from the above listed quantities to be mapped to these sizes is defined by parameter <a href="#dvrpsize_interval">dvrpsize_interval</a>.<br><br><span style="font-weight: bold;">Example:</span><br>If <span style="font-weight: bold;">particle_dvrpsize</span> = <span style="font-style: italic;">'absw'</span> and <a href="#dvrpsize_interval">dvrpsize_interval</a> = <span style="font-style: italic;">1.0</span>, <span style="font-style: italic;">2.0</span>, then all particles at positions where the absolute value of w is <= <span style="font-style: italic;">1.0</span> m/s will have a size of <span style="font-style: italic;">0.25*dx</span> m and those at positions with |w| >= <span style="font-style: italic;">2.0</span> m/s will have a size of <span style="font-style: italic;">0.85*dx</span> m, while those with <span style="font-style: italic;">1.0</span> m/s < |w| < <span style="font-style: italic;">2.0</span> m/s will linearly vary in size from <span style="font-style: italic;">0.25*dx</span> m to <span style="font-style: italic;">0.85*dx</span> m.</td></tr><tr> 10830 10809 10831 10810 -
palm/trunk/DOC/app/chapter_4.6.html
r262 r266 1863 1863 1864 1864 1865 <tr> 1865 <tr><td align="undefined" valign="undefined"><a href="chapter_4.2.html#clip_dvrp_l"><span style="font-weight: bold;">clip_dvrp_l</span></a></td><td align="undefined" valign="undefined">P</td><td align="undefined" valign="undefined">R</td><td align="undefined" valign="undefined"><span style="font-style: italic;">0.0</span></td><td align="undefined" valign="undefined">Left boundary of the displayed domain (in m).</td></tr><tr><td align="undefined" valign="undefined"><a href="chapter_4.2.html#clip_dvrp_n"><span style="font-weight: bold;">clip_dvrp_n</span></a></td><td align="undefined" valign="undefined">P</td><td align="undefined" valign="undefined">R</td><td align="undefined" valign="undefined"><span style="font-style: italic;">(ny+1)*dy</span></td><td align="undefined" valign="undefined">North boundary of the displayed domain (in m).</td></tr><tr><td align="undefined" valign="undefined"><a href="chapter_4.2.html#clip_dvrp_r"><span style="font-weight: bold;">clip_dvrp_r</span></a></td><td align="undefined" valign="undefined">P</td><td style="font-style: italic;" align="undefined" valign="undefined">R</td><td style="font-style: italic;" align="undefined" valign="undefined">(nx+1)*dx</td><td align="undefined" valign="undefined">Right boundary of the displayed domain (in m).</td></tr><tr><td align="undefined" valign="undefined"><a href="chapter_4.2.html#clip_dvrp_s"><span style="font-weight: bold;">clip_dvrp_s</span></a></td><td align="undefined" valign="undefined">P</td><td align="undefined" valign="undefined">R</td><td align="undefined" valign="undefined">0.0</td><td align="undefined" valign="undefined">South boundary of the displayed domain (in m).</td></tr><tr> 1866 1866 1867 1867 … … 1987 1987 1988 1988 1989 <tr><td><a href="chapter_4.2.html#cluster_size"><span style="font-weight: bold;">cluster_size</span></a></td><td>P</td><td>I</td><td><span style="font-style: italic;">1</span></td><td>Vertex cluster size for polygon reduction of topography.</td></tr><tr> 1989 <tr><td><a href="chapter_4.2.html#cluster_size"><span style="font-weight: bold;">cluster_size</span></a></td><td>P</td><td>I</td><td><span style="font-style: italic;">1</span></td><td>Vertex cluster size for polygon reduction of topography.</td></tr><tr><td align="undefined" valign="undefined"><a href="chapter_4.2.html#color_interval"><span style="font-weight: bold;">color_interval</span></a></td><td align="undefined" valign="undefined">P</td><td align="undefined" valign="undefined">R(2)</td><td align="undefined" valign="undefined"><span style="font-style: italic;">0.0</span>, <span style="font-style: italic;">1.0</span></td><td align="undefined" valign="undefined">Interval of values used for determining the particle color displayed in the animation.</td></tr><tr> 1990 1990 1991 1991 … … 5358 5358 5359 5359 5360 <tr valign="top">5360 <tr><td align="undefined" valign="undefined"><a href="chapter_4.2.html#dvrpsize_interval"><span style="font-weight: bold;">dvrpsize_interval</span></a></td><td align="undefined" valign="undefined">P</td><td align="undefined" valign="undefined">R(2)</td><td align="undefined" valign="undefined"><span style="font-style: italic;">0.0</span>, <span style="font-style: italic;">1.0</span></td><td align="undefined" valign="undefined">Interval of values used for determining the particle size displayed in the animation.</td></tr><tr valign="top"> 5361 5361 5362 5362 … … 8991 8991 8992 8992 8993 <tr> 8993 <tr><td align="undefined" valign="undefined"><a href="chapter_4.2.html#particle_color"><span style="font-weight: bold;">particle_color</span></a></td><td align="undefined" valign="undefined">P</td><td align="undefined" valign="undefined">C*10</td><td align="undefined" valign="undefined"><span style="font-style: italic;">'none'</span></td><td align="undefined" valign="undefined">Parameter, which allows to bind the displayed particle color to certain flow quantities.</td></tr><tr><td align="undefined" valign="undefined"><a style="font-weight: bold;" href="chapter_4.2.html#particle_dvrpsize">particle_dvrpsize</a></td><td align="undefined" valign="undefined">P</td><td align="undefined" valign="undefined">C*10</td><td align="undefined" valign="undefined"><span style="font-style: italic;">'none'</span></td><td align="undefined" valign="undefined">Parameter, which allows to bind the displayed particle size to certain flow quantities.</td></tr><tr> 8994 8994 8995 8995 -
palm/trunk/SCRIPTS/mbuild
r224 r266 97 97 # 14/11/08 - Siggi - update mechanism completely revised: source tarfile 98 98 # remains in source directory, one depository per block 99 # (given in the config-file) is created, al ways all files100 # f rom the source directory are copied to the respective101 # depository, no additional file checks are done any more102 # (version 2.1)99 # (given in the config-file) is created, allways all 100 # files from the source directory are copied to the 101 # respective depository, no additional file checks are 102 # done any more (version 2.1) 103 103 # 13/01/09 - Marcus- re-enable compilation more than once on lcmuk (as on 104 104 # other machines) 105 # 21/03/09 - Siggi - -u copies also copies process_dvr_output and 106 # .dvrserver.config 105 107 106 108 … … 1185 1187 # KOENNEN DOLLAR-ZEICHEN NICHT BENUTZT WERDEN 1186 1188 remote_ud=`echo $remote_ud | sed 's/\$HOME\///'` 1187 /bin/scp batch_scp mbuild mrun subjob ${remote_username}@${remote_addres}:${remote_ud}/../SCRIPTS > /dev/null1189 /bin/scp batch_scp mbuild mrun process_dvr_output .dvrserver.config subjob ${remote_username}@${remote_addres}:${remote_ud}/../SCRIPTS > /dev/null 1188 1190 else 1189 scp batch_scp mbuild mrun subjob ${remote_username}@${remote_addres}:${remote_ud}/../SCRIPTS > /dev/null1191 scp batch_scp mbuild mrun process_dvr_output .dvrserver.config subjob ${remote_username}@${remote_addres}:${remote_ud}/../SCRIPTS > /dev/null 1190 1192 fi 1191 1193 -
palm/trunk/SOURCE/CURRENT_MODIFICATIONS
r264 r266 42 42 First constant in array den also defined as type double. (eqn_state_seawater) 43 43 44 Parameter dvrp_psize moved from particles_par to dvrp_graphics_par. (package_parin) 45 44 46 topography_grid_convention moved from userpar to inipar (check_parameters, 45 47 header, parin, read_var_list, user_check_parameters, user_header, 46 48 user_init_grid, user_parin, write_var_list) 47 49 48 advec_particles, advec_s_bc, buoyancy, calc_spectra, check_for_restart, check_open, check_parameters, close_file, coriolis, cpu_log, data_output_2d, data_output_3d, data_output_dvrp, data_output_profiles, data_output_ptseries, data_output_spectra, data_output_tseries, eqn_state_seawater, fft_xy, flow_statistics, header, init_1d_model, init_3d_model, init_dvrp, init_grid, init_particles, init_pegrid, netcdf, output_particles_netcdf, pa rin, plant_canopy_model, poisfft_hybrid, poismg, read_3d_binary, read_var_list, sort_particles, user_check_parameters, user_header, user_init_grid, user_parin, surface_coupler, temperton_fft, timestep, user_actions, user_data_output_dvrp, user_dvrp_coltab, user_init_grid, user_init_plant_canopy, user_parin, user_read_restart_data, user_spectra, write_var_list50 advec_particles, advec_s_bc, buoyancy, calc_spectra, check_for_restart, check_open, check_parameters, close_file, coriolis, cpu_log, data_output_2d, data_output_3d, data_output_dvrp, data_output_profiles, data_output_ptseries, data_output_spectra, data_output_tseries, eqn_state_seawater, fft_xy, flow_statistics, header, init_1d_model, init_3d_model, init_dvrp, init_grid, init_particles, init_pegrid, netcdf, output_particles_netcdf, package_parin, parin, plant_canopy_model, poisfft_hybrid, poismg, read_3d_binary, read_var_list, sort_particles, user_check_parameters, user_header, user_init_grid, user_parin, surface_coupler, temperton_fft, timestep, user_actions, user_data_output_dvrp, user_dvrp_coltab, user_init_grid, user_init_plant_canopy, user_parin, user_read_restart_data, user_spectra, write_var_list 49 51 50 52 -
palm/trunk/SOURCE/package_parin.f90
r264 r266 5 5 ! ----------------- 6 6 ! +clip_dvrp_*, cluster_size, color_interval, dvrpsize_interval, particle_color, 7 ! dvrpsize_color in dvrp_graphics_par 7 ! particle_dvrpsize in dvrp_graphics_par, 8 ! parameter dvrp_psize moved from particles_par to dvrp_graphics_par 8 9 ! Variables for dvrp-mode pathlines added 9 10 ! -
palm/trunk/SOURCE/set_particle_attributes.f90
r264 r266 32 32 33 33 INTEGER :: i, j, k, n 34 REAL :: aa, bb, cc, dd, gg, pt_int, pt_int_l, pt_int_u, w_int, & 35 w_int_l, w_int_u, x, y 34 REAL :: aa, absuv, bb, cc, dd, gg, pt_int, pt_int_l, pt_int_u, u_int, & 35 u_int_l, u_int_u, v_int, v_int_l, v_int_u, w_int, w_int_l, & 36 w_int_u, x, y 36 37 37 38 … … 41 42 !-- Set particle color 42 43 IF ( particle_color == 'absuv' ) THEN 44 45 ! 46 !-- Set particle color depending on the absolute value of the horizontal 47 !-- velocity 48 DO n = 1, number_of_particles 49 ! 50 !-- Interpolate u velocity-component, determine left, front, bottom 51 !-- index of u-array 52 i = ( particles(n)%x + 0.5 * dx ) * ddx 53 j = particles(n)%y * ddy 54 k = ( particles(n)%z + 0.5 * dz * atmos_ocean_sign ) / dz & 55 + offset_ocean_nzt ! only exact if equidistant 56 57 ! 58 !-- Interpolation of the velocity components in the xy-plane 59 x = particles(n)%x + ( 0.5 - i ) * dx 60 y = particles(n)%y - j * dy 61 aa = x**2 + y**2 62 bb = ( dx - x )**2 + y**2 63 cc = x**2 + ( dy - y )**2 64 dd = ( dx - x )**2 + ( dy - y )**2 65 gg = aa + bb + cc + dd 66 67 u_int_l = ( ( gg - aa ) * u(k,j,i) + ( gg - bb ) * u(k,j,i+1) & 68 + ( gg - cc ) * u(k,j+1,i) + ( gg - dd ) * u(k,j+1,i+1) & 69 ) / ( 3.0 * gg ) - u_gtrans 70 IF ( k+1 == nzt+1 ) THEN 71 u_int = u_int_l 72 ELSE 73 u_int_u = ( ( gg-aa ) * u(k+1,j,i) + ( gg-bb ) * u(k+1,j,i+1) & 74 + ( gg-cc ) * u(k+1,j+1,i) + ( gg-dd ) * u(k+1,j+1,i+1) & 75 ) / ( 3.0 * gg ) - u_gtrans 76 u_int = u_int_l + ( particles(n)%z - zu(k) ) / dz * & 77 ( u_int_u - u_int_l ) 78 ENDIF 79 80 ! 81 !-- Same procedure for interpolation of the v velocity-component (adopt 82 !-- index k from u velocity-component) 83 i = particles(n)%x * ddx 84 j = ( particles(n)%y + 0.5 * dy ) * ddy 85 86 x = particles(n)%x - i * dx 87 y = particles(n)%y + ( 0.5 - j ) * dy 88 aa = x**2 + y**2 89 bb = ( dx - x )**2 + y**2 90 cc = x**2 + ( dy - y )**2 91 dd = ( dx - x )**2 + ( dy - y )**2 92 gg = aa + bb + cc + dd 93 94 v_int_l = ( ( gg - aa ) * v(k,j,i) + ( gg - bb ) * v(k,j,i+1) & 95 + ( gg - cc ) * v(k,j+1,i) + ( gg - dd ) * v(k,j+1,i+1) & 96 ) / ( 3.0 * gg ) - v_gtrans 97 IF ( k+1 == nzt+1 ) THEN 98 v_int = v_int_l 99 ELSE 100 v_int_u = ( ( gg-aa ) * v(k+1,j,i) + ( gg-bb ) * v(k+1,j,i+1) & 101 + ( gg-cc ) * v(k+1,j+1,i) + ( gg-dd ) * v(k+1,j+1,i+1) & 102 ) / ( 3.0 * gg ) - v_gtrans 103 v_int = v_int_l + ( particles(n)%z - zu(k) ) / dz * & 104 ( v_int_u - v_int_l ) 105 ENDIF 106 107 absuv = SQRT( u_int**2 + v_int**2 ) 108 109 ! 110 !-- Limit values by the given interval and normalize to interval [0,1] 111 absuv = MIN( absuv, color_interval(2) ) 112 absuv = MAX( absuv, color_interval(1) ) 113 114 absuv = ( absuv - color_interval(1) ) / & 115 ( color_interval(2) - color_interval(1) ) 116 117 ! 118 !-- Number of available colors is defined in init_dvrp 119 particles(n)%color = 1 + absuv * ( dvrp_colortable_entries_prt - 1 ) 120 121 ENDDO 43 122 44 123 ELSEIF ( particle_color == 'pt*' ) THEN … … 110 189 particles(n)%color = 1 + pt_int * ( dvrp_colortable_entries_prt - 1 ) 111 190 112 ENDDO191 ENDDO 113 192 114 193 ELSEIF ( particle_color == 'z' ) THEN 194 ! 195 !-- Set particle color depending on the height above the bottom 196 !-- boundary (z=0) 197 DO n = 1, number_of_particles 198 199 height = particles(n)%z 200 ! 201 !-- Limit values by the given interval and normalize to interval [0,1] 202 height = MIN( height, color_interval(2) ) 203 height = MAX( height, color_interval(1) ) 204 205 height = ( height - color_interval(1) ) / & 206 ( color_interval(2) - color_interval(1) ) 207 208 ! 209 !-- Number of available colors is defined in init_dvrp 210 particles(n)%color = 1 + height * ( dvrp_colortable_entries_prt - 1 ) 211 212 ENDDO 115 213 116 214 ENDIF … … 149 247 ENDIF 150 248 151 particles(n)%dvrp_psize = ( 0.2 + MIN( 0.6, ABS( w_int ) / 6.0 ) ) * & 152 dx * 1.4 249 ! 250 !-- Limit values by the given interval and normalize to interval [0,1] 251 w_int = ABS( w_int ) 252 w_int = MIN( w_int, dvrpsize_interval(2) ) 253 w_int = MAX( w_int, dvrpsize_interval(1) ) 254 255 w_int = ( w_int - dvrpsize_interval(1) ) / & 256 ( dvrpsize_interval(2) - dvrpsize_interval(1) ) 257 258 particles(n)%dvrp_psize = ( 0.25 + w_int * 0.6 ) * dx 153 259 154 260 ENDDO
Note: See TracChangeset
for help on using the changeset viewer.