Changes between Version 77 and Version 78 of doc/app/userint/output


Ignore:
Timestamp:
Apr 6, 2016 3:02:16 PM (9 years ago)
Author:
scharf
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • doc/app/userint/output

    v77 v78  
    2525   The identification number (user_pr_index) must be within the range [ {{{pr_palm+1 , pr_palm+max_pr_user}}} ], where {{{max_pr_user}}} is the number of user-defined profiles as given by parameter [../../userpar#data_output_pr_user data_output_pr_user] in the respective {{{PALM}}} run. The physical unit has to be given with respect to the netCDF conventions. If no unit is given, {{{PALM}}} will abort. The vertical grid has to be either {{{zu}}} ({{{u}}}-grid) or {{{zw}}} ({{{w}}}-grid).
    2626
    27    3. The quantity has to be calculated for all gridpoints (subroutine user_statistics): \\\\
     27   3. The quantity has to be calculated for all grid points (subroutine user_statistics): \\\\
    2828   {{{!$OMP DO}}} \\
    2929      {{{DO  i = nxl, nxr}}} \\
     
    3838      {{{ENDDO}}} \\
    3939
    40    The turbulent resolved-scale momentum flux ''u*v*'' is defined as the product of the deviations of the horizontal velocities from their respective horizontally averaged mean values. These mean values are stored in array {{{hom(..,1,1,sr)}}} and {{{hom(..,1,2,sr)}}} for the u- and v-component, respectively. Since due to the staggered grid, u and v are not defined at the same gridpoints, they have to be interpolated appropriately (here to the center of the gridbox). The result of the calculation is stored in array {{{sums_l}}}. The second index of this array is the identification number of the profile which must match the one given in the previous step 2. \\\\
    41 
    42 [=#part_2 '''2. Output of user-defined timeseries'''] \\\\
    43 This example shows the output of two time series for the absolut extremal values of the horizontal velocities u and v. If more than one user-defined quantity shall be output, the following steps have to be carried out in the same way for each of the quantities.\\\\
     40   The turbulent resolved-scale momentum flux ''u*v*'' is defined as the product of the deviations of the horizontal velocities from their respective horizontally averaged mean values. These mean values are stored in array {{{hom(..,1,1,sr)}}} and {{{hom(..,1,2,sr)}}} for the u- and v-component, respectively. Since due to the staggered grid, u and v are not defined at the same grid points, they have to be interpolated appropriately (here to the center of the grid box). The result of the calculation is stored in array {{{sums_l}}}. The second index of this array is the identification number of the profile which must match the one given in the previous step 2. \\\\
     41
     42[=#part_2 '''2. Output of user-defined time series'''] \\\\
     43This example shows the output of two time series for the maxima of the absolute values of the horizontal velocities u and v. If more than one user-defined quantity shall be output, the following steps have to be carried out in the same way for each of the quantities.\\\\
    4444   1. For each time series quantity you have to give a label and a unit (subroutine [../int#user_init user_init]), which will be used for the netCDF file. They must not contain more than '''13''' characters. The value of {{{dots_num}}} has to be increased by the number of new time series quantities. Its old value has to be stored in {{{dots_num_palm}}}.
    4545
     
    7272   {{{ data_output_masks_user(1,:) = 'u2', }}}
    7373
    74    3. In order to store the quantities' grid point data within PALM, a 3d data array has to be declared in module [../int#user user] (user_module.f90): \\
     74   3. In order to store the quantities' data within PALM, a 3d data array has to be declared in module [../int#user user] (user_module.f90): \\
    7575
    7676   {{{ REAL, DIMENSION(:,:,:), ALLOCATABLE ::  u2, u2_av }}} //
     
    9595   As the example shows, this grid has to be defined for the 3d volume data as well as for all of the three cross sections. \\
    9696
    97    7. After each timestep, the quantity has to be calculated at all gridpoints and to be stored. This has to be done in subroutine [../int#user_actions user_actions] at location 'after_integration': \\
     97   7. After each time step, the quantity has to be calculated at all grid points and to be stored. This has to be done in subroutine [../int#user_actions user_actions] at location 'after_integration': \\
    9898
    9999   {{{ CASE ( 'after_integration' ) }}} \\
     
    142142         {{{ ENDDO }}} \\
    143143       
    144    9. For output of '''2d cross sections''', the gridpoint data of the quantity has to be resorted to array {{{local_pf}}} in subroutine [../int#user_data_output_2d user_data_output_2d]. Also the vertical grid, on which the quantity is defined, has to be set again: \\
     144   9. For output of '''2d cross sections''', the data of the quantity has to be resorted to array {{{local_pf}}} in subroutine [../int#user_data_output_2d user_data_output_2d]. Also the vertical grid, on which the quantity is defined, has to be set again: \\
    145145
    146146   {{{ CASE ( 'u2_xy', 'u2_xz', 'u2_yz' ) }}} \\
     
    188188      Note that {{{two_d = .TRUE.}}} is necessary for output of a 2d data slice. \\
    189189
    190    10. For output of '''3d volume data''', the gridpoint data of the quantity has to be resorted to {{{array local_pf}}} in subroutine [../int#user_data_output_3d user_data_output_3d].:
     190   10. For output of '''3d volume data''', the data of the quantity has to be resorted to {{{array local_pf}}} in subroutine [../int#user_data_output_3d user_data_output_3d].:
    191191
    192192   {{{ CASE ( 'u2' ) }}} \\
     
    211211   The {{{ELSE}}} case is only needed in case that output of time-averaged data is requested.
    212212
    213    11. For output of '''masked data''', the gridpoint data of the quantity has to be resorted to {{{array local_pf}}} in subroutine [../int#user_data_output_mask user_data_output_mask].:
     213   11. For output of '''masked data''', the data of the quantity has to be resorted to {{{array local_pf}}} in subroutine [../int#user_data_output_mask user_data_output_mask].:
    214214
    215215   {{{ CASE ( 'u2' ) }}} \\
     
    278278\\\\
    279279[=#part_4 '''4. Output of user-defined DVRP objects'''] \\\\
    280 This example shows the output of the quantity "square of the u-component", u^2^. If more than one user-defined quantity shall be output, the following steps have to be carried out in the same way for each of the quantities. First, steps 1 - 6 of part [#part_3 (2d cross section or 3d volume data)] are required. Second, the gridpoint data of the quantity has to be resorted to array {{{local_pf}}} in subroutine [../int#user_data_output_dvrp user_data_output_dvrp] as follows:
     280This example shows the output of the quantity "square of the u-component", u^2^. If more than one user-defined quantity shall be output, the following steps have to be carried out in the same way for each of the quantities. First, steps 1 - 6 of part [#part_3 (2d cross section or 3d volume data)] are required. Second, the data of the quantity has to be resorted to array {{{local_pf}}} in subroutine [../int#user_data_output_dvrp user_data_output_dvrp] as follows:
    281281
    282282   {{{ CASE ( '}}}[[span({{{u2}}},style=color: red)]]{{{', '}}}[[span({{{u2}}},style=color: red)]]{{{_xy', '}}}[[span({{{u2}}},style=color: red)]]{{{_xz', '}}}[[span({{{u2}}},style=color: red)]]{{{_yz'  ) }}}\\