Changes between Version 82 and Version 83 of doc/app/userint/output
- Timestamp:
- Nov 22, 2018 2:31:12 PM (6 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
doc/app/userint/output
v82 v83 4 4 A 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.\\\\ 5 5 Output 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 fiveparts of this chapter explains step-by-step how to modify/extend the respective default user interface subroutines in order to generate the respective output:\\6 The 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:\\ 7 7 1. (horizontally averaged) [#part_1 vertical profiles] 8 8 2. [#part_2 time series] … … 11 11 5. [#part_5 spectra] 12 12 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 14 16 This 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.\\ 15 17 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.:\\ … … 41 43 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. \\\\ 42 44 43 [=#part_2 '''2. Output of user-defined time series'''] \\\\ 45 46 == 2. Output of user-defined time series 44 47 This 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.\\\\ 45 48 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}}}. … … 59 62 {{{ ts_value(dots_num_palm+2,sr) = ABS( v_max ) }}} \\\\ 60 63 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 62 66 63 67 This 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. … … 286 290 {{{ ENDDO }}}\\ 287 291 {{{ ENDIF }}} 288 \\\\ 289 [=#part_4 '''4. Output of user-defined DVRP objects'''] \\\\ 292 293 294 == 4. Output of user-defined DVRP objects 290 295 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 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: 291 296 … … 301 306 After 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].\\\\ 302 307 303 [=#part_5 '''5. Output of user-defined spectra'''] \\\\ 308 309 == 5. Output of user-defined spectra 304 310 This 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. 305 311 … … 345 351 346 352 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 365 354 This 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. \\\\ 366 355