Parameter Name | FORTRAN Type | Default Value | Explanation
|
---|
averaging_interval
|
R
|
0.0
|
Averaging interval for all output of temporally averaged data (in s).
This parameter defines the time interval length for temporally averaged data (vertical profiles, spectra, 2d cross-sections, 3d volume data). By default, data are not subject to temporal averaging. The interval length is limited by the parameter
dt_data_output_av. In any case, averaging_interval <= dt_data_output_av must hold.
If an interval is defined, then by default the average is calculated from the data values of all timesteps lying within this interval. The number of time levels entering into the average can be reduced with the parameter dt_averaging_input.
If an averaging interval can not be completed at the end of a run, it will be finished at the beginning of the next restart run. Thus for restart runs, averaging intervals do not necessarily begin at the beginning of the run.
Parameters averaging_interval_pr and averaging_interval_sp can be used to define different averaging intervals for vertical profile data and spectra, respectively.
|
averaging_interval_pr
|
R
|
value of averaging _interval
|
Averaging interval for output of vertical profiles to local file DATA_1D_PR_NETCDF (in s).
If this parameter is given a non-zero value, temporally averaged vertical profile data are output. By default, profile data data are not subject to temporal averaging. The interval length is limited by the parameter dt_dopr. In any case averaging_interval_pr <= dt_dopr must hold.
If an interval is defined, then by default the average is calculated from the data values of all timesteps lying within this interval. The number of time levels entering into the average can be reduced with the parameter dt_averaging_input_pr.
If an averaging interval can not be completed at the end of a run, it will be finished at the beginning of the next restart run. Thus for restart runs, averaging intervals do not necessarily begin at the beginning of the run.
|
data_output
|
C * 10 (100)
|
100 * ' '
|
Quantities for which 2d cross section and/or 3d volume data are to be output.
PALM allows the output of instantaneous data as well as of temporally averaged data which is steered by the strings assigned to this parameter (see below).
By default, cross section data are output (depending on the selected cross sections(s), see below) to local files DATA_2D_XY_NETCDF, DATA_2D_XZ_NETCDF and/or DATA_2D_YZ_NETCDF. Volume data are output to file DATA_2D_YZ_NETCDF. If the user has switched on the output of temporally averaged data, these are written seperately to local files DATA_2D_XY_AV_NETCDF, DATA_2D_XZ_AV_NETCDF, DATA_2D_YZ_AV_NETCDF, and DATA_2D_YZ_AV_NETCDF, respectively.
The filenames already suggest that all files have netCDF format. Informations about the file content (kind of quantities, array dimensions and grid coordinates) are part of the self describing netCDF format and can be extracted from the netCDF files using the command "ncdump -c <filename>". See netCDF data 4.5.1 about processing the PALM netCDF data.
The following quantities are available for output by default (quantity names ending with '*' are only allowed for the output of horizontal cross sections):
Quantity name | Meaning | Unit | Remarks
|
---|
e | SGS | m2/s2 |
| lwp* | liquid water path | m | only horizontal cross section is allowed, requires cloud_physics = .T.
| p | perturpation pressure | N/m2, Pa |
| pc | particle/droplet concentration | #/gridbox |
| pr | mean particle/droplet radius | m |
| pra* | precipitation amount | mm | only horizontal cross section is allowed, requires precipitation = .T., time interval on which amount refers to is defined by precipitation_amount_interval
| prr* | precipitation rate | mm/s | only horizontal cross section is allowed, requires precipitation = .T.
| pt | potential temperature | K |
| q | specific humidity (or total water content, if cloud physics is switched on) | kg/kg | requires humidity = .T.
| ql | liquid water content | kg/kg | requires cloud_physics = .T. or cloud_droplets = .T.
| ql_c | change in liquid water content due to condensation/evaporation during last timestep | kg/kg | requires cloud_droplets = .T.
| ql_v | volume of liquid water | m3/gridbox | requires cloud_droplets = .T.
| ql_vp | weighting factor | | requires cloud_droplets = .T.
| qsws* | latent surface heatflux | kg/kg * m/s | only horizontal cross section is allowed, requires humidity = .T.
| qv | water vapor content (specific humidity) | kg/kg | requires cloud_physics = .T.
| rho | potential density | kg/m3 | requires ocean = .T.
| s | concentration of the scalar | 1/m3 | requires passive_scalar = .T.
| sa | salinity | psu | requires ocean = .T.
| shf* | sensible surface heatflux | K m/s | only horizontal cross section is allowed
| t* | (near surface) characteristic temperature | K | only horizontal cross section is allowed
| u | u-component of the velocity | m/s |
| u* | (near surface) friction velocity | m/s | only horizontal cross section is allowed
| v | v-component of the velocity | m/s |
| vpt | virtual potential temperature | K | requires humidity = .T.
| w | w-component of the velocity | m/s |
| z0* | roughness length | m |
|
Multiple quantities can be assigned, e.g. data_output = 'e', 'u', 'w' .
By assigning the pure strings from the above table, 3d volume data is output. Cross section data can be output by appending the string '_xy', '_xz', or '_yz' to the respective quantities. Time averaged output is created by appending the string '_av' (for cross section data, this string must be appended after the cross section string). Cross section data can also be (additionally) averaged along the direction normal to the respective section (see below). Assignments of quantities can be given in arbitrary order:
Example:
data_output = 'u', 'pt_xz_av', 'w_xy', 'u_av' .
This example will create the following output: instantaneous 3d volume data of u-velocity component (by default on file DATA_3D_NETCDF), temporally averaged 3d volume data of u-velocity component (by default on file DATA_3D_AV_NETCDF), instantaneous horizontal cross section data of w-velocity component (by default on file DATA_2D_XY_NETCDF), and temporally averaged vertical cross section data of potential temperature (by default on file DATA_2D_XZ_AV_NETCDF).
The user is allowed to extend the above list of quantities by defining his own output quantities (see the user-parameter data_output_user).
The time interval of the output times is determined via dt_data_output. This is valid for all types of output quantities by default. Individual time intervals for instantaneous(!) 3d and section data can be declared using dt_do3d, dt_do2d_xy, dt_do2d_xz, and dt_do2d_yz.
Also, an individual time interval for output of temporally averaged data can be assigned using parameter dt_data_output_av. This applies to both 3d volume and cross section data. The length of the averaging interval is controlled via parameter averaging_interval.
The parameter skip_time_data_output can be used to shift data output activities for a given time interval. Individual intervals can be set using skip_time_do3d, skip_time_do2d_xy, skip_time_do2d_xz, skip_time_do2d_yz, and skip_time_data_output_av.
With the parameter nz_do3d the output can be limited in the vertical direction up to a certain grid point.
Cross sections extend through the total model domain. In the two horizontal directions all grid points with 0 <= i <= nx+1 and 0 <= j <= ny+1 are output so that in case of cyclic boundary conditions the complete total domain is represented. The location(s) of the cross sections can be defined with parameters section_xy, section_xz, and section_yz. Assigning section_.. = -1 causes the output data to be averaged along the direction normal to the respective section.
Output of user defined quantities:
Beside the standard quantities from the above list, the user can output any other quantities. These have to be defined and calculated within the user-defined code (see LINK 3.5.4?). They can be selected for output with the user-parameter data_output_user for which the same rules apply as for data_output. Output of the user defined quantities (time interval, averaging, selection of cross sections, etc.) is controlled with the parameters listed above and data are written to the same file(s) as the standard quantities.
Output on parallel machines:
By default, with parallel runs, processors output only data of their respective subdomains into seperate local files (file names are constructed by appending the four digit processor ID, e.g. <filename>_0000, <filename>_0001, etc.). After PALM has finished, the contents of these individual files are sampled into one final file using the program combine_plot_fields.x (automatically activated by mrun).
Alternatively, PALM is able to collect all grid points of a cross section on PE0 before output is done. In this case only one output file (DATA_2D_XY_NETCDF, etc.) is created and combine_plot_fields.x does not have to be called. In case of very large numbers of horizontal gridpoints, sufficient memory is required on PE0. This method can be used by assigning data_output_2d_on_each_pe = .F..
3d volume data output is always handled seperately by each processor so that combine_plot_fields.x has to be called anyway after PALM has been finished.
Old formats:
Beside the NetCDF format, 2d cross section data and 3d volume data can also be output, for historical reasons, in a different (binary) format using parameter data_output_format.
By assigning data_output_format = 'avs' , the 3d volume data is output to the local file PLOT3D_DATA. Output is in FORTRAN binary format readable by the plot software AVS. The order of data on the file follows the order used in the assignment for data_output (e.g. data_output = 'p', 'v',... means that the file starts with the pressure data, followed by the v-component of the velocity, etc.). Both instantaneous and time averaged data are written on this file! Additional to this file, PALM creates a second binary file (local name PLOT3D_COOR) with coordinate information needed by AVS. As third and fourth file two ASCII files are created (AVS-FLD-format, local name PLOT3D_FLD and PLOT3D_FLD_COOR), which describe the contents of the data file and/or coordinate file and are used by AVS. However, AVS expects the content description in one file. This needs the local file PLOT3D_FLD_COOR to be appended to the file PLOT3D_FLD (by suitable OUTPUT command in the mrun configuration file: “cat PLOT3D_FLD_COOR >> PLOT3D_FLD”) after PALM has finished. To reduce the amount of data, output to this file can be done in compressed form (see do3d_compress). Further details about plotting 3d volume data with AVS can be found in chapter 4.5.5?.
Important:
There is no guarantee that avs-output will be available in future PALM versions (later than 3.0).
|
data_output_format
|
C * 10 (10)
|
'netcdf'
|
Format of output data.
By default, all data (profiles, time series, spectra, particle data, cross sections, volume data) are output in netCDF 64bit-offset format (see chapter 4.5.1?). Exception: restart data (local files BININ, BINOUT, PARTICLE_RESTART_DATA_IN, PARTICLE_RESTART_DATA_OUT) are always output in FORTRAN binary format.
The numerical precision of the netCDF output is determined with parameter netcdf_precision.
Other netCDF formats (classic, netCDF4/HDF5) can be selected with parameter netcdf_data_format.
For historical reasons, other data formats are still available. Beside 'netcdf', data_output_format may be assigned the following values:
'avs' - output of 3d volume data in FORTRAN binary format to be read by the graphic software AVS (see chapter 4.5.5?)
Multiple values can be assigned to data_output_format, i.e. if the user wants to have both the "old" data format as well as cross section data in NetCDF format, then data_output_format = 'avs', 'netcdf' has to be assigned.
Warning: There is no guarantee that the "old" formats will be available in future PALM versions (beyond 3.0)!
|
data_output_pr
|
C * 10 (100)
|
100 * ' '
|
Quantities for which vertical profiles (horizontally averaged) are to be output.
By default vertical profile data is output to the local file DATA_1D_PR_NETCDF. The file's format is netCDF. Further details about processing netCDF data are given in chapter 4.5.1?.
For horizontally averaged vertical profiles always all vertical grid points (0 <= k <= nz+1) are output to file. Vertical profile data refers to the total domain but profiles for subdomains can also be output (see statistic_regions).
The temporal interval of the output times of profiles is assigned via the parameter dt_dopr.
Profiles can also be temporally averaged (see [#averaging_interval_pr averaging_interval_pr).
The following list shows the values which can be assigned to data_output_pr. The profile data is either defined on u-v-levels (variables marked in blue) or on w-levels (green). According to this, the z-coordinates of the individual profiles vary. Beyond that, with a Prandtl layer switched on (prandtl_layer) the lowest output level is z = zu(1) instead of z = zw(0) for profiles w"u", w"v", wu and wv. Turbulence quantities such as w*u* or u*2 are calculated from turbulent fluctuations that are defined as deviations from the instantaneous horizontal average.
Quantity name | Meaning | Unit
|
---|
u | u-component of the velocity | m/s
| v | v-component of the velocity | m/s
| w | w-component of the velocity | m/s
| pt | Potential temperature | K
| vpt | Virtual potential temperature | K
| lpt | Potential liquid water temperature | K
| q | Total water content | kg/kg
| qv | Specific humidity | kg/kg
| ql | Liquid water content | kg/kg
| rho | Potential density | kg/m3
| s | Scalar concentration | kg/m3
| sa | Salinity | psu
| e | Turbulent kinetic energy (TKE, subgrid-scale) | m2/s2
| e* | Perturbation energy (resolved) | m2/s2
| p | Perturbation pressure | Pa
| km | Eddy diffusivity for momentum | m2/s
| kh | Eddy diffusivity for heat | m2/s
| l | Mixing length | m
| w"u" | u-component of the subgrid-scale vertical momentum flux | m2/s2
| w*u* | u-component of the resolved vertical momentum flux | m2/s2
| wu | u-component of the total vertical momentum flux (w"u" + w*u*) | m2/s2
| w"v" | v-component of the subgrid-scale vertical momentum flux | m2/s2
| w*v* | v-component of the resolved vertical momentum flux | m2/s2
| wv | v-component of the total vertical momentum flux (w"v" + w*v*) | m2/s2
| w"pt" | Subgrid-scale vertical sensible heat flux | K m/s
| w*pt* | Resolved vertical sensible heat flux | K m/s
| wpt | Total vertical sensible heat flux (w"pt" + w*pt*) | K m/s
| w*pt*BC | Subgrid-scale vertical sensible heat flux using the Bott-Chlond scheme | K m/s
| wptBC | Total vertical sensible heat flux using the Bott-Chlond scheme (w"pt" + w*pt*BC) | K m/s
| w"vpt" | Subgrid-scale vertical buoyancy flux | K m/s
| w*vpt* | Resolved vertical buoyancy flux | K m/s
| wvpt | Total vertical buoyancy flux (w"vpt" + w*vpt*) | K m/s
| w"q" | Subgrid-scale vertical water flux | kg/kg m/s
| w*q* | Resolved vertical water flux | kg/kg m/s
| wq | Total vertical water flux (w"q" + w*q*) | kg/kg m/s
| w"qv" | Subgrid-scale vertical latent heat flux | kg/kg m/s
| w*qv* | Resolved vertical latent heat flux | kg/kg m/s
| wqv | Total vertical latent heat flux (w"qv" + w*qv*) | kg/kg m/s
| w"s" | Subgrid-scale vertical scalar concentration flux | kg/m3 m/s
| w*s* | Resolved vertical scalar concentration flux | kg/m3 m/s
| ws | Total vertical scalar concentration flux (w"s" + w*s*) | kg/m3 m/s
| w"sa" | Subgrid-scale vertical salinity flux | psu m/s
| w*sa* | Resolved vertical salinity flux | psu m/s
| wsa | Total vertical salinity flux (w"sa" + w*sa*) | psu m/s
| w*e* | Vertical flux of perturbation energy (resolved) | m3/s3
| u*2 | Variance of the u-velocity component (resolved) | m2/s2
| v*2 | Variance of the v-velocity component (resolved) | m2/s2
| w*2 | Variance of the w-velocity component (resolved) | m2/s2
| pt*2 | Variance of the potential temperature (resolved) | K2
| w*3 | Third moment of the w-velocity component (resolved) | m3/s3
| Sw | Skewness of the w-velocity component (resolved, Sw = w3/(w2)1.5) | m3/s2 / (m2/s2)1.5
| w*2pt* | Third moment (resolved) | K m2/s2
| w*pt*2 | Third moment (resolved) | K2 m2/s2
| w*u*u*:dz | Energy production by shear (resolved) | m2/s3
| w*p*:dz | Energy production by turbulent transport of pressure fluctuations (resolved) | Pa m/s2
| w"e:dz | Energy production by transport of resolved-scale TKE | m2/s3
| hyp | Hydrostatic pressure | dbar
|
Beyond that, initial profiles (t=0) of some variables can additionally be output (this output is only done once with the first plot output and not repeated with the profile output at later times). The names of these profiles result from the ones specified above leaded by a hash "#". Allowed values are:
#u, #v, #pt, #km, #kh, #l, #lpt, #q, #qv, #s, #sa, #vpt
Profile names preceded by a hash automatically imply that profiles for these variables are also output at later times. It is not necessary and not allowed to specify the same profile name with and without hash simultaneously(this would lead to an netCDF error).
These initial profiles have been either set by the user or have been calculated by a 1d-model prerun.
The user is allowed to extend the above list of quantities by defining his own output quantities (see the user-parameter data_output_pr_user).
|
data_output_2d_on_each_pe
|
L
|
.T.
|
Output 2d cross section data by one or all processors.
In runs with several processors, by default, each processor outputs cross section data of its subdomain into an individual file. After PALM has finished, the contents of these files have to be sampled into one file using the program combine_plot_fields.x.
Alternatively, by assigning data_output_2d_on_each_pe = .F., the respective data is gathered on PE0 and output is done directly into one file, so combine_plot_fields.x does not have to be called. However, in case of very large numbers of horizontal gridpoints, sufficient memory is required on PE0.
|
do2d_at_begin
|
L
|
.F.
|
Output of 2d cross section data at the beginning of a run.
The temporal intervals of output times of 2d cross section data (see data_output) are usually determined with parameters dt_do2d_xy, dt_do2d_xz and dt_do2d_yz. By assigning do2d_at_begin = .T. an additional output will be made at the beginning of a run (thus at the time t = 0 or at the respective starting times of restart runs).
|
do3d_at_begin
|
L
|
.F.
|
Output of 3d volume data at the beginning of a run.
The temporal intervals of output times of 3d volume data (see data_output) is usually determined with parameter dt_do3d. By assigning do3d_at_begin = .T. an additional output will be made at the beginning of a run (thus at the time t = 0 or at the respective starting times of restart runs).
|
do3d_compress
|
L
|
.F.
|
Output of data for 3d plots in compressed form.
This parameter only applies for data_output_format = 'avs'.
Output of 3d volume data may need huge amounts of disc storage (up to several Terabytes ore more). Data compression can serve to reduce this requirement. PALM is able to output 3d data in compressed form using 32-bit integers, if do3d_compress = .T. is assigned. This yields a loss of accuracy, but the file size is clearly reduced. The parameter do3d_comp_prec can be used to separately define the number of significant digits for each quantity.
So far compressed data output is only possible for Cray-T3E machines. Additional information for handling compressed data is given in chapter 4.5.6?.
|
do3d_comp_prec
|
C * 7 (100)
|
see right
|
Significant digits in case of compressed data output.
This parameter only applies for data_output_format = 'avs'.
In case that data compression is used for output of 3d data (see do3d_compress), this parameter determines the number of significant digits which are to be output.
Fewer digits clearly reduce the amount of data. Assignments have to be given separately for each individual quantity via a character string of the form '<quantity name><number of significant digits>', e.g. 'pt2'. Only those quantities listed in data_output are admitted. Up to 9 significant digits are allowed (but large values are not very reasonable because they do not effect a significant compression).
The default assignment is do3d_comp_prec = 'u2', 'v2', 'w2', 'p5', 'pt2'.
|
dt_averaging_input
|
R
|
0.0
|
Temporal interval of data which are subject to temporal averaging (in s).
By default, data from each timestep within the interval defined by averaging_interval are used for calculating the temporal average. By choosing dt_averaging_input > dt, the number of time levels entering the average can be minimized. This reduces the CPU-time of a run but may worsen the quality of the average's statistics.
With variable time step (see dt), the number of time levels entering the average can vary from one averaging interval to the next (for a more detailed explanation see averaging_interval). It is approximately given by the quotient of averaging_interval / MAX( dt_averaging_input, dt) (which gives a more or less exact value if a fixed timestep is used and if this is an integral divisor of dt_averaging_input).
Example:
With an averaging interval of 100.0 s and dt_averaging_input = 10.0, the time levels entering the average have a (minimum) distance of 10.0 s (their distance may
of course be larger if the current timestep is larger than 10.0 s), so the average is calculated from the data of (maximum) 10 time levels.
It is allowed to change dt_averaging_input during a job chain. If the last averaging interval of the run previous to the change could not be completed (i.e. has to be finished in the current run), the individual profiles and/or spectra entering the averaging are not uniformly distributed over the averaging interval.
Parameter dt_averaging_input_pr can be used to define a different temporal interval for vertical profile data and spectra.
|
dt_averaging_input_pr
|
R
|
value of dt_averaging _input
|
Temporal interval of data which are subject to temporal averaging of vertical profiles and/or spectra (in s).
By default, data from each timestep within the interval defined by averaging_interval_pr, and averaging_interval_sp are used for calculating the temporal average. By choosing dt_averaging_input_pr > dt, the number of time levels entering the average can be minimized. This reduces the CPU-time of a run but may worsen the quality of the average's statistics.
For more explanations see parameter dt_averaging_input.
|
dt_data_output
|
R
|
9999999.9
|
Temporal interval at which data (3d volume data (instantaneous or time averaged), cross sections (instantaneous or time averaged), vertical profiles, spectra) shall be output (in s).
If data output is switched on (see data_output, data_output_pr, [sppar, and section_xy), this parameter can be used to assign the temporal interval at which these data shall be output. Output can be skipped at the beginning of a simulation using parameter skip_time_data_output, which has zero value by default. Reference time is the beginning of the simulation, i.e. output takes place at times t = skip_time_data_output + dt_data_output, skip_time_data_output + 2*dt_data_output, skip_time_data_output + 3*dt_data_output, etc. Since output is only done at the discrete time levels given by the timestep used, the actual output times can slightly deviate from these theoretical values.
Individual temporal intervals for the different output quantities can be assigned using parameters dt_do3d, dt_do2d_xy, dt_do2d_xz, dt_do2d_yz, dt_dopr, dt_dosp, and dt_data_output_av.
|
dt_data_output_av
|
R
|
value of dt_data _output
|
Temporal interval at which time averaged 3d volume data and/or 2d cross section data shall be output (in s).
If data output of time averaged 2d and 3d data is switched on (see data_output and section_xy), this parameter can be used to assign the temporal interval at which they shall be output. Output can be skipped at the beginning of a simulation using parameter skip_time_data_output_av, which has zero value by default. Reference time is the beginning of the simulation, i.e. output takes place at times t = skip_time_data_output_av + dt_data_output_av, skip_time_data_output_av + 2*dt_data_output_av, skip_time_data_output_av + 3*dt_data_output_av, etc. Since output is only done at the discrete time levels given by the timestep used, the actual output times can slightly deviate from these theoretical values.
The length of the averaging interval is controlled via parameter averaging_interval.
|
dt_dopr
|
R
|
value of dt_data _output
|
Temporal interval at which data of vertical profiles shall be output (to local file DATA_1D_PR_NETCDF) (in s).
If output of horizontally averaged vertical profiles is switched on (see data_output_pr), this parameter can be used to assign the temporal interval at which profile data shall be output. Output can be skipped at the beginning of a simulation using parameter skip_time_dopr, which has zero value by default. Reference time is the beginning of the simulation, thus t = 0, i.e. output takes place at times t = skip_time_dopr + dt_dopr, skip_time_dopr + 2*dt_dopr, skip_time_dopr + 3*dt_dopr, etc. Since profiles can not be calculated for times lying within a time step interval, the output times can deviate from these theoretical values. If a time step ranges from t = 1799.8 to t = 1800.2, then in the example above the output would take place at t = 1800.2. In general, the output always lie between t = 1800.0 and t = 1800.0 + dt. If the model uses a variable time step, these deviations from the theoretical output times will of course be different for each output time.
In order to guarantee an output of profile data at the end of a simulation (see end_time) in any way, end_time should be equal or a little bit larger than the respective theoretical output time. For example, if dt_dopr = 900.0 and 3600.0 seconds are to be simulated, then end_time >= 3600.0 should be chosen.
A selection of profiles to be output can be done via parameter data_output_pr.
|
dt_dopr_listing
|
R
|
9999999.9
|
Temporal interval at which data of vertical profiles shall be output (output for printouts, local file LIST_PROFIL) (in s).
This parameter can be used to assign the temporal interval at which profile data shall be output. Reference time is the beginning of the simulation, thus t = 0. For example if dt_dopr_listing = 1800.0, then output takes place at t = 1800.0, 3600.0, 5400.0, etc. Since profiles can not be calculated for times lying within a time step interval, the output times can deviate from these theoretical values. If a time step ranges from t = 1799.8 to t = 1800.2, then in the example above the output would take place at t = 1800.2. In general, the output always lie between t = 1800.0 and t = 1800.0 + dt (numbers are related to the example above). If the model uses a variable time step, these deviations from the theoretical output times will of course be different for each output time.
In order to guarantee an output of profile data at the end of a simulation (see end_time) in any way, end_time should be a little bit larger than the respective theoretical output time. For example, if dt_dopr_listing = 900.0 and 3600.0 seconds are to be simulated, then it should be at least end_time > 3600.0 + dt. If variable time steps are used (which is the default), dt should be properly estimated.
Data and output format of the file LIST_PROFIL is internally fixed. In this file the profiles of the most important model variables are arranged in adjacent columns.
|
dt_dots
|
R
|
see right
|
Temporal interval at which time series data shall be output (in s).
The default interval for the output of timeseries is calculated as shown below (this tries to minimize the number of calls of flow_statistics)
IF ( averaging_interval_pr == 0.0 ) THEN
dt_dots = MIN( dt_run_control, dt_dopr )
ELSE
dt_dots = MIN( dt_run_control, dt_averaging_input_pr )
ENDIF
This parameter can be used to assign the temporal interval at which data points shall be output. Reference time is the beginning of the simulation, i.e. output takes place at times t = dt_dots, 2*dt_dots, 3*dt_dots, etc. The actual output times can deviate from these theoretical values (see dt_dopr). Is dt_dots < dt, then data of the time series are written after each time step (if this is requested it should be dt_dots = 0).
The default value of dt_dots is calculated as follows:
IF ( averaging_interval_pr == 0.0 ) THEN
dt_dots = MIN( dt_run_control, dt_dopr )
ELSE
dt_dots = MIN( dt_run_control, dt_averaging_input_pr )
ENDIF
(which minimizes the number of calls of routine flow_statistics).
By default time series data is output to the local file DATA_1D_TS_NETCDF. Because of the default settings of dt_dots, it will generally be created for each model run. The file's format is netCDF. Further details about processing netCDF data are given in chapter 4.5.1?.
The file contains the following timeseries quantities (the first column gives the name of the quantities as used in the netCDF file):
Quantity name | Meaning | Unit
|
---|
E | Total (resolved and subgrid-scale) kinetic energy of the flow (normalized with respect to the total number of grid points) | m2/s2
| E* | Resolved-scale kinetic energy of the flow (normalized with respect to the total number of grid points) | m2/s2
| dt | Time step size | s
| u* | Friction velocity (horizontal average) | m/s
| w* | Vertical velocity scale of the CBL (horizontal average) | m/s
| th* | Temperature scale (Prandtl layer), defined as w"pt"0 / u* (horizontal average) | K
| umax | Maximum u-component of the velocity | m/s
| vmax | Maximum v-component of the velocity | m/s
| wmax | Maximum w-component of the velocity | m/s
| div_old | Divergence of the velocity field before the pressure solver has been called (normalized with respect to the total number of grid points) | 1/s
| div_new | Divergence of the velocity field after the pressure solver has been called (normalized with respect to the total number of grid points) | 1/s
| z_i_wpt | Height of the convective boundary layer (horizontal average) determined by the height of the minimum sensible heat flux | m
| z_i_pt | Height of the convective boundary layer (horizontal average) determined by the temperature profile, following the criterion of Sullivan et al. (1998) | m
| w"pt"0 | Subgrid-scale sensible heat flux at k=0 (horizontal average), constant within Prandtl-layer | K m/s
| w"pt" | Subgrid-scale heat flux (horizontal average) for z = zw(1) | K m/s
| wpt | Total heat flux (horizontal average) for z = zw(1) | K m/s
| w"u"0 | Subgrid-scale momentum flux (u-component) at k=0 (horizontal average), constant within Prandtl-layer | m2/s2
| w"v"0 | Subgrid-scale momentum flux (v-component) at k=0 (horizontal average), constant within Prandtl-layer | m2/s2
| w"q"0 | Subgrid-scale humidity flux at k=0 (horizontal average), constant within Prandtl-layer, zero values are output if humidity is not used | kg/kg m/s
| pt(0) | Potential temperature at the surface (horizontal average) | K
| pt(zp) | Potential temperature for z = zu(1) (horizontal average) | K
| L | Monin-Obukhov length |
|
Additionally, the user can add his own timeseries quantities to the file, by using the user-interface subroutines user_init.f90 and user_statistics.f90 These routines contain (as comment lines) a simple example how to do this.
Time series data refers to the total domain, but time series for subdomains can also be output (see statistic_regions). However, the following time series always present the values of the total model domain (even with output for subdomains): umax, vmax, wmax, div_old, div_new.
|
dt_do2d_xy
|
R
|
value of dt_data _output
|
Temporal interval at which horizontal cross section data shall be output (in s).
If output of horizontal cross sections is switched on (see data_output and section_xy), this parameter can be used to assign the temporal interval at which cross section data shall be output. Output can be skipped at the beginning of a simulation using parameter skip_time_do2d_xy, which has zero value by default. Reference time is the beginning of the simulation, i.e. output takes place at times t = skip_time_do2d_xy + dt_do2d_xy, skip_time_do2d_xy + 2*dt_do2d_xy, skip_time_do2d_xy + 3*dt_do2d_xy, etc. The actual output times can deviate from these theoretical values (see dt_dopr).
Parameter do2d_at_begin has to be used if an additional output is wanted at the start of a run (thus at the time t = 0 or at the respective starting times of restart runs).
|
dt_do2d_xz
|
R
|
value of dt_data _output
|
Temporal interval at which vertical cross sections data (xz) shall be output (in s).
If output of horizontal cross sections is switched on (see data_output and section_xz), this parameter can be used to assign the temporal interval at which cross section data shall be output. Output can be skipped at the beginning of a simulation using parameter skip_time_do2d_xz, which has zero value by default. Reference time is the beginning of the simulation, i.e. output takes place at times t = skip_time_do2d_xz + dt_do2d_xz, skip_time_do2d_xz + 2*dt_do2d_xz, skip_time_do2d_xz + 3*dt_do2d_xz, etc. The actual output times can deviate from these theoretical values (see dt_dopr).
Parameter do2d_at_begin has to be used if an additional output is wanted at the start of a run (thus at the time t = 0 or at the respective starting times of restart runs).
|
dt_do2d_yz
|
R
|
value of dt_data _output
|
Temporal interval at which vertical cross section data (yz) shall be output (in s).
If output of horizontal cross sections is switched on (see data_output and section_yz), this parameter can be used to assign the temporal interval at which cross section data shall be output. Output can be skipped at the beginning of a simulation using parameter skip_time_do2d_yz, which has zero value by default. Reference time is the beginning of the simulation, i.e. output takes place at times t = skip_time_do2d_yz + dt_do2d_yz, skip_time_do2d_yz + 2*dt_do2d_yz, skip_time_do2d_yz + 3*dt_do2d_yz, etc. The actual output times can deviate from these theoretical values (see dt_dopr).
Parameter do2d_at_begin has to be used if an additional output is wanted at the start of a run (thus at the time t = 0 or at the respective starting times of restart runs).
|
dt_do3d
|
R
|
value of dt_data _output
|
Temporal interval at which 3d volume data shall be output (in s).
If output of 3d-volume data is switched on (see data_output), this parameter can be used to assign the temporal interval at which 3d-data shall be output. Output can be skipped at the beginning of a simulation using parameter skip_time_do3d, which has zero value by default. Reference time is the beginning of the simulation, i.e. output takes place at times t = skip_time_do3d + dt_do3d, skip_time_do3d + 2*dt_do3d, skip_time_do3d + 3*dt_do3d, etc. The actual output times can deviate from these theoretical values (see dt_dopr).
Parameter do3d_at_begin has to be used if an additional output is wanted at the start of a run (thus at the time t = 0 or at the respective starting times of restart runs).
|
dt_run_control
|
R
|
60.0
|
Temporal interval at which run control output is to be made (in s).
Run control information is output to the local ASCII-file RUN_CONTROL At each output time, one line with information about the size of the time step, maximum speeds, total kinetic energy etc. is written to this file. Reference time is the beginning of the simulation, i.e. output takes place at times t = dt_run_control, 2*dt_run_control, 3*dt_run_control, etc., and always at the beginning of a model run (thus at the time t = 0 or at the respective starting times of restart runs). The actual output times can deviate from these theoretical values (see dt_dopr).
Run control information is output after each time step can be achieved via dt_run_control = 0.0.
|
|
L
|
.F.
|
Steering of header output to the local file RUN_CONTROL.
By default, informations about the model parameters in use are output to the beginning of file RUN_CONTROL for initial runs only (these informations are identical to that which are output to the local file HEADER). With force_print_header = .T., these informations are also output to RUN_CONTROL at restart runs.
|
netcdf_data_format
|
I
|
2
|
Data format for netCDF files.
This variable defines the format of the netCDF files. Following values are allowed:
1 - netCDF classic format (filesize limited to 2GB)
2 - netCDF 64-bit-offset format (large file support, but single variable still limited to 2GB)
3 - netCDF-4 (HDF5) format (files can be as large as file system supports; unlimited variable size; allows parallel I/O)
4 - netCDF-4 format, but with NF90_CLASSIC_MODEL bit set (some new features of netCDF4 are not available)
Important:
Setting netcdf_data_format > 2 requires a netCDF4 library (set -I, -L, and -l options for compiling and linking appropriately in configuration file). Also, preprocessor switch _netcdf4 has to be set (see line starting with %cpp_opts in the mrun configuration file).
Files with netCDF4 format cannot be read with netCDF3 libraries.
|
netcdf_precision
|
C*20 (10)
|
single precision for all output quantities
|
Defines the accuracy of the netCDF output.
By default, all netCDF output data (see data_output_format) have single precision (4 byte) accuracy. Double precision (8 byte) can be choosen alternatively.
Accuracy for the different output data (cross sections, 3d-volume data, spectra, etc.) can be set independently.
'<out>_NF90_REAL4' (single precision) or '<out>_NF90_REAL8' (double precision) are the two principally allowed values for netcdf_precision, where the string '<out>' can be chosen out of the following list:
'xy' | horizontal cross section
| 'xz' | vertical (xz) cross section
| 'yz' | vertical (yz) cross section
| '2d' | all cross sections
| '3d' | volume data
| 'pr' | vertical profiles
| 'ts' | time series, particle time series
| 'sp' | spectra
| 'prt' | particles
| 'all' | all output quantities
|
Example:
If all cross section data and the particle data shall be output in double precision and all other quantities in single precision, then netcdf_precision = '2d_NF90_REAL8' , 'prt_NF90_REAL8' has to be assigned.
|
normalizing_region
|
I
|
0
|
Determines the subdomain from which the normalization quantities are calculated.
If output data of the horizontally averaged vertical profiles (see data_output_pr) is to be normalized (see cross_normalized_x, cross_normalized_y), the respective normalization quantities are by default calculated from the averaged data of the total model domain (normalizing_region = 0) and are thus representative for the total domain. Instead of that, normalization quantities can also be calculated for a subdomain. The wanted subdomain can be given with the parameter normalizing_region, where 1 <= normalizing_region <= 9 must hold. These quantities are then used for normalizing of all profiles (even for that of the total domain).
|
precipitation_amount_interval
|
R
|
value of dt_do2d_xy
|
Temporal interval for which the precipitation amount (in mm) shall be calculated and output (in s).
This parameter requires precipitation = .TRUE.. The interval must be smaller or equal than the output interval for 2d horizontal cross sections given by dt_do2d_xy). The output of the precipitation amount also requires setting of data_output = 'pra*'.
|
section_xy
|
I(100)
|
no section
|
Position of cross section(s) for output of 2d horizontal cross sections (grid point index k).
If output of horizontal cross sections is selected (see data_output), this parameter can be used to define the position(s) of the cross section(s). Up to 100 positions of cross sections can be selected by assigning section_xy the corresponding vertical grid point index/indices k of the requested cross section(s). The exact location (height level) of the cross section depends on the variable for which the output is made: zu(k) for scalars and horizontal velocities, zw(k) for the vertical velocity. Information about the exact location of the cross section is contained in the netCDF output file (if the default netCDF output is switched on; see data_output_format).
Assigning section_xy = -1 creates the output of horizontal cross sections averaged along z. In the netCDF output file these (averaged) cross sections are given the z-coordinate -1.0.
Assignments to section_xy does not effect the output of horizontal cross sections of variable u* and theta* and the liquid water path lwp*. For these quantities always only one cross section (for z=zu(1)) is output.
|
section_xz
|
I(100)
|
no section
|
Position of cross section(s) for output of 2d (xz) vertical cross sections (grid point index j).
If output of vertical xz cross sections is selected (see data_output), this parameter can be used to define the position(s) of the cross section(s). Up to 100 positions of cross sections can be selected by assigning section_xz the corresponding horizontal grid point index/indices j of the requested cross section(s). The exact position (in y-direction) of the cross section is given by j*dy or (j-0.5)*dy, depending on which grid the output quantity is defined. However, in the netCDF output file (if the default netCDF output is switched on; see data_output_format) no distinction is made between the quantities and j*dy is used for all positions.
Assigning section_xz = -1 creates the output of vertical cross sections averaged along y. In the netCDF output file these (averaged) cross sections are given the y-coordinate -1.0.
|
section_yz
|
I(100)
|
no section
|
Position of cross section(s) for output of 2d (yz) vertical cross sections (grid point index i).
If output of vertical yz cross sections is selected (see data_output), this parameter can be used to define the position(s) of the cross section(s). Up to 100 positions of cross sections can be selected by assigning section_yz the corresponding horizontal grid point index/indices i of the requested cross section(s). The exact position (in x-direction) of the cross section is given by i*dx or (i-0.5)*dx, depending on which grid the output quantity is defined. However, in the netCDF output file (if the default netCDF output is switched on; see data_output_format) no distinction is made between the quantities and i*dx is used for all positions.
Assigning section_yz = -1 creates the output of vertical cross sections averaged along x. In the netCDF output file these (averaged) cross sections are given the x-coordinate -1.0.
|
skip_time_data_output
|
R
|
0.0
|
No data output before this interval has passed (in s).
This parameter causes that data output activities are starting not before this interval (counting from the beginning of the simulation, t=0) has passed. By default, this applies for output of instantaneous 3d volume data, cross section data, spectra and vertical profile data as well as for temporally averaged 2d and 3d data. Individual intervals can be assigned using parameters skip_time_do3d, skip_time_do2d_xy, skip_time_do2d_xy, skip_time_do2d_yz, skip_time_dosp, skip_time_dopr and skip_time_data_output_av.
Example:
If the user has set dt_data_output = 3600.0 and skip_time_data_output = 1800.0, then the first output will be done at t = 5400 s.
|
skip_time_data_output_av
|
R
|
value of skip_time _data_output
|
No output of temporally averaged 2d/3d data before this interval has passed (in s).
This parameter causes that data output activities are starting not before this interval (counting from the beginning of the simulation, t=0) has passed.
Example:
If the user has set dt_data_output_av = 3600.0 and skip_time_data_output_av = 1800.0, then the first output will be done at t = 5400 s.
|
skip_time_dopr
|
R
|
value of skip_time _data_output
|
No output of vertical profile data before this interval has passed (in s).
This parameter causes that data output activities are starting not before this interval (counting from the beginning of the simulation, t=0) has passed.
Example:
If the user has set dt_dopr = 3600.0 and skip_time_dopr = 1800.0, then the first output will be done at t = 5400 s.
|
skip_time_do2d_xy
|
R
|
value of skip_time _data_output
|
No output of instantaneous horizontal cross section data before this interval has passed (in s).
This parameter causes that data output activities are starting not before this interval (counting from the beginning of the simulation, t=0) has passed.
Example:
If the user has set dt_do2d_xy = 3600.0 and skip_time_do2d_xy = 1800.0, then the first output will be done at t = 5400 s.
|
skip_time_do2d_xz
|
R
|
value of skip_time _data_output
|
No output of instantaneous vertical (xz) cross section data before this interval has passed (in s).
This parameter causes that data output activities are starting not before this interval (counting from the beginning of the simulation, t=0) has passed.
Example:
If the user has set dt_do2d_xz = 3600.0 and skip_time_do2d_xz = 1800.0, then the first output will be done at t = 5400 s.
|
skip_time_do2d_yz
|
R
|
value of skip_time _data_output
|
No output of instantaneous vertical (yz) cross section data before this interval has passed (in s).
This parameter causes that data output activities are starting not before this interval (counting from the beginning of the simulation, t=0) has passed.
Example:
If the user has set dt_do2d_yz = 3600.0 and skip_time_do2d_yz = 1800.0, then the first output will be done at t = 5400 s.
|
skip_time_do3d
|
R
|
value of skip_time _data_output
|
No output of instantaneous 3d volume data before this interval has passed (in s).
This parameter causes that data output activities are starting not before this interval (counting from the beginning of the simulation, t=0) has passed.
Example:
If the user has set dt_do3d = 3600.0 and skip_time_do3d = 1800.0, then the first output will be done at t = 5400 s.
|
statistic_regions
|
dummy
|
dummy
|
dummy
|
termination_time_needed
|
dummy
|
dummy
|
dummy
|
use_prior_plot1d_parameters
|
dummy
|
dummy
|
dummy
|
z_max_do1d
|
dummy
|
dummy
|
dummy
|
z_max_do1d_normalized
|
dummy
|
dummy
|
dummy
|
z_max_do2d
|
dummy
|
dummy
|
dummy
|
cross_normalized_x
|
dummy
|
dummy
|
dummy
|
cross_normalized_y
|
dummy
|
dummy
|
dummy
|
cross_profiles
|
dummy
|
dummy
|
dummy
|
cross_xtext
|
dummy
|
dummy
|
dummy
|
profile_columns
|
dummy
|
dummy
|
dummy
|
profile_rows
|
dummy
|
dummy
|
dummy
|