Changes between Version 82 and Version 83 of doc/app/userint/output


Ignore:
Timestamp:
Nov 22, 2018 2:31:12 PM (6 years ago)
Author:
scharf
Comment:

--

Legend:

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

    v82 v83  
    44A very typical request of users is the calculation and output of quantities which are not part of {{{PALM}}}'s standard output. The basic user interface includes a number of subroutines which allow the calculation of user-defined quantities and output of these quantities as 1. (horizontally averaged) [#part_1 vertical profiles], 2. [#part_2 time series], 3. [#part_3 2d cross section], [#part_3 3d volume data] or [#part_3 mask data], 4. [#part_4 dvrp objects], 5. [#part_5 spectra] and 6. [#part_6 virtual flights]. The respective subroutines contain sample code lines (written as comment lines) for defining, calculating and output of such quantities.\\\\
    55Output times, averaging intervals, etc. are steered by the same variables as used for the standard {{{PALM}}} output quantities, e.g. [../../d3par#dt_data_output dt_data_output].\\\\
    6 The following five parts of this chapter explains step-by-step how to modify/extend the respective default user interface subroutines in order to generate the respective output:\\
     6The following parts of this chapter explains step-by-step how to modify/extend the respective default user interface subroutines in order to generate the respective output:\\
    77   1. (horizontally averaged) [#part_1 vertical profiles]
    88   2. [#part_2 time series]
     
    1111   5. [#part_5 spectra]
    1212   6. [#part_6 virtual flights]\\\\
    13 [=#part_1 '''1. Output of user-defined vertical profiles'''] \\\\
     13
     14
     15== 1. Output of user-defined vertical profiles
    1416This example shows the output of the quantity "turbulent resolved-scale horizontal momentum flux" (''u*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.\\
    1517   1. The quantity has to be given a unique string identifier, e.g.'' 'u*v*'.'' This identifier must be different from the identifiers used for the {{{PALM}}} standard output (see list in description of parameter [../../d3par#data_output_pr data_output_pr]). The identifier must not contain more than '''20''' characters. In case that 2d cross section output is defined on one single level only (see chapter 3, paragraph 9, further below), the identifier string must contain an asterisk ({{{"*"}}}). To switch on output of the quantity, the user has to assign the string identifier to the parameter [../../userpar#data_output_pr_user data_output_pr_user], eg.:\\
     
    4143   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. \\\\
    4244
    43 [=#part_2 '''2. Output of user-defined time series'''] \\\\
     45
     46== 2. Output of user-defined time series
    4447This 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.\\\\
    4548   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}}}.
     
    5962   {{{ ts_value(dots_num_palm+2,sr) = ABS( v_max ) }}} \\\\
    6063
    61 [=#part_3 '''3. Output of user-defined 2d cross sections, 3d volume data or masked data'''] \\
     64
     65== 3. Output of user-defined 2d cross sections, 3d volume data or masked data
    6266
    6367This example shows the output of the quantity "square of the u-component" ('''Note:''' this quantity could of course easily be calculated from the u-component by postprocessing the {{{PALM}}} output so that calculation within {{{PALM}}} is not necessarily required). 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.
     
    286290      {{{      ENDDO }}}\\
    287291  {{{    ENDIF }}}
    288 \\\\
    289 [=#part_4 '''4. Output of user-defined DVRP objects'''] \\\\
     292
     293
     294== 4. Output of user-defined DVRP objects
    290295This 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:
    291296
     
    301306After performing these steps, the user-defined quantity 'u2' can be selected like standard model quantities by the {{{dvrp_graphics}}} package parameter [../../dvrpar#mode_dvrp mode_dvrp].\\\\
    302307
    303 [=#part_5 '''5. Output of user-defined spectra'''] \\\\
     308
     309== 5. Output of user-defined spectra
    304310This example shows the output of the quantity "turbulent resolved-scale horizontal momentum flux" ''(u*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.
    305311
     
    345351
    346352
    347 
    348 
    349 
    350 
    351 
    352 
    353 
    354 
    355 
    356 
    357 
    358 
    359 
    360 
    361 
    362 
    363 
    364 [=#part_6 '''6. Output of user-defined flight measurements'''] \\\\
     353== 6. Output of user-defined flight measurements
    365354This example shows the output of two user-defined quantities for the absolute values of the horizontal velocities u and v captured by virtual flight measurements. The given quantities will be captured for each leg. \\\\
    366355