Changes between Version 17 and Version 18 of doc/app/userint/output


Ignore:
Timestamp:
Sep 15, 2010 3:16:38 PM (14 years ago)
Author:
suehring
Comment:

--

Legend:

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

    v17 v18  
    1111[=#part_1 '''1. Output of user-defined vertical profiles'''] \\\\
    1212This 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.\\\\
    13    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]). To switch on output of this quantity, the user has to assign the string identifier to the parameter [../../userpar#data_output_pr_user data_output_pr_user], eg.:\\\
    14 {{{data_output_pr_user = 'u*v*'}}}, \\\\
     13   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]). To switch on output of this quantity, the user has to assign the string identifier to the parameter [../../userpar#data_output_pr_user data_output_pr_user], eg.:\\
     14
     15   {{{data_output_pr_user = 'u*v*'}}}, \\\\
    1516
    1617   2. For the quantity, an identification number, a physical unit, and the vertical grid on which it is defined (u- or w-grid), has to be assigned (subroutine [../int#user_check_data_output_pr user_check]\\ [../int#user_check_data_output_pr _data_output_pr]): \\\\
     
    5051
    5152   {{{dots_num_palm = dots_num}}} \\
    52    {{{dots_num = dots_num}}} [[span(+2,style=color: red)]] \\\\
    53 
    54    Only those parts in [[span(red,style=color: red)]] have to be adjusted by the user. \\\\
     53   {{{dots_num = dots_num}}} [[span(+2,style=color: red)]] \\
     54
     55   Only those parts in [[span(red,style=color: red)]] have to be adjusted by the user. \\
    5556
    5657   2. These quantities are calculated and output in subroutine [../int#user_statistics user_statistics] for every statistic region {{{sr}}} defined by the user, but at least for the region "total domain":
     
    6364This 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.
    6465
    65    1. The quantity has to be given a unique string identifier, e.g.'' 'u2'.'' This identifier must be different from the identifiers used for the {{{PALM}}} standard output (see list in description of parameter [../../d3par#data_output data_output]). To switch on output of this quantity, the user has to assign the string identifier to the parameter [../../userpar#data_output_user data_output_user], eg.:
     66   1. The quantity has to be given a unique string identifier, e.g.'' 'u2'.'' This identifier must be different from the identifiers used for the {{{PALM}}} standard output (see list in description of parameter [../../d3par#data_output data_output]). To switch on output of this quantity, the user has to assign the string identifier to the parameter [../../userpar#data_output_user data_output_user], eg.: \\
     67
    6668   {{{data_output_user = 'u2',  'u2_xy_av' }}} \\
    6769
    68       The pure string'' 'u2' ''switches on the output of instantaneous 3d volume data. Output of cross section data and time averaged data is switched on by additionally appending the strings'' '_xy', '_xz', '_yz', ''and/or'' '_av' ''(for a detailed explanation see parameter [../../d3par#data_output data_output]).\\\\
    69    2. In order to store the quantities' grid point data within PALM, a 3d data array has to be declared in module [../int#user_module user]:
     70   The pure string'' 'u2' ''switches on the output of instantaneous 3d volume data. Output of cross section data and time averaged data is switched on by additionally appending the strings'' '_xy', '_xz', '_yz', ''and/or'' '_av' ''(for a detailed explanation see parameter [../../d3par#data_output data_output]).\\\\
     71   2. In order to store the quantities' grid point data within PALM, a 3d data array has to be declared in module [../int#user_module user]: \\
     72
    7073   {{{REAL, DIMENSION(:,:,:), ALLOCATABLE ::  u2, u2_av }}} \\
    7174
    72       The second array {{{u2_av}}} is needed in case that output of time averaged data is requested. It is used to store the sum of the data of the respective time levels over which the average has to be carried out. \\\\
    73    3. The data array has to be allocated in subroutine [../int#user_init user_init]:
     75   The second array {{{u2_av}}} is needed in case that output of time averaged data is requested. It is used to store the sum of the data of the respective time levels over which the average has to be carried out. \\\\
     76   3. The data array has to be allocated in subroutine [../int#user_init user_init]: \\
     77
    7478   {{{ALLOCATE( u2(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) ) }}} \\
    7579
    76       In case that output of time averaged data is requested, the array containing the sum has possibly to be read from the restart file (local filename [../../iofiles#BININ BININ) by executing the following code in [../int#user_init user_init]: \\
    77 
    78       {{{IF ( initializing_actions == 'read_restart_data' )  THEN }}} \\
    79          {{{    READ ( 13 )  field_char }}} \\
    80          {{{    DO  WHILE ( TRIM( field_char ) /= '*** end user ***' ) }}} \\
     80   In case that output of time averaged data is requested, the array containing the sum has possibly to be read from the restart file (local filename [../../iofiles#BININ BININ]) by executing the following code in [../int#user_init user_init]:
     81
     82   {{{IF ( initializing_actions == 'read_restart_data' )  THEN }}} \\
     83      {{{    READ ( 13 )  field_char }}} \\
     84      {{{    DO  WHILE ( TRIM( field_char ) /= '*** end user ***' ) }}} \\
    8185             
    82             {{{    SELECT CASE ( TRIM( field_char ) ) }}} \\
    83 
    84               {{{     CASE ( 'u2_av' ) }}} \\
    85                  {{{     ALLOCATE( u2_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) ) }}} \\
    86                  {{{     READ ( 13 )  u2_av }}} \\
    87 
    88               {{{     CASE DEFAULT }}} \\
    89                  {{{     PRINT*, '+++ user_init: unknown variable named "', & }}} \\
    90                  {{{             TRIM( field_char ), '" found in' }}} \\
    91                  {{{     PRINT*, '               data from prior run on PE ', myid }}} \\
    92                  {{{     CALL local_stop }}} \\
    93 
    94             {{{    END SELECT  }}} \\
    95          {{{    ENDDO }}} \\
    96       {{{    ENDIF }}} \\
     86         {{{    SELECT CASE ( TRIM( field_char ) ) }}} \\
     87
     88           {{{     CASE ( 'u2_av' ) }}} \\
     89              {{{     ALLOCATE( u2_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) ) }}} \\
     90              {{{     READ ( 13 )  u2_av }}} \\
     91
     92           {{{     CASE DEFAULT }}} \\
     93              {{{     PRINT*, '+++ user_init: unknown variable named "', & }}}
     94                 [[span(   {{{TRIM( field_char ), '" found in' }}},style=color: black)]] \\
     95              {{{     PRINT*, '               data from prior run on PE ', myid }}} \\
     96              {{{     CALL local_stop }}} \\
     97          {{{    END SELECT  }}} \\
     98      {{{    ENDDO }}} \\
     99   {{{    ENDIF }}} \\
    97100
    98101   4. The quantity has to be given a unit (subroutine user_check_data_output):